系統文件目錄結構、文件類型、ls和alias命令解析

本文索引:node

  • 目錄結構
    • tree命令
    • 顯示目錄結構
    • 目錄說明
  • ls命令
  • 文件類型
    • 權限
    • 連接數
  • alias命令
    • 查看別名
    • 建立別名
    • 刪除別名

目錄結構

tree命令

以樹形顯示目錄及文件的結構linux

安裝: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目錄的說明:centos

[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命令 列出文件和目錄的詳細信息(權限、大小、建立修改時間等)bash

  • -l 單行顯示每一個文件目錄信息
  • -a 顯示全部文件、目錄(包括隱藏文件目錄)
  • -i 顯示文件的inode號
  • -h 配合-l時人性化顯示文件大小(單位K/M/G)
  • -t 按文件修改時間的新舊排序
  • -d 顯示目錄的詳細信息(只在查看目錄信息時使用)

能夠多個參數一塊兒使用,例如 -lh 、-ltssh

幾個經常使用的例子:centos7

# 查看/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

權限

權限的第一位表示文件或目錄的類型code

  • 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
相關文章
相關標籤/搜索