目錄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
顯示文件/文本開頭的內容
# 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