Understanding UNIX/LINUX Programming
最新书摘:
-
笑紅塵2014-08-25從Unix中學習Unix以下4項技巧會有助於你的學習:- 閱讀聯機幫助- 搜索聯機幫助- 閱讀.h文件- 從參閱部分 ( SEE ALSO ) 得到啟示
-
笑紅塵2014-08-24Unix並不提供恢復被刪除文件的功能, 其中一個原因是Unix是一個多用戶系統, 當一個文件被刪掉以後, 它所佔用的存儲空間可能被立即分配給其他用戶的文件, ...
-
[已注销]2013-09-11Unix 能够读取和装载包含非 Unix 文件系统的磁盘,像 PC-DOS 和 Macintosh 磁盘。在内部,这些系统没有 i-节点。虽然如此,当使用 mount 将其中一个磁盘连接到 Unix 系统时,命令 ls-i 将会 i-节点。查看 Linux 源代码以确定这些编号从何处来。Linux 为何添加它们?
-
[已注销]2013-08-16树干是根目录。每个树枝都是子目录。在任何时候,您所处的那个树枝就是工作目录。移除一个工作目录就像据掉树枝一样。移除目录的限制就是您不能据掉那个正支撑您的树枝。移除工作目录是可能的。就像砍掉您正坐在其上的树枝一样。或许Unix不允许这样做,但是却是可以这样做。
-
[已注销]2013-08-16一个星期日的深夜,您在计算机实验室中使用Linux完成一个特殊的项目。您的home目录中有两个子目录data和olddata。data目录中包含有100个重要文件。olddata目录是空的。您决定移除olddata目录,但是,在输入命令时,一颗陨石打碎玻璃,正好击中坐在您身边的一个极客。在混乱中,您不小心键入了rmdir data幸运的是,Unix已经准备好处理这样的偶发事件。您将看到这样的消息:rmdir:data: Directory not empty感谢Unix内置的安全防护措施,data目录原封不动,没有被删除。
-
[已注销]2013-08-16习题4.10 rmdir不删除含有文件或子目录的目录。为什么要这么做?另一方面,可以删除含有用户的目录。尝试一下的操作:生成一个由自己命名的新目录并进入这个目录,然后开启另一个命令窗口,删除这个新目录。关闭第二个命令窗口,输入命令/bin/pwd,看看将产生什么。
-
[已注销]2013-06-18然而实际的运行结果并不是这样的,24行以后并没有暂停而是继续输出,问题在哪里呢?当more01读入第24行后,它打印了more?,然后等待用户输入。用户的输入是从哪里来的?在more01中用getchar(),它是从标准输入读数据的,问题就在这里。刚才的命令:$ls/bin|more01已经将more01的标准输入重定向到ls的标准输出,这样more01将从同一个数据流中读用户的输入,这显然有问题解决这个问题的方法是,从标准输入中读入要分页的数据,直接从键盘读用户的输入
-
夏夜寂寞属壁虎2020-06-27#define OUTFDCHOMD 0775if ((out_fd = open(av[2], O_CREAT | O_WRONLY, OUTFDCHOMD)) == -1)
-
夏夜寂寞属壁虎2020-06-27while((n_chars = read(in_fd, buf, BUFFERSIZE)) > 0){int write_res = write(out_fd, buf, n_chars);printf("%d %d ", n_chars, write_res);if (write_res != n_chars)oops("Write error to ", av[2]);}
-
[已注销]2013-08-15与普通文件一样,目录也有特殊属性位,其中包含set-user-ID和set-group-ID位,使set-user-ID有效对目录有什么影响?如果有,那是什么?为什么?如果没有影响,那么你能想象出这些位有什么作用吗?
-
ziyoudefeng2013-04-29实际上程序会立刻退出,而不执行重置驱动程序的代码。当返回shell显示提示符并从用户处获得命令行时,终端仍旧处于非阻塞模式。shell调用read获取命令行,但是因为处于非阻塞状态,read立即返回0。总之,程序结束时文件描述符处于一个错误的状态。