1.ls命令

ls是最常见的目录操作命令,主要作用是显示目录下的内容。
这个命令的基本信息如下:
●命令名称:ls
●英文原意:list
●所在路径:/bin/ls
●执行权限:所有用户
●功能描述:显示目录下的内容

1.1命令格式

  1. [root@localhost ~]#ls [选项] [文件名或目录名]
  2. 选项:
  3. -a 显示所有文件(隐藏文件)
  4. -d 显示目录信息,而不是目录下的文件
  5. -h 人性化显示,按我们习惯的单位显示文件大小
  6. -i 显示文件的i节点号
  7. -l 长格式显示

注意:选项可以组合使用,例如:ls -la #长格式显示所有文件

学习命令,主要学习的是命令选项,但是每个命令的选项非常多,比如ls命令就支持五六十个选项,我们不可能讲解每个选项,也没必要讲解每个选项,可以满足我们日常操作使用即可。

1.2ls -a 隐藏文件

在Linux中以“.”开头的文件是隐藏文件,只有通过“-a”选项才能查看。
说到隐藏文件的查看方式,有人会问:“为什么在Linux中查看隐藏文件这么简单?这样的话隐藏文件还有什么意义?”其实,这些人理解错了隐藏文件的含义。
隐藏文件不是为了把文件藏起来不让其他用户找到,而是为了告诉用户这些文件都是重要的系统文件,如非必要,不要乱动!
所以,不论是Linux还是Windows都可以非常简单地查看隐藏文件,只是在Windows中绝大多数的病毒和木马都会把自己变成隐藏文件,给用户带来了错觉,以为隐藏文件是为了不让用户发现。

1.3ls -l 长格式信息含义

现在我们知道,-l选项是显示文件的详细信息。
那么我们如何去理解这些信息呢?
捕获.PNG
这些详细信息一共分为7列。
●第一列:权限。具体权限的含义将在后面讲解。
●第二列:引用计数。文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
●第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户
●第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
●第五列:大小。默认单位是字节。
●第六列:文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
●第七列:文件名。

1.4ls -d 显示目录信息

捕获.PNG

1.5ls -h 人性化显示文件大小

在默认情况下,ls -l输出的文件大小,单位是字节,这很难阅读,我们需要用到-h选项,使之转化为KB或者MB来显示。
捕获.PNG

1.6ls -i inode(i节点)

每个文件都有一个被称作inode(i节点)的隐藏属性,可以看成系统搜索这个文件的ID,而“-i”选项就是用来查看文件的inode号的
例如:
捕获.PNG
从理论上来说,每个文件的inode号都是不一样的,当然也有例外(如硬链接),这些例外情况,会在链接中讲到。

2.cd命令

cd是切换所在目录的命令,这个命令的基本信息如下。
●命令名称:cd
●英文原意:change directory
●所在路径:Shell内置命令
●执行权限:所有用户
●功能描述:切换所在目录
Linux的命令按照来源方式分为两种:Shell内置命令和外部命令。所谓Shell内置命令,就是Shell自带的命令,这些命令是没有执行文件的;而外部命令就是由程序员单独开发的,是外来命令,所以会有命令的执行文件。Linux中的绝大多数命令是外部命令,而cd命令是一个典型的Shell内置命令,所以cd命令没有执行文件所在路径。

2.1命令格式

  1. [root@localhost ~]#cd [目录名]

cd命令是一个非常简单的命令,仅有的两个选项-P和-L的作用非常有限,很少使用。-P (大写)是指如果切换的目录是软链接目录,则进入其原始的物理目录,而不是进入软链接目录;-L(大写)是指如果切换的目录是软链接目录,则直接进入软链接目录。

cd命令切换目录只需在命令后加目录名称即可。
例如:
进入/home/stx/目录,pwd命令查看

  1. [root@localhost ~]#cd /home/stx/

捕获.PNG

简化用法:

cd命令可以识别一些特殊符号,用于快速切换所在目录。

特殊符号 作用
~ 代表用户家目录
- 代表上次所在目录
. 代表当前目录
.. 达标上级目录
  1. #cd 回到家目录
  2. #cd ~ 回到家目录
  3. #cd - 回到上次所在目录
  4. #cd . 进入当前目录(不会有任何变化)
  5. #cd .. 回到上级目录

2.2绝对路径和相对路径

cd命令本身并不难,而且既支持绝对路径,又支持相对路径。
例如:
要打开/home/stx(绝对路径)

  1. # cd /home/stx/ 绝对路径

但是有时候,我们已经在home目录下了,就不需要再输一遍home
直接接着自己所在的目录往后面输入相对路径即可

  1. # cd stx/

3.mkdir命令

mkdir是创建目录的命令,其基本信息如下。
●命令名称:mkdir
●英文原意:make directories
●所在路径:/bin/mkdir
●执行权限:所有用户
●功能描述:创建空目录。

3.1命令格式

  1. mkdir [选项] 目录名

mkdir也是一个非常简单的命令,其主要作用就是新建空目录。

3.2建立一个空目录

捕获.PNG

3.3递归建立(-p)

mkdir只能在已有目录下,建立一个或多个新目录,而不能实现跨越层级的建立
-p选项可以用于建立一连串空目录
捕获.PNG
tree是一个好用的,把文件树状显示的工具。

4.rmdir命令

既然有建立目录的命令,就一定会有删除目录的命令rmdir,其基本信息如下。
●命令名称:rmdir
●英文原意:remove empty directories
●所在路径:/bin/rmdir
●执行权限:所有用户
●功能描述:删除空目录。

4.1命令格式

  1. [root@localhost ~]# rmdir [选项] 目录名

rmdir的命令和mkdir是相对应的,用法基本一致。
我现在删除刚刚建立的/dir1/dir2/dir3
捕获.PNG
但rmdir命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错。
这个命令比较“笨”,所以我们不太常用。后续我们不论删除的是文件还是目录,都会使用rm命令.

5.tree命令

tree命令以树形结构显示目录下的文件,其基本信息如下:
●命令名称:tree
●英文原意:list contents of directories in a tree-like format
●所在路径:/usr/bin/tree
●执行权限:所有用户
●功能描述:显示目录树

tree命令非常简单,用法也比较单一,就是显示目录树,上面我们也已经使用到过。