目录
文件操作常用命令
文件操作命令也是linux系统中常用的命令之一,常见的有touch、cat、stat、more、less、head、tail等!和目录操作命令不同,文件操作命令只能操作文件,不能操作目录,同样,目录操作命令也不能操作文件,本教程以CentOS 7系统环境为例,并结合应用场景为大家清晰明了的介绍目录操作命令的使用方法和实际用途;
一、stat命令
查看文件详细信息,可以看到文件的三个时间,英文原意是display file or file system status,是一个实用的文件操作命令,命令所在路径/usr/bin/stat,是一个所有用户都有权限操作的命令!
【语法格式】
stat [选项] [参数]
应用场景
【1-1】进入到etc目录,查看hosts文件的详细信息
stat /etc/hosts
执行结果
注意事项
使用stat命令除了能显示文件的三个时间外,还能显示文件所在路径、文件块、IO块、文件类型、文件权限、文件i节点号、文件链接等,除此之外stat还能看目录的详细信息;
○最近访问:表示我们最后一次访问(仅仅是访问,没有改动)文件的时间,例如:使用cat查看命令;
○最近更改:表示我们最后一次修改文件数据的时间,例如:使用vi或echo命令修改文件内容;
○最近改动:状态修改时间,我们最后一次对文件属性改变的时间,包括权限,大小,属性等;
○文件创建时间:这里为空,因为Linux系统中是没有文件创建时间的,起码CentOS这个版本没有;
○有关stat命令的操作这里仅是简单介绍,想看更多选项可以输入stat --help或man stat获取帮助;
二、cat命令
查看文件内容,英文原意是concatenate files and print on the standard output,命令所在路径/bin/cat,是一个所有用户都有权限操作的命令!这个命令的主要功能是合并文件并打印输出到标准输出,一个很有意思的命令,可以在不编辑文件的情况下查看文件内容,但是请注意,这个命令仅是查看文件内容,不能查看目录内容;
【语法格式】
cat [选项] [参数]
功能描述(仅介绍最常用的选项,如需查看帮助文档可输入cat --help或者man cat)
选项(注意大小写) | 作用 |
-A | 相当于-vET选项的整合,用于列出所有隐藏符号 |
-E | 列出每行结尾的回车符$ |
-n | 显示行号 |
-T | 把Tab键用^显示出来 |
-v | 列出特殊字符 |
应用场景
【1-1】以hosts文件为例,查看其文件内容!
cat /etc/hosts
执行结果
[root@localhost etc]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |
【1-2】查看hosts文件内容,并显示内容的行号!
cat -n /etc/hosts
执行结果
[root@localhost etc]# cat -n /etc/hosts 1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |
【1-3】查看hosts文件内容,并显示内容结尾的回车符$
cat -E /etc/hosts
执行结果
[root@localhost etc]# cat -E /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4$ ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6$ |
注意事项
cat命令非常适合查看小文件内容,但不适合大文件,因为查看大文件由于字符过多,cat命令并没有翻页功能,只能滑动鼠标中键然后上下滚动来查看文件内容,但对于内容较多的文件这个命令操作起来很不方便,另外需要注意的是cat命令只能查看文本文件内容,二进制文件查看后是无法识别的;
三、more命令
分屏显示文件内容,英文原意是files perusal filter for crt viewin,命令所在路径/bin/more,是一个所有用户都有权限操作的命令!这个命令不同于cat命令的主要功能是分屏显示文件内容,适合参看大文件内容;
【语法格式】
more [选项] [参数]
应用场景
【1-1】找个内容较多的文件,以boot.log文件为例,进入到/var/log/目录
cd /var/log/
more boot.log
执行结果
[root@localhost /]# cd /var/log/ [root@localhost log]# more boot.log |
可以看到文件显示了29%的内容,也就是说使用了more命令后,这个文件的内容被分成了四页,当然这个每页显示29%的内容是由屏幕高度决定的,不是固定的,你们也可以看下自己的屏幕显示了多少,然后按空格键检查一下一共分了多少页;
注意事项
○more命令比较简单,基本用不到什么选项,如需查看more更多选项可以输入stat --help或man stat获取帮助;
○使用more命令时会打开一个交互页面,可以识别一些常用交互命令,常用的命令有:
□空格键:在交互页面使用空格键可以向下翻页;
□回车键: 在交互页面使用回车键键可以向下滚动一行;
□小写字母b键: 在交互页面使用小写字母b键可以向上翻页;
□小写字母q键: 在交互页面输入q键可以退出交互模式;
四、less命令
分行显示文件内容,英文原意是opposite of more,命令所在路径/usr/bin/more,是一个所有用户都有权限操作的命令!这个命令和more相似,唯一不同的是more是分屏显示文件内容,而less是分行显示文件内容,另外less还有一个检索功能是more没有的,例如检索某文件是否包含user字符可以在less命令模式下输入:/user
【语法格式】
less [选项] [参数]
应用场景
【1-1】还是以boot.log文件为例,进入到/var/log/目录
cd /var/log/
less boot.log
执行结果
[root@localhost /]# cd /var/log/ [root@localhost log]# less boot.log |
注意事项
这个命令用起来感觉比more更灵活,可以用键盘的上下键滚动文件内容页面,如需翻页也可以按下键盘的空格键,需要退出交互页面的输入q键即可退出,如需查看more更多选项可以输入less --help或man less获取帮助;
五、head命令
显示文件头命令,默认显示10行,命令所在路径/usr/bin/head,是一个所有用户都有权限操作的命令!
【语法格式】
head [选项] [参数]
功能描述(仅介绍最常用的选项,如需查看帮助文档可输入head --help或者man head)
选项(注意大小写) | 作用 |
-n | 从文件头开始显示指定行数 |
应用场景
还是以boot.log文件为例,进入到/var/log/目录
cd /var/log/
head boot.log
执行结果
[root@localhost /]# cd /var/log/ [root@localhost log]# head boot.log |
通过上图可以看出,head命令默认显示文件10行内容,如需显示更多可以加-n然后指定数目,例如:显示头15行的内容可以输入head -n 15 boot.log或者head -15 boot.log
六、tail命令
显示文件尾命令,默认显示10行,命令所在路径/usr/bin/tail,是一个所有用户都有权限操作的命令!
【语法格式】
tail [选项] 参数]
功能描述(仅介绍最常用的选项,如需查看帮助文档可输入tail --help或者man tail)
选项(注意大小写) | 作用 |
-n | 从文件头开始显示指定行数 |
-f | 监听文件新增内容 |
应用场景
【1-1】以boot.log文件为例,进入到/var/log/目录
cd /var/log/
tail boot.log
执行结果
[root@localhost /]# cd /var/log/ [root@localhost log]# tail boot.log |
通过上图可以看出,tail命令默认显示10行内容,和head不同的是tail显示的是文件尾的10行内容,而head是显示文件头的10行内容,如需显示更多可以加-n然后指定数目;
【1-2】监听文件新增内容可以加-f选项,此命令日常中基本不用,知道即可,首先我们对比一下tail boot.log和tail –f boot.log之间有啥不同;
tail boot.log
tail -f boot.log
注意事项
通过上图我们可以清楚看到,使用-f选项的tail是停留在交互页面的,有个黄色的光标在那,是无法正常退出的,需要按Ctrl+C强制退出, 加-f的作用就是当有其他人在编辑这个文件时,他输入的内容会被监听到你现在打开的页面上;
注意:这里仅是让大家知道tail加-f的作用,如果你们需要测试,可以自己新建一个文件来测试,不要用boot.log文件做测试;因为boot.log文件是系统引导的日志文件,这个文件但尽量不要去改动和编辑它,以免系统启动报错;
七、touch命令
创建空文件或修改文件时间,简写touch,英文原意是change file timestamps,是我们最常用的文件操作命令之一,主要的功能是修改文件的时间戳,命令所在路径/bin/touch,是一个所有用户都有权限操作的命令!
【语法格式】
touch [选项] [参数]
应用场景
【1-1】进入到家目录下,建立一个abc文件;
cd ~
touch abc
执行结果
[root@localhost ~]# cd ~ [root@localhost ~]# touch abc |
输入stat abc 查看文件详细信息
注意事项
□使用touch命令可以创建文件,创建文件时也可以为文件指定扩展名,例如abc.txt、abc.html、abc.sh等,如需一次创建多个文件,文件与文件间加空格,例如:touch abc.txt abc.html abc.sh;
□注意:touch不仅可以创建文件,还可以修改文件时间,当你输入touch abc的时候,如果这个文件不存在,它将自动创建这个文件,如果存在则不会创建,仅是修改了文件时间而已;
【1-2】再次输入touch abc
可以看到并不会创建和修改abc文件的内容,仅是更新了文件时间而已!