1. 程式人生 > >Centos7下系統目錄結構,ls,alias命令

Centos7下系統目錄結構,ls,alias命令

一、系統目錄結構

1,ls / 檢視根下面的檔案

[[email protected] ~]# ls /
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[[email protected] ~]# 

2,tree: 檢視目錄的樹狀結構。如果沒有tree命令,用yum安裝一下:yum install -y tree

[[email protected] ~]# yum install -y tree
已載入外掛:fastestmirror
base                                                                                  | 3.6 kB  00:00:00     
extras                                                                                | 3.4 kB  00:00:00     
updates                                                                               | 3.4 kB  00:00:00     
(1/4): base/7/x86_64/group_gz                                                         | 156 kB  00:00:01     
(2/4): extras/7/x86_64/primary_db                                                     | 145 kB  00:00:02     
(3/4): base/7/x86_64/primary_db                                                       | 5.7 MB  00:00:28     
(4/4): updates/7/x86_64/primary_db                                                    | 6.0 MB  00:00:28     
Determining fastest mirrors
 * base: ftp.sjtu.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解決依賴關係
--> 正在檢查事務
---> 軟體包 tree.x86_64.0.1.6.0-10.el7 將被 安裝
--> 解決依賴關係完成

依賴關係解決

=============================================================================================================
 Package                架構                     版本                           源                      大小
=============================================================================================================
正在安裝:
 tree                   x86_64                   1.6.0-10.el7                   base                    46 k

事務概要
=============================================================================================================
安裝  1 軟體包

總下載量:46 k
安裝大小:87 k
Downloading packages:
警告:/var/cache/yum/x86_64/7/base/packages/tree-1.6.0-10.el7.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 金鑰 ID f4a80eb5: NOKEY
tree-1.6.0-10.el7.x86_64.rpm 的公鑰尚未安裝
tree-1.6.0-10.el7.x86_64.rpm                                                          |  46 kB  00:00:00     
從 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 檢索金鑰
匯入 GPG key 0xF4A80EB5:
 使用者ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <
[email protected]
>" 指紋 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 軟體包 : centos-release-7-4.1708.el7.centos.x86_64 (@anaconda) 來自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安裝 : tree-1.6.0-10.el7.x86_64 1/1 驗證中 : tree-1.6.0-10.el7.x86_64 1/1 已安裝: tree.x86_64 0:1.6.0-10.el7 完畢! [
[email protected]
~]#
[[email protected] ~]# tree -L 2 /    //指定目錄的最大深度為2
293 directories, 300 files
[[email protected] ~]# tree -L 2 /boot
/boot
├── config-3.10.0-693.el7.x86_64
├── efi
│   └── EFI
├── grub
│   └── splash.xpm.gz
├── grub2
│   ├── device.map
│   ├── fonts
│   ├── grub.cfg
│   ├── grubenv
│   ├── i386-pc
│   └── locale
├── initramfs-0-rescue-6a8f3e2819784e6abddfdb54305b3d98.img
├── initramfs-3.10.0-693.el7.x86_64.img
├── initrd-plymouth.img
├── symvers-3.10.0-693.el7.x86_64.gz
├── System.map-3.10.0-693.el7.x86_64
├── vmlinuz-0-rescue-6a8f3e2819784e6abddfdb54305b3d98
└── vmlinuz-3.10.0-693.el7.x86_64

7 directories, 12 files
  • /bin/ /sbin/ 存放都是我們平常用的命令,如ls,tree,man等,為什麼這些命令可以直接使用,是因為我們有一個環境變數PATH。/sbin/目錄下面一般是root使用者使用的,普通使用者沒有許可權使用,普通使用者用/bin/下面的,root使用者也可以使用。
  • /root/ :root的家目錄,存放一些使用者的配置檔案和東西,比如/root/.ssh/authorized_keys,如果一個普通使用者要存放公鑰,它必須在普通使用者的家目錄下建立一個.ssh/authorized_keys
  • /boot/ :存放系統啟動相關的檔案,比如grub,grub2.裡面都是系統啟動相關檔案,不能刪除。
  • /dev/ :是linux特有的裝置檔案,比如光碟機,硬碟,滑鼠等。
  • /etc/ : 存放系統配置檔案的目錄
  • 這裡是列表文字這裡是列表文字/home/ : 使用者的家目錄。
  • /lib/ /lib64/ : 存放系統庫檔案的目錄,很多命令都是依賴庫檔案,比如ls久以來一些庫檔案,有點像windows裡面的.dll檔案。
  • 使用ldd 可以檢視一個命令依賴那些庫,這裡命令要寫絕對路徑。
  • [[email protected] ~]# ldd /bin/ls
    	linux-vdso.so.1 =>  (0x00007ffeae89b000)
    	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f1bb56e2000)
    	libcap.so.2 => /lib64/libcap.so.2 (0x00007f1bb54dd000)
    	libacl.so.1 => /lib64/libacl.so.1 (0x00007f1bb52d3000)
    	libc.so.6 => /lib64/libc.so.6 (0x00007f1bb4f10000)
    	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f1bb4cae000)
    	libdl.so.2 => /lib64/libdl.so.2 (0x00007f1bb4aa9000)
    	/lib64/ld-linux-x86-64.so.2 (0x0000561605c91000)
    	libattr.so.1 => /lib64/libattr.so.1 (0x00007f1bb48a4000)
    	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1bb4688000)
  • /media/ :媒介目錄,預設為空,插入U盤會自動存放在media目錄下。
  • /mnt/ : 臨時掛載目錄,預設為空,可以將光碟機和硬碟臨時掛在/mnt/下用。
  • /opt/ : 預設為空,會把oracle安裝再這個目錄下。
  • /proc/ : 存放系統啟動的一些程序,它會生成一個pid檔案;如果工作中發現某個程序不太熟悉,我們可以找到這個程序的pid,通過pid去檢視程序具體在哪裡執行的。
  • /run/ :程序產生的臨時檔案,所以一重啟就會消失。
  • /src/ :預設為空,服務產生的一些檔案。
  • /sys/ :存放系統核心相關的檔案。
  • /tmp/ :系統的臨時檔案的目錄,許可權很大,任何一個使用者都能操作,但是它有一個特殊許可權,使用者只能操作使用者自己的檔案和目錄。
  • /usr/ :存放使用者的一些檔案。
  • /var/ :存放系統產生的一些系統日誌,系統程序,服務,一些臨時檔案,pid,log,快取等。/var/log/messages:系統的總日誌檔案。另外,mail指令的預設也設定在這裡。

二、ls命令
注:ls是list的縮寫,列出當前目錄下的檔案。
1,ls –l 列出詳細資訊
2,ls -i 檢視inode
注:inode表示記錄檔案的屬性,許可權,所有者,所屬組,大小,時間,存放在磁碟那一塊位置等。
3,ls –a 列出所有檔案,包括隱藏檔案。
. 表示當前檔案
.. 表示當前檔案的上一級目錄
4,ls –t 按檔案的最後更改時間排序
5,ls –d 針對目錄,只列出目錄本身資訊
6,ls –h 合適的大小單位

三、檔案和目錄的屬性
我們在用ls 檢視檔案屬性的時候,共顯示了9列資訊。

1,第一列:表示檔案型別
d 表示該檔案是目錄
-表示該檔案是普通檔案,或者是二進位制值檔案(ls)
l 表示該檔案是連結檔案,如軟連結
b 表示該檔案是塊檔案,比如磁碟,/dev/sda
c 表示該檔案是串列埠裝置,如鍵盤,滑鼠。
s 表示該檔案為socket,用於程序間通訊。
p 管道檔案,將一個命令的輸出作為另一個命令的輸入

2,第二列為有多個檔案佔用的inode是相同的,如果是目錄,那這個數值與該目錄底下有多少個一級子目錄。

3,第三列表示該檔案的所有者

4,第四列表示該檔案的所屬組

5,第五列表示該檔案的大小

6,第六、七、八列表示時間

7,第九列表示檔名

四、alias命令

  • alias別名是另一個命令加選項組合形成的一個新命令
  • ls 就是一個別名,用which來檢視which檢視二進位制檔案的絕對路徑
  • which檢視二進位制檔案的絕對路徑
  • 做別名 alias
  • 取消別名:unalias
  • 檢視系統中所有的別名