系统目录结构 ls命令 文件类型 alias命令
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
2.1/2.2 系統(tǒng)目錄結(jié)構(gòu)
/bin:bin是Binary的縮寫,該目錄下存放的是最常用的命令。
/boot:該目錄下存放的是啟動(dòng)Linux時(shí)使用的一些核心文件,包括一些連接文件以及鏡像文件。?
/dev:dev是Device(設(shè)備)的縮寫。該目錄下存放的是Linux的外部設(shè)備。在Linux中,訪問設(shè)備的方式和訪問文件的方式是相同的。
/etc:該目錄下存放的是所有系統(tǒng)管理所需要的配置文件和子目錄。
/home:這是用戶的主目錄。在Linux中,每個(gè)用戶都有一個(gè)自己的目錄,一般該目錄名是以用戶的賬號命名的。
/lib和/lib64:這兩個(gè)目錄下存放的是系統(tǒng)最基本的動(dòng)態(tài)連接共享庫,其作用類似于Windows里的DLL文件,幾乎所有的應(yīng)用程序都需要用到這些共享庫。其中/lib64為64位的軟件包的庫文件所在目錄。
/media:系統(tǒng)會(huì)自動(dòng)識別一些設(shè)備(如U盤、光驅(qū)等),當(dāng)識別后,Linux會(huì)把識別的設(shè)備掛載到該目錄下。
/mnt:系統(tǒng)提供該目錄是為了讓用戶臨時(shí)掛載別的文件系統(tǒng)。我們可以將光驅(qū)掛載到/mnt/上,然后進(jìn)入該目錄查看光驅(qū)里的內(nèi)容。
/opt:這是給主機(jī)額外安裝軟件所設(shè)置的目錄,該目錄默認(rèn)為空。比如你要安裝一個(gè)ORACLE數(shù)據(jù)庫,可以放到該目錄下。
/proc:該目錄是一個(gè)虛擬的目錄,是系統(tǒng)內(nèi)存的映射,我們可以通過直接訪問來獲取系統(tǒng)信息。該目錄的內(nèi)容在內(nèi)存里,我們可以直接修改里面的某些文件。比如可以通過下面的命令來屏蔽主機(jī)的ping命令,使其他人無法ping你的機(jī)器。后續(xù),在日常工作中,你會(huì)經(jīng)常用到類似的用法。 # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
?/root:該目錄是系統(tǒng)管理員的用戶主目錄。
/run:這個(gè)目錄其實(shí)和/var/run是同一個(gè)目錄,這里面存放的是一些服務(wù)的pid,一個(gè)服務(wù)啟動(dòng)完后,是有一個(gè)pid文件的。至于為什么說是同一個(gè)目錄,Linux是如何做到的,后續(xù)我們再介紹。
/sbin:s就是Super User的意思,該目錄存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序。
/srv:該目錄存放的是一些服務(wù)啟動(dòng)之后需要提取的數(shù)據(jù)。
/sys:該目錄存放的是與硬件驅(qū)動(dòng)程序相關(guān)的信息。
/tmp:該目錄是用來存放一些臨時(shí)文件的。
/usr:這是一個(gè)非常重要的目錄,類似于Windows下的Program Files目錄,用戶的很多應(yīng)用程序和文件都存放在該目錄下。后面的章節(jié)中,我們會(huì)多次用到這個(gè)目錄。
/usr/bin:該目錄存放的是系統(tǒng)用戶使用的應(yīng)用程序。
/usr/sbin: 該目錄存放的是超級用戶使用的比較高級的管理程序和系統(tǒng)守護(hù)程序。
/usr/src :該目錄是內(nèi)核源代碼默認(rèn)的放置目錄。
/var:該目錄存放的是在不斷擴(kuò)充且經(jīng)常被修改的目錄,包括各種日志文件或者pid文件,剛剛提到的/var/run就是在/var目錄下面
在Linux系統(tǒng)中,有幾個(gè)重要的目錄需要注意,不要誤刪除或者隨意更改其內(nèi)部文件。下面阿銘再簡單總結(jié)一下這幾個(gè)重要的目錄。
/etc目錄下是系統(tǒng)的配置文件,如果更改了該目錄下的某個(gè)文件可能會(huì)導(dǎo)致系統(tǒng)無法正常啟動(dòng)。
/bin、/sbin、/usr/bin和/usr/sbin目錄是系統(tǒng)預(yù)設(shè)的執(zhí)行文件的放置目錄,其中/bin和/usr/bin目錄下是供系統(tǒng)用戶使用的指令(除root外的通用賬戶),而/sbin和/usr/sbin目錄下則是供root使用的指令。比如ls指令就存放在/bin/目錄下。
/var也是一個(gè)非常重要的目錄,系統(tǒng)上運(yùn)行各個(gè)程序時(shí)所產(chǎn)生的日志都被記錄在該目錄下(即/var/log目錄中),另外mail指令的預(yù)設(shè)也放置在這里。
2.3 ls命令
英文全名:List即列表的意思
ls命令用來顯示目錄列表,在Linux中是使用率較高的命令。ls命令的輸出信息可以進(jìn)行彩色加亮顯示,以分區(qū)不同類型的文件。?
選項(xiàng):
-l 以長格式顯示目錄下的內(nèi)容列表。輸出的信息從左到右依次包括文件類型、權(quán)限
模式、硬連接數(shù)、所有者、組、文件大小和文件的最后修改時(shí)間等;
-a 顯示所有檔案及目錄(ls內(nèi)定將檔案名或目錄名稱為“.”開頭的視為隱藏,不會(huì)列出)
-i 顯示文件索引節(jié)點(diǎn)號(inode)。一個(gè)索引節(jié)點(diǎn)代表一個(gè)文件;
-h(常和l配合使用) 以適合的容量單位顯示文件大小
-d 僅顯示目錄本身,而不顯示目錄下的內(nèi)容列表。
-t 用文件和目錄的更改時(shí)間排序
-R 遞歸處理,將指定目錄下的所有文件及子目錄一并處理
-1 (數(shù)字1選項(xiàng))所有輸出信息用單列格式輸出
-r 反序排列目錄下列表
-n 以uid 和gid 替代所有者以及組
-S 按文件大小排序
實(shí)例:
1 顯示當(dāng)前目錄下非隱藏的文件及目錄:
[root@localhost ~]# ls
1.txt anaconda-ks.cfg default.target default.target1 zhang
2 顯示當(dāng)前目錄下文件及目錄的詳細(xì)列表:
[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 顯示當(dāng)前目錄下隱藏及非隱藏的文件和目錄:
[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 以合適的容量單位顯示當(dāng)前目錄下文件及目錄的大小:
[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
索引節(jié)點(diǎn)(index inode簡稱為“inode”)是Linux中一個(gè)特殊的概念,具有相同的索引節(jié)點(diǎn)號的兩個(gè)文本本質(zhì)上是同一個(gè)文件(除文件名不同外)。
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 顯示當(dāng)前目錄下文件的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 顯示當(dāng)前目錄下的文件以及子目錄下的文件:
[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 顯示當(dāng)前目錄本身詳細(xì)信息:
[root@localhost ~]# ls -ld
dr-xr-x---. 4 root root 4096 6月 16 23:31
#硬鏈接數(shù)為4
目錄下面有幾個(gè)子目錄,則這個(gè)目錄inode的硬鏈接數(shù)為幾
ls -id .
ls -id ../root
ls -id .ssh/..
ls -id zhang/..
系統(tǒng)自帶別名ll:
which ll
alias ll='ls -l --color=auto'
/bin/ls
2.4 文件類型
Linux文件類型和Linux文件的文件名所代表的意義是兩個(gè)不同的概念。我們通過一般應(yīng)用程序而創(chuàng)建的比如file.txt、file.tar.gz ,這些文件雖然要用不同的程序來打開,但放在Linux文件類型中衡量的話,大多是常規(guī)文件(也被稱為普通文件)。
ls -l 顯示詳細(xì)信息的第一個(gè)字符代表文件的類型:
- 普通文件 (普通文件可以用cat查看,命令二進(jìn)制文件因?yàn)楸痪幾g過無法查看)
d 目錄文件
c 字符串設(shè)備(鍵盤,鼠標(biāo))ll /dev
b 塊設(shè)備文件 (硬盤,光驅(qū)等)ll /dev
l 軟鏈接文件
s socket文件 (套接字是方便進(jìn)程之間通信的特殊文件,與管道不同的是,套接字能促
使通過網(wǎng)絡(luò)連接的不同計(jì)算機(jī)的進(jìn)程之間進(jìn)行通信。套接字文件也不與任何數(shù)據(jù)塊關(guān)
聯(lián)。)
p 管道文件pipe (管道也是一個(gè)文件,作為數(shù)據(jù)管道方便程序之間的通信,管道實(shí)際
緩存了來自第一個(gè)進(jìn)程的輸入數(shù)據(jù),也稱為FIFIO)
查看某一文件類型的文件:
find / -type s/d/c/b/l/p
2.5 alias命令
alias命令用來設(shè)置命令的別名。我們可以使用該命令可以將一些較長的命令進(jìn)行簡化。使用alias時(shí),用戶必須使用單引號''將原來的命令引起來,防止特殊字符導(dǎo)致錯(cuò)誤。
alias命令的作用只局限于該次登入的操作。若要每次登入都能夠使用這些命令別名,則可將相應(yīng)的alias命令存放到bash的初始化文件/etc/bashrc中。
alias 的基本使用方法:
alias 查看系統(tǒng)已設(shè)置的別名
alias 新的命令=‘原命令 -選項(xiàng)/參數(shù)‘ 設(shè)置新的別名
unalias 命令別名 取消別名
例如:alias ld='ls -ld' 將重新定義ls命令,現(xiàn)在只需輸入ld就可以顯示當(dāng)前目錄本身的詳細(xì)信息了。直接輸入alias 會(huì)顯示當(dāng)前系統(tǒng)中所有已定義的命令別名。
要?jiǎng)h除一個(gè)別名,可以使用 unalias 命令,如 unalias ld 。
which命令:
which命令會(huì)在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件。
使用命令 which +命令 查查此命令的絕對路徑,如有別名設(shè)置也會(huì)顯示出來。
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
?
轉(zhuǎn)載于:https://my.oschina.net/u/3803404/blog/1649695
總結(jié)
以上是生活随笔為你收集整理的系统目录结构 ls命令 文件类型 alias命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OSPF-5类LSA和4类LSA
- 下一篇: 为什么会有 AOP