2020 Linux系统应用基础教程 期末复习【整理】 第五章 磁盘文件与目录管理

一、磁盘管理

1、查看磁盘空间的使用情况
用法:df [OPTION]…[FILE]…
查看计算机系统上每个文件系统的磁盘空间使用情况(已经安装的文件系统)
2、显示磁盘上目录或文件的大小
用法:du [OPTION]…[FILE]…
显示指定的目录或文件所占用的磁盘空间,默认单位是KB,不写FILE是指当前

二、文件与目录管理

1、文件或目录的复制
用法:cp [OPTION]…source dest或cp [OPTION]…source…directory
中文:复制 选项 源文件/源目录(可以有多个) 目标文件/目标目录(唯一)
如:cp -rp /tmp/123 /tmp/456 /root
意思是将/tmp/123目录下的123和456目录复制到/root下,保持目录属性(-p命令含义),-r/R是递归复制,子目录与目录下的文件。

2、移动文件或目录
用法:mv [OPTION]…source dest或mv [OPTION]…source…directory
不仅可以移动,还可以更名
mv xyz 123/aaa
意思是将xyz文件移动到123目录下并改名为aaa

3、删除文件或目录
用法:rm [OPTION]…FILE…
-f:强制删除文件或目录。该选项会忽略放在它前面的-i(让用户确认)选项。
-r:或-R递归处理,将指定目录下的所有文件和子目录一起删除。
注意:若想删除目录,一定要用-r/R,否则无法删除目录

4、显示目录内容
用法:ls [-OPTION]…[FILE]…
-l:每列只显示一个文件或目录名称。
-a:显示所有文件,包括隐藏文件、本级和上级目录。
-i:显示文件和目录的inode编号。
-d:显示目录名称而不是内容。

三、查找文件(比较难的选择题)

基本用法:find [path…][-name filename]
Path为查找的路径,默认是当前目录;filename为要查找的文件或目录名,可以是全名或带通配符的部分文件或目录名。
注意:非当前目录下查找文件或目录时,命令选项-name不能省略。
完整用法:find [path…][expression]
Expression是表达式,可以包含逻辑运算符、命令选项、测试条件和后续动作。以符号“-”“(”“)”“,”“!”开始的第一参数被认为是表达式的开始,前面都视作路径。若表达式省略,则系统以-print作为默认值。
后续动作:-exec command含义:
如果find命令的测试结果是真,就执行参数command所指定的命令;所执行命令的末尾必须以“;”结束,查找得到的文件名可以使用“{}”代替。命令形式为“-exec command {} ;”。注意:在command和“{}”之间,“{}”和“;”之间存在空格。
示例1:
在目录/usr下查找文件名中扩展名为.c的文件
Find /usr -name *.c -print(为真,就输出)
示例2:
在当前目录及子目录中查找文件名义一个大写字母开头的文件
Find . -name “[A-Z] *”
示例3:
在当前目录下查找文件主可读、写、可行,其他用户可以读、执行的文件
Find .perm 755
示例4:
在/home目录下查找文件,但不在/home/stu1目录下查找
Find /home -path “/home/stu1” -prune -o -print
示例5:
在/home目录中查找文件主为sam的文件
Find /home -user sam
示例6:
在系统根目录下查找在5天内修改过的所有文件
Find / -ctime -5
示例7:
在/home目录下查找所有的用户目录
Find /home -type d
示例8:
在/home/stu1目录下查找文件长度小于100B的文件
Find /home/stu1 -size -100c (-代表小于,c代表字节为单位)
示例9:
在当前目录下查找修改时间比hello.c文件新的文件
Find . -cnewer hello.c (也可以使用newer)
示例10:
查找/root目录下所有含有foxy或river字符串,且在两天前被访问过得文件,将这些文件都设置为对文件所有者可读/写,组用户可读,其他用户可读。
Find /root ( -name foxy * -o -name river * -atime2) -print -exec chmod 644 || ;

四、修改文件权限

用法:chmod [OPTION]…MODE[,MODE]…FILE
MODE包含权限范围、修改动作、权限代号三部分
中文:chmod [{ugoa}{±=}{rwx}] [文件或目录]
权限范围:
u:user,文件主
g:group,同组用户
o:other,处文件主或同组用户以外的其他人
a:all,三者都算
ugo可以一起用,等价为a
修改动作:
+:表示将随后的权限追加到原来的权限上
-:表示将随后的权限从原来的权限上除去
=:表示将随后的权限直接赋予,而不管原来的权限情况
权限代号:
rwx略
-:没有任何权限,为0
s:特殊权限SUID/SGID,为4/2
t:特殊权限sticky,为1
特殊权限数字代号在普通权限数字代号前
示例:
chmod g+w testfile
赋予文件testfile所属组写权限
chmod -R 777 testdir
修改目录testdir及其目录下文件为所有用户具有全部权限

五、查看文件内容

cat命令
用法:cat [OPTION][FILE]…
不但可以查看小文件的内容,还可以把参数中所指定的若干个文件通过输出重定向或输出附加重定向命令连接成一个文件。(还可以建立小文件)
tac 显示文件内容(反向列示)
把文件file1和file2合并成file3
cat file1 file2 > file3
如果file3已存在,则覆盖
如果只是添加在file3后面,则“>>”

六、文件压缩与解压缩

压缩gzip,压缩后,名字后面会有“.gz”的扩展名
解压缩gunzip实际上是gzip命令的硬链接,因此gzip既可压缩,又可解压
gzip用法:gzip 选项[-r] [压缩后文件名] [文件或目录],如果文件目录没给出,或者文件名是“-”,则默认从标准输入设备上取。
示例:
压缩/home/stu目录下所有扩展名为.txt的文件
gzip /home/stu *.txt
将/home/stu目录下所有压缩文件解压缩,包括子目录
gunzip -r /home/stu

七、文件备份与恢复

Tar命令可以将许多文件打包在一起形成一个备份文件保存在磁盘或磁带上,也可以从备份文件中恢复一个、多个或所有的文件。
用法:tar [OPTION]…[FILE]…
功能选项:
-c 或 - -create:建立新的备份文件
-x 或 - -extract 或 - -get:从备份文件中还原文件
其它选项:
-f 或 - -file[HOSTNAME:]F :恢复备份文件。
-j 或 -l 或 - -bzip:通过bzip2命令处理备份文件。
-v ,- -verbose:显示命令执行的详细过程。
-z 或 - -gzip 或 - -ungzip:通过gzip命令处理备份文件。
示例:
把foo和bar文件打包建立一个名为archive.tar的备份文件
tar -cf archive.tar foo bar
列出archive.tar备份文件中所有的文件
tar -tvf archive.tar (-t是列出)
从archive.tar备份文件中还原所有的文件
tar -xf archive.tar

八、简单信息处理

find命令是在文件系统中查找所需的文件,而grep命令则是在文件中查找所需的信息(用字符串表示),一旦查找成功,grep命令将给出信息所在行的全部内容,grep命令对于shell脚本设计者而言特别有用。

用法:grep -iv [指定字串] [文件]
-i 不区分大小写
-v 反向查找
-n 匹配到时,显示行号

学如逆水行舟,不进则退
发布了339 篇原创文章 · 获赞 491 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_42429718/article/details/103839013