1. 程式人生 > >linux的20個必會命令

linux的20個必會命令

線上查詢及幫助命令?
1.man 
翻頁N(向上) n(向下)
使用Page Up和Page Down鍵翻頁 
搜尋“/關鍵字” 從上至下搜尋某個關鍵詞,如“/linux”
man 1 passwd 使用者命令(預設)
man 5 passwd 配置檔案
eq:man ls


2.help
內部命令help 檢視Bash內部命令的幫助資訊help pwd
外部命令--help 適用於大多數外部命令ls --help

檔案和目錄操作命令?
3.檢視是內部命令還是外部命令
type cd 外部命令
type date 內部命令


4.cp複製
-a:此選項通常在複製目錄時使用,它保留連結、檔案屬性,並複製目錄下的所有內容。其作用等於dpR引數組合。
-d:複製時保留連結。這裡所說的連結相當於Windows系統中的快捷方式。
-f:覆蓋已經存在的目標檔案而不給出提示。
-i:與-f選項相反,在覆蓋目標檔案之前給出提示,要求使用者確認是否覆蓋,回答"y"時目標檔案將被覆蓋。
-p:除複製檔案的內容外,還把修改時間和訪問許可權也複製到新檔案中。
-r:若給出的原始檔是一個目錄檔案,此時將複製該目錄下所有的子目錄和檔案。
-l:不復制檔案,只是生成連結檔案
eq:touch 666cp 666 /dev/


5.find 查詢檔案或目錄(精確查詢 )
find /etc -name init
find / -name "pass"精確查詢
find / -name "*pass*"模糊查詢
在目錄/etc 中查詢檔案init
find / -size +204800k
在根目錄下查詢大於200MB的檔案
find / -user username
在根目錄下查詢所有者為username的檔案
find /etc -size +102400k -a -size -204800k
在/etc下查詢大於100MB小於200MB的檔案
find /etc -name inittab -exec ls -l {} \; 
在/etc 下查詢inittab檔案並顯示詳細資訊


6.mkdir 建立目錄
mkdir -pv /etc/666-p遞迴建立-v顯示過程


7.mv移動
mv /tmp/passwd /root/移動到root
mv passwd 666 改名


8.pwd用於顯示工作目錄。
得知您目前所在的工作目錄的絕對路徑名稱


9.rename 修改名字
rename 666 777 666


10.rm
-d:直接把欲刪除的目錄的硬連線資料刪除成0,刪除該目錄;
-f:強制刪除檔案或目錄;
-i:刪除已有檔案或目錄之前先詢問使用者;
-r或-R:遞迴處理,將指定目錄下的所有檔案與子目錄一併處理;
--preserve-root:不對根目錄進行遞迴操作;
-v:顯示指令的詳細執行過程。
eq:rm -rf /laowang

11.rmdir:功能是刪除空目錄(用的較少)
rmdir的功能是刪除空目錄,一個目錄被刪除之前必須的空的。
(注意:rm -r dir命令可以代替rmdir,但危險性很大)
刪除某目錄時必須具有對父目錄的寫許可權。

1、命令格式
rmdir [選項]  目錄
2、命令功能
從一個目錄中刪除一個或多個子目錄項,刪除目錄時需要有對父目錄寫的許可權。
3、命令引數
-p:遞迴刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。
如果整個路徑被刪除或由於某種原因保留部分路徑,則系統在標準輸出上顯示相應的資訊。
4、命令例項
例項1:不能刪除非空目錄
命令:rmdir home


例項2:rmdir -p 當子目錄被刪除後使它也成為空目錄的話,則一併刪除。
命令:rmdir -p logs


12.touch:建立新資料夾,改變已有已有檔案的時間戳屬性
linux的touch命令不常用,一般在使用make時會用到,用來修改時間戳,或新建一個不存在的檔案。

1、命令格式
touch [選項] [檔案]
2、命令引數
-a:僅更改最後一次訪問時間。
-c:如果檔案不存在,則不建立當前檔案。
-m:只更改最後一次修改時間。
-r, --reference=FILE:參考指定檔案時間進行設定。
-t:使用指定的日期時間,而非現在的時間。
3、命令功能
touch命令引數可以更改文件或目錄的日期時間,包括存取和更改時間。
4、使用範例
例項1:建立不存在的檔案
命令:touch log1.log  log2.log


例項2:更改多個檔案的時間戳相同
命令:touch -r log1.log log2.log


例項3:設定檔案的時間戳
命令:touch -t 201211142234.50 log1.log

例項4:修改最後一次修改時間
stat 777
touch -m -t 201708151530.34 777
stat 777

13.tree:以樹型結構顯示目錄下的內容
-a:顯示所有檔案和目錄;
-L level:顯示最大目錄樹的層級(深度)

14.basename:
作用:顯示檔名或目錄名
basename laowang/laoli/xiaoli/xiaowang/

15.dirname:
作用:顯示檔案或目錄路徑
dirname laowang/laoli/xiaoli/xiaowang/

16chattr:修改檔案擴充套件屬性
【a:讓檔案或目錄僅供附加用途;】
c:將檔案或目錄壓縮後存放;
【i:不得任意更動檔案或目錄;】
u:預防意外刪除。

選項:
-R:遞迴處理,將指令目錄下的所有檔案及子目錄一併處理;

+<屬性>:開啟檔案或目錄的該項屬性;
-<屬性>:關閉檔案或目錄的該項屬性;
=<屬性>:指定檔案或目錄的該項屬性。

例項1:
chattr +i /etc/fstab
然後試一下rm、mv、rename等命令操作於該檔案,都是得到Operation not permitted的結果。

例項2:
讓某個檔案只能往裡面追加內容,不能刪除,一些日誌檔案適用於這種操作:
chattr +a /data1/user_act.log

17.lsattr:檢視檔案擴充套件屬性
用lsattr命令列出檔案的隱藏屬性。其語法格式為:


lsattr [ -RVadv ] [ files… ]


下面給出幾個選項的含義:


選項含義
-R遞迴顯示目錄下所有子目錄和檔案的屬性
-V顯示lsattr程式的版本資訊
-a顯示所有檔案的屬性資訊,包括以.開頭的檔案
-d顯示目錄的屬性,而不是目錄下的檔案的屬性
-v顯示檔案的檔案號碼
例如,下面這條命令顯示MySecretDir目錄的隱藏屬性:


$ lsattr -Rd MySecretDir/
----i----------- MySecretDir/

18.file:顯示檔案型別
-c:詳細顯示指令執行過程,便於排錯或分析程式執行的情形;
-z:嘗試去解讀壓縮檔案的內容。
-i:顯示MIME型別

示例:
[
[email protected]
~]# file install.log
install.log: UTF-8 Unicode text

[[email protected] ~]# file -b install.log      <== 不顯示檔名稱
UTF-8 Unicode text

[[email protected] ~]# file -i install.log      <== 顯示MIME類別。
install.log: text/plain; charset=utf-8

[[email protected] ~]# file -L /var/spool/mail
/var/spool/mail: directory

19.md5sum:計算和校驗檔案的MD5值
md5sum是用來計算和校驗檔案MD5值(MD5全稱是報文摘要演算法(Message-Digest Algorithm 5))的命令。
使用起來相當方便,當我們從網路上下載下來一些檔案,特別是系統映象一般都跟有該檔案的MD5值,可以用這個命令來校驗檔案的完整性。

1.計算一個檔案的md5值
md5sum filename
2.檢視一個字串的md5值
echo "123456" | md5sum


檢視檔案及內容處理命令
20.cat:連線檔案或標準輸入並列印。
這個命令常用來顯示檔案內容,或者將幾個檔案連線起來顯示,或者從標準輸入讀取內容並顯示,
它常與重定向符號配合使用。
    -E:在每行結束處顯示$,每行結束符
    -n:對輸出的所有行編號,由1開始對所有輸出的行數編號
    -T:將Tab鍵顯示為^I

例:設ml和m2是當前目錄下的兩個檔案
cat m1 (在螢幕上顯示檔案ml的內容)
cat m1 m2 (同時顯示檔案ml和m2的內容)
cat m1 m2 > file (將檔案ml和m2合併後放入檔案file中)

高階操作(自己試):
cat > test.txt << EOF
效果:
> 123
> 456
> EOF

cat test.txt