天天看點

目錄和檔案管理(一)

第3章-目錄和檔案管理(一)

一,linux指令概述

# 在字元操作界面中輸入能夠完成特定操作和任務的字元串,都可以稱為"指令"。

# "指令"通常隻代表了實作某一類功能的指定或程式的名稱。

二,指令的分類

# Linux指令的執行必須依賴于shell指令解釋器。

# shell是在Linux系統中運作的一種特殊程式,它位于作業系統核心與使用者之間,

負責接收使用者輸入的指令并進行解釋,将需要執行的操作傳遞給系統核心執行,

Shell在使用者和核心之間充當了一個"翻譯官"的角色。

# Bash是Linux系統中預設使用的shell程式,檔案位于/bin/bash。

内部指令

是沒有檔案的,自動載入在記憶體裡,內建在shell解釋器程式内部的一些特殊指令,也稱"内建指令",存儲在記憶體條上的指令。

外部指令

能找到檔案的指令,存儲在硬碟裡面的

目錄和檔案管理(一)

三,Linux指令行的格式

指令字    [ 選項 ]    [ 參數 ]

指令字:區分英文字元的大小寫

選項:調節指令的具本功能,決定這條指令如何執行

-:1個杠,表示單詞簡寫,"例如:-a"

--:2個杠,表示完整的單詞,"例如:--help"

3,參數:參數是指令字的處理對象

Tab鍵:可以将輸入不完整的指令字、檔案、目錄名自動補全

\反斜杠:自動換行

Ctrl+u:快速删除目前光标處之前的所有字元内容

Ctrl+k:快速删除從目前光标處到行尾的所有字元内容

Ctrl+l:快速清空目前螢幕

Ctrl+c:取消目前指令行的編輯,并切換為新的一行指令提示符

四,獲得指令幫助

help指令

# 檢視各shell内部指令的幫助資訊(如:help pwd)

2,--help

# 會顯示中文幫助資訊,不過是在圖形界面下操作(如:ls --help)

man手冊頁

# 隻顯示英文(如:man file可以檢視file指令的手冊頁資訊)

4,"|"和">"

# 例:man ls | col -b > lshelp.txt

"col":是一個指令程式,用于過濾文本中的一些特殊控制字元。

"|":    管道,把前面的指令交給後面的指令進一步處理。

">":重定向輸出,前面的指令成功執行後,其螢幕輸出結果将儲存到">"           後邊指定的檔案中(有點類似于另存為的功能)。

五,檢視及切換目錄

pwd:檢視目前工作目錄(print working  directory)

cd:切換工作目錄(change  directory)

絕對路徑:以"/"作為起點,如"/boot/grub"。

相對路徑:在開頭不使用"/"符号,一般以目前工作目錄作為起點

#直接使用目錄名或檔案名,用于表示目前工作目錄中的子目錄,檔案位置

例如:"grub.conf"可以表示目前目錄下的grub.conf檔案。

#使用一個點"."開頭,可以明确表示以目前的工作目錄作為起點,

例如:"./grub.conf"。

#使用兩個點".."開頭,表示以目前目錄的上一級目錄(父目錄)作為點

例如:"../vmlinuz"等同于"/boot/vmlinuz"。

#使用"~使用者名"的形式開頭,表示以指定使用者的宿主目錄作為起點,省

略使用者名時預設為目前使用者

3,cd - :兩個運作過的目錄直接來回切換

  4,ls:清單(List)顯示目錄内容

-l:以長格式(long)顯示檔案和目錄的清單,包括權限、大小、最後更新時間等

-a:顯示所有(All)子目錄和檔案的資訊,包括名稱以點"."開頭的隐藏目錄、檔案

-A:與-a的作用基本類似,但是"."和".."的檔案将不會顯示

-d:顯示目錄(Directory)本身的屬性,而不是顯示目錄中的内容

-h:以更人性化(Human)的方式顯示出目錄或檔案的大小,預設大小機關為位元組

使用-h後,将顯示為K、M等機關,需要結合-l選項一起死回生使用"-lh"。

-R:以遞歸(Recursive)的方式顯示指定目錄及其子目錄中的所有内容

--color:在字元模式中以顔色區分不同的檔案

#如果使用"—color=tty",表示使用終端預定義的顔色方案

#深藍色:表示目錄

#白色:表示一般檔案

#綠色:表示可執行檔案

#×××:表示裝置檔案

#紅色:表示壓縮檔案

組合鍵:    

ls –lh:可以同時檢視多個檔案的資訊

ls -ld:可以隻顯示目前目錄的詳細資訊,而不顯示目錄下的内容

通配符:"?"、"*"

?:可以比對檔案名中的一個未知字元

*:可以比對檔案名中的任意多字元

例如:ls -lh /etc/ns*.conf(列出/etc/目錄下以"ns"開頭,"conf"結尾檔案)

du:統計目錄及檔案的空間占用情況

-a:統計磁盤空間占用時包括所有的檔案,而不僅僅是目錄

-h:顯示機關的方式(預設以KB計數),使用-h後,以K、M等機關顯示

-s:隻統計每個參數所占用空間總的大小,而不是統計子目錄、檔案的大小

-sh:統計某個目錄所占用的空間大小(常用組合鍵)

-ah:統計某個目錄中所有檔案、子目錄各自占用的空間大小

6,df:檢視以挂接磁盤使用情況

六,建立目錄和檔案

mkdri:建立新的目錄

-p:一次性建立嵌套的多層目錄

touch:建立空的檔案

3,ln:建立連結(Link)檔案

軟連結格式:ln -s 源檔案或目錄 連結檔案或目标位置

例如:ln -s /etc/httpd/conf/httpd.conf  /etc/

ls -lh /etc/httpd.conf

含義:為檔案/etc/httpd/conf/httpd.conf建立一個軟連結檔案/etc/httpd.conf

硬連結格式:ln 源檔案 連結檔案或目标位置

#軟連結:又稱符号連結,删除原始檔案後,軟連結失效

适用于檔案或目錄

與原始檔案可以位于不同的檔案系統中

#硬連結:删除原始檔案後,硬連結仍舊可以用

隻适用于檔案,不能為目錄建立硬連結

必須與原始檔案在同一個檔案系統中(如Linux一個分區内)

七,複制、删除、移動目錄和檔案

cp:複制(copy)檔案或目錄

格式:cp [選項] 源檔案或目錄 目标檔案或目錄

       -f:覆寫目标同名檔案或目錄時不進行提醒,而直接強制(force)複制

       -i:覆寫目标同名檔案或目錄時提醒使用者确認(interactive,互動式)

       -p:複制時保持(preserve)源檔案的權限、屬主及時間标記等屬性不變

       -r:表示遞歸複制所有檔案及子目錄

2,rm:删除(remove)檔案或目錄

格式:rm [選項] 檔案或目錄

-f:删除檔案或目錄時不進行提醒,而直接強制删除

   -i:删除檔案或目錄時提醒使用者确認

   -r:表示遞歸删除整個目錄樹

   -rf:通常結合這兩個一起用

3,mv:移動(move)檔案或目錄/還可用于改名

格式:mv 源檔案或目錄.. 目标檔案或目錄

八,查找錄和檔案

which:查找Linux指令檔案并顯示所在的位置

#搜尋範圍主要由使用者的環境變量PATH決定

#可以執行echo $PATH指令檢視

#which -a 在所有搜尋路徑中查找

#shell内置的指令并沒有對應的程式檔案,是以使用which查找内部指令時,将找不到對應的程式,例如查找cd  , "which cd"将查找不到

find:查找檔案或目錄

格式:find 查找範圍 查找條件表達方式

例如:find / -name initab

-name:按名稱查找,根據目标檔案的名稱進行查找,允許使用* ?号通配符

-size:按檔案大小查找,用"+ -"号設定超過或小于指定的大小作為查找條件

-user:按檔案屬主查找,根據檔案是否屬于目标使用者進行查找

   -type:按檔案類型查找,(f)普通檔案,(d)目錄,(b)塊裝置檔案

(c)字元裝置檔案。

注意:

使用*?通配符時,最好将檔案名用雙引号括起來

需要同時使用多個查找條件時,各表達之間可以使用邏輯運算符:-a -o

   -a:表示而且(And),表示兩個條件必須同時滿足

-o:表示或者(or),表示兩個隻需滿足其中任何一個條件即可

格式:find /boot -size +1024k -a -name "vmlinuz"

find /boot -size +1024k -o -name "vmlinuz"

繼續閱讀