2050年1月8日 星期六

linux 常用指令 cmd

ref.http://hsian-studio.blogspot.tw/2008/09/linux.html
ref.工作常用到的Linux指令
在Linux中最常使用到的指令,和最常用到的參數。






※ ls 列出目錄

* -a 連隱藏檔都列出
* -l 列出詳細資訊
* -d 只顯示目錄訊息而非目錄下的檔案
* -R 遞迴列出檔案及子目錄其下的所有子目錄和檔案

※ pwd 顯示使用者目前的目錄

* -p 則將結徑目錄顯示出來 (專門用在連結目錄)

※ mkdir 建立目錄

* -m 直接設定目錄屬性 (mkdir -m 700 test)
* -p 建立目錄中的子目錄 (mkdir -p test1/test2)

※ mv 移動檔案或改檔名

* -f 強制移動
* -i 已存在目的檔,會詢問是否over wirte

※ cp 檔案複製

* -i 若已存在則會詢問要否over write
* -f 強制複製或取代
* -a 完全複裂含使用人,屬性一樣的複制過來 (用在root)
* -r 用於目錄copy (重要)
* -d 若來源檔為連結檔的屬性,則複製連結檔而非檔案本身
* -s 複製成符號連結檔
* -l 複製成硬式連結檔

※ rm 移除檔案

* -f 強制移除
* -r 用於移除目錄
* -i 會詢問使用者是否真的要移除

※ cat 看檔

* -n 印出行號
* -A 可列出一些特殊字元

※ more 分頁顯示檔案內容

* enter 下翻一行
* space 下翻一頁
* :f 顯示目前行數和檔名
* q 離開
* / 尋找字串
* n 符合字串下一筆
* N 反向尋找符合字串下一筆

※ less 分頁顯示檔案內容 (可上翻)

* enter 下翻一行
* space 下翻一頁
* page up 上翻一頁
* page down 下翻一頁
* q 離開
* / 尋找字串
* n 符合字串下一筆
* N 反向尋找符合字串下一筆

※ chmod, chown 改變檔案屬性, 改變檔案所有人

* -R 連同子目錄都更新為同屬性

※ file 顯示某個檔案的基本資料

※ which 尋找某指令在那裡 (依所脫定的環境path去找)

※ whereis 尋找某指令

* -b 只找binary檔
* -m 只找man檔
* -s 只找source檔
* -u 找沒有說明的文件

※ locate 尋找檔案 (找資料庫)

* 使用前先updatedb

※ find 尋找檔案 (找檔案系統)

* -name 尋找檔名
* ex: find / -name test1.c

※ df 檢查磁碟使用量

* -a 列出所有使用量
* -h 容量以k, m, g顯示
* -T 連fs name都顯示出來
* -i 使用掉的i-node數量

※ du 檢查資料夾用量

* -a 列出目錄下所有子目錄檔案的所有用量
* -h 容量以k, m, g顯示
* -s 只顯示目錄總量 (和-a不能共用)

※ ln 製做符號連結和硬式連結

* -s 符號連結
* -f 目標檔有在的話移除再建立
* 不加參數則是建立硬式連結
* ex: ln -s test s_test
-> 先 cd 移動到要建立連結的目錄
-> ln -s [sourceFolder(可為絕對or相對路徑)] [要在此目錄建立連結的名稱]


※ gzip 建立gun zip壓縮檔 (只能對單一檔案)

* -c 壓縮後輸出到銀目,配合資料流重導向
* -d 解壓縮
* -t 檢查有沒有錯誤
* -1~9 壓縮比
* ex:(壓) gzip test
* ex:(解) gzip -d test

※ tar 打包加壓縮 (重要)

* -j 使用bzip壓縮
* -z 使用gzip壓縮
* -c 建立打包
* -x 解開打
* -v 看檔案打包過程
* -f 輸出檔案的檔名
* -p 包留原來屬性
* ex:(包) tar -zcvf test.tar.gz test/
* ex:(解) tar -zxvf test.tar.gz





※ grep 使用
grep
用途:顯示符合樣式的列

用法:
1.grep A *
結果:將含有 A 這個字元的檔案及列顯示出來

2.grep -i A *
結果:將含有 A或a 這個字元的檔案及列顯示出來 (-i 是不分大小寫之意)

3.grep -v La data3
結果:將不含 La 的列顯示出來 (-v 是不包含之意)

4.grep -l La *
結果:只顯示那些檔案包含 La,不秀出符合的列

5.grep -n La *
結果:也秀出列號

6.dmesg | grep eth0
結果:將含有 eth0 的訊息列顯示出來

7.grep -q keyword filename
結果:若 filename 含有 keyword 則傳回 0 (真),否則傳為非 0

命令執行完之後,它的傳回值放在 $? 這個變數中,只要 echo $? 便可得知成功與否,請記住:0 為成功,非 0 為失敗 !

8.grep seti *.txt
在現行目錄中,所有副檔名為".txt"的檔案之內容,尋找包含"seti"字串的檔案,並列出其檔案名稱.

9.grep -r deepwater *
在現行目錄中的所有檔案,包括子目錄在內,尋找包含"deepwater"字串的檔案,並列出其檔案名稱.

==============================================================================================================
1. linux下"搜尋特定內容的檔案"的方法:
$ grep -r "字串" ./ --------------遞迴搜尋此層目錄包含其下所有子目錄中,包含「字串」的所有檔案,
若「字串」中的英文字元大小寫不同,將被視為不同字串

grep 使用make 時可以用下列指令快速的找出error 點
make linux vmimg 2>&1 >/dev/null | grep -i 'error'

沒有留言:

張貼留言

有敘述錯誤或者是觀念有問題歡迎指正