熟練使用linux常用基本命令梳理彙總 (萬字長文)

来源:https://www.cnblogs.com/DSCL-ing/p/18341263
-Advertisement-
Play Games

目錄Linux基本命令簡單認識shell認識命令的基本格式:內建命令與外部命令查看命令的類型-type查看命令的使用方法-helpmkdirpwdtouchecho認識路徑lscd認識熱鍵/linux熱鍵treenanocatgccstatrmrmdir基本認識--創建目錄許可權linux有多少條指令 ...


目錄

Linux基本命令

linux平臺開發者常用命令,掌握這些基本命令後基本可以熟練使用linux了.

簡單認識shell

Shell的最簡單定義:命令行解釋器(command Interpreter)主要包含:

  • 將使用者的命令翻譯給核心(kernel)處理。同時,將核心的處理結果翻譯給使用者
  • 保護操作系統 -- 防止用戶執行非法指令
  • 執行命令會創建子進程進行執行

我們平常的命令主要是通過shell來和linux內核交互,shell幫我們解釋命令給kernel -- shell命令
shell是一個程式/命令 :/usr/bin/bash ,即bash.

我們鏈接上伺服器時會自動關聯上shell程式 -- bash也是一個可執行程式,使用C語言寫的

其他定義

  • shell是linux的外殼程式,是軟體層,命令行

  • shell是適配程式,將內核適配後提供給用戶合適的介面

  • shell是所有外殼程式的統稱,linux的內核程式是bash ,統稱shell

命令輸入的地方叫做: 命令行 /

CLI/命令行界面 Command Line Interface

GUI/圖形化用戶界面 Graphical User Interface

什麼是CLI(命令行界面)、GUI(圖形用戶界面)、Terminal(終端)、Console(控制台)、Shell、TTY-CSDN博客

認識命令的基本格式:

# 命令 -[命令選項] ...

內建命令與外部命令

linux命令分為兩種.分別是內建命令外部命令

內建命令:shel內建命令是指bash(或其它版本)工具中集成的命令.

外部命令:外部命令是安裝外部軟體所帶的命令

其中內建命令要比外部命令有比較高的執行效率。外部命令執行時往往需要fork出(產生出)一個子進程,而內建命令一般不用。外部命令是在bash之外額外安裝的,通常放在/bin,/usr/bin,/sbin,/usr/sbin…等等。可通過“echo $PATH”命令查看外部命令的存儲路徑,比如:ls、vi等。

查看命令的類型-type

# type: type [-afptP] 命令 

常見類型:

builtin 內部指令
file 文件
function 函數
keyword 關鍵字
alias 別名
unfound 沒有找到

查看命令的使用方法-help

對於內建命令 一般語法為:

# help 內建命令

一般是 Linux 命令自帶的幫助信息,並不是所有命令都自帶這個選項。

而對於外部命令ls,我們想查看命令 ls 的用法:ls --help

# ls --help

mkdir

# mkdir 目錄名  //創建目錄(linux)/文件夾(win)
# mkdir -p d1/d2/d3/...   //創建一串路徑/目錄; 遞歸創建多個目錄

pwd

# pwd  //顯式當前目錄的絕對路徑

touch

創建空文件與修改時間戳

# touch	文件名.尾碼          //創建普通文件
# touch 已存在文件 					//更新Atime、Ctime

echo

輸出字元串或提取後的變數值

# echo "字元串" > 文件 //清空文件再寫入,'w'

認識路徑

$ 以.開頭的文件/目錄是隱藏文件/目錄
$ / 為linux下的根,linux下為目錄為藍色(centos7-shell)

# .  //當前路徑
# .. //上級路徑
# C:\Users\26390\Desktop //  windows下的路徑,  (反斜杠) \ : 路徑分割符
# /root/test             //  linux下的路徑,      (斜杠) / : 路徑分隔符

$ windows下文件夾內可以有新的文件夾,linux下目錄內可以有新的目錄 -- 所以linux的根 / 和路徑分隔符 / 不衝突
$ linux整體是一個多叉樹的樣子/結構


$ windows通過路徑來定位文件/文件夾,linux也是如此.  
為什麼呢? > 任何一個目錄都可以有多個子目錄,但一個子目錄只有一個父目錄 -->因此一條路徑能唯一標識一目錄/文件 
$ 路徑分為1.絕對路徑 2.相對路徑(相對是相對於當前路徑,如果當前路徑改變了,則相對路徑也會發生改變 ->失效)

$ 絕對路徑使用場景:準確但麻煩,一般是在某些配置環境中,進行對某種文件進行配置時採用!
$ 相對路徑使用場景:用起來簡單,是後序指令操作時,常用的路徑定位方案!

ls

顯示目錄中文件及其屬性信息

# ls -l(l:list) //以list的形式顯式更多的屬性

# ls -t  				//按時間先後排序
# ls -rt 				//按時間先後逆序排序

# ls -ul  //以uid形式顯式屬性

# ls -ld /   //只顯示路徑,不顯示內容

# ll -h  // h:  human_readable//人類可讀的 -- 即顯示大小,kb,Mb,...

cd

cd = change directory

# cd ~  //進入/home目錄
$ 超級用戶/管理員root的~獨立位於/root
$ 普通用戶的~都位於/home底下 -- ~稱為普通用戶的家目錄
$ window也有家目錄,位於C:\Users ,

# cd -   //回到上一次訪問的目錄

認識熱鍵/linux熱鍵

熱鍵:高頻被使用的按鍵

linux中一個熱鍵就是tab鍵

# 快速雙擊tab鍵  -->命令的自動補齊:1.顯式出匹配的所有命名 2.顯示出匹配目錄下的所有文件
# 不想進入目錄又想查看其他目錄有哪些文件 --> 無腦 tab../../../../

tree

tree是一個把指定目錄以樹的形式組織並輸出到終端的命令,這個命令一般的linux中都需要用戶主動安裝

# tree [空] / [.] / [..] / [其他目錄]   //以樹的形式把指定目錄列印出來,不加命令選項預設是當前目錄


$ -bash: tree: command not found 	//說明沒有tree命令
解決方法:root下# yum install -y tree  //如果是Ubuntu,則是# apt-get install -y tree

nano

文本編輯器nano

# nano 文件  //使用nano編輯器打開文件
$ nano :nano是Unix/Linux下的一個文本編輯器
nano編輯器的快捷鍵使用
Ctrl+G 幫助
Ctrl+X 退出
Ctrl+O 保存
Ctrl+R 複製指定文件內容
Ctrl+W 查找
Ctrl+\ 替換
Ctrl+K 剪切
Ctrl+U 粘貼
Ctrl+J 調整段落
Ctrl+T 檢查拼寫
Ctrl+C 游標位置信息
Ctrl+Shift+_ 跳轉到指定行
Alt+U 撤銷
Alt+E 反撤銷
Alt+A 從游標位置開始標記/選擇
Alt+6 複製
Ctrl+3 & Shift+3 顯示行號
//nano不能用數字小鍵盤,只能用數字橫鍵盤
//cancel :取消

cat

在終端設備上顯示文件內容

# cat 文件  // 列印/顯式文件內容 
$ 將[文件]或標準輸入組合輸出到標準輸出。

高級用法

cat用法:cat [選項] [文件]...
將[文件]或標準輸入組合輸出到標準輸出。
  -A, --show-all           等價於 -vET
  -b, --number-nonblank    對非空輸出行編號
  -e                       等價於 -vE
  -E, --show-ends          在每行結束處顯示 $
  -n, --number             對輸出的所有行編號                //學
  -s, --squeeze-blank      不輸出多行空行                    //把連續的空行合併成一行
  -t                       與 -vT 等價
  -T, --show-tabs          將跳格字元顯示為 ^I
  -u                       (被忽略)
  -v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
      --help     顯示此幫助信息並退出
      --version  輸出版本信息並退出
如果[文件]預設,或者[文件]為 - ,則讀取標準輸入。

gcc

gcc是c語言編譯器,可以用於編譯c代碼

# gcc .c文件 //編譯.c文件,預設得到a.out可執行文件 //可執行文件是綠色
# ./a.out    //執行可執行文件,執行a.out文件  -- 可執行文件在linux下必須帶./  

stat

獲取文件的屬性信息

# stat 文件  //獲取文件的屬性信息
$ 任何文件都有三種時間:A.C.M.時間:1.Access(訪問) 2.Modify(內容) 3.Change(屬性)
$ ll顯式的時間是M時間

rm

# rm  空目錄/文件   //刪除文件或空目錄  
# rm -f 空目錄/文件 //刪除文件或空目錄  --- 不提示/不通知
# rm -r 目錄/文件   //遞歸刪除目錄內的所有文件/目錄
# rm -rf 目錄/文件  //強制遞歸刪除目錄內的所有文件/目錄 -- 不提示/不通知/不需要確認/什麼都能刪,只要許可權夠 直接刪完
# rm * -rf       //把當前目錄的所有文件刪掉 -- 不帶路徑預設為當前目錄 --  '*' ,linux通配符,代表所有文件
# rm *.尾碼 -rf  //把帶有相同尾碼的文件全部刪除
$ 通配符:可以匹配上任意個數的任意字元

rmdir

# rmdir 目錄     //刪除目錄,只能刪除非空目錄 -- 也沒有支持遞歸刪除的命令選項,所以目前沒什麼用
//rmdir:failed to remove :刪除失敗
$ 為什麼要有 -- 如果有一個文件和目錄同名,想刪目錄可以用rmdir 或 rm -r 目錄, 想刪文件用rm(預設刪的就是文件) --這樣就區分開來

基本認識--創建目錄許可權

普通用戶只能在 /home/自己/... 內創建文件 ,root在哪裡都可以創建

linux有多少條指令

輸入框為空時按一下table可以顯式當前linux系統有多少條指令 -- 阿裡雲輕量應用級有1265條左右

man

man命令:打開C/C++/系統調用等 語法手冊

安裝man手冊
# yum install -y man-pages //安裝man手冊

基本使用
# man [號] xx  //搜索[幾號]man手冊併進入,沒有號碼則預設搜索全部
# man man //打開man手冊首頁

如果man2,3查不到,嘗試安裝
# yum install -y man-pages.noarch 

//man 2 一般是系統調用
//man 3 一般是C庫



    

man命令選項:

# -k 或 --apropos:用於搜索手冊頁面的簡要描述。例如,man -k keyword會搜索包含關鍵字的手冊頁面的簡要描述。
    //可以搜索包含關鍵字的句子 所在的手冊頁
    
# -f 或 --whatis:用於查找手冊頁面的簡要描述,類似於-k選項。
    //只搜索目錄,和直接man搜索一樣,顯示所在的手冊頁
    
# -p 或 --pager:指定用於查看手冊頁面的分頁器(pager),預設情況下使用less。
    //man -p less ls
    //就是選擇什麼文檔查看器來看文檔
    
# -S 或 --sections:指定要查看的手冊部分。預設情況下,man會搜索所有部分,但你可以使用此選項來指定特定部分。
    //就是man 3 printf 的簡寫

sudo

授權普通用戶執行管理員命令

# sudo 命令  //命令提權

cp

拷貝 copy

# cp 普通文件 目錄 // 拷貝普通文件到目錄中
# cp -r 目錄  目錄 // 拷貝目錄到目錄中,必須帶-r,遞歸拷貝 

命令選項可以放中間也可以放在最後 // 最好保持放中間,有些系統不支持,如mac

mv

  • move:移動
# mv 目錄/文件 目錄  //移動目錄/文件,不需要帶遞歸-r命令選項   ,後面一項一定是目錄
# mv 目錄/文件 ..    //移動文件/目錄到上級目錄
# mv 目錄/文件 .    //移動文件/目錄到當前目錄
  • 文件重命名
# mv 舊文件名  新文件名  //重命名 --                        後面一項一定時文件名
  • 文件移動+重命名
# mv 舊文件名  路徑/new_filename(帶目錄的新文件名)    //如果第二項是是目錄且帶著一個沒有重覆的文件名,則是移動+重命名
  • 目錄重命名
# mv 目錄   新目錄名(不能和所在路徑有重覆)  //當前目錄下重命名
  • 目錄剪切+重命名
# mv 目錄  帶路徑的新目錄名(不能和所在路徑有重覆)   //



linux下一切皆文件,鍵盤,顯示器...可以讀,可以寫都是文件

wc

word cound

# wc 文件 //wc命令的功能為統計指定文件中的位元組數、單詞數、行數, 並將統計結果顯示輸出
-c, --bytes列印位元組數
-m, --chars  列印字元數 
-l, --lines  列印行數                                   //學
-L, --max-line-length  列印最長行的長度
-w, --words 列印單詞數
//作用,可以統計總代碼行數.
# wc -l * 統計當前項目下的所有代碼行數

//示例
# who | wc -l //按行統計

> 和 >>

> 為輸出重定向

>>為追加重定向

# echo    文本內容  >  文件   // 輸出 文本內容 重定向 到文件 , '>'為輸出重定向符號 -- 如果文件不存在,輸出重定向>會創建一個新文件並寫入
$ '>'輸出重定向是一種覆蓋式寫入 ,清空文件再寫入
$ '>>' 追加重定向:追加重定向是追加式寫入,在原文件內容的末尾追加寫入,給原文件新增內容
// 重定向 redirect

<

< 輸入重定向

$ cat預設是重鍵盤讀取數據 -- 只輸入cat就會進入鍵盤讀取狀態,打一個回顯一個,直到ctrl+C
# cat < 文件  //讀入重定向到文件,預設是鍵盤 -- 和# 【cat 文件】  不一樣 , 【cat 文件】是命令獲取文件

more

分頁顯示文本文件內容

# more 文件 //按屏幕大小顯式文件內容 -- 按回車翻頁,並且只能向下翻頁,按q推出

less

分頁顯示文件內容

# less 文件 //按屏幕大小顯式文件內容 -- 按上下鍵翻頁,可以自由翻頁,按q推出
//搜索 輸入/搜索內容+回車 , 轉到下一個搜索結果按n(next)

less 與more命令類似,但可以通過翻頁鍵查看上下頁的內容
-b<緩衝區大小> 設置緩衝區的大小
-e 當文件顯示結束後,自動離開
-f 強迫打開特殊文件,例如外圍設備代號、目錄和二進位文件
-g 只標誌最後搜索的關鍵詞
-i 忽略搜索時的大小寫
-m 顯示類似more命令的百分比
-N 顯示每行的行號
-o<文件名> 將less 輸出的內容在指定文件中保存起來
-Q 不使用警告音
-s 顯示連續空行為一行
-S 行過長時間將超出部分捨棄
-x<數字> 將“tab”鍵顯示為規定的數字空格

命令內部操作按鍵功能如下:
b 向前翻一頁
d 向後翻半頁
h 顯示幫助界面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一頁
回車鍵 滾動一行 

1) 向前搜索
    / : 使用一個模式進行搜索,並定位到下一個匹配的文本
    n : 向前查找下一個匹配的文本
    N : 向後查找前一個匹配的文本

2) 向後搜索
    ? : 使用模式進行搜索,並定位到前一個匹配的文本
    n : 向後查找下一個匹配的文本
    N : 向前查找前一個匹配的文本

2 全屏導航
    ctrl + F :向前移動一屏
    ctrl + B :向後移動一屏
    ctrl + D :向前移動半屏
    ctrl + U :向後移動半屏

3 單行導航
    j : 向前移動一行
    k : 向後移動一行

4 其它導航
    G : 移動到最後一行
    g : 移動到第一行
    q / ZZ : 退出 less 命令

5 編輯文件
    v : 進入編輯模式,使用配置的編輯器編輯當前文件

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

7 瀏覽多個文件
    方式一,傳遞多個參數給 less,就能瀏覽多個文件。
    less file1 file2

    方式二,正在瀏覽一個文件時,使用 :e 打開另一個文件。
    less file1
    :e file2
    
    當打開多個文件時,使用如下命令在多個文件之間切換
    :n - 瀏覽下一個文件
    :p - 瀏覽前一個文件

顯示文件/文本開頭的內容

# head 文件 //預設會把文件的前10行列印出來,不夠10行有多少打多少
# head -n5 文件 //設置成只列印前5行
# head -5 文件 //一樣,省略,設置成只列印前5行

tail

顯示文件/文本尾部的內容

# tail 文件 //
# tail -3 文件
# tail -n3 文件

管道 |

'|' :管道 ,管道最核心的意義在於:可以級聯多條命令,讓命令和命令組合,來完成批量化文本處理任務,做數據的不斷加工

# wc -l 文件 //統計文件有多少行
# cat 文件 | wc -l  //cat的數據流入管道,wc統計管道數據的行數
//從左到右一次執行,結果由最後一條命令輸出

date

顯示或設置系統日期與時間

# date //linux時間
# date +%Y-%m-%d_%H:%M:%S //格式化輸出時間
# date +%s //輸出時間戳  -- 格林尼治時間  --因時區問題,顯式為8:00
# date +%Y-%m-%d_%H:%M:%S -d @時間戳  //將時間戳轉為格式化輸出

cal

日曆 calendar [ˈkælɪndər]

# cal //顯式當前月份日曆
# cal 2023(年份) //顯式該年的所有月份
# cal -3  // 顯式本月和前後月  //*只有命令選項只有-3

sort
對文件內容進行排序

# sort 文件  //按行的ascii比較,預設是升序 -- 排序後列印
# sort -r 文件 //降序 r為reverse
# sort 文件 | uniq //排序後去重 -- 單純去重沒有用
//sort - uniq都不會修改源文件

搜索三件套之find

根據路徑和條件搜索指定文件

# find 路徑 -name 文件  //在路徑底下搜索文件 -- 第一次搜索很慢,第二次會快,因為linux會把常用搜索緩存起來  
要獲取特定文件的路徑
find ~ -name example.txt //範圍儘可能小,使用~比較好

搜索三件套之which

查找命令文件,能夠快速搜索二進位程式所對應的位置。

# which 指令  //搜索指令所在目錄 //搜索可執行程式

常用命令

-a 顯示PATH變數中所有匹配的可執行文件 --help 顯示幫助信息
-n 設置文件名長度(不含路徑) --read-functions 從標準輸入中讀取shell函數定義
-p 設置文件名長度(含路徑) --show-tilde 使用波浪線代替路徑中的家目錄
-V 顯示版本信息 --skip-dot 跳過PATH變數中以點號開頭的目錄
-w 設置輸出時欄位的寬度

搜索三件套之whereis

whereis命令的功能是顯示命令及相關文件的路徑位置信息,可用於找到命令(二進位程式)、命令源代碼、man幫助手冊等相關文件的路徑位置信息.

# whereis 文檔/程式/壓縮包...  //搜索各種

//linux基本所有指令都在 /usr/bin下
//linux指令是可執行程式(綠色),就是平時寫的C/C++語言代碼編譯好的可執行程式 --指令,程式,工具沒本質區別

alias

設置命令別名

# alias 別名='命令+命令選項組合'  //給命令+選項起別名
$ 為什麼我們ls時有些文件會帶顏色: 因為ls是'ls --color=auto的'別名

grep

文本/行過濾工具

grep = global search regular expression and print out the line

意思是用於全面搜索的正則表達式,並將結果輸出


# grep '關鍵字' 文件 //過濾出文件中具有關鍵字的行 -- grep為文本行過濾工具

    
# grep -v '關鍵字' 文件  //過濾掉文件中具有關鍵字的行 -- 不顯示有關鍵字的行
	// grep -ivn '關鍵字' 文件     //組合命令
	//cat 文件|grep  '關鍵字' 文件 //管道級聯組合
註意:grep儘量帶''或"",特別是有空格或其他符號
    
# grep -E 'proc1|command' //啟用正則表達式查詢 proc1或其他關鍵詞. 
    // egrep == grep -E       //是別名
    
# -c選項   //僅顯示行號
# -n選項   //描述+行號
# -i選項   //ignore,忽略大小寫

常用參數

-b 顯示匹配行距文件頭部的偏移量 -o 顯示匹配詞距文件頭部的偏移量
-c 只顯示匹配的行數 -q 靜默執行模式
-E 支持擴展正則表達式 -r 遞歸搜索模式
-F 匹配固定字元串的內容 -s 不顯示沒有匹配文本的錯誤信息
-h 搜索多文件時不顯示文件名 -v 顯示不包含匹配文本的所有行
-i 忽略關鍵詞大小寫 -w 精準匹配整詞
-l 只顯示符合匹配條件的文件名 -x 精準匹配整行
-n 顯示所有匹配行及其行號

命令grep命令使用實例解析!! – Linux命令大全(手冊) (linuxcool.com)

top

linux任務管理器

top命令的功能是實時顯示系統運行狀態,包含處理器、記憶體、服務、進程等重要資產信息。運維工程師們常常會把top命令比作“加強版的Windows任務管理器”,因為除了能看到常規的服務進程信息之外,還能夠對處理器和記憶體的負載情況一目瞭然,實時感知系統全局的運行狀態。top命令非常適合作為接手伺服器後執行的第一條命令。

常用參數

-a 按記憶體使用情況排序 -n 設置顯示的總次數,完成後自動退出
-b 使用批處理模式,不進行互動式顯示 -p 僅顯示指定進程ID
-c 使用顯示模式 -s 使用安全模式,不允許互動式指令
-d 設置顯示的更新速度 -u 僅顯示與指定用戶ID
-h 顯示幫助信息 -v 使用線程模式
-i 不顯示任何閑置或僵死的行程 -w 設置顯示的寬度
-M 顯示記憶體單位

zip

打包 並壓縮

語法格式:zip 參數 目標文件名.zip 源文件或目錄名

# zip 打包的包名.zip  要打包的文件/目錄     // 把文件打包 -- 只打包當前(1個/最外層)目錄或文件
# zip -r 打包的包名.zip  要打包的文件/目錄  // 遞歸打包文件/目錄

參數

-A 自動解壓縮文件 -n 不壓縮具有特定字元串的文件
-b 設置暫存文件的目錄 -q 靜默執行模式
-c 添加註釋信息到壓縮文件 -r 遞歸處理所有子文件
-d 更新壓縮包內文件 -S 包含系統和隱藏文件
-F 嘗試修複損壞的壓縮文件 -t 設置壓縮時間為指定日期
-h 顯示幫助信息 -T 檢查壓縮文件是否正確無誤
-i 僅壓縮符合條件的文件 -v 顯示執行過程詳細信息
-k 使用MS-DOS相容格式 -V 保留VMS操作系統的文件屬性
-l 將“LF”替換成“LF+CR”字元 -w 在文件名稱中加入版本編號
-L 顯示版本信息 -X 不保留過多的文件屬性信息
-m 壓縮後刪除源文件 -y 直接保存符號鏈接,而不是對應文件

unzip

zip解包

unzip命令用於解壓縮zip格式的文件,雖然Linux系統中更多地使用tar命令對壓縮包進行管理操作,但有時也會接收到Windows系統常用的zip和rar格式的壓縮包文件,unzip命令便派上了用場。直接使用unzip命令解壓縮文件後,壓縮包內原有的文件會被提取並輸出保存到當前工作目錄下。

語法格式:unzip 參數 壓縮包名

# unzip 要解包的文件(xxx.zip)

# unzip 壓縮文件 -d 路徑/目錄  //解壓縮到指定目錄 d:dir

# zip 文件.rar 文件 // 沒問題 尾碼名可以為7z,rar,zip,解壓也可以,用unzip --- 猜測是壓縮演算法是zip,尾碼格式相容或無所謂

//zip安裝
# yum install -y unzip zip //安裝 zip和unzip,可以把zip和unzip分開寫 -- 安裝多個包時用空格分開

zip文件查看壓縮包
{
zip -sf rumenz.zip

unzip -l rumenz.zip

zipinfo rumenz.zip

less rumenz.zip

vim rumenz.zip

}

參數

-a 對文本進行必要的字元轉換 -L 將壓縮包內文件名改為小寫
-b 不要對文本進行任何字元轉換 -n 解壓縮時不覆蓋已有文件
-c 適當轉換字元後輸出解壓縮結果 -P 使用密碼加密
-C 嚴格區分大小寫 -q 靜默執行模式
-d 解壓縮文件到指定目錄中 -t 檢查壓縮包完整性
-f 強制覆蓋已有文件 -v 顯示執行過程詳細信息
-j 不處理壓縮文件中原有的目錄路徑 -x 跳過壓縮包內的指定文件
-l 顯示壓縮包內文件列表 -z 顯示壓縮包內的備註文字

tar

tar命令的功能是壓縮和解壓縮文件,能夠製作出Linux系統中常見的tar、tar.gz、tar.bz2等格式的壓縮包文件。對於RHEL 7、CentOS 7版本及以後的系統,解壓縮時不添加格式參數(如z或j),系統也能自動進行分析並解壓。把要傳輸的文件先壓縮再傳輸,能夠很好地提高工作效率,方便分享。

語法格式:tar 參數 壓縮包名 文件或目錄名

# tar -czf  檔名(名.tgz) 文件 //c為create:創建一個新的歸檔文件,即打包; z為使用gzip壓縮,即壓縮; f:使用檔名,即緊接檔名(新名),不能再接命令選項 //一般建議把f放最後,檔名一般為tgz尾碼
# tar -xzf  壓縮文件  //x(extract提取):解壓指令(只需把czf的c換成x),準備解包; z:曾經壓縮過,現在需要解壓;f:文件名
$ tgz:  t:tar  gz:gzip//壓縮:gzip壓縮演算法 //.tar.gz 的縮寫 .tgz

# tar -ztvf 壓縮文件  //查看壓縮包內但不解壓 //z為解壓(解壓一些頭部信息)或者檢查是否gzip , t--list為查看指令  v--verbose為列出更詳細信息  f為歸檔文件名
# tar tvf 壓縮文件 //目前和ztvf一樣

//有的平臺上命令選項可以不帶'-'

# tar -xzf 壓縮文件 -C 目錄/路徑  //解壓到指令路徑/目錄  //-C和zip的-d含義一樣 -- 預設都是解壓到當前路徑

參數

-A 添加文件到已存在的壓縮包 -p 保留原來的文件許可權與屬性
-B 設置區塊大小 -P 使用絕對路徑
-c 創建新的壓縮 -t 顯示壓縮包的內容
-C 解壓縮到指定目錄 -u 更新壓縮包內的文件
-d 記錄文件的差別 -v 顯示執行過程詳細信息
-f 指定壓縮包文件 -w 確認壓縮包的完整性
-j 使用bzip2壓縮格式 -x 從壓縮包內提取文件
-l 設置文件系統邊界 -z 使用gzip壓縮格式
-m 保護文件不被覆蓋 --exclude 排除指定的文件不壓縮
-N 只將較新日期的文件保存到壓縮包中 --remove-files 操作完成後刪除源文件

linux支持多行輸入 ,只要在結尾輸入反斜杠\回車即到下一行 -- 不需要空格等,空格也算命令中

bc

數字計算器
bc命令來自英文片語binary calculator的縮寫,中文譯為“二進位計算器”,其功能是進行數字計算。bash解釋器僅能進行整數計算,而不支持浮點數計算,因此有時要用到bc命令進行高精度的數字計算工作。

語法格式:bc 參數

# bc //linux中的計算器
# echo "1+2*3/2" | bc //管道組合運算 -- 結果為4

參數

-i 使用交互模式 -s 精準處理POSIX bc語言
-l 設置標準數學庫 --help 顯示幫助信息
-q 顯示正常的GNU bc環境信息 --version 顯示版本信息

uname

顯示系統內核信息

uname命令來自英文片語UNIX name的縮寫,其功能是查看系統主機名、內核及硬體架構等信息。如果不加任何參數,預設僅顯示系統內核名稱(相當於-s參數)的作用。

語法格式:uname 參數

# uname  -a //查看所有信息 // Linux iZ7xv3f3wlfxwevnefn5drZ 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

//linux版本 3.10.0;  發行版:el:centos 7;  架構:x64;  

# uname -r //查看軟硬體體繫結構  //軟體體繫結構3.10.0-957.21.3.        硬體體繫結構:  el7.x86_64

# cat /etc/redhat-release  //查看linux的商業化發行版 -- centos是redhat公司的一款免費系統

參數

-a 顯示系統所有相關信息 -r 顯示內核發行版本號
-i 顯示硬體平臺 -s 顯示內核名稱
-m 顯示電腦硬體架構 -v 顯示內核版本
-n 顯示主機名稱 --help 顯示幫助信息
-o 顯示操作系統名稱 --version 顯示版本信息
-p 顯示主機處理器類型

exit

退出終端

# exit //退出終端

$ ctrl+d //退出//通常代表著:『鍵盤輸入結束(End Of File, EOF 或 End OfInput)』的意思;另外,他也可以用來取代exit

history

history命令的功能是顯示與管理歷史命令記錄。系統預設會記錄用戶執行過的有命令,可以使用history命令查閱它們,也可以對其記錄進行修改和刪除操作。

語法格式:history 參數


# history //顯式最近1000條命令
# history > 文件 //把命令保存到文件中
//配合!使用
# !history編號 //執行該編號的命令
# !!           //執行上一次的命令

參數

-a 保存命令記錄 -r 讀取命令記錄到緩衝區
-c 清空命令記錄 -s 添加命令記錄到緩衝區
-d 刪除指定序號的命令記錄 -w 將緩衝區信息寫入歷史文件
-n 讀取命令記錄

歷史命令搜索

  • 在輸入框按上或按下可以翻動歷史命令
  • ctrl+r //反向搜索歷史命令,再次按繼續反向搜索(只能反向)

​ -- enter執行,左右鍵修改

reboot

reboot命令的功能是用於重新啟動電腦。與halt和shutdown命令相似,reboot命令的作用就是用於重啟系統,簡單快捷。

語法格式:reboot [參數]

# reboot //重啟linux 

常用參數:

-d 不將重啟系統的過程寫入日誌中
-f 強制重啟系統而不詢問
-i 關閉所有的網路服務然後再重啟系統
-n 直接重啟系統,不保存當前資料
-w 僅模擬重啟過程,將過程寫入日誌中
--verbose 顯示執行過程詳細信息

shutdown

關閉伺服器的系統

# shutdown [命令選項] //關機  -- 雲伺服器一般不關機,若關機了需要去官網後臺重啟

語法格式:sshutdown 參數 對象

常用參數:

-c 取消關機任務 -n 不調用init程式進行關機
-f 關機時不檢查文件系統 -P 系統關機後切斷電源
-F 關機時先檢查文件系統 -r 將系統立即重啟
-h 將系統立即關機 -s 關閉此電腦,非立即操作
-k 發送信息給所有用戶 -t 設置距離關閉電腦還剩餘的秒數

poweroff

poweroff、halt、shutdown、init 0 都是關機,沒什麼區別

快捷鍵

常用快捷鍵收錄

  • ctrl+s:暫停終端回顯; ctrl+q:恢復

  • 按鍵:ctrl+c

    終端下ctrl+c鍵用於停止當前前臺進程的活動,如列印刷屏...

本文來自博客園,作者:HJfjfK,原文鏈接:https://www.cnblogs.com/DSCL-ing/p/18341263


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

-Advertisement-
Play Games
更多相關文章
  • 一.事件回放二.主要問題剖析三.對博客園團隊的忠告 一.事件回放7 月 15 日,知名的經典博客站點 —— 博客園再次發佈了求救信,大概的意思是說現在園子又到了生死攸關的時候,需要開發者開通會員來相救。我用紅圈給大家標註了一些重點: 可以看出園子現在真的是很難了。。。不管怎麼樣,作為在博客園多年的作 ...
  • 前置 移除連接 要刪除連接,只需監聽來自連接器本身或編輯器的斷開連接事件,並刪除具有連接器作為源或目標的連接。為了簡單起見,我們將為 NodifyEditor 實現 DisconnectConnectorCommand。首先讓我們將其添加到 EditorViewModel。 public class ...
  • 在日常開發中,有時候需要將我們的程式隨著操作系統一起運行,並且無需人工干預。要實現這種效果,有很多種方法,比如:如果是桌面程式,可以設置到程式的啟動項;如果是Web程式,還可以托管到IIS中,而對於控制台程式,最常見在做法是將程式部署成Windows服務,並設置成自動運行,這樣當操作系統開機時,就會... ...
  • 拿到這道題,我們想一下,我們將整個字元串都反轉過來,那麼單詞的順序指定是倒序了,只不過單詞本身也倒序了,那麼再把單詞反轉一下,單詞不就正過來了。 所以解題思路如下: 移除多餘空格 將整個字元串反轉 將每個單詞反轉 舉個例子,源字元串為:"the sky is blue " 移除多餘空格 : "the ...
  • 前言 MethodTimer.Fody 是一個功能強大的庫,可以用於測量 .NET 應用程式中的方法的執行時間。允許你在不修改代碼的情況下,自動地測量和記錄方法的執行時間。 這個工具是基於.NET的 weaving 技術,通過修改IL(Intermediate Language,中間語言)代碼來插入 ...
  • 1、Linux文件系統概述 Linux文件系統是指操作系統用來控制文件如何存儲和檢索的結構和邏輯。 文件系統結構 根目錄: / Linux文件系統從根目錄(/)開始,這是所有文件和目錄的起點。 目錄結構: Linux使用層次化目錄結構,每個目錄包含文件和子目錄。 掛載點: 各種文件系統通過掛載點(m ...
  • tmux tmux(Terminal Multiplexer)是一個終端復用器,它允許你在一個單一終端視窗內運行和管理多個終端會話。通過tmux,我們可以創建、訪問和控制多個終端視窗,併在這些視窗之間自由切換。這對於遠程工作、管理多個任務和長期運行的任務非常有用。 1、安裝 tmux 在 Ubunt ...
  • 寫在前面 本隨筆是非常菜的菜雞寫的。如有問題請及時提出。 可以聯繫:[email protected] GitHhub:https://github.com/WindDevil (目前啥也沒有 導讀 這裡就是第三章的開頭了,由於我的巨菜,導致天天半天理解不了關鍵點所在,唉,實在是太折磨人. 遵照上一 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...