Liunx命令(一)

来源:https://www.cnblogs.com/liumuz/archive/2018/03/29/8653367.html
-Advertisement-
Play Games

常用命令: ls:是list的簡稱。預設情況下用來列印出當前目錄的列表。使用命令:ls [選項] [文件目錄] -a, –all 列出目錄下的所有文件,包括以 . 開頭的隱含文件。-A同-a,但不列出“.”(表示當前目錄)和“..”(表示當前目錄的父目錄)。-c 配合 -lt:根據 ctime 排序 ...


常用命令:

ls:是list的簡稱。預設情況下用來列印出當前目錄的列表。使用命令:ls [選項] [文件目錄]

-a–all 列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-A-a,但不列出“.”(表示當前目錄)和“..”(表示當前目錄的父目錄)。
-c 配合 -lt:根據 ctime 排序及顯示 ctime (文件狀態最後更改的時間)配合 -l:顯示 ctime 但根據名稱排序否則:根據 ctime 排序
-C 每欄由上至下列出項目
–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是’never’、’always’或’auto’其中之一
-d–directory 將目錄象文件一樣顯示,而不是顯示其下的文件。
-D–dired 產生適合 Emacs 的 dired 模式使用的結果
-f 對輸出的文件不進行排序,-aU 選項生效,-lst 選項失效
-g 類似-l,但不列出所有者
-G–no-group 不列出任何有關組的信息
-h–human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
–si 類似 -h,但文件大小取 1000 的次方而不是 1024
-H–dereference-command-line 使用命令列中的符號鏈接指示的真正目的地
–indicator-style=方式 指定在每個項目名稱後加上指示符號<方式>:none (預設),classify (-F),file-type (-p)
-i–inode印出每個文件的 inode 號
-I–ignore=樣式 不印出任何符合 shell 萬用字元<樣式>的項目
-k 即 –block-size=1K,以 k 位元組的形式表示文件的大小。
-l 除了文件名之外,還將文件的許可權、所有者、文件大小等信息詳細列出來。
-L–dereference 當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象而並非符號鏈接本身的信息
-m所有項目以逗號分隔,並填滿整行行寬
-o 類似 -l,顯示文件的除組信息外的詳細信息。
-r–reverse 依相反次序排列
-R–recursive 同時列出所有子目錄層
-s–size 以塊大小為單位列出所有文件的大小
-S 根據文件大小排序

-t 以文件修改時間排序
-u 配合 -lt:顯示訪問時間而且依訪問時間排序

-U 不進行排序;依文件系統原有的次序列出項目
-v 根據版本進行排序
-w–width=COLS 自行指定屏幕寬度而不使用目前的數值
-x 逐行列出項目而不是逐欄列出
-X 根據擴展名排序
-1 每行只列出一個文件
–help 顯示此幫助信息並離開
–version 顯示版本信息並離開

cd:Linux中最基礎的命令。用於切換當前目錄至dirName。使用命令:cd  [目錄名]   

*Linux中使用“\”進入根目錄。

pwd:查看當前工作目錄的完整路徑。使用命令:pwd[選項]

-L 目錄連接鏈接時,輸出連接路徑

-P 輸出物理路徑

mkdir:用於在指定位置創建文件夾或目錄。使用命令:mkdir  [選項] [目錄]

-m, —mode=模式,設定許可權<模式> (類似 chmod),而不是 rwxrwxrwx 減 umask

-p--parents 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;

-v--verbose - 每次創建新目錄都顯示信息

rm:刪除文件和目錄。使用命令:rm  [選項] 文件名

-f--force 忽略不存在的文件,從不給出提示。

-i--interactive 進行互動式刪除

-r-R--recursive 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。

-v--verbose 詳細顯示進行的步驟

rmdir :刪除空目錄,即與rm項目,其差別在於刪除的目錄必須是空的。使用命令:rmdir [選項] 目錄名。

- p遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標準輸出上顯示相應的信息。

-v--verbose 顯示指令執行過程

mv:move的縮寫。移動文件或者給文件改名。使用命令:mv [選項] 源文件或目錄 目標文件或目錄。

-b:若需覆蓋文件,則覆蓋前先行備份。

-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;

-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!

-u :若目標文件已經存在,且 source 比較新,才會更新(update)

-t : —target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在後。

cp:命令用來複制文件或者目錄,是Linux系統中最常用的命令之一。一般情況下,shell會設置一個別名,在命令行下複製文件時,如果目標文件已經存在,就會詢問是否覆蓋,不管你是否使用-i參數

使用命令:cp [選項] ...[-T] 源 目的 或 cp [選項] ...源...目錄 或 cp[選項]  -t 目錄 源...

-a--archive - 等於-dR --preserve=all--backup[=CONTROL為每個已存在的目標文件創建備份

-b - 類似 --backup 但不接受參數 --copy-contents 在遞歸處理是複製特殊文件內容

-d - 等於--no-dereference --preserve=links

-f--force - 如果目標文件無法打開則將其移除並重試(當 -n 選項 存在時則不需再選此項)

-i--interactive - 覆蓋前詢問(使前面的 -n 選項失效)

-H - 跟隨源文件中的命令行符號鏈接

-l--link - 鏈接文件而不複製

-L--dereference - 總是跟隨符號鏈接

-n--no-clobber - 不要覆蓋已存在的文件(使前面的 -i 選項失效)

-P--no-dereference - 不跟隨源文件中的符號鏈接

-p - 等於--preserve=模式,所有權,時間戳

--preserve[=屬性列表 保持指定的屬性(預設:模式,所有權,時間戳)

-R-r--recursive 複製目錄及目錄內的所有項目

不常用命令:

touch:用於修改文件時間戳,或者新建一個不存在的文件。 使用命令:touch [選項] 文件

-a--time=atime--time=access--time=use 只更改存取時間。

-c 或--no-create不建立任何文檔。

-d 使用指定的日期時間,而非現在的時間。

-f 此參數將忽略不予處理,僅負責解決BSD版本touch指令的相容性問題。

-m 或--time=mtime--time=modify  只更改變動時間。

-r 把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同。

-t 使用指定的日期時間,而非現在的時間。

 cat:鏈接文件或標準輸入並列印。常用於顯示文件內容,或者將幾個問價連接起來顯示,或者從標準輸入讀取內容並顯示,常與重定向符配合使用。使用命令:cat [選項] [文件]

三大功能:

  1. 一次顯示整個文件:cat filename
  2. 從鍵盤創建一個文件:cat > filename 只能創建新文件,不能編輯已有文件.
  3. 將幾個文件合併為一個文件:cat file1 file2 > file

選項:

  • -A--show-all 等價於 -vET
  • -b--number-nonblank 對非空輸出行編號
  • -e 等價於 -vE
  • -E--show-ends 在每行結束處顯示$
  • -n--number 對輸出的所有行編號,由1開始對所有輸出的行數編號
  • -s--squeeze-blank 有連續兩行以上的空白行,就代換為一行的空白行
  • -t 與 -vT 等價
  • -T--show-tabs 將跳格字元顯示為 ^I
  • -u (被忽略)
  • -v--show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

nl:用於計算文件中的行號。nl可以將輸出的文件內容自動加上行號,預設的結果與cat -n不太一樣。nl可以對行號做比較多的顯示設計,包括位數是否自動補齊0等等的功能。使用命令:nl [選項] [文件]

-b :指定行號指定的方式,主要有兩種:

-b a :表示不論是否為空行,也同樣列出行號(類似 cat -n);

-b t :如果有空行,空的那一行不要列出行號(預設值);

-n :列出行號表示的方法,主要有三種:

-n ln :行號在螢幕的最左方顯示;

-n rn :行號在自己欄位的最右方顯示,且不加 0 ;

-n rz :行號在自己欄位的最右方顯示,且加 0 ;

-w :行號欄位的占用的位數。

-p 在邏輯定界符處不重新開始計算。

more:功能類似 cat ,cat命令是整個文件的內容從上到下顯示在屏幕上。more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能 。more命令從前向後讀取文件,因此在啟動時就載入整個文件。使用命令:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

+n 從笫n行開始顯示

-n 定義屏幕大小為n

+/pattern 在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示

-c 從頂部清屏,然後顯示

-d 提示“Press space to continue,’q’ to quit(按空格鍵繼續,按q鍵退出)”,禁用響鈴功能

-l 忽略Ctrl+l(換頁)字元

-p 通過清除視窗而不是滾屏來對文件進行換頁,與-c選項相似

-s 把連續的多個空行顯示為一行

-u 把文件內容中的下畫線去掉

操作命令:

Enter 向下n行,需要定義。預設為1

Ctrl+F 向下滾動一屏

空格鍵 向下滾動一屏

Ctrl+B 返回上一屏

= 輸出當前行的行號

:f 輸出文件名和當前行的行號

V 調用vi編輯器

! 命令, 調用Shell,並執行命令

q 退出more

less:less命令也是對文件或其它輸出進行分頁顯示的工具,應該說是linux正統查看文件內容的工具,功能極其強大。less 的用法比起 more 更加的有彈性。在 more 的時候,我們並沒有辦法向前面翻, 只能往後面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往後翻看文件,更容易用來查看一個文件的內容!除此之外,在 less 裡頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。使用命令:less [參數] 文件

-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]: 向上翻動一頁

附加備註:

全屏導航:

ctrl + F - 向前移動一屏

ctrl + B - 向後移動一屏

ctrl + D - 向前移動半屏

ctrl + U - 向後移動半屏    

單行導航:

j - 向前移動一行

k - 向後移動一行

其它導航:

G - 移動到最後一行

g - 移動到第一行

q / ZZ - 退出 less 命令

其它有用的命令:

v - 使用配置的編輯器編輯當前文件

h - 顯示 less 的幫助文檔

&pattern - 僅顯示匹配模式的行,而不是整個文件

標記導航:

當使用 less 查看大文件時,可以在任何一個位置作標記,可以通過命令導航到標有特定標記的文本位置:

ma - 使用 a 標記文本的當前位置

‘a - 導航到標記 a 處

head:用於顯示文件開頭某個數量的文字區塊。使用命令:head [參數] [文件]

-q 隱藏文件名

-v 顯示文件名

-c<位元組> 顯示位元組數

-n<行數> 顯示的行數

tail:從指定點開始將文件寫到標準輸出。使用命令:tail [必要參數] [選擇參數] [文件]

-f 迴圈讀取

-q 不顯示處理信息

-v 顯示詳細的處理信息

-c<數目> 顯示的位元組數

-n<行數> 顯示行數

--pid=PID 與-f合用,表示在進程ID,PID死掉之後結束。

-q--quiet--silent 從不輸出給出文件名的首部。

-s--sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒

文件查找命令:

which:查看可執行文件的位置。在PATH變數指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。使用命令:which 可執行文件名稱。

-n - 指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名。

-p - 與-n參數相同,但此處的包括了文件的路徑。

-w - 指定輸出時欄位的寬度。

-V - 顯示版本信息

 whiereis:whereis命令只能用於程式名的搜索,而且只搜索二進位文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。使用命令:whieris [-bmsu] [BMS -目錄名 -f] 文件名

-b - 定位可執行文件。

-m - 定位幫助文件。

-s - 定位源代碼文件。

-u - 搜索預設路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件。

-B - 指定搜索可執行文件的路徑。

-M - 指定搜索幫助文件的路徑。

-S - 指定搜索源代碼文件的路徑。

locate:locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有檔案名稱及路徑的資料庫,之後當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。在一般的 distribution 之中,資料庫的建立都被放在 crontab 中自動執行。locate [選擇參數] [樣式]

-e - 將排除在尋找的範圍之外。

-1 - 如果是1。則啟動安全模式。在安全模式下,使用者不會看到許可權無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統中取得檔案的許可權資料。

-f - 將特定的檔案系統排除在外,例如沒有到理要把 proc 檔案系統中的檔案放在資料庫中。

-q 安靜模式,不會顯示任何錯誤訊息。

-n 至多顯示 n 個輸出。

-r 使用正規運算式 做尋找的條件。

-o 指定資料庫存的名稱。

-d 指定資料庫的路徑

-h 顯示輔助訊息

-V 顯示程式的版本訊息

find:在文件樹中查找文件,並做出相應的處理。語法:find pathname -options [-print -exec -ok]

命令參數

  • pathname - find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。
  • -print - find命令將匹配的文件輸出到標準輸出。
  • -exec - find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為’command’ { } \;,註意{ }和\;之間的空格。
  • -ok - 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。

命令選項

  • -name 按照文件名查找文件。
  • -perm 按照文件許可權來查找文件。
  • -prune 使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用-depth選項,那麼-prune將被find命令忽略。
  • -user 按照文件屬主來查找文件。
  • -group 按照文件所屬的組來查找文件。
  • -mtime -n +n 按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前。find命令還有-atime-ctime 選項,但它們都和-m time選項。
  • -nogroup 查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。
  • -nouser 查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。
  • -newer file1 ! file2 查找更改時間比文件file1新但比文件file2舊的文件。
  • -type 查找某一類型的文件,諸如:
  • b - 塊設備文件。
  • d - 目錄。
  • c - 字元設備文件。
  • p - 管道文件。
  • l - 符號鏈接文件。
  • f - 普通文件。
  • -size n:[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以位元組計。-depth:在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。
  • -fstype:查找位於某一類型文件系統中的文件,這些文件系統類型通常可以在配置文件/etc/fstab中找到,該配置文件中包含了本系統中有關文件系統的信息。
  • -mount:在查找文件時不跨越文件系統mount點。
  • -follow:如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。
  • -cpio:對匹配的文件使用cpio命令,將這些文件備份到磁帶設備中。

另外,下麵三個的區別:

  • -amin n 查找系統中最後N分鐘訪問的文件
  • -atime n 查找系統中最後n*24小時訪問的文件
  • -cmin n 查找系統中最後N分鐘被改變文件狀態的文件
  • -ctime n 查找系統中最後n*24小時被改變文件狀態的文件
  • -mmin n 查找系統中最後N分鐘被改變文件數據的文件
  • -mtime n 查找系統中最後n*24小時被改變文件數據的文件

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 廢話少說,直接上總結: 一、在命名空間下: 二、成員 ...
  • C#3DES加密解密,JAVA、PHP可用 ...
  • xp 虛擬機運行WPF程式的時候,有部分控制項透明,在這兒有一個可能的解決方案: 關閉系統的硬體加速: 1、 按“WIN” + R 鍵,在“運行”輸入框中輸入“dxdiag”; 2、 在“DirectX 診斷工具”對話框,選擇“顯示”頁面,在“DirectX 功能”里點擊“禁用”按鈕,將“Direct ...
  • 一、什麼是隊列 隊列(Queue)代表了一個先進先出的對象集合。當您需要對各項進行先進先出的訪問時,則使用隊列。當您在列表中添加一項,稱為入隊,當您從列表中移除一項時,稱為出隊。 這是摘抄網上的。做了個demo,但筆者技術有限,如有改進的地方,歡迎大神多多指導。 二、利用隊列來處理訂單問題 思路:開 ...
  • 深入淺出話命令(Command)-筆記(-) 一 基本概念 命令的基本元素: 命令的使用步驟: 二 小試牛刀 實現這樣一個需求:定義一個命令,使用Button 來發送這個命令,當命令到達Textbox時,清空Text(當Textbox為空時,Button不可用)。 XAML代碼: CS代碼: 運行效 ...
  • 關註微軟dotnet core有一年多了,最近才開始著手使用,由於我們的開發環境不能連接互聯網,因此很多的插件和配置需要離線安裝,這裡把我碰到的一些離線安裝的插件分享出來供大家搭建時借鑒。 我的安裝環境是windows 7 X64 VS Code版本:ms-vscode.csharp-1.14.0 ...
  • 一、String到底是值類型還是引用類型 MSDN 中明確指出 String 是引用類型而不是值類型,但 String 錶面上用起來卻像是值類型,這又是什麼原因呢? 首先從下麵這個例子入手: 輸出結果: 從運行結果可以看出:str2 的值還是 ab ,並沒有隨著 str1 值的改變而改變。如果str ...
  • 本文目錄:1.drbd簡介2.drbd工作原理和術語說明 2.1 drbd工作原理 2.2 drbd複製協議模型 2.3 drbd設備的概念 2.4 drbd資源角色 2.5 drbd工作模式 2.6 drbd分區說明3.drbd部署實驗 3.1 實驗環境和部署前的準備 3.2 yum安裝drbd  ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...