首页 > 服务器学习 > Linux > Linux中的常见文件操作命令
2016
12-16

Linux中的常见文件操作命令

touch:更改文档或目录的日期时间属性,包括存取时间和更改时间。 或者新建一个不存在的新文件

touch [选项] 文件名

-a:只更改存取(访问)时间。

-c或--no-create:不建立任何文档。

-d或--date=字符串:使用字符串指定的日期时间,而非现在的时间。

touch -d "05/30/13 12:13:14" /text.txt

设定文档时间属性为2013年5月30号的12点13分14秒

-m:只更改变动时间。

-r或--reference=文件:使用指定的文件或目录的时间属性,而非现在的时间

-t:使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间

touch -d 201305301213.14 /text.txt

CC:世纪(年份前两位)  YY:世纪中的年数,年份后两位

file:辨识文件类型:  file [选项] 文件名

-b  列出辨识结果时,不显示文件名称。

-c  详细显示指令执行过程,便于排错或分析程序执行的情形。

-f<名称文件>  指定名称文件,其内容有一个或多个文件名称,让file依序辨识这些文件,格式为每列一个文件名称。

-z  尝试去解读压缩文件的内容。

stat 文件名 :用于查看文件的具体存储、所有者、权限和时间等信息。

basename:打印指定的文件或者目录的名称,即打印最后一个斜杠‘/’后面的内容,后面可以接一个过滤的字符串,basename /home/usrname会打印usrname

basename /home/usrname me会打印usrna

后面给的过滤字符串必须是从右向左完全匹配才会过滤,改名了通常用于shell编写。

cksum 文件名 :命令用于检查文件的CRC是否正确。确保文件从一个系统传输到另一个系统的过程中不被损坏。CRC是一种排错检查方式,该校验法的标准由CCITT所指定,至少可检测到99.998%的已知错误。返回第一个数值表示效验码,第二个表示字节数,第三个为文件名

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。

tee [-ai][文件...](文件名可以是用空格隔开的多个文件,会同时写入到这些文件中)

-a 附加到既有文件的后面,而非覆盖它.

-i 忽略中断信号。

ll [文件名/目录名]:查看指定文件或指定目录中所有文件(统计的目录大小只是这个目录的子文件和子目录的目录名一共占用的大小,不会统计子目录包含的文件的大小的详细信息,选项-d代表当遇到目录时列出目录本身而非目录内的文件

cat [选项] [文件名]:一次性显示文件的全部内容

-n:由 1 开始对所有输出的行数编号

-b:和 -n 相似,只不过对于空白行不编号

-s:当遇到有连续两行以上的空白行,就代换为一行的空白行

-A:显示所有内容,包括换行,回车、制表符等字符

将几个文件合并为一个文件: cat file1 file2 > file

命令tac和cat命令功能相同,但是显示的时候是反向显示,即从最后一行开始显示,最后到第一行

split 命令用于将一个文件分割成数个。在默认情况下将按照每1000行切割成一个小文件。

split [-<行数>][-b <字节>][-C <字节>][要切割的文件][输出文件名]

-<行数> : 指定每多少行切成一个小文件

-b <字节> : 指定每多少字节切成一个小文件

-C <字节> : 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性

[输出文件名] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号

more:分页显示文件内容

打开文件以后:(空格)或f进行翻页,(enter)进行逐行向下翻看,Q或q退出

less:分页显示文件内容

打开文件以后:(空格)或f进行翻页,(enter)进行逐行向下翻看,Q或q退出,和more不同的是less可以向上翻看,Pagup向上翻页,向上的箭头(↑)向上逐行翻看。

输入斜杠"/"后面加想要搜索的内容回车可以搜索文件中的内容,输入n可以逐页查看另外的包含搜索关键字的内容。

head:显示文件内容的指定的前几行

选项-n指定行数,如head -n 25 /etc/services表示显示根目录下的sec目录下的services文件的前25行,如果省去-n选项默认显示前10行

tail:显示文件内容的指定的最后几行

选项-n和head中的相同,另外tail还有一个-f选项,用于动态显示文件末尾最后10行的内容,一般用来查看日志文件,当日志文件更新以后这个内容显示也动态更新,按CTRL+C退出动态显示界面。

sort [选项] 文件名:可针对文本文件的内容,以行为单位来排序文档内容并输出,默认将以文本文件的第一列以ASCII 码的次序从小到大排列

-b 忽略每行前面开始出的空格字符。

-c 检查文件是否已经按照顺序排序。

-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

-f 排序时,将小写字母视为大写字母。

-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

-m 将几个排序好的文件进行合并。

-M 将前面3个字母依照月份的缩写进行排序。

-n 依照数值的大小排序。

-o<输出文件> 将排序后的结果存入指定的文件。

-r 以相反的顺序来排序。

-t<分隔字符> 指定排序时所用的栏位分隔字符。

-k n[,m]:按照指定的字段范围排序,从第n字段开始,m字段结束(默认到行尾)

sort -t ":" -k 3,3 -n /etc/passwd

代表设定把冒号":"作为分隔符,选取第三个字符到第三个字符(也就是只选择第三个字符),然后把选定的字符按数字排序的方式输出整个文档。

wc [选项] 文件名:统计命令

-c:只统计Bytes大小数

-l:只统计行数

-w:只统计单词数

-m:只统计字符数

comm [-123][第1个文件][第2个文件] :命令用于比较两个文件。会一列列地比较两个文件的差异,并将其结果显示出来,会把结果分成3行显示:第1行仅是在第1个文件中出现过的列,第2行是仅在第2个文件中出现过的列,第3行则是在第1与第2个文件里都出现过的列。输出的各列是以制表符(\t)作为分隔符。

-1 不显示只在第1个文件里出现过的列。

-2 不显示只在第2个文件里出现过的列。

-3 不显示只在第1和第2个文件里出现过的列。

spell 文件 :检查指定文件中的拼写错误

当不指定文件时会检查从标准输入读取的字符串,输入一串字符串,然后按Ctrl+D 组合键退出spell,屏幕上将显示拼写有错误的单词。

uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][输入文件][输出文件] :用于检查及删除文本文件中重复出现的行列。

-c在输出的每列前边显示该行重复出现的次数。

-d仅显示重复出现的行列。

-f<栏位>忽略比较指定的栏位。

-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。

-u仅显示出不重复的行列。

-w<字符位置>指定要比较的字符。

ln:创建生成链接文件

语法:ln [-s] [原文件] [目标文件]:创建一个链接文件

当有-s选项时创建一个软连接文件,没有-s时创建一个硬链接文件

软连接可以理解成windows中的快捷方式,软连接有几个特点:

1、所有的软连接文件用ls命令和-l选项时权限都是显示lrwxrwxrwx,即可读可写可执行,因为这个软连接文件的最终权限是由原文件的权限决定的

2.文件大小很小,仅仅只是一个符号链接

3、用ls命令和-l选项时都会显示箭头指向原文件,如/tmp/issue.soft -> /etc/issue。

硬链接的几个特点:

1、相当于拷贝cp -p命令复制文件和属性,但两个文件会同步更新

2、可以通过i节点识别,两个文件对应的i节点相同

3、不能跨分区

4、不能针对目录使用

当删除了原文件时,软连接会提示没有那个文件或目录,硬链接文件不受影响

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。