系统文件目录结构、文件类型、ls和alias命令解析

↘锁芯ラ 提交于 2020-02-29 17:52:00

本文索引:

  • 目录结构
    • tree命令
    • 显示目录结构
    • 目录说明
  • ls命令
  • 文件类型
    • 权限
    • 链接数
  • alias命令
    • 查看别名
    • 创建别名
    • 删除别名

目录结构

tree命令

以树形显示目录及文件的结构

安装:yum install -y tree
指定层数: tree -L 2 /
更多用法: man tree

显示目录结构

[root@localhost ~]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var

19 directories, 0 files

目录说明:

目录 说明
/bin 常用命令存放目录,如/bin/ls
/boot 系统启动核心文件存放目录
/dev 系统的外部设备文件存放目录
/etc 系统配置文件相关存放目录,如网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33
/home 非root用户家目录
/lib /lib64
/media u盘、光驱的默认挂载目录
/mnt 临时挂载其他文件系统的目录
/opt 额外软件安装目录
/proc 虚拟目录,系统内存的映射;通过访问其内文件获取系统信息
/root root用户家目录
/run 系统当前运行进程的pid文件
/sbin 超级用户命令目录
/srv 服务启动时需要获取的数据信息
/sys 存放硬件驱动程序相关的信息
/tmp 临时文件存放目录
/usr 系统程序和文件存放的目录
/var 存放内容不断变化的文件如日志文件、pid文件

关于/bin和/sbin目录的说明:

[root@localhost ~]# ls -ld /bin /sbin
lrwxrwxrwx. 1 root root 7 10月 18 02:24 /bin -> usr/bin
lrwxrwxrwx. 1 root root 8 10月 18 02:24 /sbin -> usr/sbin

可以看出,/bin和/sbin目录都是/usr目录内同名目录的软链接

ls命令

ls命令 列出文件和目录的详细信息(权限、大小、创建修改时间等)

  • -l 单行显示每个文件目录信息
  • -a 显示所有文件、目录(包括隐藏文件目录)
  • -i 显示文件的inode号
  • -h 配合-l时人性化显示文件大小(单位K/M/G)
  • -t 按文件修改时间的新旧排序
  • -d 显示目录的详细信息(只在查看目录信息时使用)

可以多个参数一起使用,例如 -lh 、-lt

几个常用的例子:

# 查看/root目录下所有文件
[root@localhost ~]# ls -alh /root
总用量 28K
dr-xr-x---.  3 root root  147 10月 18 20:06 .
dr-xr-xr-x. 17 root root  245 10月 18 19:51 ..
-rw-------.  1 root root 1.4K 10月 18 02:47 anaconda-ks.cfg
-rw-------.  1 root root  768 10月 17 22:20 .bash_history
-rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout
-rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile
-rw-r--r--.  1 root root  176 12月 29 2013 .bashrc
-rw-r--r--.  1 root root  100 12月 29 2013 .cshrc
drwx------.  2 root root   38 10月 18 20:06 .ssh
-rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc


# 查看/root目录的详细信息,大小单位自动转换
[root@localhost ~]# ls -lhd /root/
dr-xr-x---. 3 root root 147 10月 18 20:06 /root/

# 查看/root目录下各文件的inode号等详细信息
[root@localhost ~]# ls -ali /root/
总用量 28
33574977 dr-xr-x---.  3 root root  147 10月 18 20:06 .
      64 dr-xr-xr-x. 17 root root  245 10月 18 19:51 ..
33574987 -rw-------.  1 root root 1422 10月 18 02:47 anaconda-ks.cfg
33574979 -rw-------.  1 root root  768 10月 17 22:20 .bash_history
33975623 -rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout
33975624 -rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile
33975625 -rw-r--r--.  1 root root  176 12月 29 2013 .bashrc
33975626 -rw-r--r--.  1 root root  100 12月 29 2013 .cshrc
50679988 drwx------.  2 root root   38 10月 18 20:06 .ssh
33975627 -rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc

文件类型

[root@centos7 ~]# ls -l /root/
总用量 4
-rw-------. 1 root root 1422 8月  31 05:34 anaconda-ks.cfg

ls列出的文件信息的具体含义依次为

权限 链接数 所属主 所属组 大小 修改时间 文件名
-rw-------. 1 root root 1422 8月 31 05:34 anaconda-ks.cfg

权限

权限的第一位表示文件或目录的类型

  • d 目录
  • - 普通文件、二进制文件
  • l 软链接文件
  • b 块文件(磁盘分区文件)
  • c 字符设备(鼠标、键盘等)
  • s 套接字文件(进行进程间的通信)

权限第2-10位,每3位为一组,分别表示:

  • 所属主(rw-)
  • 所属组(---)
  • 其他用户的读写、执行权限(---)

最后极易忽略的这个点( . ),表示文件应用了selinux策略

链接数

  • 对于文件,表示指向同一个内存的文件的多少
  • 对于目录,表示该引用目录所在内存的目录个数,例如下所示:
[root@centos7 ~]# ls -ild . /root/ /root/.ssh/..
16797761 dr-xr-x---. 3 root root 173 9月  20 22:26 .
16797761 dr-xr-x---. 3 root root 173 9月  20 22:26 /root/
16797761 dr-xr-x---. 3 root root 173 9月  20 22:26 /root/.ssh/..

alias命令

使用alias给命令创建别名代替长长的一串命令,更方便输入,提高效率!

查看别名

[root@centos7 ~]# ls -l /root/
总用量 4
-rw-------. 1 root root 1422 8月  31 05:34 anaconda-ks.cfg
[root@centos7 ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls

alias 查看系统内已有别名的目录,也可以创建新的别名,使用unalias命令取消别名。

# 查看别名
[root@centos7 ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

创建别名

# alias lt='ls -lt'

取消别名

# unalias lt
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!