Linux笔记03: Linux常用命令_3.2目录操作命令

3.2 目录操作命令

3.2.1 ls命令

●命令名称:ls。

●英文原意:list

directory contents。

●所在路径:/usr/bin/ls。

●执行权限:所有用户。

●功能描述:列出目录内容。

(1)命令格式

    [root@localhost ~]# ls [选项] [文件名或目录名]

    选项:

        -a:             显示所有文件

        --color=when:   支持颜色输出,when的值默认是always(总显示颜色),也可以是

                        never(从不显示颜色)和auto(自动)

        -d:            显示目录信息,而不是目录下的文件

        -h:            人性化显示,按照我们习惯的单位显示文件大小

        -i:            显示文件的i节点号

        -l:            长格式显示

(2)常见用法

①“-a”选项中的a是all的意思,也就是显示所有文件(包括隐藏文件)。例如:

[root@localhost ~]# ls -a

.  anaconda-ks.cfg .bash_profile  .cache   .cshrc initial-setup-ks.cfg  .xauthzjMlTg

.. .bash_logout     .bashrc        .config .dbus   .tcshrc

列出了以“.”开头的隐藏文件。

隐藏文件不是为了把文件藏起来不让其他用户找到,而是为了告诉用户这些文件都是重要的系统文件,如非必要,不要乱动!所以,不论是Linux还是Windows都可以非常简单地查看隐藏文件。

②“-d”选项显示目录本身的信息,例如:

[root@localhost ~]# ls -ld /root

dr-xr-x---. 5 root root 204 Nov 27 09:09/root

③“-h”选项按照人们习惯的单位显示文件大小,例如:

[root@localhost ~]# ls -lh

total 8.0K

-rw-------. 1 root root 1.7K Nov 27  2022 anaconda-ks.cfg

-rw-r--r--. 1 root root 1.7K Nov 27  2022 initial-setup-ks.cfg

④“-i”选项用来查看文件的inode号,例如:

[root@localhost ~]# ls -i

16797762 anaconda-ks.cfg  16797786 initial-setup-ks.cfg

每个文件都有一个被称作inode(i节点)的隐藏属性,可以看成系统搜索这个文件的ID。

⑤“-l”选项用于显示文件的详细信息,例如:

[root@localhost ~]# ls -l

total 8

-rw-------. 1 root root 1649 Nov 27  2022 anaconda-ks.cfg

-rw-r--r--. 1 root root 1677 Nov 27  2022 initial-setup-ks.cfg

“-l”选项显示的7列,含义分别是:

●第一列:权限。

●第二列:引用计数。文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。

●第三列:所有者。也就是这个文件属于哪个用户,默认所有者是文件的建立用户。

●第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。

●第五列:大小。默认单位是字节。

●第六列:文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。

●第七列:文件名。


3.2.2 cd命令

●命令名称:cd。

●英文原意:change directory。

●所在路径:/usr/bin/cd(Shell内置命令)。

●执行权限:所有用户。

●功能描述:切换所在目录。

Linux的命令按照来源方式分为两种:Shell内置命令和外部命令。

所谓Shell内置命令,就是Shell自带的命令,这些命令是没有执行文件的;而外部命令就是由程序员单独开发的,是外来命令,所以会有命令的执行文件。

[root@localhost~]# cat /usr/bin/cd

#!/bin/sh

builtin cd"$@"

Linux中的绝大多数命令是外部命令,而cd命令是一个典型的Shell内置命令。

(1)命令格式

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

    选项:

        -P:(大写)如果切换的目录是软链接目录,则进入其原始的物理目录,而不是进入软链接目录;

        -L:如果切换的目录是软链接目录,则直接进入软链接目录。


(2)常见用法

①基本用法:只需在cd命令后加目录名即可。例如:

    [root@localhost ~]# cd /usr/local/src/

    [root@localhost src]#

②简化用法:cd命令可以识别一些特殊符号,用于快速切换所在目录,这些符号如下表所示。

特殊符号含义

~用户的家目录

-上次所在目录

.当前目录

..上级目录


3.2.3 mkdir命令

●命令名称:mkdir。

●英文原意:make directories。

●所在路径:/usr/bin/mkdir。

●执行权限:所有用户。

●功能描述:创建空目录。

(1)命令格式

    [root@localhost ~]# mkdir [选项] 目录名

    选项:

        -p:递归创建目录


(2)常见用法

①创建目录

    [root@localhost ~]# mkdir Layton

[root@localhost ~]# ls

anaconda-ks.cfg  initial-setup-ks.cfg  Layton

②递归创建目录

    [root@localhost ~]# mkdir -p LaytonWang/Movies/Disney

    [root@localhost ~]# cd LaytonWang/

[root@localhost LaytonWang]# ls

Movies

递归创建多级空目录,需要使用“-p”选项。


3.2.4 rmdir命令

●命令名称:rmdir。

●英文原意:remove empty directories。

●所在路径:/usr/bin/rmdir。

●执行权限:所有用户。

●功能描述:删除空目录。

(1)命令格式

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

    选项:

        -p:递归删除目录


(2)常见用法

①删除目录

    [root@localhost ~]# rmdir Layton

rmdir命令只能删除空目录,一旦删除的目录中有内容,就会报错。例如:

[root@localhost ~]# rmdir LaytonWang

rmdir: failed to remove ‘LaytonWang/’:Directory not empty

②递归删除目录

    [root@localhost ~]# rmdir -p LaytonWang/Movies/Disney

递归删除多级空目录,需要使用“-p”选项。


3.2.5 tree命令

●命令名称:tree。

●英文原意:list contents of directories in a tree-like format。

●所在路径:/usr/bin/tree。

●执行权限:所有用户。

●功能描述:显示目录树。

(1)安装tree

如果系统没有tree命令,需要联网并使用“yum

-y install tree”命令安装tree。VMware下CentOS连接网络请参考“2.3 Linux网络连接”章节。

[root@localhost ~]# yum -y install tree

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 *base: mirrors.ustc.edu.cn

 *extras: mirrors.ustc.edu.cn

 *updates: mirrors.aliyun.com

base                                                       |3.6 kB  00:00:00    

extras                                                    | 2.9 kB  00:00:00    

updates                                                   | 2.9 kB  00:00:00    

updates/7/x86_64/primary_db                                |  18 MB 00:00:02    

省略部分内容……

Complete!


(2)常见用法

①显示当前目录树

[root@localhost ~]# tree

.

├──anaconda-ks.cfg

├──initial-setup-ks.cfg

└──LaytonWang

    └──Movies

       └──Disney


3 directories, 2 files

②显示指定目录树

[root@localhost ~]# tree LaytonWang/

LaytonWang/

└──Movies

    └──Disney


2 directories, 0 files


小结:

本节介绍目录操作相关命令。ls命令列出目录内容,“-l”选项显示文件的详细信息;cd命令切换所在目录,特殊符号“~”切换到用户家目录、“..”切换到上级目录;mkdir命令创建空目录,“-p”选项递归创建多级空目录;rmdir命令删除空目录,“-p”选项递归删除多级空目录;tree命令显示目录树,如果系统没有tree命令,需要联网并使用“yum -y install tree”命令安装tree。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容