Linux学习之路——第三章:Linux常用命令(二)文件处理命令
2019年06月02日 08:57:02 sugar少校 阅读数 23更多 分类专栏: 学习笔记Linux学习之路——目录
https://blog.csdn.net/sugar_star/article/details/91350251
上节内容:ls、cd、pwd、mkdir、rmdir、cp、mv、rm
本节内容:touch、cat、more、less、head、tail、ln
二、文件处理命令
1.touch命令
touch命令能够创建一个空文件供使用者修改。
- 1
在tmp目录下创建一个chengyuan文件:
和上一节提到的mkdir创建目录一样,touch同样可以创建名称带空格的文件,而且文件名除了代表根目录的/以外,所有字符基本都可使用:
PS:使用tab键可以自动添补后续内容,比如这里你想要删掉asdg &*&*文件,只需输入 rm -f a,然后按tab键即可。
2.cat命令
cat命令能够显示文件的内容,其选项有:
-n: 显示行号
- 1
- 2
如果我们使用cat命令查看刚创建的chengyuan文件:
可以看到什么显示都没有,因为chengyuan是个空文件。现在使用cat命令查看一个有内容的文件,如etc目录下的issue文件:
这就是issue文件的内容,并且还显示了行号告诉我们该文件一共有3行。
cat命令还可以反向输入,从尾到头显示文件内容,但tac命令就没有-n选项了:
3.more命令
cat命令在文件内容非常多的时候不太好使用,因为cat会将文件内容全部显示出来,而这时候more命令就很好用了,more命令能够分页显示文件内容,其可进行操作的有:
空格/f: 翻页
Enter: 下一行
q/Q : 退出查看
- 1
- 2
- 3
- 4
现在使用more命令查看etc目录下的services文件:
(#号开头的都是注释)
按下空格/f键:
按下Enter键:
按q或Q退出more命令,回到命令行:
4.less命令
less命令同样是分页显示文件内容的命令,但可执行的操作更多:
空格/f/Pagedown: 向下翻页
Pageup: 向上翻页
Enter/下方向键: 向下换行
上方向键: 向上换行
/键: 进入搜索模式
q/Q: 退出查看
- 1
- 2
- 3
- 4
- 5
- 6
- 7
同样的,使用less命令查看services文件,输入less /etc/services:
翻页换行操作大家自行操作,这里展示less的搜索模式。假如我们要在文件中搜索service,则输入/service,回车:
可以看到文件中的service都被反白标示了出来,若不是要找的service,按n查找下一个service。如此时的第一个service是第一行中的service,
而按下n后的service则是第三行中的service。
5.head与tail
(1)head命令
head命令能够显示文件前十行(默认)的内容,其选项有:
-n: 指定显示行数
- 1
- 2
比如显示services文件的前十行:
(2)tail命令
与head命令对应,tail命令能显示文件倒数十行(默认)的内容,其选项有:
-n: 指定显示行数
-f: 动态显示文件末尾内容
- 1
- 2
- 3
使用tail命令显示services文件的后十行:
Linux中有一个文件/var/log/message,这是一个日志文件,现在我们使用tail命令动态显示该文件的内容:
注意到输入命令后并没有回到命令行,这时候我们使用SecureCRT创建一个新的会话(该步骤和第二章的内容一致):
现在除了一个正在运行tail命令的192.168.0.105会话之外,还有一个192.168.0.105(1)会话。显示我们在右侧会话中输入ifconfig eth0:1 192.168.0.104(这条命令会给我们的eth0网卡多绑定一个IP):
可以看到在左侧会话中,message文件将这个行为记录了下来。要想退出动态显示,使用快捷键Ctrl+c。
这样就回到了我们的命令行。
6.ln
link,ln命令能对一个文件生成硬/软链接文件。其选项有:
-s: 生成软连接
- 1
- 2
在学习ls命令的时候,使用其-l选项显示文件的详细信息时,有提到一个文件硬链接数,比如我们使用ls查看一下etc目录下issue文件的详细信息:
此时issue文件的硬链接数为47,现在我们使用先将issue文件复制到tmp目录下,在tmp这个临时目录下进行操作,使用ln命令对issue文件生成一个硬链接和一个软链接:
硬链接issue.hard:
与原文件issue的所有属性(包括修改时间)一样的,就相当于cp -p命令;
除了所有属性都一样以外,硬链接还与原文件保持同步更新,即:原文件内容或属性发生变化,则硬链接发生同样的变化;
硬链接不能跨分区使用,也不能对目录使用。
- 1
- 2
- 3
软连接issue.soft:
和原文件不一样,首先它是个链接而不是文件;
所有人对软链接都有读写执行(rwx)权限,其实软链接就相当于我们windows中的快捷方式,从文件名位置的显示就可以看出:issue.soft -> issue,软链接是指向原文件的,所以每个人对软链接都具有全部权限;
可以跨分区使用,并且能对目录使用。
- 1
- 2
- 3
(1)硬链接同步更新
我们先用cat命令查看issue.hard与issue的内容:
两个文件的内容是一样的,现在输入echo “ni hao” >> /tmp/issue 改变原文件的内容(echo命令以后讲到),再查看两个文件的内容:
注意到硬链接文件中也多了ni hao这个内容。这就是硬链接的同步更新功能。
(2)原文件、硬链接和软链接的识别号
以前我们有提到过每个文件都有一个识别号,现在我们来看看原文件、硬链接和软链接的识别号:
可以看到原文件与硬链接的识别号是一样的,而软链接是不一样的。
(3)原文件删除
我们将tmp目录的issue文件删除,看看硬软链接会怎样变化:
硬链接文件依然能正常使用,而软链接文件出现红色报错。
(4)跨分区与目录
在安装Linux系统时,我们分了swap、/boot、/home以及/这4个分区。现在我们尝试将tmp目录下issue文件的硬链接创建在/boot分区下:
硬链接会报错,显示无效的跨设备连接,这就是因为硬链接无法跨分区。而软链接就可以。
现在我们在尝试对tmp目录生成硬软链接:
硬链接会报错,而软链接不会。
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" rel="stylesheet">
</div>
</article>