Linux系统学习第二章:文件与目录操作(三):文件操作
一、与文件名相关的操作
1、cp 复制文件(copy)
语法:cp [-air] 源文件 目标文件 (源文件可以是多个文件)
参数说明:-a 复制的文件保留源文件的一些特性
-i 是否覆盖提供询问
-r 递归
如: cp -r /etc/passwd /root/etc/passwd
cp -r /home/admin /home/dev /root/backup
2、mv 移动文件(move) :可以重命名、剪切文件
语法:mv [-fi] 源文件 目标文件
参数说明: -f 强制移动,当有相同的文件名时,直接覆盖
-i 询问是否覆盖
如:mv /home/admin/test /root/tmp/test1
3、rm 删除文件
4、取得目录名和文件名
dirname /usr/local/httpd/httpd.conf 得到这个文件的目录为:/usr/local/httpd
basename /usr/local/httpd/httpd.conf 得到这个文件名称,不带目录 httpd.conf
二、与文件内容有关的操作
1、直接查看文件内容
cat 查看文件内容,从前面往后面看(只适用于查看篇幅较小的文件)
cat [-n] 文件名
-n代表显示行号
tac 从文件的最后往前面看
nl 显示文件的行号
2、分页查看文件内容
more 文件名
通过pageup 和pageDown来上下翻页(也可以通过空格往下翻页),用q离开
less 文件名
与more相比,它可以通过上下方向键来查看上一行和下一行内容
3、查看某几行内容
head -n 行数 文件
查看头n行内容
tail -n 行数 文件
查看最后n行内容
4、修改文件时间或新建文件touch
当文件不存在时,通过touch可以新建一个空文件
语法:touch [-acm] 文件名
-a 修改文件访问时间
-c 修改文件创建时间,如果文件不存在则不创建新文件
-m 修改文件修改时间
5、修改文件默认权限 umask
当我们新建一个文件或目录时,我们并没有设置其权限,但其却有一个默认权限,这就是因为umask的存在
(1)umask 不带任何参数,我们可以查看当前默认的新建文件的权限
(2)umask 权限数字 我们可以修改权限默认值,但这个值,只是从原本的权限中减去这个值
例如:我们用umask查看文件默认权限,是022,我们在admin下新建一个目录和一个文件,它们的权限分别是:755,因为默认权限是022,即用户组和其他人都拿掉了读的权限2,所以新建的文件权限值是755.
再看一下目录,因为默认的目录的最大权限是666,所以拿掉022,就是644,即拿掉了用户组和其他人的写和执行权限
1 [root@localhost admin]# umask 2 0022 3 [root@localhost admin]# ls -l 4 总计 0 5 [root@localhost admin]# mkdir test 6 [root@localhost admin]# ls -l 7 总计 8 8 drwxr-xr-x 2 root root 4096 11-23 14:33 test 9 [root@localhost admin]# touch test.txt 10 [root@localhost admin]# ls -l 11 总计 12 12 drwxr-xr-x 2 root root 4096 11-23 14:33 test 13 -rw-r--r-- 1 root root 0 11-23 14:33 test.txt 14 [root@localhost admin]#
我们修改一下默认权限值:
1 [root@localhost admin]# umask 011 2 [root@localhost admin]# mkdir test2 3 [root@localhost admin]# ls -l test2 4 总计 0 5 [root@localhost admin]# ls -dl test2 6 drwxrw-rw- 2 root root 4096 11-23 14:39 test2 7 [root@localhost admin]# touch test2.txt 8 [root@localhost admin]# ls -l test2.txt 9 -rw-rw-rw- 1 root root 0 11-23 14:41 test2.txt
6、文件隐藏属性
我们一般看到的是文件的一些属性如r、w、x等属性,但文件还有一些其他的属性,是我们一般看不到的
lsattr 文件 显示文件的属性
chattr [+-] [ai] 文件或目录
+即为文件加上这个属性,-即为文件去掉这个属性
参数:a只能增加数据
i 文件不能被修改,包括文件名,不能被删除
1 [root@localhost admin]# lsattr test2.txt 2 ------------- test2.txt 3 [root@localhost admin]# chattr +i test2.txt 4 [root@localhost admin]# lsattr test2.txt 5 ----i-------- test2.txt 6 [root@localhost admin]# rm -f test2.txt 7 rm: 无法删除 “test2.txt”: 不允许的操作 8 [root@localhost admin]# chattr -i test2.txt 9 [root@localhost admin]# rm -f test2.txt 10 [root@localhost admin]# ls 11 test test2 test.txt 12 [root@localhost admin]#