读书人

《Unix amp; Linux 高等学校教程》 - 第二

发布时间: 2012-11-23 22:54:33 作者: rapoo

《Unix & Linux 大学教程》 - 第二十五章 学习笔记

学习笔记,内容基础,适合初学者。


阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分)

《Unix & Linux 大学教程》 - 第一、二章 学习笔记 Unix简介 & 什么是Linux?什么是Unix
《Unix & Linux 大学教程》 - 第三、四章 学习笔记 Unix连接 & 开始使用Unix
《Unix & Linux 大学教程》 - 第五、六章 学习笔记 GUI:图形用户界面 & Unix工作环境
《Unix & Linux 大学教程》 - 第七、八章 学习笔记 Unix键盘使用 & 能够立即使用的程序
《Unix & Linux 大学教程》 - 第九、十章 学习笔记 文档资料:Unix手册与Info & 命令语法
《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记 shell & 使用shell:变量和选项
《Unix & Linux 大学教程》 - 第十三章 学习笔记 使用shell:命令和定制
《Unix & Linux 大学教程》 - 第十四、十五章 学习笔记 使用shell:初始化文件
《Unix & Linux 大学教程》 - 第十六、十七章 学习笔记 过滤器:简介和基本操作
《Unix & Linux 大学教程》 - 第十八章 学习笔记 过滤器:统计和格式化
《Unix & Linux 大学教程》 - 第十九章(一) 学习笔记 过滤器:选取、排序、组合及变换
《Unix & Linux 大学教程》 - 第十九章(二)、第二十章 学习笔记 过滤器:选取、排序、组合及变换 正则表达式
《Unix & Linux 大学教程》 - 第二十一章 学习笔记 显示文件
《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记 vi文本编辑器(一)
《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记 vi文本编辑器(二)
《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记 vi文本编辑器(三)
《Unix & Linux 大学教程》 - 第二十三章 学习笔记 Unix文件系统
《Unix & Linux 大学教程》 - 第二十四章 学习笔记 目录操作
《Unix & Linux 大学教程》 - 第二十五章 学习笔记 文件操作
《Unix & Linux 大学教程》 - 第二十六章(一) 学习笔记 进程和作业控制




第二十五章:文件操作

自动创建文件的情况:

1.很多程序,当需要时会自动创建

2.将输出重定向到文件

3.复制文件

4.touch


touch

语法:

touch [-acm] [-t time] file...

作用:不改变文件的情况下,改变文件修改时间和访问时间

time是时间和日期,格式为[[YY]YY]MMDDhhmm[.ss]

默认情况下,touch将修改时间和访问时间设置为当前的时间和日期



ll

total 28

drwxrwxrwx 2 su1216 su1216 4096 2012-09-14 20:42 ./

drwxr-xr-x 17 su1216 su1216 4096 2012-10-25 16:10 ../

-rwxrwxrwx 1 su1216 su1216 20 2012-09-14 16:44 age*

-rwxrwxrwx 1 su1216 su1216 12 2012-09-14 16:43 name*


touch *;ll

total 28

drwxrwxrwx 2 su1216 su1216 4096 2012-09-14 20:42 ./

drwxr-xr-x 17 su1216 su1216 4096 2012-10-25 16:10 ../

-rwxrwxrwx 1 su1216 su1216 20 2012-10-29 11:36 age*

-rwxrwxrwx 1 su1216 su1216 12 2012-10-29 11:36 name*



-m:只改变修改时间

-a:只改变访问时间

-t:设置具体时间和日期

-c:不创建新文件


touch -m -t 201212210000 age;ll age(把age文件修改时间改为世界末日那天……)

-rwxrwxrwx 1 su1216 su1216 20 2012-12-21 00:00 age*



touch -c file1 file2(如果文件不存在,则不创建)



文件命名

1.最长为255个字符(最大长度由文件系统设置)

2.可以包含除了/(斜线)和null字符之外的任何字符

最好不要使用特殊字符

最好不要使用test作为文件名,shell拥有一个名为test的内置命令

大写字母留给重要的文件




复制文件

cp

语法:

cp [-ip] file1 file2

-i(interactive,交互):cp在替换已有文件时进行询问

-p(preserve,保持):目标文件和源文件拥有相同的


cp [-ip] file... directory

作用:将文件复制到指定目录



cp -r [-ip] directory1... directory2

作用:将目录复制到指定目录




移动文件

mv

语法:

mv [-if] file... directory

-i(interactive,交互):cp在替换已有文件时进行询问

-f(force,强制):与-i相反,强制替换



重命名文件或目录


mv

语法:

mv [-if] oldname newname

mv directory1 directory2(如果directory2不存在,则重命名directory1为directory2;如果directory2存在,则合并directory1到directory2中)




删除文件

rm

语法:

rm [-fir] file...

-i(interactive,交互):删除前进行询问

-f(force,强制):与-i相反,忽略文件权限和-i选项(某些系统上)

-r(recursive,递归):删除整个目录树

************************************

注意:

rm -fr $HOME/$FILE

如果上面两个变量都没有定义,那么该命令则变为

rm -rf /

************************************




文件权限

普通文件读读取文件写写入文件执行执行文件目录读读取目录写创建、移动、复制或删除目录条目执行搜索目录

每个文件有三组权限:一组针对属主;一组针对组;一组针对其他用户


setuid用来允许普通用户表示运行从root拥有的程序中挑选的程序。这意味着无论哪个用户标识运行程序,它都以root特权运行




Unix维护文件权限的方式:id、groups

属主:创建文件的用户标识就是文件

属主是可以改变文件权限的唯一用户标识,第一组文件权限描述属主如何访问文件

每个用户都属于一个组,第二组权限应用于和属主位于同一组的所有其他用户标识

第三组权限应用于系统上的其他人以及剩下的每个人单独分配读、写和执行权限



查看用户所在组

id(显示当前用户信息)

uid=1000(su1216) gid=1000(su1216) groups=1000(su1216),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),119(admin),122(sambashare)

groups username



显示文件权限

ls -l

-rwxrwxrwx 1 su1216 su1216 2547 2012-10-29 16:36 setup.py

上面的信息分别对应为:

文件权限 链接数量 用户标识 属主的组 大小 日期 上次修改时间 文件名称

其中最左边十个字符分为4个部分

第一个代表类型(文件夹为d,文件为-)

第2-4个表示文件属主的权限

第5-7个表示组的权限

第8-10个表示系统上所有其他用户标识的权限


文件模式:

4=读权限

2=写权限

1=执行权限

0=没有权限

执行分量---0+0+00--有0+0+11-有-0+2+02-有有0+1+23有--4+0+04有-有4+0+15有有-4+2+06有有有4+2+17




改变文件权限

chmod

语法:

chmod mode file...

只有属主和超级用户才可以改变文件的文件模式



为新文件指定权限的方式

umask用户掩码(user mask)

语法:

umask [mode]


Unix创建新文件时,将根据文件的类型为文件指定下述几种模式:

666:不可执行的普通文件

777:可执行的普通文件

777:目录

在这模式基础上,Unix再减去用户掩码(user mask)值。

除非有有很好的理由,否则应该将umask 077放入登录文件中




清空文件内容

shred

语法:

shred -fvuz [file...]

-v(verbose,详细):处理过程中显示处理消息

-z:结束任务时将文件全部填充为0

-u:处理之后删除文件

f(force,强制):忽略受限文件

作用:多次覆盖硬盘上已有的数据,使得难以恢复




链接

Unix创建文件时会做两件事情

1.Unix在存储设备上保留一块空间用来存储数据

2.Unix创建一个称为索引节点(index node)或i节点(i-node)的结构,来存放文件的基本信息


i节点内容

读书人网 >UNIXLINUX

热点推荐