Linux常用命令(二)目錄和文件管理
一、Linux命令基礎
1、命令分類
■內部命令:繼承與Shell解釋器程序內部的一些特殊指令,也稱爲內建指令。沒有單獨對應的系統文 件,只要Shell解釋器被運行,內部指令就自動載入內存了。內部命令無需從硬盤中重新讀 取文件,因此執行效率更高。
■外部命令:指的是linux系統中能夠完成特定功能的腳本文件或二進制程序,每個命令對應了系統中的 一個文件,是屬於Shell解釋器程序之外的命令,所以成爲外部命令。Linux系統必須知道外 部命令對應的文件位置,才能夠由Shell加載並執行。
2.命令的通用格式
命令字 【選項】 【參數】
選項
■ 不同的命令字,能夠使用的選項也會不同
■ 選項的數量可以使多個,也可以省略。同時使用多個選項時,選項之間使用空格分隔。若不使用選 項, 將執行命令字的默認功能
■ 使用單個字符的選項時,一般在選項前使用“–”符號(半角的減號)引導,稱爲短格式選項,
如“–l ”。多個單字符選項可以組合在一起使用,如“–al”等同於“–a –l”。
■ 使用多個字符的選項時,一般在選項前使用“––”符號(兩個半角的減號)引導,稱爲長格式選 項,如“––help”
3.獲得命令幫助
1)、查看命令所處的文件位置可以使用which命令查看。
■如果可以查看的到,就證明這是一個外部命令
■如果查看不到則會提示“no cd in ……”表示在這些文件中都沒有找到cd這個命令的文件,這則證明這個命令是一個內部命令。
2)、查看命令的幫助
■使用“help”命令:help命令時查看各內部命令的幫助信息。
格式爲 help 【想查看的內部命令】
■使用“--help”命令:可以查看linux的外部命令
■使用man手冊頁
內部命令和外部命令都可以使用“man”
[root@houliangjin ~]# man ls
■保存man手冊查詢命令幫助的結果到一個文件中
[root@houliangjin ~]# man ls | col -b > lshelp.txt
col –b命令是去除手冊頁中的格式控制字符,並將顯示結果保存爲新的文件。
■管道:使用豎槓符號“ | ”表示,用於將前面的命令的屏幕輸出結果作爲後面命令的操作對象(輸 入)。就好像一根管道一樣,從這頭塞入內容,從另一頭出來。
■重定向輸出:使用大於號“ > ”表示,前面的命令成功執行以後,其屏幕輸出結果將保存到“ > ”後 邊指定的文件中,而不是直接輸出到屏幕,因此稱爲重定向。
二、常見命令(下面通一色塊標記的命令爲統一命令的不同參數或解釋)
uname –r 查看當前使用的Linux內核版本信息
cat /proc/cpuinfo 查看當前主機的CPU型號、規格等信息
cat /proc/meminfo 查看當前主機的內存信息
hostname 查看當前主機的完整名稱
ifconfig eth0 查看第一塊以太網卡的地址等信息
shutdown -h now 關機
shutdown -r now 重啓
pwd 顯示用戶當前所在的工作目錄位置
cd 將用戶的工作目錄更改到其他位置
. - 當前的工作目錄
.. - 當前目錄的上一級目錄
~用戶名 - 指定用戶的宿主目錄,省略用戶名時爲當前用戶
- - 上一次的工作目錄
ls 顯示目錄中的內容,包括子目錄和文件的相關屬性信息等
-l - 以長格式顯示,包括權限、大小、最後更新時間等信息
-a - 顯示所有子目錄和文件,包括隱藏目錄和隱藏文件
-d - 顯示目錄本身的屬性,而不是顯示目錄中的內容
-h - 以K、M等單位顯示大小,而不是默認的字節
du 統計指定目錄(或文件)所佔用磁盤空間的大小
-a - 統計時包括所有的文件,而不僅僅只統計目錄
-h - 以K、M等單位顯示統計結果
-s - 只統計參數所佔總大小,而非子目錄、文件的大小
mkdir 用於創建新的空目錄
-p - 一次性創建嵌套的多層目錄
touch 創建空文件
ln 爲文件或目錄建立鏈接文件(類似Windows的快捷方式)
-s 創建軟鏈接
cp 複製文件或目錄
-f - 覆蓋同名文件或目錄時不進行提醒,而直接強制複製
-i - 覆蓋同名文件或目錄時提醒用戶確認
-p - 複製時保持源文件的權限、屬主及時間標記等屬性不變
-r - 複製目錄時使用,表示遞歸複製所有文件及子目錄
rm 用於刪除指定的文件或目錄
-f - 刪除文件或目錄時不進行提醒,而直接強制刪除
-i - 刪除文件或目錄時提醒用戶確認
-r - 刪除目錄時使用,表示遞歸刪除整個目錄樹
mv 將指定的文件或目錄轉移位置,如果目標位置與源位置相同,則效果相當於爲文件或目錄改名
which 查找用戶所執行的命令文件存放的目錄
find 查找文件或目錄
-name - 根據目標文件的名稱進行查找,可使用“*”及“?”通配符
-size - 根據目標文件的大小查找
-user - 根據文件是否屬於目標用戶進行查找
-type - 根據文件的類型(f/d/b/c)進行查找
wc 統計文件內容中的單詞數量、行數等信息
-c - 統計文件內容中的字節數
-l - 統計文件內容中的行數
-w - 統計文件內容中的單詞個數(以空格或製表位作爲分隔)
cat 顯示並連接文件的內容(實際中用於查看文件內容)
more 分頁查看文件內容(以百分比顯示當前內容在整個文件中的百分比),空格翻向下翻一屏,Enter鍵向下翻一行。
less 分頁查看文件內容(不會顯示百分比查看文件的進度),格空格鍵向下翻一屏,Enter鍵向下翻一行,按b鍵向上翻一屏,q退出。
head 查看文件開頭的部分內容(默認查看開頭10行)
-5 - 查看開頭5行(數值隨便改)
tail 查看文件末尾的部分內容(默認查看末尾10行)
-4 - 查看末尾4行(數值隨便改)
-f - 跟蹤文件尾部內容的動態更新。(一般用來查看日誌)
grep 檢索、過濾文件內容
-i - 查找內容時忽略大小寫
-v - 反轉查找,即輸出與查找條件不相符的行
複雜條件查找(例如“^word”表示以word開頭,“word$”表示以word結尾,“^$”表示空行)
gzip 壓縮指定的文件。(壓縮出來的文件後綴爲.gz)
-9 - 提高壓縮的比率
-d - 解壓gzip壓縮的文件時使用此選項
gunzip 解壓gzip壓縮的文件時使用此命令
bzip2 壓縮指定的文件(壓縮出來的文件後綴爲.bz2)
-9 - 提高壓縮的比率
-d - 解壓bzip2壓縮的文件時使用此選項
bunzip2 解壓bzip2壓縮的文件時使用此命令
tar 對目錄和文件進行歸檔和釋放(使用選項時“-”可以省略)
-c - 創建 .tar格式的包文件
-C - 解壓時指定釋放的目標文件夾
-f - 表示使用歸檔文件
-j - 調用bzip2程序進行壓縮或解壓
-p - 打包時保留文件及目錄的權限
-P - 打包時保留文件及目錄的絕對路徑
-t - 列表查看包內的文件
-v - 輸出詳細信息
-x - 解開.tar格式的包文件
-z - 調用gzip程序進行壓縮或解壓
製作歸檔備份文件
例如:把“/etc ”、“ /boot ”這兩個目錄及目錄中的所有文件和目錄都備份到/tmp/beifen.tar.gz的.tar包裏。
[root@houliangjin~]# tar zcf /tmp/beifen.tar.gz /etc /boot
tar: 從成員名中刪除開頭的“/”
把這個文件再解壓到“/home ”中。並查看“ /home ”中有沒有“ /etc ”和“/boot ”這兩個目錄。
[root@houliangjin~]# tar zxf /tmp/beifen.tar.gz -C /home
alias 設置指令的別名
例如:alias ls=‘ls –lh ’,再以後執行“ls ”的時候就會執行“ls -lh”命令了。
刪除一個命令的別名,使用unalias,例如unalias ls
直接輸入alias將查看系統已經設置好的別名