[ linux ] linux 文件操作详解

简介: linux的对文件进行操作对于网安的同胞们来说几乎每天都要用,这里总结的相对比较全面相信看完会对你有很大帮助,文章最后有彩蛋~~~

其实这里介绍的也没有全部写出来,就总结了常用的18个命令,在工作中绝对够用了


1. 显示文件内容(6个):cat、more、less、head、tail

2. 搜索、排序、去重(三个):grep、sort、uniq

3. 比较(两个):comm、diff

4. 复制、删除、移动(三个):cp、rm、mv

5. 统计(一个):wc

6. 查找(一个):find

7. 压缩解压缩(三个):bzip2、gzip、tar


一、文件操作命令



1. 显示文件命令


1. cat命令

格式:cat [参数] …[文件]…


说明:把多个文件连接后输出到屏幕显示,若加“>文件名”则输出到另一个文件中。


常用参数:


-b:从1开始对所有非空输出行进行编号


-n:从1开始对所有输出行编号


-s:将连续两行以上的空白行合并成一行空白行


2. more命令

格式:more [参数] [文件]


说明:该命令显示文本文件的内容,一次显示一屏,满屏后停下来,可按如下键继续:


1. Space键:默认显示文本的下一屏内容


2. Enter键:默认显示文本的下一行内容


3. d键或CTRL+D:向下显示文本半屏,默认为11行


4. b键或CTRL+B:默认显示文本的上一屏内容


5. q或INTERRUPT键:退出more命令


常用参数:


-num:指定一个整数,表示一屏显示多少行


-d:在每屏底部显示提示信息,包括当前显示的百分比,按键提示等


-c或-p:不滚屏,在显示下一屏之前先清屏


+num:从行号num开始显示


+/pattern:定义一字符串,在文件中查找该字符串,从该字符串后显示(如要在a.txt中查找字符串“abc”并从该字符串处显示,则命令为:more +/abc a.txt)


3. less命令

格式:less [参数] [文件]


说明:与more命令相似,分屏显示文件内容,less命令允许用户向前或向后浏览文件,按q键退出。


常用参数:

-i:搜索时忽略大小写,除非搜索串中包含大写字母


-I:搜索时忽略大小写


-m:显示读取文件的百分比


-M:显示读取文件的百分比、行号及总行数


-N:在每行前输出行号


-p pattern:定义一字符串,在文件中查找该字符串,从该字符串后开始显示(如要在a.txt中查找字符串“abc”并从该字符串处显示,则命令为:less -p abc a.txt)


4. head命令

格式:head [参数] [文件]


说明:用于查看一个文本文件的开头部分,行数由参数值决定,默认是10


常用参数:


-c:显示文件前面num个字节(如显示a.txt前面5个字节内容,命令为:head -c5 a.txt)


-n:显示文件前面num行,不指定此参数显示前10行(如显示a.txt前面5行内容,命令为:head -n5 a.txt)


5. tail命令

格式:tail [参数] [文件]


说明:用于查看一文本文件末尾若干行,行数由参数值决定,默认为10。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。


常用参数:


-c:显示文件最后面num个字节


       如:显示a.txt后5个字节内容,命令为:tail -c5 a.txt


-n:显示文件最后面的num行,不指定此参数显示10行


       如显示a.txt后5行内容,命令为:tail -n5 a.txt


2. 搜索、排序及去掉重复行命令


1. grep命令

格式:grep [参数] 查找模式 [文件]


说明:grep家族包括grep、egrep和fgrep。egrep是grep的扩展,可使用扩展的字符串模式进行搜索,fgrep则是把所有字母看作单词,不识别正则表达式。如果没有指定文件名,grep命令会搜索标准输入


常用参数:


-b:在显示符合匹配字符串行前,标识该行第一个字符的位编号


-c:计算符合匹配字符串的行数


-E:将查找模式解释成扩展的正则表达式,相当于egrep


-F:将查找模式解释称单纯的字符串,相当于fgrep


-i:忽略字符大小写


-n:在现实包含匹配字符串的行之前,标示处该行的行号


-v:反转查找,显示不包含匹配字符串的文本行


-V:显示版本信息


-x:只显示全行都严格匹配的行


2. sort命令

格式:sort [参数] …[文件]…


说明:sort命令对指定文件中所有的行排序,将结果显示在标准输出上,如不指定输入文件或使用“-”,表示排序内容来自标准输入


缺省情况下以行为关键字按ASCII字符顺序进行排序


常用参数:


-m:若给定文件已排好序,合并文件


-c:检查给定文件是否排序,未排序打印出错信息,以状态值1退出


-u:对排序前后相同的行只留其中一行


-o:文件名:将排序输出写到输出文件中而不是标准输出


改变缺省排序规则的选项主要有:


-d:按字典顺序排序


-f:忽略字母大小写


-r:按逆序输出排序结果(默认排序输出是按升序的)


+pos1 - pos2:指定一个或几个字段作为排序关键字,字段位置从pos1开始到pos2为止(包括pos1,不包括pos2)。


如不指定pos2,则关键字为从pos1到行尾,字段和字符的位置从0开始


3. uniq命令

格式:uniq [参数]… [输入文件[输出文件]]


说明:检查及删除文本文件中重复出现的行


常用参数:


-c:显示输出中,在每行行首加上本行在文件中出现的次数


-d:只显示文件中的各重复行


-u:只显示文件中不重复的各行


3. 比较文件内容命令


1. comm命令

格式:comm [选项]… 文件1 文件2


说明:comm命令对两个已经排好序的文件进行比较,comm从文件1和文件2中读取正文行进行比较,生成3行输出:在两个文件中都出现的行,仅在文件1中出现的行,仅在文件2中出现的行


常用参数:


-123:选项1,2和3分别表示不显示comm输出的第一列、第二列和第三列


2. diff命令

格式:diff [参数]… 文件列表


说明:diff 命令比较文本文件,并找出它们的不同


常用参数:


-b:忽略空格造成的不同


-B:忽略空行造成的不同


-i:忽略大小写的不同


-r:当比较的文件都是目录时,递归比较子目录中的文件


4. 复制、删除和移动文件的命令


1. cp命令

格式:cp [选项] 源文件或目录 目标文件或目录


说明:cp命令完成文件的复制。


如果源是普通文件,该命令把源文件复制成指定的目标文件或复制到指定的目标目录中;


如果源是目录,目标是一已经存在的目录,该命令把源目录下的所有文件和子目录都复制到目标目录中;


如果源是目录,目标不是一已存在的目录,命令出现错误信息。


常用参数:


-a:等同于-dpR


-d:复制符号链接(即快捷方式文件)时,把目标文件或目录也建立为符号链接,并指向与源文件或目录链接的原始文件或目录


-f:强行复制文件或目录


-i:覆盖目标文件前需要确认


-n:不覆盖已存在的目标文件


-p:复制源文件或目录内容的同时也复制文件属性


-R或-r:递归复制目录,将源目录下所有文件及子目录都复制到目标位置


2. rm命令

格式:rm [参数] …文件或目录…


说明:rm命令可以删除文件或目录,删除目录必须要加“-r”选项


常用参数:


-f:强制删除文件或目录


-i:删除文件或目录前提示要用户确认


-r或-R:递归删除目录及其下属各级子目录和相应的文件


3. mv命令

格式:mv [参数] 源文件或目录 目标文件或目录


说明:mv命令可移动文件或目录;更改文件或目录的名称


常用参数:


-i:覆盖文件前需要确认


-f:若目标文件或目录已存在,直接覆盖


-n:不覆盖已存在的文件


-u: 移动或更改文件名时,若目标文件已存在,且文件日期比源文件新,则不覆盖目标文件


5. 文件内容统计命令


wc命令

格式:wc [选项] …[文件]…


说明:wc命令统计给定文件中的字节数、字数、行数


常用选项:


-c或–bytes:统计字节数


-m或–chars:统计字符数


-l或–lines:统计行数


-w或–words:统计字数


6. 查找文件和目录命令


1. find命令

格式:find [路径名…] [表达式]


说明:find命令用于查找符合条件的文件和目录,路径名是用空各隔开的要搜索文件的目录名清单,表达式包含要寻找的文件的匹配规范或说明。


表达式是从左向右求值的,只要表达式中的测试结果为真,则进行下一个测试


常用表达式:(24个)


-amin n:查找系统中最后n分钟曾被访问过的文件或目录


-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录


-atime n:查找系统中最后n24小时被访问过的文件或目录


-cmin n:找系统中最后n分钟被更改的文件或目录


-cnewer<参考文件或目录> 查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录


-ctime n:查找系统中最后n24小时被改变状态的文件


-depth:从指定目录下最深层的子目录开始查找


-daystart:从本日开始计算时间


-exec<执行指令>:假设find指令的回传值为True,就执行该指令


-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录


-gid<群组识别码>:查找符合指定群组识别码的文件或目录


-group<群组名称>:查找符合指定之群组名称的文件或目录


-inum<inode 编号>:查找符合指定的inode编号的文件或目录


-mmin n:查找在n分钟内曾被更改过的文件或目录


-mtime n:查找在n天内曾被更改过的文件或目录


-name<范本样式>:指定字符串作为寻找文件或目录的范本样式


-path<范本样式>:指定字符串作为寻找目录的范本样式


-perm<权限数值>:查找符合指定的权限数值的文件或目录


-print:假设find指令的回传值为True,就将文件或目录名称列出到标准输出,格式为每列一个名称。


-prune:不寻找字符串作为寻找文件或目录的范本样式


-size<文件大小>:查找符合指定的文件大小的文件


-type<文件类型>:只寻找符合指定的文件类型的文件(b-块设备文件;d-目录;c-字符设备文件;p-管道文件;l-符号链接文件;f-普通文件)


-uid<用户识别码>:查找符合指定的用户识别码的文件或目录


-user<拥有者名称>:查找符合指定的拥有者名称的文件或目录


7. 文件的压缩和备份[ linux ] 压缩文件和文件解压缩你都了解吗?


1. bzip2命令

格式:bzip2 [选项] [要压缩的文件]


说明:.bz2文件的压缩程序,并删除原始的文件


常用选项:


-c:将压缩或解压缩的结果送到标准输出


-d:执行解压缩


-f:压缩或解压缩时,若输出文件与现有文件同名,覆盖现有文件


-k:bzip2在压缩或解压缩后,保留原始文件


2. gzip命令

格式:gzip [选项] [文件…]


说明:gzip压缩会产生后缀为“.gz”的压缩文件,并删除原始文件


常用选项:


-c:压缩后文件输出到标准输出设备,不改变原始文件


-d:解开压缩文件


-f:强行压缩文件


-n:压缩文件时,不保存原来的文件名称及时间戳记


-N:压缩文件时,保存原来的文件名称及时间戳记


-r:递归处理,将指定目录下的所有文件及子目录一并处理


3. tar(tape archive)命令

格式:tar [选项…] [文件或目录]…


说明:tar是用来建立、还原文件的工具程序,它可以加入、解开备份文件内的文件


常用选项:


-A:新增tar文件到已存在的备份文件


-c:建立新的备份文件


-f<备份文件>:列出备份文件的内容


-v:显示指令执行过程


-x:从备份文件中还原文件


–delete:从备份文件中删除指定的文件


例如:


1. 将当前目录下的文件1.txt、2.txt、3.txt备份到文件123.tar中,并显示备份指令执行过程


命令为:tar -cvf 123.tar 1.txt 2.txt 3.txt


用命令 ls -l 查看执行结果如,可看到生成了备份文件123.tar


2. 将123.tar备份文件进行还原,先删除1.txt、2.txt、3.txt


然后使用命令tar -xvf 123.tar进行还原


用ls -l的命令查看结果,123.tar被还原成了1.txt、2.txt、3.txt



相关文章
|
7月前
|
Linux Windows
Linux系统中的文件操作
Linux系统中的文件操作
|
存储 Linux 调度
【看表情包学Linux】系统下的文件操作 | 文件系统接口 | 系统调用与封装 | open,write,close 接口 | 系统传递标记位 O_RDWR,O_RDONLY,O_WRONLY...
【看表情包学Linux】系统下的文件操作 | 文件系统接口 | 系统调用与封装 | open,write,close 接口 | 系统传递标记位 O_RDWR,O_RDONLY,O_WRONLY...
121 1
|
25天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
89 3
|
3月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
733 2
|
7月前
|
Java Linux Shell
【Linux】13. 文件操作
【Linux】13. 文件操作
66 1
|
7月前
|
Linux
基于 Linux 的文件操作 网络编程的最后一环
Linux下万物皆文件 在了解了客户端和服务器的函数调用之后,我们只需要了解下文件操作就能编写出属于自己的客户端和服务器了,还能让他们进行通信。
47 0
|
4月前
|
Linux 数据安全/隐私保护 Perl
解锁Linux高手秘籍:文件操作+命令解析大揭秘,面试场上让你光芒万丈,技术实力惊艳四座!
【8月更文挑战第5天】Linux作为服务器与嵌入式系统的基石,其文件管理和命令行操作是技术人员必备技能。本文从文件操作和基础命令两大方面,深入浅出地解析Linux核心要义,助你在面试中脱颖而出。首先探索文件系统的树状结构及操作,包括使用`ls -la`浏览文件详情、`touch`创建文件、`rm -r`慎删目录、`cp`与`mv`复制移动文件、以及利用`find`搜索文件。接着掌握命令行技巧,如用`cat`、`more`和`less`查看文件内容;借助`grep`、`sed`与`awk`处理文本;运用`ps`、`top`和`kill`管理进程;并通过`chmod`和`chown`管理文件权限。
84 8
|
7月前
|
存储 Linux C语言
Linux系统下C语言的文件操作
Linux系统下C语言的文件操作
83 0
|
5月前
|
Linux Shell Go
Linux中文件操作基本指令大全
Linux中文件操作基本指令大全