Linux系统常用命令 二

原文链接:https://blog.csdn.net/sugar_star/article/details/90709992

Linux学习之路——第三章:Linux常用命令(二)文件处理命令

2019年06月02日 08:57:02 阅读数 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文件:
Linux系统常用命令 二
和上一节提到的mkdir创建目录一样,touch同样可以创建名称带空格的文件,而且文件名除了代表根目录的/以外,所有字符基本都可使用:
Linux系统常用命令 二
PS:使用tab键可以自动添补后续内容,比如这里你想要删掉asdg &*&*文件,只需输入 rm -f a,然后按tab键即可。

2.cat命令

cat命令能够显示文件的内容,其选项有:
		-n: 显示行号
  • 1
  • 2

如果我们使用cat命令查看刚创建的chengyuan文件:
Linux系统常用命令 二
可以看到什么显示都没有,因为chengyuan是个空文件。现在使用cat命令查看一个有内容的文件,如etc目录下的issue文件:
Linux系统常用命令 二
这就是issue文件的内容,并且还显示了行号告诉我们该文件一共有3行。
cat命令还可以反向输入,从尾到头显示文件内容,但tac命令就没有-n选项了:Linux系统常用命令 二

3.more命令

cat命令在文件内容非常多的时候不太好使用,因为cat会将文件内容全部显示出来,而这时候more命令就很好用了,more命令能够分页显示文件内容,其可进行操作的有:
	空格/f:		翻页
	Enter:		下一行
	q/Q	:		退出查看
  • 1
  • 2
  • 3
  • 4

现在使用more命令查看etc目录下的services文件:
Linux系统常用命令 二
(#号开头的都是注释)
按下空格/f键:
Linux系统常用命令 二
按下Enter键:
Linux系统常用命令 二
按q或Q退出more命令,回到命令行:
Linux系统常用命令 二

4.less命令

less命令同样是分页显示文件内容的命令,但可执行的操作更多:
	空格/f/Pagedown:	向下翻页
	Pageup:			向上翻页
	Enter/下方向键:		向下换行
	上方向键:           向上换行
	/键:				进入搜索模式
	q/Q:				退出查看
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

同样的,使用less命令查看services文件,输入less /etc/services:Linux系统常用命令 二
翻页换行操作大家自行操作,这里展示less的搜索模式。假如我们要在文件中搜索service,则输入/service,回车:Linux系统常用命令 二
可以看到文件中的service都被反白标示了出来,若不是要找的service,按n查找下一个service。如此时的第一个service是第一行中的service,
Linux系统常用命令 二
而按下n后的service则是第三行中的service。
Linux系统常用命令 二

5.head与tail

(1)head命令

head命令能够显示文件前十行(默认)的内容,其选项有:
	-n:	指定显示行数
  • 1
  • 2

比如显示services文件的前十行:
Linux系统常用命令 二

(2)tail命令

与head命令对应,tail命令能显示文件倒数十行(默认)的内容,其选项有:
	-n:	指定显示行数
	-f:	动态显示文件末尾内容
  • 1
  • 2
  • 3

使用tail命令显示services文件的后十行:
Linux系统常用命令 二
Linux中有一个文件/var/log/message,这是一个日志文件,现在我们使用tail命令动态显示该文件的内容:Linux系统常用命令 二
注意到输入命令后并没有回到命令行,这时候我们使用SecureCRT创建一个新的会话(该步骤和第二章的内容一致):Linux系统常用命令 二
现在除了一个正在运行tail命令的192.168.0.105会话之外,还有一个192.168.0.105(1)会话。显示我们在右侧会话中输入ifconfig eth0:1 192.168.0.104(这条命令会给我们的eth0网卡多绑定一个IP):Linux系统常用命令 二
可以看到在左侧会话中,message文件将这个行为记录了下来。要想退出动态显示,使用快捷键Ctrl+c。
Linux系统常用命令 二
这样就回到了我们的命令行。

6.ln

link,ln命令能对一个文件生成硬/软链接文件。其选项有:
	-s:		生成软连接
  • 1
  • 2

在学习ls命令的时候,使用其-l选项显示文件的详细信息时,有提到一个文件硬链接数,比如我们使用ls查看一下etc目录下issue文件的详细信息:Linux系统常用命令 二
此时issue文件的硬链接数为47,现在我们使用先将issue文件复制到tmp目录下,在tmp这个临时目录下进行操作,使用ln命令对issue文件生成一个硬链接和一个软链接:Linux系统常用命令 二

硬链接issue.hard:

与原文件issue的所有属性(包括修改时间)一样的,就相当于cp -p命令;
除了所有属性都一样以外,硬链接还与原文件保持同步更新,即:原文件内容或属性发生变化,则硬链接发生同样的变化;
硬链接不能跨分区使用,也不能对目录使用。
  • 1
  • 2
  • 3

软连接issue.soft:

和原文件不一样,首先它是个链接而不是文件;
所有人对软链接都有读写执行(rwx)权限,其实软链接就相当于我们windows中的快捷方式,从文件名位置的显示就可以看出:issue.soft -> issue,软链接是指向原文件的,所以每个人对软链接都具有全部权限;
可以跨分区使用,并且能对目录使用。
  • 1
  • 2
  • 3

(1)硬链接同步更新

我们先用cat命令查看issue.hard与issue的内容:
Linux系统常用命令 二
两个文件的内容是一样的,现在输入echo “ni hao” >> /tmp/issue 改变原文件的内容(echo命令以后讲到),再查看两个文件的内容:
Linux系统常用命令 二
注意到硬链接文件中也多了ni hao这个内容。这就是硬链接的同步更新功能。

(2)原文件、硬链接和软链接的识别号

以前我们有提到过每个文件都有一个识别号,现在我们来看看原文件、硬链接和软链接的识别号:Linux系统常用命令 二
可以看到原文件与硬链接的识别号是一样的,而软链接是不一样的。

(3)原文件删除

我们将tmp目录的issue文件删除,看看硬软链接会怎样变化:Linux系统常用命令 二
硬链接文件依然能正常使用,而软链接文件出现红色报错。

(4)跨分区与目录

在安装Linux系统时,我们分了swap、/boot、/home以及/这4个分区。现在我们尝试将tmp目录下issue文件的硬链接创建在/boot分区下:
Linux系统常用命令 二
硬链接会报错,显示无效的跨设备连接,这就是因为硬链接无法跨分区。而软链接就可以。
现在我们在尝试对tmp目录生成硬软链接:
Linux系统常用命令 二
硬链接会报错,而软链接不会。

                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" rel="stylesheet">
                </div>
</article>
上一篇:tmux issue


下一篇:Logstash timezone UTC issue