Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

UNIX系统编程小结(二)------文件和目录

UNIX系统编程小结(二)------文件和目录

一.对linux的安全机制的一点感悟各种权限,read,write,execute,set-user-ID,set-group-ID,sticky bit,对目录的权限,对文件的权限,用于保证系统安全的各种组合技,各种经典。比如,如果我们想unlink一个文件,就必须拥有该文件所在目录的write与execute的权限。二.两个小例子1.当文件有hole时,cp命令会同时拷贝这些hole为""。这里是一个实现了拷贝时跳过文件hole的程序。ps:我用的bu...
《Unix/Linux编程实践教程》之Shell编程一

《Unix/Linux编程实践教程》之Shell编程一

《Unix/Linux编程实践教程》是一本学习系统编程非常好的入门教材。本书第8章开始介绍进程的相关概念。包括相关的命令如ps,以及相关的系统调用如fork,wait等。在本章中,作者通过一步步搭建自己的Shell来讲解unix的进程模型。相关阅读:《Unix/Linux编程实践教程》之Shell编程一 http://www.linuxidc.com/Linux/2012-12/75690.htm《Unix/Linux编程实践教程》之Shell编程二 ht...
《Unix/Linux编程实践教程》之Shell编程二

《Unix/Linux编程实践教程》之Shell编程二

《Unix/Linux编程实践教程》第九章将第八章所编的shell做进一步的完善,包括:1)加入命令行解析,方便用户在一行里输完命令和所有参数2)加入if..else..控制语句3)加入局部变量和环境变量对于上章后面的练习题(解决SIGINT信号杀死shell的BUG),本章也给出了解决方案,简单流程如下:在shell中忽略SIGINT和SIGQUIT,在子进程中对恢复信号的默认操作。相关阅读:《Unix/Linux编程实践教程》之Shell编程一 htt...
《Unix/Linux编程实践教程》之管道

《Unix/Linux编程实践教程》之管道

管道式内核中的一个单向的数据通道,用来连接一个进程的输出和另一个进程的输入。管道有一个读取端和一个写入端。创建管道的系统调用为 pipe ,函数原型是 result=pipe(int array[2]); 调用 pipe 来创建管道并将其两端连接到两个文件描述符。 array[0] 为读数据端的文件描述符, array[1] 是写数据段端的文件描述符。可以将 fork 和 pipe 结合起来写个小程序, fork 出来的子进程每 5 秒向管道里写数据,父进...
C中为什么要用内联函数

C中为什么要用内联函数

inline 这个名称可以反映出它的工作方式,函数会在它所调用的位置上展开.这么做可以消除函数调用和返回所带来的开销(寄存器存储和恢复),而且,编译器会把调用函数的代码和函数本身放在一起进行优化,所以有进一步优化代码的可能.不过这么做是有代价的,代码会变长,这也就意味着占用更多的内存空间或者占用更多的指令缓存.内核开发者通常把那些对时间要求比较高,而本身长度又比较短的函数定义成内联函数.内联函数必须在使用之前就定义好,否则编译器就没法把这个函数展开,实践中...
Python对象简析

Python对象简析

1.所有的Python 对象都包括三个特性:(1)身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到.这个值可以被认为是该对象的内存地址.(2)类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。您可以用内建函数type()查看Python 对象的类型。(3)值:对象表示的数据项注:如果对象支持更新操作,那么它的值就可以改变,否则它的值是可读的.2.类就是类型,实例是对应类型的...
C语言的指针数组

C语言的指针数组

声明: char *lineptr[MAXLINES]它表示lineptr是一个具有MAXLINES个元素的一維数组,其中数组的每一个元素是一个指向字符类型对象的指针,也就是说,lineptr[i]是一个字符指针,而*lineptr[i]是该指针指向的第i个文本行的首字符.例:指针数组的初始化(摘自C程序设计)编写一个函数month_name(n),它返回一个指向第n个月名字的字符串的指针(这也是内部static类型数组的一种理想应用)程序如下:#incl...
<< 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 >>