APUE学习的经验(引以为戒)

2023-11-20

前段时间在学习Linux,在没有感悟之前我是不敢把所得放到这里的。所以就一直没有新的文章,很惭愧啊。

根据在网上搜集到的学习Linux的学习路线和自己当前对Linux的理解,我认为我可以学习APUE了。APUE,英文名应该是Advanced Programming in the UNIX,中文名应该是《UNIX环境高级编程》。说起来都是一把辛酸泪,我太高估自己了。磕磕绊绊用一周时间看完,跟一般阅读小说效果差不多。然后又看了UNP,中文名应该叫《UNIX网络编程》吧,看了3天放弃了。。比看天书强点而已。。

先说下我的水平:

1,计算机专业毕业,基本计算机原理知识、数据库知识、C语言知识、编译原理、操作系统知识算是了解。

2,工作好几年了,编码工作只用过C语言,基本都属于应用级的程序,编译环境是VC6++和Linux。就是代码在VC6下完成,并编译通过运          行,然后再在Linux下进行编译使用

3,无操作系统、网络编程经验,但是知道有这么个东西。

4,由于工作环境关系,会基本的Linux编译、基本的Linu命令,会写基本的shell脚本

本人对学习APUE的看法:

1,APUE讲的应该是Linux的基本工作原理。

2,从APUE章节来看,主要讲用户、文件、IO、和进程通信

3,从APUE内容来看,主要讲函数原型及函数原型的应用

4,从我的水平理解,APUE主要讲你用的shell命令具体在Linux里是怎么实现的。

5,从我的水平理解,APUE还告诉我们Linux的运行原理,然后给我们指引怎么去以shell形式或者说我们怎么按照当前Linux实现       shell的形式来实现自己的程序(如果能搞定就会很牛逼)。

6,APUE告诉我们一切皆文件的处理问题的思想,并且告诉我们怎么去操作文件。

7,APUE告诉我们进程的生成到死亡的过程,并且告诉我们进程间该如何进行通信。

      虽然看的不太明白,但是事实上在我的脑袋里已经有了一些印象:当看到某个shell的时候,你总会去考虑它是怎么用main函数实现的。。。

      后面我一定还会去看APUE好几遍的,当然要等到技能点有所增长才可以。

      我认为要学习APUE,还得系统的学些更基础的Linux和计算机操作系统知识。

      至于UNP的学习,我只能呵呵了,只看了4章就看不下去了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

APUE学习的经验(引以为戒) 的相关文章

  • C++:Linux平台上的线程同步场景

    我正在为 Linux 平台实现多线程 C 程序 其中我需要类似于 WaitForMultipleObjects 的功能 在搜索解决方案时 我发现有一些文章描述了如何在 Linux 中实现 WaitForMultipleObjects 功能
  • 用于读取文件的 Bash 脚本

    不知道为什么最后一行没有从脚本中删除 bin bash FILENAME 1 while read line do cut d f2 echo line done lt FILENAME cat file 1 test 2 test 3 t
  • 如何列出 nginx 中的所有虚拟主机

    有没有一个命令可以列出 CentOS 上 nginx 下运行的所有虚拟主机或服务器 我想将结果通过管道传输到文本文件以用于报告目的 我正在寻找与我用于 Apache 的命令类似的命令 apachectl S 2 gt 1 grep 端口 8
  • 如何在perl中使用O_ASYNC和fcntl?

    我想使用 O ASYNC 选项 当管道可以读取时 SIGIO 的处理程序将运行 但以下代码不起作用 任何人都可以帮助我吗 bin env perl use Fcntl SIG IO sub print catch SIGIO n my fl
  • 为什么默认情况下不启用 arp 忽略/通告 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个需要经验才能回答的具体问题 为什么 arp ignore arp announce 在 Linux 安装 例如 debian 上默认不启用 有
  • Visual Studio - X11:缺少 DISPLAY 环境变量

    我正在使用 Visual Studio 2019 Enterprise 开发跨平台 Windows Linux x64 GUI 应用程序 在这个 2019 版本中 我们可以使用 Visual Studio调试平台 Windows 本机 和
  • pthread_self() 返回的线程 ID 与调用 gettid(2) 返回的内核线程 ID 不同

    这句话来自于pthread self 的手册页 http linux die net man 3 pthread self 那么 我应该根据什么来决定是否应该使用pthread self or gettid确定哪个线程正在运行该函数 两者都
  • 为什么 call_usermodehelper 大多数时候都会失败?

    从内核模块中 我尝试使用 call usermodehelper 函数来执行可执行文件 sha1 该可执行文件将文件作为参数并将文件的 SHA1 哈希和写入另一个文件 名为输出 可执行文件完美运行 int result 1 name hom
  • 查找并删除超过 x 天的文件或文件夹

    我想删除超过 7 天的文件和文件夹 所以我尝试了 17 07 14 email protected cdn cgi l email protection find tmp mindepth 1 maxdepth 1 ctime 7 exec
  • 如何通过不同的接口路由 TCP/IP 响应?

    我有两台机器 每台机器都有两个有效的网络接口 一个以太网接口eth0和 tun tap 接口gr0 目标是使用接口在机器 A 上启动 TCP 连接gr0但然后让机器 B 的响应 ACK 等 通过以太网接口返回 eth0 因此 机器 A 发出
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • 命名互斥体的 Mono 替代方案

    在 Windows NET 上 命名的互斥体可用于同步多个进程 不幸的是 Mono 在 Linux 上不太支持这一点 他们的发行说明 http www mono project com Release Notes Mono 2 8 Shar
  • 无法连接到 Azure Ubuntu VM - 公钥被拒绝

    我们在 Azure 上使用 Ubuntu VM 一段时间了 很少遇到任何问题 然而 其中一台虚拟机最近出现了问题 出乎意料的是 Ubuntu VM 开始拒绝公钥 ssh i azure key email protected cdn cgi
  • 如何使用 nohup 获取正在运行的程序列表

    我正在通过 SSH 连接访问运行 CentOS linux 发行版 的服务器 由于我无法始终保持登录状态 因此我使用 nohup command 来运行我的程序 我找不到如何获取我开始使用 nohup 的所有程序的列表 工作 只有在我注销之
  • 如何在 Linux 中向热敏打印机发送 ESC/POS 命令

    我正在尝试在热敏打印机上发送 ESC POS 命令 但每当我发送它们时 热敏打印机都会将它们打印为文本 而不是作为命令执行它们 我在 prn 文件中编写这些命令 每当我执行 lp 命令来打印文件时 这些 prn 文件也会被打印 但作为文本
  • 有没有办法提高linux管道的性能?

    我正在尝试使用 64 位将超高速数据从一个应用程序传输到另一个应用程序CentOS http en wikipedia org wiki CentOS6 我使用以下方法进行了基准测试dd发现阻碍我的是管道而不是程序中的算法 我的目标是达到
  • 在 MacOS 上构建需要 net461 的 dotnet SDK 项目的最简单方法

    我有一个 dotnet SDK sln and a build proj with
  • 在 Linux 服务器上创建和编辑 MS-Word 文档?

    希望开发处理文档的服务器端应用程序 源文档大多是MS Word 2003 2007 即MS版本的Docx 希望服务器应用程序能够在linux或windows上运行 想知道在linux下读写MS Word文件最好的工具或库是什么 兼容性是最重
  • 如何使用 PyAudio 选择特定的输入设备

    通过 PyAudio 录制音频时 如何指定要使用的确切输入设备 我的电脑有两个麦克风 一个内置 一个通过 USB 我想使用 USB 麦克风进行录音 这流类 https people csail mit edu hubert pyaudio
  • Linux 上的“软/硬 nofile”是什么意思

    当我尝试在RedHat EL5上安装软件时 我得到了错误 软 硬nofile的期望值是4096 而默认值是1024 我设法增加了这个数字 但我不知道参数是什么 他们指的是软链接和硬链接吗 我改变的方法是 a 修改 etc security

随机推荐

  • Match Points【Codeforces 1156C】【二分答案】

    题目链接 题意有点像上海EC某年的一道铜牌题 具体是哪年记不得了 我们要去N个的关系 使得最多的匹配对达到他们的差值 Z 这样的情况 有这样的一组数据可以很好的反映这道题为什么有人会WA了 4 3 1 4 5 7 但是 同时也证明了 我们取
  • 《机器学习实战》4.朴素贝叶斯

    目录 1 基于贝叶斯决策理论的分类方法 2 利用朴素贝叶斯进行文档分类 一般过程 3 使用python进行文本分类 3 1准备数据 从文本中构建词向量 3 2 训练算法 从词向量计算概率 3 3测试算法 根据现实情况修改分类器 3 4 准备
  • 【SDR】OpenBTS 介绍及安装

    前言 今天是元旦假期的第一天 还有两天 就要跨入2018年了 无心工作 写两篇博客吧 纪念一下自己的2017 也为2018开个好头 希望2018 我的三个愿望 能够圆满实现 好了 开始正题 前一段时间搭建了OpenBTS的环境 用于测试其相
  • 图形界面编程:使用C语言开发GUI应用

    使用C语言开发图形界面 GUI 应用通常涉及使用特定的库或框架 下面将为您提供一个详细的教程 以介绍使用C语言开发GUI应用的一般步骤和常用库 1 选择GUI库 C语言本身不提供直接的GUI支持 因此您需要选择一个适合的GUI库或框架 以下
  • C++ 文件流操作详解

    1 C I O流 本文章有很多内容参考并借鉴了 C primer plus 这本经典 这里先说明一下 1 C I O流 1 1 数据流 1 2 控制台流 1 3 文件流 1 3 1 什么是文件流 1 3 2 缓冲区 1 3 3 文件流和控制
  • 鸿蒙-No pending exception expected: java.lang.RuntimeException: Parcel:

    问题描述 学习鸿蒙开发 在利用intent封装数据 这里我是自定义了1个实体对象 然后作为list的元素 封装list 进行页面跳转时 总报下列异常 A com example ex thread cc 2560 No pending ex
  • 四种方式求最大公约数和最小公倍数

    最大公约数和最小公倍数 两个自然数的最大公约数与它们的最小公倍数的乘积等于这两个数的乘积 1 质因数分解法 把每个数分别分解质因数 再把各数中的全部公有质因数提取出来连乘 所得的积就是这几个数的最大公约数 例如 求24和60的最大公约数 先
  • c语言中自己写实现strcat(),strcpy(),strcmp()的函数

    c语言中的string h头文件中虽然有这三个函数 但老师让我们自己写函数 所以添加了一点自己的想法写了这三个函数 strcat include
  • linux恢复模式如何输密码,在Ubuntu上使用恢复模式及Recovery Mode各选项的使用方法...

    本文介绍在Ubuntu上使用恢复模式的方法 包括Recovery Mode选项 Clean Dpkg Fsck Grub Root 的使用方法 前言 Ubuntu操作系统带有恢复模式 通过此功能 用户可以访问损坏系统的命令行 修复错误配置的
  • XSS & SQL injection

    作者 CyberPhreak XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X Web Security XSS more X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 介绍在这篇文章中我将说明所有关于X
  • CREATE INDEX 语句

    CREATE INDEX 语句用于在表中创建索引 索引 您可以在表中创建索引 以便更加快速高效地查询数据 用户无法看到索引 它们只能被用来加速搜索 查询 SQL CREATE INDEX 语法 在表上创建一个简单的索引 允许使用重复的值 C
  • Android:Log日志AS使用及Linux输出

    Android Studio中对应如下几种Log方法 1 Log v TAG 打印那些最为琐碎的 意义最小的日志信息 对应级别verbose 是Android 日志里面级别最低的一种 2 Log d TAG 打印一些调试信息 这些信息对你调
  • QT内存泄露问题

    原文链接 Qt浅谈之一 内存泄露 总结 乌托邦 CSDN博客 qt内存管理机制 关于堆栈不清楚的可以参考这篇文章 内存分配及堆与栈的区别 Keep Moving CSDN博客 在自己项目中 发现很多按键参数new之后并没有进行delete
  • vue面试题

    1 介绍一下vuex vuex是vue js应用的一个状态管理工具 state 用于保存我们应用的状态 2 v show与v if的区别和使用场景 区别 1 v show 只是简单的控制元素的 display 属性 而 v if 才是条件渲
  • 谷歌云|机密 GKE 节点可在计算优化的 C2D 虚拟机上使用

    机密 GKE 节点可用于计算优化的 C2D 虚拟机 许多公司已采用 Google Kubernetes Engine GKE 作为其应用程序基础架构中的关键组件 在某些情况下 使用容器和 Kubernetes 的优势可以超越传统架构 但迁移
  • linux中mysql启动服务命令(合集)

    linux的mysql启动服务命令 linux的mysql启动服务命令1 使用mysqld启动 关闭MySQL服务 mysqld是MySQL的守护进程 我们可以用mysqld来启动 关闭MySQL服务 关于mysqld MySQL 5 6官
  • You have not concluded your merge (MERGE_HEAD exists). Exiting because of unfinished merge.

    You have not concluded your merge MERGE HEAD exists Exiting because of unfinished merge git fetch all git reset hard ori
  • Select、Poll和Epoll

    看到一篇写得很不错的博文 有必要收藏一下 原文 https cloud tencent com developer article 1005481 提到select poll epoll相信大家都耳熟能详了 三个都是IO多路复用的机制 可以
  • 鸿蒙(二)基于小熊派实现LOT上云的智慧家居项目

    手把手教你利用鸿蒙OS实现智慧家居 LOT上云项目 一 前言 今天使用鸿蒙OS 做一个LOT上云的智慧家居项目 我们想实现的场景是这样的 云端WEB有一个控制界面 能够操控家房间里的灯和风扇 同时将房间里温度 湿度 光强实时显示出来 二 案
  • APUE学习的经验(引以为戒)

    前段时间在学习Linux 在没有感悟之前我是不敢把所得放到这里的 所以就一直没有新的文章 很惭愧啊 根据在网上搜集到的学习Linux的学习路线和自己当前对Linux的理解 我认为我可以学习APUE了 APUE 英文名应该是Advanced