系統目錄結構 ls命令 文件類型 alias命令

2.1/2.2 系統目錄結構

/bin:bin是Binary的縮寫,該目錄下存放的是最經常使用的命令。node

/boot:該目錄下存放的是啓動Linux時使用的一些核心文件,包括一些鏈接文件以及鏡像文件。 數據庫

/dev:dev是Device(設備)的縮寫。該目錄下存放的是Linux的外部設備。在Linux中,訪問設備的方式和訪問文件的方式是相同的。vim

/etc:該目錄下存放的是全部系統管理所須要的配置文件和子目錄。緩存

/home:這是用戶的主目錄。在Linux中,每一個用戶都有一個本身的目錄,通常該目錄名是以用戶的帳號命名的。bash

/lib和/lib64:這兩個目錄下存放的是系統最基本的動態鏈接共享庫,其做用相似於Windows裏的DLL文件,幾乎全部的應用程序都須要用到這些共享庫。其中/lib64爲64位的軟件包的庫文件所在目錄。網絡

/media:系統會自動識別一些設備(如U盤、光驅等),當識別後,Linux會把識別的設備掛載到該目錄下。ssh

/mnt:系統提供該目錄是爲了讓用戶臨時掛載別的文件系統。咱們能夠將光驅掛載到/mnt/上,而後進入該目錄查看光驅裏的內容。socket

/opt:這是給主機額外安裝軟件所設置的目錄,該目錄默認爲空。好比你要安裝一個ORACLE數據庫,能夠放到該目錄下。ui

/proc:該目錄是一個虛擬的目錄,是系統內存的映射,咱們能夠經過直接訪問來獲取系統信息。該目錄的內容在內存裏,咱們能夠直接修改裏面的某些文件。好比能夠經過下面的命令來屏蔽主機的ping命令,使其餘人沒法ping你的機器。後續,在平常工做中,你會常常用到相似的用法。 # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_allspa

 /root:該目錄是系統管理員的用戶主目錄。

/run:這個目錄其實和/var/run是同一個目錄,這裏面存放的是一些服務的pid,一個服務啓動完後,是有一個pid文件的。至於爲何說是同一個目錄,Linux是如何作到的,後續咱們再介紹。

/sbin:s就是Super User的意思,該目錄存放的是系統管理員使用的系統管理程序。

/srv:該目錄存放的是一些服務啓動以後須要提取的數據。

/sys:該目錄存放的是與硬件驅動程序相關的信息。

/tmp:該目錄是用來存放一些臨時文件的。

/usr:這是一個很是重要的目錄,相似於Windows下的Program Files目錄,用戶的不少應用程序和文件都存放在該目錄下。後面的章節中,咱們會屢次用到這個目錄。

/usr/bin:該目錄存放的是系統用戶使用的應用程序。

/usr/sbin: 該目錄存放的是超級用戶使用的比較高級的管理程序和系統守護程序。

/usr/src :該目錄是內核源代碼默認的放置目錄。

/var:該目錄存放的是在不斷擴充且常常被修改的目錄,包括各類日誌文件或者pid文件,剛剛提到的/var/run就是在/var目錄下面

在Linux系統中,有幾個重要的目錄須要注意,不要誤刪除或者隨意更改其內部文件。下面阿銘再簡單總結一下這幾個重要的目錄。

/etc目錄下是系統的配置文件,若是更改了該目錄下的某個文件可能會致使系統沒法正常啓動。

/bin、/sbin、/usr/bin和/usr/sbin目錄是系統預設的執行文件的放置目錄,其中/bin和/usr/bin目錄下是供系統用戶使用的指令(除root外的通用帳戶),而/sbin和/usr/sbin目錄下則是供root使用的指令。好比ls指令就存放在/bin/目錄下。

/var也是一個很是重要的目錄,系統上運行各個程序時所產生的日誌都被記錄在該目錄下(即/var/log目錄中),另外mail指令的預設也放置在這裏。

2.3 ls命令

英文全名:List即列表的意思

ls命令用來顯示目錄列表,在Linux中是使用率較高的命令。ls命令的輸出信息能夠進行彩色加亮顯示,以分區不一樣類型的文件。 

選項:

-l 以長格式顯示目錄下的內容列表。輸出的信息從左到右依次包括文件類型、權限

模式、硬鏈接數、全部者、組、文件大小和文件的最後修改時間等;

-a 顯示全部檔案及目錄(ls內定將檔案名或目錄名稱爲「.」開頭的視爲隱藏,不會列出)

-i 顯示文件索引節點號(inode)。一個索引節點表明一個文件;

-h(常和l配合使用) 以適合的容量單位顯示文件大小

-d 僅顯示目錄自己,而不顯示目錄下的內容列表。

-t 用文件和目錄的更改時間排序

-R 遞歸處理,將指定目錄下的全部文件及子目錄一併處理

-1 (數字1選項)全部輸出信息用單列格式輸出

-r 反序排列目錄下列表

-n 以uid 和gid 替代全部者以及組

-S 按文件大小排序

實例:

1 顯示當前目錄下非隱藏的文件及目錄:

[root@localhost ~]# ls

1.txt anaconda-ks.cfg default.target default.target1 zhang

2 顯示當前目錄下文件及目錄的詳細列表:

[root@localhost ~]# ls -l

總用量 4

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

-rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

3 顯示當前目錄下隱藏及非隱藏的文件和目錄:

[root@localhost ~]# ls -a

. anaconda-ks.cfg .bash_profile default.target .tcshrc

.. .bash_history .bashrc default.target1 .viminfo

1.txt .bash_logout .cshrc .ssh zhang

4 以合適的容量單位顯示當前目錄下文件及目錄的大小:

[root@localhost ~]# ls -lh

總用量 4.0K

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

-rw-------. 1 root root 1.3K 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

5 顯示inode信息:

[root@localhost ~]# ls -li

總用量 4

17374315 -rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

17595044 -rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

8656416 lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

9610966 lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

304906 drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

索引節點(index inode簡稱爲「inode」)是Linux中一個特殊的概念,具備相同的索引節點號的兩個文本本質上是同一個文件(除文件名不一樣外)。

6 最近修改的文件顯示在最前面排序:

[root@localhost ~]# ls -lt

總用量 4

drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

-rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

7 最近修改的文件顯示在最後面排序:

[root@localhost ~]# ls -ltr

總用量 4

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

-rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

8 顯示當前目錄下文件的uid 以及 gid:

[root@localhost ~]# ls -n

總用量 4

-rw-r--r--. 1 0 0 0 6月 16 23:31 1.txt

-rw-------. 1 0 0 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 0 0 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

lrwxrwxrwx. 1 0 0 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

drwxr-xr-x. 2 0 0 6 6月 16 23:31 zhang

9 顯示當前目錄下的文件以及子目錄下的文件:

[root@localhost ~]# ls -lR

.:

總用量 4

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

-rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

drwxr-xr-x. 2 root root 18 6月 17 00:36 zhang

./zhang:

總用量 0

-rw-r--r--. 1 root root 0 6月 17 00:36 1.txt

10 顯示當前目錄自己詳細信息:

[root@localhost ~]# ls -ld

dr-xr-x---. 4 root root 4096 6月 16 23:31

#硬連接數爲4

目錄下面有幾個子目錄,則這個目錄inode的硬連接數爲幾

ls -id .

ls -id ../root

ls -id .ssh/..

ls -id zhang/..

系統自帶別名ll:

which ll

alias ll='ls -l --color=auto'

/bin/ls

2.4 文件類型

Linux文件類型和Linux文件的文件名所表明的意義是兩個不一樣的概念。咱們經過通常應用程序而建立的好比file.txt、file.tar.gz ,這些文件雖然要用不一樣的程序來打開,但放在Linux文件類型中衡量的話,大可能是常規文件(也被稱爲普通文件)。

ls -l 顯示詳細信息的第一個字符表明文件的類型:

- 普通文件 (普通文件能夠用cat查看,命令二進制文件由於被編譯過沒法查看)

d 目錄文件

c 字符串設備(鍵盤,鼠標)ll /dev

b 塊設備文件 (硬盤,光驅等)ll /dev

l 軟連接文件

s socket文件 (套接字是方便進程之間通訊的特殊文件,與管道不一樣的是,套接字能促

使經過網絡鏈接的不一樣計算機的進程之間進行通訊。套接字文件也不與任何數據塊關

聯。)

p 管道文件pipe (管道也是一個文件,做爲數據管道方便程序之間的通訊,管道實際

緩存了來自第一個進程的輸入數據,也稱爲FIFIO)

查看某一文件類型的文件:

find / -type s/d/c/b/l/p

2.5 alias命令

alias命令用來設置命令的別名。咱們可使用該命令能夠將一些較長的命令進行簡化。使用alias時,用戶必須使用單引號''將原來的命令引發來,防止特殊字符致使錯誤。

alias命令的做用只侷限於該次登入的操做。若要每次登入都可以使用這些命令別名,則可將相應的alias命令存放到bash的初始化文件/etc/bashrc中。

alias 的基本使用方法:

alias 查看系統已設置的別名

alias 新的命令=‘原命令 -選項/參數‘ 設置新的別名

unalias 命令別名 取消別名

例如:alias ld='ls -ld' 將從新定義ls命令,如今只需輸入ld就能夠顯示當前目錄自己的詳細信息了。直接輸入alias 會顯示當前系統中全部已定義的命令別名。

要刪除一個別名,可使用 unalias 命令,如 unalias ld 。

which命令:

which命令會在環境變量$PATH設置的目錄裏查找符合條件的文件。

使用命令 which +命令 查查此命令的絕對路徑,若有別名設置也會顯示出來。

[root@localhost ~]# which ls

alias ls='ls --color=auto'

/usr/bin/ls

相關文章
相關標籤/搜索