Linux 入门基础——常用命令(二)

1.常用文件处理命令

文件处理命令:touch
  命令所在路径:/bin/touch
  执行权限:所有用户
  语法:touch [文件名]
  功能描述:创建空文件,可以同时创建多个文件,空格隔开。
范例:$ touch /tmp/Japanlovestory.list

文件处理命令:cat
  命令所在路径:/bin/cat
  执行权限:所有用户
  语法:cat [文件名]
  功能描述:显示文件内容,不适合显示内容很多的文件
       -n 显示行号
范例:$ cat /etc/issue
   $ cat -n /etc/services

文件处理命令:tac
  命令所在路径:/usr/bin/tac
  执行权限:所有用户
  语法:tac [文件名]
  功能描述:显示文件内容(反向显示,从文章最后一行开始显示)
范例:$ tac /etc/issue

文件处理命令:more
  命令所在路径:/bin/more
  执行权限:所有用户
  语法:more [文件名]

  1. (空格)或f 翻页
  2. (Enter) 换行
  3.  q或Q 退出
     功能描述:分页显示文件内容,对于文件里面内容很多的可以这样操作。
    范例:$ more /etc/services

文件处理命令:less
  命令所在路径:/usr/bin/less
  执行权限:所有用户
  语法:less [文件名]
  功能描述:分页显示文件内容(可向上翻页)

  1. 向上箭头表示一行一行向上
  2. PageUP或b是翻到上一页
  3. ‘/’ + 你要搜索的关键词,文件中搜索到关键词的就都会被标记。按n,表示next,找到下一个标记。
  4. 其它都与more相同。
    范例:$ less /etc/services

文件处理命令:head
 命令所在路径:/usr/bin/head
 执行权限:所有用户
 语法:head [文件名]
 功能描述:显示文件前面几行
      -n 指定行数,显示前n行。不加n,默认显示前10行
范例:$ head -n 20 /etc/services

文件处理命令:tail
  命令所在路径:/usr/bin/tail
  执行权限:所有用户
  语法:tail [文件名]
  功能描述:显示文件后面几行
      -n 指定行数,显示后n行
      -f 动态显示文件末尾内容,只要文件被改,它就会实时显示信息
范例:$ tail -n 18 /etc/services

2.Linux中的链接文件

链接命令:ln
  命令英文原意:link
  命令所在路径:/bin/ln
  执行权限:所有用户
  语法:ln -s [源文件] [目标文件]
      -s:创建软连接
 功能描述:生成链接文件
范例:$ ln -s /etc/issue /tmp/issue.soft   说明:创建文件/etc/issue的软连接/tmp/issue.soft
   $ ln /etc/issue /tmp/issue.hard   说明:创建文件/etc/issue的硬连接/tmp/issue.hard

  那么,何为软链接和硬链接呢?为什么要有软链接、硬链接?二者的区别是什么?想要知道答案,请往下看~~

软链接文件:类似于Windows桌面的快捷方式(可以这样理解)。我们双击快捷方式之后,系统就会去寻找C盘下面Program Files文件夹中找到原文件,快捷方式只是一个很简单的链接指向,指向原文件。软链接也是如此,打开软链接文件的时候,实际上是打开原文件。想问为什么会需要软链接,就好像问,Windows上为什么需要快捷方式?(没有快捷方式的话,你每次打开软件都要从硬盘里面去一个个找)

[root@bogon ~]$ ln -s /tmp/Japan/a.txt /tmp/China/b.txt   #创建软链接
[root@bogon ~]$ ls -l /tmp/Japan/a.txt      #原文件详细信息
-rw-rw-r--. 1 root root 92 Feb 28 18:35 /tmp/Japan/a.txt
[root@bogon ~]$ ls -l /tmp/China/b.txt		#软链接文件详细信息
lrwxrwxrwx. 1 root root 16 Feb 28 18:33 /tmp/China/b.txt -> /tmp/Japan/a.txt

软链接文件特点

  • 从软链接文件详细信息可以看出,软链接文件都以‘l‘开头(上一篇文章说过,l 表示软链接文件类型)。软连接文件权限都为rwxrwxrwx。所有人对软链接文件都有所有权限。这是因为,不管你如何修改软链接文件,都不会影响到原文件。
  • 软链接文件的大小很小,就像快捷方式一样,它只是一个符号链接,链接到原文件而已。就像上边的例子,原文件是92个字节,软链接文件是16个字节。
  • 软连接文件属性的后面,可以看到,会显示:链接文件->原文件。如:lrwxrwxrwx. 1 root root 16 Feb 28 18:33 /tmp/China/b.txt -> /tmp/Japan/a.txt
  • 软链接可以跨分区,举个简单的例子,就是C盘的文件可以软链接到D盘。
  • 软链接,如果原文件被删除,软链接文件无法被访问。

硬链接文件特点

  • 对于硬链接,你可以理解为命令:cp -p [源文件或目录] [目标目录] 。硬链接文件就是将原文件复制一份(保存文件属性),并且,它与原文件同步更新。也就是说,只要原文件有改动,硬链接文件也会随之改动
[root@bogon ~]$ ln  /tmp/Japan/a.txt /tmp/China/c.txt  #创建硬链接
[root@bogon ~]$ ls -l /tmp/Japan/a.txt   #原文件详细信息
-rw-rw-r--. 2 root root 92 Feb 28 18:35 /tmp/Japan/a.txt
[root@bogon ~]$ ls -l /tmp/China/c.txt    #硬链接文件详细信息
-rw-rw-r--. 2 root root 92 Feb 28 18:35 /tmp/China/c.txt

  • 如上所示,硬链接文件与原文件,除了文件名不一样以外,其他东西都一模一样。

  • 原文件被删除,硬链接文件照样可以正常访问,可以正常使用。

  • 硬链不能针对目录链接,它只能针对文件。

  • 不能跨分区,简单的例子就是,D盘的文件只能硬链接到D盘。

  • 硬链接文件的id号与原文件的id号一样(如下图)。这一点可以解释上边的同步更新原理:因为文件更新是内核方面,根据id号来更新的,因为两个文件id号一样,所以同步更新。

[root@bogon ~]$ ls -i /tmp/Japan/a.txt   #原文件的id号
59317 /tmp/Japan/a.txt
[root@bogon ~]$ ls -i /tmp/China/c.txt   #硬链接文件的id号
59317 /tmp/China/c.txt


3.总结

  文章总结了一些常见的文件管理命令。和昨天写的常用命令(一),都是对文件管理的一些常用命令。比较重要的是链接文件,这个在Linux中还是很重要的。强烈建议初学者,要一点一点的敲代码,将每个命令都要敲两遍。学Linux,命令是最枯燥乏味、但也是最重要的,还是要勤加练习~~
  后面的学习会继续更新,请多多关注~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章