做java開發自然少不了對linux系統的瞭解,以下總結了工作以來接觸到的linux命令
1、find命令
find命令用於在目錄結構中搜索文件,並執行指定的操作。
(1)命令格式:
find pathname -options [-print -exec -ok ...]
(2)命令參數:
pathname: find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。
-print: find命令將匹配的文件輸出到標準輸出。
-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式爲'command' { } ;,注意{ }和;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更爲安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。
例:find . -name "*.log"(查找.log文件)
2、ls命令
ls命令是linux下最常用的命令。ls命令就是list的縮寫,缺省下ls用來打印出當前目錄的清單。如果ls指定其他目錄,那麼就會顯示指定目錄裏的文件及文件夾清單。 通過ls 命令不僅可以查看linux文件夾包含的文件,而且可以查看文件權限(包括目錄、文件夾、文件權限)或者查看目錄信息等。
(1)命令格式:
ls [選項] [目錄名]
(2)常用參數:
-a, –all 列出目錄下的所有文件,包括以 . 開頭的隱含文件
-C 每欄由上至下列出項目
-d, –directory 將目錄象文件一樣顯示,而不是顯示其下的文件。
-D, –dired 產生適合 Emacs 的 dired 模式使用的結果
-l 除了文件名之外,還將文件的權限、所有者、文件大小等信息詳細列出來。
-m 所有項目以逗號分隔,並填滿整行行寬
-o 類似 -l,顯示文件的除組信息外的詳細信息。
-s, –size 以塊大小爲單位列出所有文件的大小
例:ls -l /home/spider
3、cd命令
cd 命令用於切換當前目錄至dirName,可以說是Linux中最基本的命令語句,其他的命令語句要進行操作,都是建立在使用 cd 命令上的。
命令格式:cd [目錄名]
4、pwd命令
(1)命令格式:
pwd [選項]
(2)常用參數:
一般情況下不帶任何參數,如果目錄是鏈接時,格式:pwd -P 顯示出實際路徑,而非使用連接(link)路徑。
mkdir命令用來創建指定的名稱的目錄,要求創建目錄的用戶在當前目錄中具有寫權限,並且指定的目錄名不能是當前目錄中已有的目錄。
(1)命令格式:
mkdir [選項] 目錄…
(2)命令功能:
通過 mkdir 命令可以實現在指定位置創建以 DirName(指定的文件名)命名的文件夾或目錄。要創建文件夾或目錄的用戶必須對所創建的文件夾的父文件夾具有寫權限。並且,所創建的文件夾(目錄)不能與其父目錄(即父文件夾)中的文件名重名,即同一個目錄下不能有同名的(區分大小寫)。
(3)命令參數:
-m, --mode=模式,設定權限模式
-p, --parents 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;
-v, --verbose 每次創建新目錄都顯示信息
6、rm命令
rm是常用的命令,該命令的功能爲刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是刪除了鏈接,原有文件均保持不變。rm是一個危險的命令,使用的時候要特別當心,尤其對於新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm
* -rf)。所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要刪除什麼東西,操作時保持高度清醒的頭腦。
(1)命令格式:
rm [選項] 文件…
(2)命令參數:
-f, --force 忽略不存在的文件,從不給出提示。
-i, --interactive 進行交互式刪除
-r, -R, --recursive 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
-v, --verbose 詳細顯示進行的步驟
7、rmdir命令
rmdir是常用的命令,該命令的功能是刪除空目錄,一個目錄被刪除之前必須是空的。(注意,rm – r dir命令可代替rmdir,但是有很大危險性。)刪除某目錄時也必須具有對父目錄的寫權限。
(1)命令格式:
rmdir [選項]… 目錄…
(2)命令參數:
-v, --verbose 顯示指令執行過程
(1)命令格式:
mv [選項] 源文件或目錄 目標文件或目錄
(2)命令功能:
視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名爲給定的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
(3)命令參數:
-b :若需覆蓋文件,則覆蓋前先行備份。
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,纔會更新(update)
-t : –target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在後。
(1)命令格式:
或:cp [選項]… 源… 目錄
或:cp [選項]… -t 目錄 源…
(2)命令參數:
–backup[=CONTROL 爲每個已存在的目標文件創建備份
-b 類似–backup 但不接受參數
-f, –force 如果目標文件無法打開則將其移除並重試(當 -n 選項
存在時則不需再選此項)
-i, –interactive 覆蓋前詢問(使前面的 -n 選項失效)
-l, –link 鏈接文件而不復制
-n, –no-clobber 不要覆蓋已存在的文件(使前面的 -i 選項失效)
-R, -r, –recursive 複製目錄及目錄內的所有項目
(1)命令格式:
touch [選項]... 文件...
(2)命令參數:
-a 或--time=atime或--time=access或--time=use 只更改存取時間。
-c 或--no-create 不建立任何文檔。
-d 使用指定的日期時間,而非現在的時間。
-m 或--time=mtime或--time=modify 只更改變動時間。
-r 把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同。
-t 使用指定的日期時間,而非現在的時間。
(3)命令功能:
touch命令參數可更改文檔或目錄的日期時間,包括存取時間和更改時間。
(1)命令格式:
cat [選項] [文件]...
(2)命令功能:
cat主要有三大功能:
①一次顯示整個文件:cat filename
②從鍵盤創建一個文件:cat > filename 只能創建新文件,不能編輯已有文件.
③將幾個文件合併爲一個文件:cat file1 file2 > file
(3)命令參數:
-A, --show-all
-b, --number-nonblank 對非空輸出行編號
-E, --show-ends 在每行結束處顯示 $
-n, --number 對輸出的所有行編號,由1開始對所有輸出的行數編號
-s, --squeeze-blank 有連續兩行以上的空白行,就代換爲一行的空白行
-T, --show-tabs 將跳格字符顯示爲 ^I
12、nl命令
(1)命令格式:
nl [選項]... [文件]...
(2)命令參數:
-b a :表示不論是否爲空行,也同樣列出行號(類似 cat -n);
-b t :如果有空行,空的那一行不要列出行號(默認值);
-n ln :行號在螢幕的最左方顯示;
-n rn :行號在自己欄位的最右方顯示,且不加 0 ;
-n rz :行號在自己欄位的最右方顯示,且加 0 ;
-w :行號欄位的佔用的位數。
-p 在邏輯定界符處不重新開始計算。
(3)命令功能:
nl 命令讀取 File 參數(缺省情況下標準輸入),計算輸入中的行號,將計算過的行號寫入標準輸出。 在輸出中,nl 命令根據您在命令行中指定的標誌來計算左邊的行。 輸入文本必須寫在邏輯頁中。每個邏輯頁有頭、主體和頁腳節(可以有空節)。 除非使用 -p 標誌,nl 命令在每個邏輯頁開始的地方重新設置行號。 可以單獨爲頭、主體和頁腳節設置行計算標誌(例如,頭和頁腳行可以被計算然而文本行不能)。
(1)命令格式:
more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
(2)命令參數:
+n 從笫n行開始顯示
-n 定義屏幕大小爲n行
+/pattern 在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示
-c 從頂部清屏,然後顯示
-d 提示“Press space to continue,’q’ to quit(按空格鍵繼續,按q鍵退出)”,禁用響鈴功能
-l 忽略Ctrl+l(換頁)字符
-p 通過清除窗口而不是滾屏來對文件進行換頁,與-c選項相似
-s 把連續的多個空行顯示爲一行
-u 把文件內容中的下畫線去掉
(1)命令格式:
less [參數] 文件
(2)命令功能:
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會加載整個文件。
(3)命令參數:
-b <緩衝區大小> 設置緩衝區的大小
-e 當文件顯示結束後,自動離開
-f 強迫打開特殊文件,例如外圍設備代號、目錄和二進制文件
-g 只標誌最後搜索的關鍵詞
-i 忽略搜索時的大小寫
-m 顯示類似more命令的百分比
-N 顯示每行的行號
-o <文件名> 將less 輸出的內容在指定文件中保存起來
-Q 不使用警告音
-s 顯示連續空行爲一行
-S 行過長時間將超出部分捨棄
-x <數字> 將“tab”鍵顯示爲規定的數字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重複前一個搜索(與 / 或 ? 有關)
N:反向重複前一個搜索(與 / 或 ? 有關)
b 向後翻一頁
d 向後翻半頁
h 顯示幫助界面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
(1)命令格式:
head [參數]... [文件]...
(2)命令功能:
head 用來顯示檔案的開頭至標準輸出中,默認head命令打印其相應文件的開頭10行。
(3)命令參數:
-q 隱藏文件名
-v 顯示文件名
-c<字節> 顯示字節數
-n<行數> 顯示的行數
(1)命令格式;
tail[必要參數][選擇參數][文件]
(2)命令功能:
用於顯示指定文件末尾內容,不指定文件時,作爲輸入信息進行處理。常用查看日誌文件。
(3)命令參數:
-f 循環讀取
-q 不顯示處理信息
-v 顯示詳細的處理信息
-c<數目> 顯示的字節數
-n<行數> 顯示行數
--pid=PID 與-f合用,表示在進程ID,PID死掉之後結束.
-q, --quiet, --silent 從不輸出給出文件名的首部
-s, --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒
which 查看可執行文件的位置。
whereis 查看文件的位置。
locate 配合數據庫查看文件位置。
find 實際搜尋硬盤查詢文件名稱。
which命令的作用是,在PATH變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
(1)命令格式:
which 可執行文件名稱
(2)命令參數:
-n 指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名。
-p 與-n參數相同,但此處的包括了文件的路徑。
-w 指定輸出時欄位的寬度。
-V 顯示版本信息
(1)命令格式:
whereis [-bmsu] [BMS 目錄名 -f ] 文件名
(2)命令功能:
whereis命令是定位可執行文件、源代碼文件、幫助文件在文件系統中的位置。這些文件的屬性應屬於原始代碼,二進制文件,或是幫助文件。whereis 程序還具有搜索源代碼、指定備用搜索路徑和搜索不尋常項的能力。
(3)命令參數:
-b 定位可執行文件。
-m 定位幫助文件。
-s 定位源代碼文件。
-u 搜索默認路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件。
-B 指定搜索可執行文件的路徑。
-M 指定搜索幫助文件的路徑。
-S 指定搜索源代碼文件的路徑。
(1)命令格式:
Locate [選擇參數] [樣式]
(2)命令功能:
locate命令可以在搜尋數據庫時快速找到檔案,數據庫由updatedb程序來更新,updatedb是由cron daemon週期性建立的,locate命令在搜尋數據庫時比由整個由硬盤資料來搜尋資料來得快,但較差勁的是locate所找到的檔案若是最近才建立或 剛更名的,可能會找不到,在內定值中,updatedb每天會跑一次,可以由修改crontab來更新設定值。(etc/crontab)
locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的數據庫內,尋找合乎範本樣式條件的檔案或目錄錄,可以使用特殊字元(如”*” 或”?”等)來指定範本樣式,如指定範本爲kcpa*ner, locate會找出所有起始字串爲kcpa且結尾爲ner的檔案或目錄,如名稱爲kcpartner若目錄錄名稱爲kcpa_ner則會列出該目錄下包括 子目錄在內的所有檔案。
locate指令和find找尋檔案的功能類似,但locate是透過update程序將硬盤中的所有檔案和目錄資料先建立一個索引數據庫,在 執行loacte時直接找該索引,查詢速度會較快,索引數據庫一般是由操作系統管理,但也可以直接下達update強迫系統立即修改索引數據庫。
(3)命令參數:
-e 將排除在尋找的範圍之外。
-1 如果 是 1.則啓動安全模式。在安全模式下,使用者不會看到權限無法看到的檔案。這會始速度減慢,因爲 locate 必須至實際的檔案系統中取得檔案的權限資料。
-f 將特定的檔案系統排除在外,例如我們沒有到理要把 proc 檔案系統中的檔案放在資料庫中。
-q 安靜模式,不會顯示任何錯誤訊息。
-n 至多顯示 n個輸出。
-r 使用正規運算式 做尋找的條件。
-o 指定資料庫存的名稱。
-d 指定資料庫的路徑