使用命令行进行文件操作
考虑到权限问题时,一般创建、修改、删除文件需要使用sudo
命令切换到root
权限。
1.文件内容显示
(1)cat 命令
cat命令连接文件并打印到标准输出设备上,常用来显文件内容。
cat [选项] [文件名] [文件名]
两个功能:
- 用来显示文件的内容。依次读取由参数文件1所指明的文件,将它们的内容输出到标准输出上。
- 用来连接两个或多个文件。如
cat f1 f2>f3
,将文件f1和f2的内容合并起来,然后通过输出重定向符>将它们的内容存入文件f3中。
(2)more 命令
如果文件太长,用cat
命令只能看到文件最后一页,而用more
命令时可以逐页显示。
more [选项] [文件名]
该命令一次显示一屏文本,满屏后显示停下来,并且在每个屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比。
(3)less 命令
less
命令也用来分页显示文件内容,功能比more
强大
less [选项] [文件名]
(4)head 命令
head
命令在屏幕上显示文件的开头若干行或多少个字节。
head [选项] [文件名]
选项-n
(n为行数值)指定从文件开头的显示行数,默认为10行。
选项-c
指定从文件开头显示的字节数。
(5)tail 命令
tail
命令在屏幕上显示指定文件的末尾若干行或若干字节,与head
正好相反。
tail [选项] [文件名]
(6)od 命令
od
命令用于按照特殊格式查看文件内容。
od [选项] [文件名]
od
将指定文件以八进制形式(默认)转存到标准输出。如果指定了多于一个的文件参数,程序会自动将输入的内容整合为列表并以同样的形式输出。如果没有指定文件,或指定文件为“-”,将从标准输入读取数据。
2.文件内容查找
grep
命令用来在文本文件中查找指定模式的单词或短语,并在标准输出上显示包括给定字符串模式的所有行。
grep [选项]... 模式 [文件名]...
可以使用选项对匹配方式进行控制,如:
-i
:表示忽略大小写-x
:强制整行匹配-w
:强制关键字完全匹配-e
:用于定义正则表达式
例子:
$ grep -i 'home' /etc/passwd
(显示的内容略...)
可以使用选项对查找结果输出进行控制,如:
-m
:定义多少次匹配后停止搜索-n
:指定输出的同时打印行号-H
:为每一匹配项打印文件名-r
:在指定目录中进行递归查询
3.文件内容比较
(1)comm 命令
对两个已经排好序的文件进行逐行比较,只显示它们共有的行
comm [-123] 文件1 文件2
选项-1
:表示不显示仅在文件1中存在的行
选项-2
:表示不显示仅在文件2中存在的行
选项-3
:表示不显示在comm
命令输出中的第1列、第2列、第3列。
(2)diff 命令
diff命令逐行比较两个文件,列出它们的不同之处,并且提示为使两个文件一致需要修改哪些行。如果两个文件一致则不显示任何输出。
diff [选项] 文件1 文件2
4.文件内容排序
sort
命令用于对文本文件的各行进行排序
sort [选项] 文件名列表
sort
命令将逐行对指定文件中的所有行进行排序,并将结果显示在标准输出上。如果不指定文件名或者使用“-”表示文件,则排序内容来自标准输入。
5.文件内容统计
wc
命令用于统计出指定文件的字节数、字数、行数,并输出结果。
wc [选项] 文件名列表
如果没有给出文件名,则从标准输入读取数据。如果多个文件一起进行统计,则最后给出所有指定文件的总统计数。
wc
命令输出列的顺序和数目不受选项顺序和数目的影响。
行数 字数 字节数 文件名
选项-c
表示统计字节数,-l
表示统计行数,-w
表示统计字数
6.文件查找
(1)fing 命令
该命令用于在指定目录结构中搜索满足查询条件的文件并执行指定操作。
find [路径...] [匹配表达式]
(2)locate 命令
locate命令用于查找文件,它比find命令的搜索速度快,但需要一个数据库,这个数据库由每天的例行工作(crontab)程序自动建立和维护。
locate [选项]... [模式]...
选项-d
指定locate
命令所使用的数据库,以取代默认的数据库
选项-c
表示只列出查到的条目数量,-A
表示列出匹配的所有条目
选项-w
表示匹配整个路径
7.文件(目录)复制、删除和移动
(1)cp 命令
将源文件或目录复制到目标文件或目录中
cp [选项] 源文件或目录 目标文件或目录
(2)rm 命令
可以删除一个目录中的一个或多个文件和目录,也可以将某个目录及其下属的所有文件和子目录删除
rm [选项] 文件列表
该命令对于链接文件,只是删除整个链接文件,而原有文件保持不变。
(3)mv 命令
用来移动文件或目录,还可在移动的同时修改文件或目录名。
mv [选项] 源文件或目录 目标文件或目录
选项-i
表示交互模式,当移动的目录已存在同名的目标文件时,用覆盖方式写入文件,但在写入之前给出提示。
选项-f
表示在目标文件已存在时,不给出任何提示。
8.文件压缩与解压缩
(1)gzip 命令
gzip命令用于对文件进行压缩和解压缩。被压缩的文件扩展名是.gz。
gzip [选项] 压缩文件名/解压缩文件名
(2)unzip 命令
unzip命令用于对winzip格式的压缩文件进行解压缩。
unzip [选项] 压缩文件名
(3)tar 命令
tar命令用于对文件和目录进行打包
tar [选项] 文件或目录名