常见目录名称
目录 | 用途 |
---|---|
/ | 虚拟目录的根目录,通常不会在这里存储文件 |
/bin | 二进制目录,存放许多用户级的 GNU 工具 |
/boot | 启动目录,存放启动文件 |
/dev | 设备目录,LInux 在这里创建设备节点 |
/etc | 系统配置文件目录 |
/home | 主目录,Linux 在这里创建用户目录 |
/lib | 库目录,存放系统和应用程序的库文件 |
/media | 媒体目录,可移动媒体设备的常用挂载点 |
/mnt | 挂载目录,另一个可移动媒体设备的常用挂载点 |
/opt | 可选目录,常用于存放第三方软件包和数据文件 |
/proc | 进程目录,存放现有硬件及当前进程的相关信息 |
/root | root 用户的主目录 |
/sbin | 系统二进制目录,存放许多 GNU 管理员工具 |
/run | 运行目录,存放系统运作时的运行时数据 |
/srv | 服务目录,存放本地服务的相关文件 |
/sys | 系统目录,存放系统硬件信息的相关文件 |
/tmp | 临时目录,可以在该目录中创建和删除临时工作文件 |
/usr | 用户二进制目录,大量用户级的 GNU 工具和数据文件都存储在这里 |
/var | 可变目录,用以存放经常变化的文件,比如日志文件 |
常见的目录名均基于文件系统层级标准(filesystem hierarchy standard, FHS)。很多 Linux 发行版本都遵循了 FHS。
目录遍历
cd destination
cd 命令可以接受单个参数 destination,用以指定想切换到的目录名。如果没有为 cd 命令指定路径,它将切换到用户主目录。
destionation 参数可以用两种方式表示:
- 绝对路径,以正斜杠
/
开始。 - 相对路径,不以正斜杠
/
开始。- 单点符
.
表示当前目录。 - 双点符
..
表示当前目录的父目录。
- 单点符
pwd
显示 shell 会话的当前目录。
目录列表
ls
显示当前目录下的文件和目录。
$ ls
bin boot dev etc home init lib lib64 media mnt opt proc root run sbin snap srv sys tmp usr var
ls 命令输出的列表是按字母排序的(按列排序而不是按行排序)。对于彩色终端仿真器,ls 命令还可以用不同的颜色来区分不同类型的文件。LS_COLORS
环境变量控制着这个功能。
显式区分文件和目录
-F
$ ls -F
bin/ boot/ dev/ etc/ home/ init* lib/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ snap/ srv/ sys/ tmp/ usr/ var/
目录后面都追加了正斜杠 /
以便轻松识别。同样 init
文件后面多出了星号 *
,方便用户找出可在系统上运行的文件。
显示隐藏文件
-a
$ ls -a
. .. .bash_logout .bashrc .dotnet .profile .sudo_as_admin_successful .wget-hsts packages-microsoft-prod.deb
所有以点号 .
开头的文件都显示出来了。
递归列出当前目录及其子目录中的文件
-R
$ ls -F -R
.:
optimizationdata/
./optimizationdata:
2.1.400/
./optimizationdata/2.1.400:
ubuntu.18.04-x64/
./optimizationdata/2.1.400/ubuntu.18.04-x64:
dotnet
显示长列表
-l
$ ls -l
total 88
drwxr-xr-x 1 root root 512 Aug 18 19:13 bin
drwxr-xr-x 1 root root 512 Jul 25 23:56 boot
drwxr-xr-x 1 root root 512 Aug 18 19:14 dev
drwxr-xr-x 1 root root 512 Aug 18 20:36 etc
drwxr-xr-x 1 root root 512 Aug 18 19:14 home
-rwxr-xr-x 1 root root 87944 Jan 1 1970 init
drwxr-xr-x 1 root root 512 Jul 25 23:53 lib
drwxr-xr-x 1 root root 512 Jul 25 23:51 lib64
drwxr-xr-x 1 root root 512 Jul 25 23:50 media
drwxr-xr-x 1 root root 512 Aug 18 19:13 mnt
drwxr-xr-x 1 root root 512 Jul 25 23:50 opt
dr-xr-xr-x 9 root root 0 Aug 18 19:14 proc
drwx------ 1 root root 512 Jul 25 23:54 root
drwxr-xr-x 1 root root 512 Aug 18 20:22 run
drwxr-xr-x 1 root root 512 Jul 25 23:54 sbin
drwxr-xr-x 1 root root 512 Jul 19 18:05 snap
drwxr-xr-x 1 root root 512 Jul 25 23:50 srv
dr-xr-xr-x 12 root root 0 Aug 18 19:14 sys
drwxrwxrwt 1 root root 512 Aug 18 21:15 tmp
drwxr-xr-x 1 root root 512 Jul 25 23:50 usr
drwxr-xr-x 1 root root 512 Jul 25 23:54 var
输出的第一行显示了在目录中包含的总块数,在此之后,每一行都包含了关于文件或目录的下述信息:
- 文件类型,比如,目录(d)、文件(-)、字符型文件(c)或块设备(b)
- 文件的权限
- 文件的硬链接总数
- 文件属主的用户名
- 文件属主的组名
- 文件的大小
- 文件的上次修改时间
- 文件名或目录名
过滤输出列表
需要过滤的文件名称或名称匹配模式
$ ls -l dotnet
-rw-r--r-- 1 levid_gc levid_gc 3580 Aug 18 20:36 dotnet
模糊匹配
- 问号
?
代表一个字符,ls -l dot?et
- 星号
*
代表零个或多个字符,ls -l dot*
- 中括号
[]
代表括号内部匹配,ls -l dot[nm]et
,ls -l dot[a-z]et
,ls -l dot[!n]et