1. 程式人生 > >2018-3-23

2018-3-23

系統目錄 ls which alias

2.1/2.2 系統目錄結構

2.3 ls命令

2.4 文件類型

2.5 alias命令



2.1/2.2 系統目錄結構

ls是list的簡寫,列取系統的目錄或者是文件。

ls /看一下以下的目錄

技術分享圖片

技術分享圖片

這是系統目錄的總結。

/root/是一個家目錄,存一些配置文件,比如ls /root/.ssh/authorized_keys

比如想遠程通過密鑰認證登陸一個普通用戶,也就要在普通用戶的家目錄下創建一個/.ssh,還要創建一個authorized_keys這樣的配置文件

比如創建一個普通用戶 useradd wt,那wt的加目錄就在/home/wt/下

技術分享圖片

比如編輯配置文件的時候公鑰一定要放在authorzied_keys。au也要放在.ssh下這是固定的。

安裝tree命令,yum istall -y tree

技術分享圖片

再運行tree /。目錄會特別多

用tree --hep用來顯示他常用的選項。還有一個命令man(用來顯示一個文件的幫助文檔)

技術分享圖片

tree -list contents of directorise in a tree-like format 以樹形的結構來顯示目錄下的內容。

技術分享圖片 指定目錄最大的深度技術分享圖片

比如說就想指定最大為二層那就tree -L 2/(這裏L要大寫),這樣就可以看到2層的目錄

技術分享圖片

首先看bin技術分享圖片技術分享圖片,做了一個軟鏈接(若文件用戶數據塊中存放的內容是另一文件的路徑名的指向,則該文件就是軟連接。軟連接就是一個普通文件,只是數據塊內容有點特殊)

sbin即 僅superbin管理員使用就是一般都是root用戶用的 普通用戶不能用只能用bin下的(bin和sbin下面都是命令)。為什麽能敲命令直接實現呢(tree man vi這些本是一個文件),是因為有個PATH環境變量後續在提。

技術分享圖片

/boot下主要放一些種要的系統啟動文件,如果刪除掉系統就無法啟動 我們一般不去動他。

/dev 設備文件 /etc配置文件所在的路徑 比如我們常編輯的/etc/sysconfig/..網卡的配置路徑

/home 用戶的家目錄文件 /lib /lib64存系統的庫文件,很多命令都依賴一些庫文件比如ls。

怎末樣看一些文件依賴哪些庫呢 用ldd命令,比如ldd /bin/ls

技術分享圖片

可以看到依賴的庫文件基本都在lib64下面,因為從centos7開始的操作系統嗎已經不區分64和32位,都是64位。早期的centos6以前是有區分的,64位和32位識別的內存是不一樣的。lib是32位下的庫文件。

技術分享圖片

lib64下面綠色的文件都是庫文件,反綠色的是軟鏈接(往往軟鏈接到了令一個庫文件僅僅是名字不一樣)。總之lib64下面的都是一些庫文件。

/medie是一個媒介目錄,默認是空的,比如插一個u盤會默認放置文件到/medie下面去。

/mnt目錄也是個臨時掛載的目錄默認也是空的,我們可以把臨時用的光驅硬盤掛載到mnt目錄下。

/proc是一些進程,系統啟動的一些進程,他會生成一個pid,每個進程都會有個目錄,比如進程成為1下面有一些文件

技術分享圖片

技術分享圖片

/run 是一些進程產生的臨時文件,重啟後就沒了。比如說某個進程會產生pid pid文件就放run下面。

/srv/就是service的縮寫,也是空的,就是一些服務產生的文件

/sys/內核產生的文件,一般不動

/tmp/是一個臨時的目錄,有很大的權限。

/usr/是系統的用戶的一些文件命令 ,後面會講一些服務主要放在usr下(這是一個很重要的目錄)

技術分享圖片

usr下面有lib usr/local下也有lib 這些都主要是一些庫文件

/var/log會存日誌 ,var/log/messages 系統的總日誌

技術分享圖片

var是個很種要的目錄,打交道比較多

總結一下比較種要的 bin sbin(存目錄) var(系統進程,服務產生的臨時文件,緩存) etc(存配置文件) usr/local(自己編譯的服務) boot(雖然種要但很少去碰)proc(偶爾用)

這兩章以理解為主,結束。



2.3 ls命令

ls -l可以把文件詳細信息列出來

技術分享圖片

//索引節點(index inode簡稱為“inode”)是Linux中一個特殊的概念,具有相同的索引節點號的兩個文本本質上是同一個文件(除文件名不同外)。

第一列rw全西安 第二列1表示有多少個文件使用了相同的inode anaconda-ks.cfg的inode是什麽呢用-i看

技術分享圖片

inode就是這個數字67260929(這個數字就是inode號)

那如果是2 就是說有兩個文件使用了這個inode號。(inode存的其實就是這些信息文件屬性,權限,所有者所屬組,大小信息)

也就意味著,inode他會記錄這個文件存在於磁盤的哪一個塊哪個區域上。如果說有兩個文件使用相同的inode,就意味就這兩個文件在磁盤上存放的數據庫上的位置是唯一的就是一樣的(就是一個文件,只是文件名字不一樣存放地方不同)。

第一個root表示了所有者是誰(linux裏任何一個文件都有所有者),第二root是root用戶組,這個組下面會有多個用戶,973就是這個文件的大小,那單位呢? ls -lh anaconda-ks.cfg可以更人性化的看到大小

技術分享圖片這裏可能沒有上K,所以依舊顯示了973b

技術分享圖片

這裏就明顯的顯示出1.4k。

然後3月20號 20.30就是顯示了創建時間。

那-l就是顯示文件的詳細信息,-i呢就是看文件的inode號

然後是ls -la 會查看這個目錄下所有的隱藏文件

技術分享圖片

點開頭的都是隱藏文件或者隱藏目錄, 一個點就是目錄本身,目錄本身不就是root嗎

技術分享圖片

這個3,這個文件(目錄),有三個目錄inode號一樣的。我們找一下

技術分享圖片

可以發現/root , . , .ss/..這三個目錄使用的inode號是一樣的。

技術分享圖片所以這是3

技術分享圖片所以可以認為這個目錄上的子目錄是多少數字就是幾

技術分享圖片

把隱藏的都列出來其中就有. .. .ssh三個子目錄 所以數字就是3

ls -lt技術分享圖片

ls -la

看一下排列不同。ls -lta是以時間的順序來排序,越早的排在越下面。

ls -d /root

技術分享圖片

如果不加-d把子目錄列出來技術分享圖片技術分享圖片,如果加了呢只會列目錄本身技術分享圖片技術分享圖片

看/更明顯如下圖

技術分享圖片

關於ls還有一些用法 可以man ls 看一下ls的用法按一下回車會顯示出來。

技術分享圖片


掌握常用的一些就夠了。

總結一下 -l(詳細信息) -i(inode) -a(全部包括隱藏的) -t(按時間順序排序) -h(在-l時候 可以自動變換文件大小的單位)

-d(只列目錄的本身)

ll和ls -l一樣的效果就是別名。

技術分享圖片

ll是什麽能 就是技術分享圖片技術分享圖片 還要加上顏色。

技術分享圖片

當列出目錄的時候會有顏色 。

技術分享圖片

這樣就不會有顏色

技術分享圖片

可以到ls後面 也是跟著 --color=auto的 就是他在起作用。


2.4 文件類型

ls -l

技術分享圖片技術分享圖片最左側表示文件的類型

技術分享圖片技術分享圖片

dr表示diretory目錄。-是普通的文件,這種普通的文檔是可以用cat查看的

技術分享圖片技術分享圖片

但這種帶顏色的文件沒辦法cat,因為這是二進制文件,沒法用cat這種查看文本文檔的命令去查看了。

想查看也查看不了,因為這是編譯過內容的文件。不管是二進制的或普通的文檔都會顯示-。

還有特殊的dev下的技術分享圖片技術分享圖片

c表示字符串設備。l反綠色的 是軟鏈接文件(相當windows的快捷方式)。還有一種的brw都是塊設備,比如光驅光盤。

技術分享圖片技術分享圖片

粉色的 前面是s 這個文件是用來通信,進程和進程之間的通信(傳數據之類)。

總結:d目錄 -普通文件(包括文本文檔,二進制)c字符串設備 b(塊設備,比如光驅磁盤) s(通信文件) l(軟鏈接文件)



2.5 alias命令和which命令

alias就是別名的意思

技術分享圖片技術分享圖片

可以看到有些命令有別名, 有些沒有的。

alias 表示這個命令是一個命令加選項的這樣的組合形成的一個新的命令。

比如ls不想使用別名 就可以用絕對路徑 /usr/bin/ls。

如果不知道真正的命令是什麽就可以用which去看,查看系統哪些命令有別名 用alias

技術分享圖片技術分享圖片

前面提到過PATH 系統變量名。用echo查看PATH命令內容技術分享圖片

技術分享圖片

可以看到這就是一系列的路徑。which其實就是在這個目錄下查的,alias除外要看有沒有別名。

我們可以自定義命令技術分享圖片技術分享圖片這個是沒有的,但如果想讓它生效比如

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

ls -l才是真的命令 wt只是別名 。那如果想取消掉就用unalias wt

技術分享圖片技術分享圖片

那這個命令就沒了。

這就是alias


2018-3-23