天天看點

linux系統學習資料-目錄架構及常用指令

作者:IT運維與實戰

第三章 Linux 的目錄結構

3.1 基本介紹

linux 的檔案系統是采用級層式的樹狀目錄結構,在此結構中的最上層是根目錄“/”,然後在此目錄下再建立其他的目錄。

在 Linux 世界裡,一切皆檔案。

3.2 Linux具體目錄結構

l /lib

¡ 系統開機所需要最基本的動态連結共享庫,其作用類似于Windows裡的DLL檔案。幾乎所有的應用程式都需要用到這些共享庫。

l /lost+found

¡ 一般情況下是空的,當系統非法關機後,這裡就存放了一些檔案。

l /etc [重點]

¡ 所有系統管理所需要的配置檔案和子目錄。my.conf

l /usr

¡ 使用者的很多應用程式和檔案都放在這個目錄下。類似于Windows下的program.files目錄

l /bin [重點](usr/bin、/usr/local/bin) [usr:Unix System Resource,即Unix系統資源的縮寫]

¡ 是Binary的縮寫,這個目錄存放着經常使用的指令

l /sbin (usr/sbin、/usr/local/sbin)

¡ s就是

¡ per user的意思,這裡存放的是系統管理者使用的系統管理程式

l /home [重點]

¡ 存放普通使用者的主目錄,在Linux中的每個使用者都有一個自己的目錄,一般該目錄一使用者的賬号名命名

l /root [重點]

¡ 該目錄為系統管理者,超級權限者的使用者目錄

l /boot

¡ 存放的啟動Linux時使用的一些核心檔案,包括一些連結檔案和鏡像檔案

l /proc

¡ 虛拟目錄,是系統記憶體的映射,通路這個目錄來擷取系統資訊。

l /srv

¡ service 的縮寫,該目錄是存放一些服務啟動之後需要提取的資料

l /sys

¡ Linux2.6核心的一個很大變化,該目錄安裝了2.6核心中新出現的一個檔案系統

l /tmp

¡ [t1] 存放臨時檔案

l /dev

¡ 類似于 windows的裝置管理器,把所有的硬體用檔案的形式存儲

l /media [重點]

¡ Linux系統會自動識别一些裝置,例如U盤、光驅等等,當識别後,Linux 會把識别的裝置挂載到這個目錄下。

l /mnt [重點]

¡ 系統提供該目錄是為了讓使用者臨時挂載别的檔案系統的,我們可以将外部的存儲挂載在/mnt/上,然後進入該目錄就可以檢視裡的内容了。d:/ myshare

l /opt

¡ 這是給主機額外安裝軟體所擺放的目錄。如安裝 ORACLE資料庫就可放到該目錄下。預設為空。

l /usr/local [重點]

¡ 這是另個給主機額外安裝軟體所安裝的目錄。一般是通過編譯源碼方式安裝的程式。

l /var [重點]

¡ 這個目錄中存放着在不斷擴充着的東西,習慣将經常被修改的目錄放在這個目錄下。包括各種日志檔案。

l /selinux [security-enhanced linux] 類似 360

¡ Selinux是一種本機安全性授權,它能控制程式隻能訪同特定檔案。

3.3 Linux 目錄總結一下

1) linux 的目錄中有且隻要一個根目錄 /

2) linux 的各個目錄存放的内容是規劃好,不用亂放檔案。

3) linux 是以檔案的形式管理我們的裝置,是以 linux 系統,一切皆為檔案。

4) linux 的各個檔案目錄下存放什麼内容,大家必須有一個認識。

5) 學習後,你腦海中應該有一顆 linux 目錄樹。

第四章Linux常用指令

4.1 檔案處理指令

[2] 4.1.1 指令格式與目錄處理指令ls

指令格式 :指令 [-選項] [參數]

例 : ls -la /etc

說明:1)個别指令使用不遵循此格式

2)當有多個選項時,可以寫在一起

3)簡化選項與完整選項-a 等于 --all

指令名稱:ls

指令英文原意:list

指令所在路徑:/bin/ls

執行權限:所有使用者

功能描述:顯示目錄檔案

文法:ls 選項[-ald] [檔案或目錄]

-a 顯示所有檔案,包括隐藏檔案[t3]

-l 詳細資訊顯示

-d 檢視目錄屬[t4] 性

tip:

-rw-r--r--

l - 檔案類型(- 檔案 d 目錄 l 軟連結檔案)

l rw- r-- r--

u g o

u所有者 g所屬組 o其他人

r讀 w寫 x執行

4.1.2 目錄處理指令

指令名稱:mkdir

指令英文原意:make directories

指令所在路徑:/bin/mkdir

執行權限:所有使用者

文法:mkdir -p [目錄名]

功能描述:建立新目錄-p 遞歸建立

範例: $ mkdir -p /tmp/Japan/boduo

$ mkdir /tmp/Japan/longze /tmp/Japan/cangjing[t5]

指令名稱:cd

指令英文原意:change directory

指令所在路徑:shell内置

指令執行權限:所有使用者

文法:cd [目錄]

功能描述:切換目錄

範例: $ cd /tmp/Japan/boduo 切換到指定目錄

$ cd .. 回到上一級目錄[t6]

指令名稱:pwd

指令英文原意: print working directory

指令所在路徑:/bin/pwd

執行權限:所有使用者

文法:pwd

功能描述:顯示目前目錄

範例:$ pwd

/tmp/Japan

指令名稱:rmdir

指令英文原意:remove empty directories

指令所在路徑:/bin/rmdir

執行權限:所有使用者

文法:rmdir [目錄名]

功能描述: 删除空目錄

範例: $ rmdir /tmp/Japan/boduo

指令名稱:cp

指令英文原意:copy

指令所在路徑:/bin/cp

執行權限:所有使用者

文法:cp -rp [原檔案或目錄] [目标目錄]

-r 複制目錄

-p 保留檔案屬性

功能描述:複制檔案或目錄

範例:$ cp -r /tmp/Japan/cangjing /root

将目錄/tmp/Japan/cangjing複制到目錄/root下

$ cp -rp /tmp/Japan/boduo /tmp/Japan/longze /root

将/tmp/Japan目錄下的boduo和longze目錄複制到/root下,保持目錄屬性[t7] [t8]

指令名稱:rm [t9] [t10]

指令英文原意:remove

指令所在路徑:/bin/rm

執行權限:所有使用者

文法:rm -rf [檔案或目錄]

-r 删除目錄

-f 強制執行

功能描述:删除檔案[t11] [t12]

範例:$ rm /tmp/yum.log

删除檔案/tmp/yum.log

$ rm -rf /tmp/Japan/longze

删除目錄/tmp/Japan/longze[t13]

4.1.3 檔案處理指令

指令名稱:touch

指令所在路徑:/bin/touch

執行權限:所有使用者

文法:touch [檔案名]

功能描述:建立空檔案

範例: $ touch Japanlovestory.list[t14] [t15]

指令名稱:cat

指令所在路徑:/bin/cat

執行權限:所有使用者

文法:cat [檔案名]

功能描述:顯示檔案内容

-n 顯示行号

範例: $ cat /etc/issue $ cat -n /etc/services[t16]

指令名稱:more

指令所在路徑:/bin/more

執行權限:所有使用者

文法:more [檔案名]

(空格) 或f 翻頁

(Enter) 換行

q或Q 退出

功能描述:分頁顯示檔案内容

範例: $ more /etc/services

指令名稱:less

指令所在路徑:/usr/bin/less

執行權限:所有使用者

文法:less [檔案名]

功能描述:分頁顯示檔案内容(可向上翻頁) [t17]

範例: $ less /etc/services

tips: 按下 / 後可以搜尋 會反顯高亮 按q退出(more也可以)[t18]

指令名稱:head

指令所在路徑:/usr/bin/head

執行權限:所有使用者

文法:head [檔案名]

功能描述:顯示檔案前面幾行

-n 指定行數 [t19]

範例: $ head -n 20 /etc/services

指令名稱:tail

指令所在路徑:/usr/bin/tail

執行權限:所有使用者

文法:tail [檔案名]

功能描述:顯示檔案後面幾行

-n 指定行數

-f 動态顯示檔案末尾内容

範例: $ tail -n 18 /etc/services

4.1.4 連結指令

指令名稱:ln

指令英文原意:link

指令所在路徑:/bin/ln

執行權限:所有使用者

文法:ln -s [原檔案] [目标檔案] [t20]

-s 建立軟連結

功能描述:生成連結檔案

範例:

$ ln -s /etc/issue /tmp/issue.soft

建立檔案/etc/issue的軟連結/tmp/issue.soft

$ ln /etc/issue /tmp/issue.hard

建立檔案/etc/issue的硬連結/tmp/issue.hard

軟連結特征:

類似Windows快捷方式

1、lrwxrwxrwx l 軟連結

軟連結檔案權限都為rwxrwxrwx [t21]

2、檔案大小-隻是符号連結

3、/tmp/issue.soft -> /etc/issue 箭頭指向原檔案

硬連結特征:

1、拷貝cp -p + 同步更新

echo "this is a test" >> /etc/motd

2、可通過i節點識别 [t22]

3、不能跨分區

4、不能針對目錄使用

4.2 權限管理指令

4.2.1 權限管理指令chmod

指令名稱:chmod

指令英文原意:change the permissions mode of a file

指令所在路徑:/bin/chmod

執行權限:所有使用者

文法:chmod [{ugoa}{+-=}{rwx}] [檔案或目錄] [t23]

[mode=421 ] [檔案或目錄]

-R 遞歸修改 [t24]

功能描述:改變檔案或目錄權限

權限的數字表示

r ---- 4 w ---- 2 x ---- 1

rwxrw-r-- 7 6 4

範例:

$ chmod g+w testfile

賦予檔案testfile所屬組寫權限 [t25]

$ chmod -R 777 testdir

修改目錄testfile及其目錄下檔案為所有使用者具有全部權限[t26]

代表字元 權限 對檔案的含義 對目錄的含義
r 讀權限 可以檢視檔案内容 可以列出目錄中的内容
w 寫權限 可以修改檔案内容 可以在目錄中建立、删除檔案[t27]
x 執行權限 可以執行檔案 可以進入目錄[t28]

tips:

1.rwx作用在檔案時

1> r:read,可以讀取,檢視

2> w:writte, 可以修改,但是不代表可以删除該檔案,删除一個檔案的前提是對該檔案所在的目錄(檔案夾)具有寫的權限,才能删該檔案

3> x:execute,可以被執行

2.rwx作用在目錄時

1> r,ls檢視目錄内容

2> w, 可以修改,目錄内建立+删除+重命名目錄

3> x, 可以進入該目錄 [t29]

4.2.2 其他權限管理指令

指令名稱:chown

指令英文原意:change file ownership

指令所在路徑:/bin/chown

執行權限:所有使用者

文法:chown [使用者] [檔案或目錄]

功能描述:改變檔案或目錄的所有者 範例:$ chown shenchao fengjie

改變檔案fengjie的所有者為shenchao

指令名稱:chgrp

指令英文原意:change file group ownership

指令所在路徑:/bin/chgrp

執行權限:所有使用者

文法:chgrp [使用者組] [檔案或目錄]

功能描述:改變檔案或目錄的所屬組

範例:$ chgrp lampbrother fengjie

改變檔案fengjie的所屬組為lampbrother

指令名稱:umask

指令英文原意:the user file-creation mask

指令所在路徑:Shell内置指令

執行權限:所有使用者

文法:umask [-S]

-S 以rwx形式顯示建立檔案預設權限

功能描述:顯示、設定檔案的預設[t30] 權限

範例: $ umask -S

tips: 建立檔案是預設沒有x權限(比如:防止木馬病毒攻擊)[t31] [t32] [t33]

4.3 檔案搜尋指令

4.3.1 檔案搜尋指令find

指令名稱:find

指令所在路徑:/bin/find

執行權限:所有使用者

文法:find [搜尋範圍] [比對條件]

功能描述:檔案搜尋

範例:

$ find /etc -name init [t34]

在目錄/etc中查找檔案init

-iname 不區分大小寫

$ find /etc -name *init*[t35]

在目錄/etc中查找檔案名包含init

$ find /etc -name init???[t36]

在目錄/etc中查找檔案名init開頭并有3個字元的

$ find /etc -name[t37] init*

在目錄/etc中查找檔案名init開頭的

tips:* 比對任意字元,?比對單個字元

$ find / -size +204800 [t38]

在根目錄下查找大于100MB的檔案

+n 大于 -n 小于 n 等于

$ find /home -user shenchao

在根目錄下查找所有者為shenchao的檔案

-group 根據所屬組查找

$ find /etc -cmin -5

在/etc下查找5分鐘内被修改過屬性的檔案和目錄

-amin 通路時間 access

-cmin 檔案屬性 change

-mmin 檔案内容 modify

$ find /etc -size +163840 -a -size -204800

在/etc下查找大于80MB小于100MB的檔案

-a 兩個條件同時滿足

-o 兩個條件滿足任意一個即可

$ find /etc -name inittab -exec ls -l {} \;

在/etc下查找inittab檔案并顯示其詳細資訊

-exec/-ok[t39] 指令 {} \; 對搜尋結果執行操作

tips:-exec直接執行,ok會詢問操作[t40] [t41]

-type 根據檔案類型查找

f 檔案 d 目錄 l 軟鍊[t42]

-inum 根據i節點查找[t43]

4.3.2 其他搜尋指令

指令名稱:locate

指令所在路徑:/usr/bin/locate

執行權限:所有使用者

文法:locate 檔案名

功能描述:在檔案資料庫中查找檔案

範例:$ locate inittab

tips:建立檔案locate不到,可以updatedb,更新檔案資料庫後查找[tmp不在檔案資料庫内][t44]

$ locate -i masichun.json // -i 作用你不區分大小寫類似 -iname

指令名稱:which

指令所在路徑:/usr/bin/which

執行權限:所有使用者

文法:which 指令

[t45] 功能描述:搜尋指令所在目錄及别名資訊

範例:$ which ls

指令名稱:whereis

指令所在路徑:/usr/bin/whereis

執行權限:所有使用者

文法:whereis [指令名稱]

功能描述:搜尋指令所在目錄及幫助文檔路徑

範例:$ whereis ls

指令名稱:grep

指令所在路徑:/bin/grep

執行權限:所有使用者

文法:grep -iv [指定字串] [檔案]

功能描述:在檔案中搜尋字串比對的行并輸出

-i 不區分大小寫

-v 排除指定字串

範例:# grep mysql /root/install.log

# grep -v ^# /etc/inittab 去除以#開頭的所有行資訊,^表示以XXX開頭 [t46]

4.4 幫助指令

指令名稱:man

指令英文原意:manual

指令所在路徑:/usr/bin/man

執行權限:所有使用者

文法:man [指令或配置檔案]

(空格) 或f 翻頁

(Enter) 換行

q或Q 退出

功能描述:獲得幫助資訊

範例: $ man ls[t47] [t48]

檢視ls指令的幫助資訊

$ man services

檢視配置檔案services的幫助資訊

1 指令的幫助 5配置檔案的幫助

man 5 passwd -> 檢視配置檔案的幫助[t49] [t50] [t51]

指令:whatis

文法:whatis 指令

功能描述:獲得指令的簡單介紹資訊

範例:what is ls

類似的:apropos

文法:apropos 配置檔案

whatis 類似于精确查找

apropos 模糊查找關鍵字 [功能等于 man -k ][可以tab快速補全]

[t52]

指令名稱:help

指令所在路徑:Shell内置指令

[t53] 執行權限:所有使用者

文法:help 指令

功能描述:獲得Shell内置指令的幫助資訊

範例: $ help umask

檢視umask指令的幫助資訊[t54] [t55]

4.5 使用者管理指令

指令名稱:useradd[t56]

指令所在路徑:/usr/sbin/useradd

執行權限:root

文法:useradd 使用者名

功能描述:添加新使用者

範例: $ useradd yangmi

指令名稱:passwd

指令所在路徑:/usr/bin/passwd

執行權限:所有使用者

文法:passwd 使用者名

功能描述:設定使用者

範例: $ passwd yangmi

普通使用者隻能更改自己密碼,root使用者可以更好所有人密碼

指令名稱:who

指令所在路徑:/usr/bin/who

執行權限:所有使用者

文法:who

功能描述:檢視登入使用者資訊

範例: $ who

參數分别為:

使用者名 登入終端[tty本地終端/pts遠端終端] 登入時間 IP位址[沒有表示本地登入]

指令名稱:w [t57]

指令所在路徑:/usr/bin/w

執行權限:所有使用者

文法:w

功能描述:檢視登入使用者詳細資訊

範例: $ w

4.6 壓縮解壓指令

指令名稱:gzip

指令英文原意:GNU zip

指令所在路徑:/bin/gzip

執行權限:所有使用者

文法:gzip [檔案]

功能描述:壓縮檔案[t58]

壓縮後檔案格式:.gz

指令名稱:gunzip [= gzip -d]

指令英文原意:GNU unzip

指令所在路徑:/bin/gunzip

執行權限:所有使用者

文法:gunzip [壓縮檔案]

功能描述:解壓縮.gz的壓縮檔案

範例: $ gunzip boduo.gz

tips:隻能壓縮檔案不能壓縮目錄[t59]

指令名稱:tar

指令所在路徑:/bin/tar

執行權限:所有使用者

文法:tar 選項[-zcf] [壓縮後檔案名] [目錄]

-c 打包

-v 顯示詳細資訊

-f 指定檔案名

-z 打包同時壓縮

功能描述:打包目錄 壓縮後檔案格式:.tar.gz

範例:

$ tar -zcf Japan.tar.gz Japan

将目錄Japan打包并壓縮為.tar.gz檔案[t60] [t61]

tar指令解壓縮文法:

-x 解包

-v 顯示詳細資訊

-f 指定解壓檔案

-z 解壓縮

範例:$ tar -zxvf Japan.tar.gz

指令名稱:zip [t62] [t63] [t64]

指令所在路徑:/usr/bin/zip

執行權限:所有使用者

文法:

zip 選項[-r] [壓縮後檔案名] [檔案或目錄]

-r 壓縮目錄

功能描述:壓縮檔案或目錄

壓縮後檔案格式:.zip

範例:

$ zip buduo.zip boduo

壓縮檔案

$ zip -r Japan.zip Japan

壓縮目錄

tips:會保留原檔案

指令名稱:unzip

指令所在路徑:/usr/bin/unzip

執行權限:所有使用者

文法:unzip [壓縮檔案]

功能描述:解壓.zip的壓縮檔案

範例:$ unzip test.zip

指令名稱:bzip2

指令所在路徑:/usr/bin/bzip2

執行權限:所有使用者

文法: bzip2 選項 [-k] [檔案]

-k 産生壓縮檔案後保留原檔案

功能描述:壓縮檔案

壓縮後檔案格式:.bz2

範例:$ bzip2 -k boduo

$ tar -cjf Japan.tar.bz2 Japan[t65]

指令名稱:bunzip2

指令所在路徑:/usr/bin/bunzip2

執行權限:所有使用者

文法: bunzip2 選項 [-k] [壓縮檔案]

-k 解壓縮後保留原檔案

功能描述:解壓縮

範例:$ bunzip2 -k boduo.bz2

$ tar -xjf Japan.tar.bz2

4.7 網絡指令

指令名稱:write

[t66] 指令所在路徑:/usr/bin/write

執行權限:所有使用者

文法:write <使用者名>

功能描述:給使用者發資訊,以Ctrl+D儲存結束

範例: # write linzhiling

tips:輸入錯誤,control+delete 删除

指令名稱:wall [t67]

指令英文原意:write all

指令所在路徑:/usr/bin/wall

執行權限:所有使用者

文法:wall [message]

功能描述:發廣播資訊

範例: # wall ShenChao is a honest man!

指令名稱:ping

指令所在路徑:/bin/ping

執行權限:所有使用者

文法:ping 選項 IP位址

-c 指定發送次數 [t68] [t69]

功能描述:測試網絡連通性

範例: # ping 192.168.1.156

指令名稱:ifconfig

指令英文原意:inter

ce configure

指令所在路徑:/sbin/ifconfig

執行權限:root

文法:ifconfig 網卡名稱 IP位址

功能描述:檢視和設定網卡資訊

範例:# ifconfig eth0 192.168.8.250[t70]

指令名稱:mail

指令所在路徑:/bin/mail

執行權限:所有使用者

文法:mail [使用者名]

功能描述:檢視發送電子郵件

範例:# mail root[t71]

指令名稱:last

指令所在路徑:/usr/bin/last

執行權限:所有使用者

文法:last

功能描述:列出目前與過去登入系統的使用者資訊

範例:# last

指令名稱:lastlog

指令所在路徑:/usr/bin/lastlog

執行權限:所有使用者

文法:lastlog

功能描述:檢查某特定使用者上次登入的時間

範例:# lastlog

# lastlog -u 502

[t72]

指令名稱:traceroute

指令所在路徑:/bin/traceroute

執行權限:所有使用者

文法:traceroute

功能描述:顯示資料包到主機間的路徑

範例:# traceroute www.lampbrother.net

指令名稱:netstat

指令所在路徑:/bin/netstat

執行權限:所有使用者

文法:netstat [選項]

功能描述:顯示網絡相關資訊

選項:

-t : TCP協定

-u : UDP協定

-l : 監聽

-r : 路由

-n : 顯示IP位址和端口号

範例:

# netstat -tlun 檢視本機監聽的端口

# netstat -an [t73] 檢視本機所有的網絡連接配接

# netstat -rn 檢視本機路由表

檢視某一端口是否被占用:netstat -tunlp |grep 2181

指令名稱:se[t74] tup

指令所在路徑:/usr/bin/setup

執行權限:root

文法:setup

功能描述:配置網絡

範例:# setup

指令名稱:mount [t75]

指令位置:/bin/mount

執行權限:所有使用者

指令文法:mount [-t 檔案系統] 裝置檔案名 挂載點

範例:# mount -t iso9660 /dev/sr0 /mnt/cdrom[t76]

4.8 關機重新開機指令

4.8.1 shutdown指令

[root@localhost ~]# shutdown [選項] 時間

選項: -c: 取消前一個關機指令 -h: 關機 -r: 重新開機

4.8.2其他關機指令

[root@localhost ~]# halt

[root@localhost ~]# poweroff

[root@localhost ~]# init 0

4.8.3 其他重新開機指令

[root@localhost ~]# reboot

[root@localhost ~]# init 6

4.8.4 系統運作級别

0 關機

1 單使用者

2 不完全多使用者,不含NFS服務

3 完全多使用者

4 未配置設定

5 圖形界面

6 重新開機

[root@localhost ~]# cat /etc/inittab

#修改系統預設運作級别

id:3:initdefault:

[root@localhost ~]# runlevel

#查詢系統運作級别

4.8.5 登出指令

[root@localhost ~]# logout

繼續閱讀