電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 16|回復(fù): 0
收起左側(cè)

一份12000字的Linux指南:掌握常用基本命令并提升你的工作效率

[復(fù)制鏈接]

475

主題

475

帖子

4237

積分

四級(jí)會(huì)員

Rank: 4

積分
4237
跳轉(zhuǎn)到指定樓層
樓主
大家好,我是飛宇。
今天分享一份一份12000字的Linux指南,此外文末還會(huì)分享一份MySQL學(xué)習(xí)筆記,有意自!

鏈接:https://www.cnblogs.com/DSCL-ing/p/18341263目錄
Linux基本命令
簡(jiǎn)單認(rèn)識(shí)shell
認(rèn)識(shí)命令的基本格式:
內(nèi)建命令與外部命令
查看命令的類型-type
查看命令的使用方法-help
mkdir
pwd
touch
echo
認(rèn)識(shí)路徑
ls
cd
認(rèn)識(shí)熱鍵/linux熱鍵
tree
nano
cat
gcc
stat
rm
rmdir
基本認(rèn)識(shí)--創(chuàng)建目錄權(quán)限
linux有多少條指令
man
sudo
cp
mv
wc
> 和 >>
more
less
head
tail
管道 |
date
cal
搜索三件套之find
搜索三件套之which
搜索三件套之whereis
alias
grep
top
zip
unzip
tar
bc
uname
exit
history
歷史命令搜索
reboot
shutdown
poweroff
快捷鍵

Linux基本命令linux平臺(tái)開(kāi)發(fā)者常用命令,掌握這些基本命令后基本可以熟練使用linux了.
簡(jiǎn)單認(rèn)識(shí)shellShell的最簡(jiǎn)單定義:命令行解釋器(command Interpreter)主要包含:
將使用者的命令翻譯給核心(kernel)處理。同時(shí),將核心的處理結(jié)果翻譯給使用者
保護(hù)操作系統(tǒng) -- 防止用戶執(zhí)行非法指令
執(zhí)行命令會(huì)創(chuàng)建子進(jìn)程進(jìn)行執(zhí)行
我們平常的命令主要是通過(guò)shell來(lái)和linux內(nèi)核交互,shell幫我們解釋命令給kernel -- shell命令
shell是一個(gè)程序/命令 :/usr/bin/bash ,即bash.
我們鏈接上服務(wù)器時(shí)會(huì)自動(dòng)關(guān)聯(lián)上shell程序 -- bash也是一個(gè)可執(zhí)行程序,使用C語(yǔ)言寫(xiě)的
其他定義
shell是linux的外殼程序,是軟件層,命令行
shell是適配程序,將內(nèi)核適配后提供給用戶合適的接口
shell是所有外殼程序的統(tǒng)稱,linux的內(nèi)核程序是bash ,統(tǒng)稱shell
命令輸入的地方叫做: 命令行 /
CLI/命令行界面 Command Line Interface
GUI/圖形化用戶界面 Graphical User Interface
什么是CLI(命令行界面)、GUI(圖形用戶界面)、Terminal(終端)、Console(控制臺(tái))、Shell、TTY-CSDN博客
認(rèn)識(shí)命令的基本格式:

# 命令 -[命令選項(xiàng)] ...
內(nèi)建命令與外部命令linux命令分為兩種.分別是內(nèi)建命令外部命令
內(nèi)建命令:shel內(nèi)建命令是指bash(或其它版本)工具中集成的命令.
外部命令:外部命令是安裝外部軟件所帶的命令
其中內(nèi)建命令要比外部命令有比較高的執(zhí)行效率。外部命令執(zhí)行時(shí)往往需要fork出(產(chǎn)生出)一個(gè)子進(jìn)程,而內(nèi)建命令一般不用。外部命令是在bash之外額外安裝的,通常放在/bin,/usr/bin,/sbin,/usr/sbin…等等?赏ㄟ^(guò)“echo $PATH”命令查看外部命令的存儲(chǔ)路徑,比如:ls、vi等。
查看命令的類型-type

# type: type [-afptP] 命令
常見(jiàn)類型:
builtin內(nèi)部指令file文件function函數(shù)keyword關(guān)鍵字alias別名unfound沒(méi)有找到查看命令的使用方法-help對(duì)于內(nèi)建命令 一般語(yǔ)法為:

# help 內(nèi)建命令
一般是 Linux 命令自帶的幫助信息,并不是所有命令都自帶這個(gè)選項(xiàng)。
而對(duì)于外部命令ls,我們想查看命令 ls 的用法:ls --help

# ls --help
mkdir

# mkdir 目錄名  //創(chuàng)建目錄(linux)/文件夾(win)

# mkdir -p d1/d2/d3/...   //創(chuàng)建一串路徑/目錄; 遞歸創(chuàng)建多個(gè)目錄
pwd

# pwd  //顯式當(dāng)前目錄的絕對(duì)路徑
touch創(chuàng)建空文件與修改時(shí)間戳

# touch        文件名.后綴          //創(chuàng)建普通文件

# touch 已存在文件                                         //更新Atime、Ctime
echo輸出字符串或提取后的變量值

# echo "字符串" > 文件 //清空文件再寫(xiě)入,'w'
認(rèn)識(shí)路徑

$ 以.開(kāi)頭的文件/目錄是隱藏文件/目錄

$ / 為linux下的根,linux下為目錄為藍(lán)色(centos7-shell)



# .  //當(dāng)前路徑

# .. //上級(jí)路徑

# C:\Users\26390\Desktop //  windows下的路徑,  (反斜杠) \ : 路徑分割符

# /root/test             //  linux下的路徑,      (斜杠) / : 路徑分隔符



$ windows下文件夾內(nèi)可以有新的文件夾,linux下目錄內(nèi)可以有新的目錄 -- 所以linux的根 / 和路徑分隔符 / 不沖突

$ linux整體是一個(gè)多叉樹(shù)的樣子/結(jié)構(gòu)





$ windows通過(guò)路徑來(lái)定位文件/文件夾,linux也是如此.

為什么呢? > 任何一個(gè)目錄都可以有多個(gè)子目錄,但一個(gè)子目錄只有一個(gè)父目錄 -->因此一條路徑能唯一標(biāo)識(shí)一目錄/文件

$ 路徑分為1.絕對(duì)路徑 2.相對(duì)路徑(相對(duì)是相對(duì)于當(dāng)前路徑,如果當(dāng)前路徑改變了,則相對(duì)路徑也會(huì)發(fā)生改變 ->失效)



$ 絕對(duì)路徑使用場(chǎng)景:準(zhǔn)確但麻煩,一般是在某些配置環(huán)境中,進(jìn)行對(duì)某種文件進(jìn)行配置時(shí)采用!

$ 相對(duì)路徑使用場(chǎng)景:用起來(lái)簡(jiǎn)單,是后序指令操作時(shí),常用的路徑定位方案!
ls顯示目錄中文件及其屬性信息

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



# ls -t                                  //按時(shí)間先后排序

# ls -rt                                 //按時(shí)間先后逆序排序



# ls -ul  //以u(píng)id形式顯式屬性



# ls -ld /   //只顯示路徑,不顯示內(nèi)容



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

# cd ~  //進(jìn)入/home目錄

$ 超級(jí)用戶/管理員root的~獨(dú)立位于/root

$ 普通用戶的~都位于/home底下 -- ~稱為普通用戶的家目錄

$ window也有家目錄,位于C:\Users ,



# cd -   //回到上一次訪問(wèn)的目錄
認(rèn)識(shí)熱鍵/linux熱鍵熱鍵:高頻被使用的按鍵
linux中一個(gè)熱鍵就是tab鍵

# 快速雙擊tab鍵  -->命令的自動(dòng)補(bǔ)齊:1.顯式出匹配的所有命名 2.顯示出匹配目錄下的所有文件

# 不想進(jìn)入目錄又想查看其他目錄有哪些文件 --> 無(wú)腦 tab../../../../
treetree是一個(gè)把指定目錄以樹(shù)的形式組織并輸出到終端的命令,這個(gè)命令一般的linux中都需要用戶主動(dòng)安裝

# tree [空] / [.] / [..] / [其他目錄](méi)   //以樹(shù)的形式把指定目錄打印出來(lái),不加命令選項(xiàng)默認(rèn)是當(dāng)前目錄





$ -bash: tree: command not found         //說(shuō)明沒(méi)有tree命令

解決方法:root下# yum install -y tree  //如果是Ubuntu,則是# apt-get install -y tree
nano文本編輯器nano

# nano 文件  //使用nano編輯器打開(kāi)文件

$ nano :nano是Unix/Linux下的一個(gè)文本編輯器

nano編輯器的快捷鍵使用

Ctrl+G 幫助

Ctrl+X 退出

Ctrl+O 保存

Ctrl+R 復(fù)制指定文件內(nèi)容

Ctrl+W 查找

Ctrl+\ 替換

Ctrl+K 剪切

Ctrl+U 粘貼

Ctrl+J 調(diào)整段落

Ctrl+T 檢查拼寫(xiě)

Ctrl+C 光標(biāo)位置信息

Ctrl+Shift+_ 跳轉(zhuǎn)到指定行

Alt+U 撤銷

Alt+E 反撤銷

Alt+A 從光標(biāo)位置開(kāi)始標(biāo)記/選擇

Alt+6 復(fù)制

Ctrl+3 & Shift+3 顯示行號(hào)

//nano不能用數(shù)字小鍵盤,只能用數(shù)字橫鍵盤

//cancel :取消
cat在終端設(shè)備上顯示文件內(nèi)容

# cat 文件  // 打印/顯式文件內(nèi)容

$ 將[文件]或標(biāo)準(zhǔn)輸入組合輸出到標(biāo)準(zhǔn)輸出。
高級(jí)用法

cat用法:cat [選項(xiàng)] [文件]...

將[文件]或標(biāo)準(zhǔn)輸入組合輸出到標(biāo)準(zhǔn)輸出。

-A, --show-all           等價(jià)于 -vET

-b, --number-nonblank    對(duì)非空輸出行編號(hào)

-e                       等價(jià)于 -vE

-E, --show-ends          在每行結(jié)束處顯示 $

-n, --number             對(duì)輸出的所有行編號(hào)                //學(xué)

-s, --squeeze-blank      不輸出多行空行                    //把連續(xù)的空行合并成一行

-t                       與 -vT 等價(jià)

-T, --show-tabs          將跳格字符顯示為 ^I

-u                       (被忽略)

-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

--help     顯示此幫助信息并退出

--version  輸出版本信息并退出

如果[文件]缺省,或者[文件]為 - ,則讀取標(biāo)準(zhǔn)輸入。
gccgcc是c語(yǔ)言編譯器,可以用于編譯c代碼

# gcc .c文件 //編譯.c文件,默認(rèn)得到a.out可執(zhí)行文件 //可執(zhí)行文件是綠色

# ./a.out    //執(zhí)行可執(zhí)行文件,執(zhí)行a.out文件  -- 可執(zhí)行文件在linux下必須帶./  
stat獲取文件的屬性信息

# stat 文件  //獲取文件的屬性信息

$ 任何文件都有三種時(shí)間:A.C.M.時(shí)間:1.Access(訪問(wèn)) 2.Modify(內(nèi)容) 3.Change(屬性)

$ ll顯式的時(shí)間是M時(shí)間
rm

# rm  空目錄/文件   //刪除文件或空目錄  

# rm -f 空目錄/文件 //刪除文件或空目錄  --- 不提示/不通知

# rm -r 目錄/文件   //遞歸刪除目錄內(nèi)的所有文件/目錄

# rm -rf 目錄/文件  //強(qiáng)制遞歸刪除目錄內(nèi)的所有文件/目錄 -- 不提示/不通知/不需要確認(rèn)/什么都能刪,只要權(quán)限夠 直接刪完

# rm * -rf       //把當(dāng)前目錄的所有文件刪掉 -- 不帶路徑默認(rèn)為當(dāng)前目錄 --  '*' ,linux通配符,代表所有文件

# rm *.后綴 -rf  //把帶有相同后綴的文件全部刪除

$ 通配符:可以匹配上任意個(gè)數(shù)的任意字符
rmdir

# rmdir 目錄     //刪除目錄,只能刪除非空目錄 -- 也沒(méi)有支持遞歸刪除的命令選項(xiàng),所以目前沒(méi)什么用

//rmdir:failed to remove :刪除失敗

$ 為什么要有 -- 如果有一個(gè)文件和目錄同名,想刪目錄可以用rmdir 或 rm -r 目錄, 想刪文件用rm(默認(rèn)刪的就是文件) --這樣就區(qū)分開(kāi)來(lái)
基本認(rèn)識(shí)--創(chuàng)建目錄權(quán)限普通用戶只能在 /home/自己/... 內(nèi)創(chuàng)建文件 ,root在哪里都可以創(chuàng)建
linux有多少條指令輸入框?yàn)榭諘r(shí)按一下table可以顯式當(dāng)前l(fā)inux系統(tǒng)有多少條指令 -- 阿里云輕量應(yīng)用級(jí)有1265條左右
manman命令:打開(kāi)C/C++/系統(tǒng)調(diào)用等 語(yǔ)法手冊(cè)

安裝man手冊(cè)

# yum install -y man-pages //安裝man手冊(cè)



基本使用

# man [號(hào)] xx  //搜索[幾號(hào)]man手冊(cè)并進(jìn)入,沒(méi)有號(hào)碼則默認(rèn)搜索全部

# man man //打開(kāi)man手冊(cè)首頁(yè)



如果man2,3查不到,嘗試安裝

# yum install -y man-pages.noarch



//man 2 一般是系統(tǒng)調(diào)用

//man 3 一般是C庫(kù)








man命令選項(xiàng):

# -k 或 --apropos:用于搜索手冊(cè)頁(yè)面的簡(jiǎn)要描述。例如,man -k keyword會(huì)搜索包含關(guān)鍵字的手冊(cè)頁(yè)面的簡(jiǎn)要描述。

//可以搜索包含關(guān)鍵字的句子 所在的手冊(cè)頁(yè)



# -f 或 --whatis:用于查找手冊(cè)頁(yè)面的簡(jiǎn)要描述,類似于-k選項(xiàng)。

//只搜索目錄,和直接man搜索一樣,顯示所在的手冊(cè)頁(yè)



# -p 或 --pager:指定用于查看手冊(cè)頁(yè)面的分頁(yè)器(pager),默認(rèn)情況下使用less。

//man -p less ls

//就是選擇什么文檔查看器來(lái)看文檔



# -S 或 --sections:指定要查看的手冊(cè)部分。默認(rèn)情況下,man會(huì)搜索所有部分,但你可以使用此選項(xiàng)來(lái)指定特定部分。

//就是man 3 printf 的簡(jiǎn)寫(xiě)
sudo授權(quán)普通用戶執(zhí)行管理員命令

# sudo 命令  //命令提權(quán)
cp拷貝 copy

# cp 普通文件 目錄 // 拷貝普通文件到目錄中

# cp -r 目錄  目錄 // 拷貝目錄到目錄中,必須帶-r,遞歸拷貝
命令選項(xiàng)可以放中間也可以放在最后 // 最好保持放中間,有些系統(tǒng)不支持,如mac
mvmove:移動(dòng)

# mv 目錄/文件 目錄  //移動(dòng)目錄/文件,不需要帶遞歸-r命令選項(xiàng)   ,后面一項(xiàng)一定是目錄

# mv 目錄/文件 ..    //移動(dòng)文件/目錄到上級(jí)目錄

# mv 目錄/文件 .    //移動(dòng)文件/目錄到當(dāng)前目錄
文件重命名

# mv 舊文件名  新文件名  //重命名 --                        后面一項(xiàng)一定時(shí)文件名
文件移動(dòng)+重命名

# mv 舊文件名  路徑/new_filename(帶目錄的新文件名)    //如果第二項(xiàng)是是目錄且?guī)е粋(gè)沒(méi)有重復(fù)的文件名,則是移動(dòng)+重命名
目錄重命名

# mv 目錄   新目錄名(不能和所在路徑有重復(fù))  //當(dāng)前目錄下重命名
目錄剪切+重命名

# mv 目錄  帶路徑的新目錄名(不能和所在路徑有重復(fù))   //


linux下一切皆文件,鍵盤,顯示器...可以讀,可以寫(xiě)都是文件
wcword cound

# wc 文件 //wc命令的功能為統(tǒng)計(jì)指定文件中的字節(jié)數(shù)、單詞數(shù)、行數(shù), 并將統(tǒng)計(jì)結(jié)果顯示輸出

-c, --bytes打印字節(jié)數(shù)

-m, --chars  打印字符數(shù)

-l, --lines  打印行數(shù)                                   //學(xué)

-L, --max-line-length  打印最長(zhǎng)行的長(zhǎng)度

-w, --words 打印單詞數(shù)

//作用,可以統(tǒng)計(jì)總代碼行數(shù).

# wc -l * 統(tǒng)計(jì)當(dāng)前項(xiàng)目下的所有代碼行數(shù)



//示例

# who | wc -l //按行統(tǒng)計(jì)
> 和 >>> 為輸出重定向
>>為追加重定向

# echo    文本內(nèi)容  >  文件   // 輸出 文本內(nèi)容 重定向 到文件 , '>'為輸出重定向符號(hào) -- 如果文件不存在,輸出重定向>會(huì)創(chuàng)建一個(gè)新文件并寫(xiě)入

$ '>'輸出重定向是一種覆蓋式寫(xiě)入 ,清空文件再寫(xiě)入

$ '>>' 追加重定向:追加重定向是追加式寫(xiě)入,在原文件內(nèi)容的末尾追加寫(xiě)入,給原文件新增內(nèi)容

// 重定向 redirect


$ cat默認(rèn)是重鍵盤讀取數(shù)據(jù) -- 只輸入cat就會(huì)進(jìn)入鍵盤讀取狀態(tài),打一個(gè)回顯一個(gè),直到ctrl+C

# cat # 【cat 文件】  不一樣 , 【cat 文件】是命令獲取文件
more分頁(yè)顯示文本文件內(nèi)容

# more 文件 //按屏幕大小顯式文件內(nèi)容 -- 按回車翻頁(yè),并且只能向下翻頁(yè),按q推出
less分頁(yè)顯示文件內(nèi)容

# less 文件 //按屏幕大小顯式文件內(nèi)容 -- 按上下鍵翻頁(yè),可以自由翻頁(yè),按q推出

//搜索 輸入/搜索內(nèi)容+回車 , 轉(zhuǎn)到下一個(gè)搜索結(jié)果按n(next)



less 與more命令類似,但可以通過(guò)翻頁(yè)鍵查看上下頁(yè)的內(nèi)容

-b 設(shè)置緩沖區(qū)的大小

-e 當(dāng)文件顯示結(jié)束后,自動(dòng)離開(kāi)

-f 強(qiáng)迫打開(kāi)特殊文件,例如外圍設(shè)備代號(hào)、目錄和二進(jìn)制文件

-g 只標(biāo)志最后搜索的關(guān)鍵詞

-i 忽略搜索時(shí)的大小寫(xiě)

-m 顯示類似more命令的百分比

-N 顯示每行的行號(hào)

-o 將less 輸出的內(nèi)容在指定文件中保存起來(lái)

-Q 不使用警告音

-s 顯示連續(xù)空行為一行

-S 行過(guò)長(zhǎng)時(shí)間將超出部分舍棄

-x 將“tab”鍵顯示為規(guī)定的數(shù)字空格



命令內(nèi)部操作按鍵功能如下:

b 向前翻一頁(yè)

d 向后翻半頁(yè)

h 顯示幫助界面

Q 退出less 命令

u 向前滾動(dòng)半頁(yè)

y 向前滾動(dòng)一行

空格鍵 滾動(dòng)一頁(yè)

回車鍵 滾動(dòng)一行



1) 向前搜索

/ : 使用一個(gè)模式進(jìn)行搜索,并定位到下一個(gè)匹配的文本

n : 向前查找下一個(gè)匹配的文本

N : 向后查找前一個(gè)匹配的文本



2) 向后搜索

? : 使用模式進(jìn)行搜索,并定位到前一個(gè)匹配的文本

n : 向后查找下一個(gè)匹配的文本

N : 向前查找前一個(gè)匹配的文本



2 全屏導(dǎo)航

ctrl + F :向前移動(dòng)一屏

ctrl + B :向后移動(dòng)一屏

ctrl + D :向前移動(dòng)半屏

ctrl + U :向后移動(dòng)半屏



3 單行導(dǎo)航

j : 向前移動(dòng)一行

k : 向后移動(dòng)一行



4 其它導(dǎo)航

G : 移動(dòng)到最后一行

g : 移動(dòng)到第一行

q / ZZ : 退出 less 命令



5 編輯文件

v : 進(jìn)入編輯模式,使用配置的編輯器編輯當(dāng)前文件



6 標(biāo)記導(dǎo)航

當(dāng)使用 less 查看大文件時(shí),可以在任何一個(gè)位置作標(biāo)記,可以通過(guò)命令導(dǎo)航到標(biāo)有特定標(biāo)記的文本位置。

ma : 使用 a 標(biāo)記文本的當(dāng)前位置

'a : 導(dǎo)航到標(biāo)記 a 處



7 瀏覽多個(gè)文件

方式一,傳遞多個(gè)參數(shù)給 less,就能瀏覽多個(gè)文件。

less file1 file2



方式二,正在瀏覽一個(gè)文件時(shí),使用 :e 打開(kāi)另一個(gè)文件。

less file1

:e file2



當(dāng)打開(kāi)多個(gè)文件時(shí),使用如下命令在多個(gè)文件之間切換

:n - 瀏覽下一個(gè)文件

:p - 瀏覽前一個(gè)文件


head顯示文件/文本開(kāi)頭的內(nèi)容

# head 文件 //默認(rèn)會(huì)把文件的前10行打印出來(lái),不夠10行有多少打多少

# head -n5 文件 //設(shè)置成只打印前5行

# head -5 文件 //一樣,省略,設(shè)置成只打印前5行
tail顯示文件/文本尾部的內(nèi)容

# tail 文件 //

# tail -3 文件

# tail -n3 文件
管道 |'|' :管道 ,管道最核心的意義在于:可以級(jí)聯(lián)多條命令,讓命令和命令組合,來(lái)完成批量化文本處理任務(wù),做數(shù)據(jù)的不斷加工

# wc -l 文件 //統(tǒng)計(jì)文件有多少行

# cat 文件 | wc -l  //cat的數(shù)據(jù)流入管道,wc統(tǒng)計(jì)管道數(shù)據(jù)的行數(shù)

//從左到右一次執(zhí)行,結(jié)果由最后一條命令輸出
date顯示或設(shè)置系統(tǒng)日期與時(shí)間

# date //linux時(shí)間

# date +%Y-%m-%d_%H:%M:%S //格式化輸出時(shí)間

# date +%s //輸出時(shí)間戳  -- 格林尼治時(shí)間  --因時(shí)區(qū)問(wèn)題,顯式為8:00

# date +%Y-%m-%d_%H:%M:%S -d @時(shí)間戳  //將時(shí)間戳轉(zhuǎn)為格式化輸出
cal日歷 calendar [?k?l?nd?r]

# cal //顯式當(dāng)前月份日歷

# cal 2023(年份) //顯式該年的所有月份

# cal -3  // 顯式本月和前后月  //*只有命令選項(xiàng)只有-3
sort
對(duì)文件內(nèi)容進(jìn)行排序

# sort 文件  //按行的ascii比較,默認(rèn)是升序 -- 排序后打印

# sort -r 文件 //降序 r為reverse

# sort 文件 | uniq //排序后去重 -- 單純?nèi)ブ貨](méi)有用

//sort - uniq都不會(huì)修改源文件
搜索三件套之find根據(jù)路徑和條件搜索指定文件

# find 路徑 -name 文件  //在路徑底下搜索文件 -- 第一次搜索很慢,第二次會(huì)快,因?yàn)閘inux會(huì)把常用搜索緩存起來(lái)  

要獲取特定文件的路徑

find ~ -name example.txt //范圍盡可能小,使用~比較好
搜索三件套之which查找命令文件,能夠快速搜索二進(jìn)制程序所對(duì)應(yīng)的位置。

# which 指令  //搜索指令所在目錄 //搜索可執(zhí)行程序
常用命令
-a顯示PATH變量中所有匹配的可執(zhí)行文件--help顯示幫助信息-n設(shè)置文件名長(zhǎng)度(不含路徑)--read-functions從標(biāo)準(zhǔn)輸入中讀取shell函數(shù)定義-p設(shè)置文件名長(zhǎng)度(含路徑)--show-tilde使用波浪線代替路徑中的家目錄-V顯示版本信息--skip-dot跳過(guò)PATH變量中以點(diǎn)號(hào)開(kāi)頭的目錄-w設(shè)置輸出時(shí)欄位的寬度

搜索三件套之whereiswhereis命令的功能是顯示命令及相關(guān)文件的路徑位置信息,可用于找到命令(二進(jìn)制程序)、命令源代碼、man幫助手冊(cè)等相關(guān)文件的路徑位置信息.

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



//linux基本所有指令都在 /usr/bin下

//linux指令是可執(zhí)行程序(綠色),就是平時(shí)寫(xiě)的C/C++語(yǔ)言代碼編譯好的可執(zhí)行程序 --指令,程序,工具沒(méi)本質(zhì)區(qū)別
alias設(shè)置命令別名

# alias 別名='命令+命令選項(xiàng)組合'  //給命令+選項(xiàng)起別名

$ 為什么我們ls時(shí)有些文件會(huì)帶顏色: 因?yàn)閘s是'ls --color=auto的'別名
grep文本/行過(guò)濾工具
grep = global search regular expression and print out the line
意思是用于全面搜索的正則表達(dá)式,并將結(jié)果輸出



# grep '關(guān)鍵字' 文件 //過(guò)濾出文件中具有關(guān)鍵字的行 -- grep為文本行過(guò)濾工具





# grep -v '關(guān)鍵字' 文件  //過(guò)濾掉文件中具有關(guān)鍵字的行 -- 不顯示有關(guān)鍵字的行

        // grep -ivn '關(guān)鍵字' 文件     //組合命令

        //cat 文件|grep  '關(guān)鍵字' 文件 //管道級(jí)聯(lián)組合

注意:grep盡量帶''或"",特別是有空格或其他符號(hào)



# grep -E 'proc1|command' //啟用正則表達(dá)式查詢 proc1或其他關(guān)鍵詞.

// egrep == grep -E       //是別名



# -c選項(xiàng)   //僅顯示行號(hào)

# -n選項(xiàng)   //描述+行號(hào)

# -i選項(xiàng)   //ignore,忽略大小寫(xiě)
常用參數(shù)
-b顯示匹配行距文件頭部的偏移量-o顯示匹配詞距文件頭部的偏移量-c只顯示匹配的行數(shù)-q靜默執(zhí)行模式-E支持?jǐn)U展正則表達(dá)式-r遞歸搜索模式-F匹配固定字符串的內(nèi)容-s不顯示沒(méi)有匹配文本的錯(cuò)誤信息-h搜索多文件時(shí)不顯示文件名-v顯示不包含匹配文本的所有行-i忽略關(guān)鍵詞大小寫(xiě)-w精準(zhǔn)匹配整詞-l只顯示符合匹配條件的文件名-x精準(zhǔn)匹配整行-n顯示所有匹配行及其行號(hào)

命令grep命令使用實(shí)例解析! – Linux命令大全(手冊(cè)) (linuxcool.com)
toplinux任務(wù)管理器
top命令的功能是實(shí)時(shí)顯示系統(tǒng)運(yùn)行狀態(tài),包含處理器、內(nèi)存、服務(wù)、進(jìn)程等重要資產(chǎn)信息。運(yùn)維工程師們常常會(huì)把top命令比作“加強(qiáng)版的Windows任務(wù)管理器”,因?yàn)槌四芸吹匠R?guī)的服務(wù)進(jìn)程信息之外,還能夠?qū)μ幚砥骱蛢?nèi)存的負(fù)載情況一目了然,實(shí)時(shí)感知系統(tǒng)全局的運(yùn)行狀態(tài)。top命令非常適合作為接手服務(wù)器后執(zhí)行的第一條命令。
常用參數(shù)
-a按內(nèi)存使用情況排序-n設(shè)置顯示的總次數(shù),完成后自動(dòng)退出-b使用批處理模式,不進(jìn)行交互式顯示-p僅顯示指定進(jìn)程ID-c使用顯示模式-s使用安全模式,不允許交互式指令-d設(shè)置顯示的更新速度-u僅顯示與指定用戶ID-h顯示幫助信息-v使用線程模式-i不顯示任何閑置或僵死的行程-w設(shè)置顯示的寬度-M顯示內(nèi)存單位

zip打包 并壓縮
語(yǔ)法格式:zip 參數(shù) 目標(biāo)文件名.zip 源文件或目錄名

# zip 打包的包名.zip  要打包的文件/目錄     // 把文件打包 -- 只打包當(dāng)前(1個(gè)/最外層)目錄或文件

# zip -r 打包的包名.zip  要打包的文件/目錄  // 遞歸打包文件/目錄
參數(shù)
-A自動(dòng)解壓縮文件-n不壓縮具有特定字符串的文件-b設(shè)置暫存文件的目錄-q靜默執(zhí)行模式-c添加注釋信息到壓縮文件-r遞歸處理所有子文件-d更新壓縮包內(nèi)文件-S包含系統(tǒng)和隱藏文件-F嘗試修復(fù)損壞的壓縮文件-t設(shè)置壓縮時(shí)間為指定日期-h顯示幫助信息-T檢查壓縮文件是否正確無(wú)誤-i僅壓縮符合條件的文件-v顯示執(zhí)行過(guò)程詳細(xì)信息-k使用MS-DOS兼容格式-V保留VMS操作系統(tǒng)的文件屬性-l將“LF”替換成“LF+CR”字符-w在文件名稱中加入版本編號(hào)-L顯示版本信息-X不保留過(guò)多的文件屬性信息-m壓縮后刪除源文件-y直接保存符號(hào)鏈接,而不是對(duì)應(yīng)文件unzipzip解包
unzip命令用于解壓縮zip格式的文件,雖然Linux系統(tǒng)中更多地使用tar命令對(duì)壓縮包進(jìn)行管理操作,但有時(shí)也會(huì)接收到Windows系統(tǒng)常用的zip和rar格式的壓縮包文件,unzip命令便派上了用場(chǎng)。直接使用unzip命令解壓縮文件后,壓縮包內(nèi)原有的文件會(huì)被提取并輸出保存到當(dāng)前工作目錄下。
語(yǔ)法格式:unzip 參數(shù) 壓縮包名

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



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



# zip 文件.rar 文件 // 沒(méi)問(wèn)題 后綴名可以為7z,rar,zip,解壓也可以,用unzip --- 猜測(cè)是壓縮算法是zip,后綴格式兼容或無(wú)所謂



//zip安裝

# yum install -y unzip zip //安裝 zip和unzip,可以把zip和unzip分開(kāi)寫(xiě) -- 安裝多個(gè)包時(shí)用空格分開(kāi)



zip文件查看壓縮包

{

zip -sf rumenz.zip



unzip -l rumenz.zip



zipinfo rumenz.zip



less rumenz.zip



vim rumenz.zip



}
參數(shù)
-a對(duì)文本進(jìn)行必要的字符轉(zhuǎn)換-L將壓縮包內(nèi)文件名改為小寫(xiě)-b不要對(duì)文本進(jìn)行任何字符轉(zhuǎn)換-n解壓縮時(shí)不覆蓋已有文件-c適當(dāng)轉(zhuǎn)換字符后輸出解壓縮結(jié)果-P使用密碼加密-C嚴(yán)格區(qū)分大小寫(xiě)-q靜默執(zhí)行模式-d解壓縮文件到指定目錄中-t檢查壓縮包完整性-f強(qiáng)制覆蓋已有文件-v顯示執(zhí)行過(guò)程詳細(xì)信息-j不處理壓縮文件中原有的目錄路徑-x跳過(guò)壓縮包內(nèi)的指定文件-l顯示壓縮包內(nèi)文件列表-z顯示壓縮包內(nèi)的備注文字tartar命令的功能是壓縮和解壓縮文件,能夠制作出Linux系統(tǒng)中常見(jiàn)的tar、tar.gz、tar.bz2等格式的壓縮包文件。對(duì)于RHEL 7、CentOS 7版本及以后的系統(tǒng),解壓縮時(shí)不添加格式參數(shù)(如z或j),系統(tǒng)也能自動(dòng)進(jìn)行分析并解壓。把要傳輸?shù)奈募葔嚎s再傳輸,能夠很好地提高工作效率,方便分享。
語(yǔ)法格式:tar 參數(shù) 壓縮包名 文件或目錄名

# tar -czf  檔名(名.tgz) 文件 //c為create:創(chuàng)建一個(gè)新的歸檔文件,即打包; z為使用gzip壓縮,即壓縮; f:使用檔名,即緊接檔名(新名),不能再接命令選項(xiàng) //一般建議把f放最后,檔名一般為tgz后綴

# tar -xzf  壓縮文件  //x(extract提取):解壓指令(只需把czf的c換成x),準(zhǔn)備解包; z:曾經(jīng)壓縮過(guò),現(xiàn)在需要解壓;f:文件名

$ tgz:  t:tar  gz:gzip//壓縮:gzip壓縮算法 //.tar.gz 的縮寫(xiě) .tgz



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

# tar tvf 壓縮文件 //目前和ztvf一樣



//有的平臺(tái)上命令選項(xiàng)可以不帶'-'



# tar -xzf 壓縮文件 -C 目錄/路徑  //解壓到指令路徑/目錄  //-C和zip的-d含義一樣 -- 默認(rèn)都是解壓到當(dāng)前路徑
參數(shù)
-A添加文件到已存在的壓縮包-p保留原來(lái)的文件權(quán)限與屬性-B設(shè)置區(qū)塊大小-P使用絕對(duì)路徑-c創(chuàng)建新的壓縮-t顯示壓縮包的內(nèi)容-C解壓縮到指定目錄-u更新壓縮包內(nèi)的文件-d記錄文件的差別-v顯示執(zhí)行過(guò)程詳細(xì)信息-f指定壓縮包文件-w確認(rèn)壓縮包的完整性-j使用bzip2壓縮格式-x從壓縮包內(nèi)提取文件-l設(shè)置文件系統(tǒng)邊界-z使用gzip壓縮格式-m保護(hù)文件不被覆蓋--exclude排除指定的文件不壓縮-N只將較新日期的文件保存到壓縮包中--remove-files操作完成后刪除源文件linux支持多行輸入 ,只要在結(jié)尾輸入反斜杠\回車即到下一行 -- 不需要空格等,空格也算命令中
bc數(shù)字計(jì)算器
bc命令來(lái)自英文詞組binary calculator的縮寫(xiě),中文譯為“二進(jìn)制計(jì)算器”,其功能是進(jìn)行數(shù)字計(jì)算。bash解釋器僅能進(jìn)行整數(shù)計(jì)算,而不支持浮點(diǎn)數(shù)計(jì)算,因此有時(shí)要用到bc命令進(jìn)行高精度的數(shù)字計(jì)算工作。
語(yǔ)法格式:bc 參數(shù)

# bc //linux中的計(jì)算器

# echo "1+2*3/2" | bc //管道組合運(yùn)算 -- 結(jié)果為4
參數(shù)
-i使用交互模式-s精準(zhǔn)處理POSIX bc語(yǔ)言-l設(shè)置標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)--help顯示幫助信息-q顯示正常的GNU bc環(huán)境信息--version顯示版本信息uname顯示系統(tǒng)內(nèi)核信息
uname命令來(lái)自英文詞組UNIX name的縮寫(xiě),其功能是查看系統(tǒng)主機(jī)名、內(nèi)核及硬件架構(gòu)等信息。如果不加任何參數(shù),默認(rèn)僅顯示系統(tǒng)內(nèi)核名稱(相當(dāng)于-s參數(shù))的作用。
語(yǔ)法格式:uname 參數(shù)

# 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;  發(fā)行版:el:centos 7;  架構(gòu):x64;



# uname -r //查看軟硬件體系結(jié)構(gòu)  //軟件體系結(jié)構(gòu)3.10.0-957.21.3.        硬件體系結(jié)構(gòu):  el7.x86_64



# cat /etc/redhat-release  //查看linux的商業(yè)化發(fā)行版 -- centos是redhat公司的一款免費(fèi)系統(tǒng)
參數(shù)
-a顯示系統(tǒng)所有相關(guān)信息-r顯示內(nèi)核發(fā)行版本號(hào)-i顯示硬件平臺(tái)-s顯示內(nèi)核名稱-m顯示計(jì)算機(jī)硬件架構(gòu)-v顯示內(nèi)核版本-n顯示主機(jī)名稱--help顯示幫助信息-o顯示操作系統(tǒng)名稱--version顯示版本信息-p顯示主機(jī)處理器類型

exit退出終端

# exit //退出終端



$ ctrl+d //退出//通常代表著:『鍵盤輸入結(jié)束(End Of File, EOF 或 End OfInput)』的意思;另外,他也可以用來(lái)取代exit
historyhistory命令的功能是顯示與管理歷史命令記錄。系統(tǒng)默認(rèn)會(huì)記錄用戶執(zhí)行過(guò)的有命令,可以使用history命令查閱它們,也可以對(duì)其記錄進(jìn)行修改和刪除操作。
語(yǔ)法格式:history 參數(shù)



# history //顯式最近1000條命令

# history > 文件 //把命令保存到文件中

//配合!使用

# !history編號(hào) //執(zhí)行該編號(hào)的命令

# !!           //執(zhí)行上一次的命令
參數(shù)
-a保存命令記錄-r讀取命令記錄到緩沖區(qū)-c清空命令記錄-s添加命令記錄到緩沖區(qū)-d刪除指定序號(hào)的命令記錄-w將緩沖區(qū)信息寫(xiě)入歷史文件-n讀取命令記錄

歷史命令搜索在輸入框按上或按下可以翻動(dòng)歷史命令
ctrl+r //反向搜索歷史命令,再次按繼續(xù)反向搜索(只能反向)
-- enter執(zhí)行,左右鍵修改
rebootreboot命令的功能是用于重新啟動(dòng)計(jì)算機(jī)。與halt和shutdown命令相似,reboot命令的作用就是用于重啟系統(tǒng),簡(jiǎn)單快捷。
語(yǔ)法格式:reboot [參數(shù)]

# reboot //重啟linux
常用參數(shù):
-d不將重啟系統(tǒng)的過(guò)程寫(xiě)入日志中-f強(qiáng)制重啟系統(tǒng)而不詢問(wèn)-i關(guān)閉所有的網(wǎng)絡(luò)服務(wù)然后再重啟系統(tǒng)-n直接重啟系統(tǒng),不保存當(dāng)前資料-w僅模擬重啟過(guò)程,將過(guò)程寫(xiě)入日志中--verbose顯示執(zhí)行過(guò)程詳細(xì)信息shutdown關(guān)閉服務(wù)器的系統(tǒng)

# shutdown [命令選項(xiàng)] //關(guān)機(jī)  -- 云服務(wù)器一般不關(guān)機(jī),若關(guān)機(jī)了需要去官網(wǎng)后臺(tái)重啟
語(yǔ)法格式:sshutdown 參數(shù) 對(duì)象
常用參數(shù):
-c取消關(guān)機(jī)任務(wù)-n不調(diào)用init程序進(jìn)行關(guān)機(jī)
-f關(guān)機(jī)時(shí)不檢查文件系統(tǒng)-P系統(tǒng)關(guān)機(jī)后切斷電源
-F關(guān)機(jī)時(shí)先檢查文件系統(tǒng)-r將系統(tǒng)立即重啟
-h將系統(tǒng)立即關(guān)機(jī)-s關(guān)閉此計(jì)算機(jī),非立即操作
-k發(fā)送信息給所有用戶-t設(shè)置距離關(guān)閉計(jì)算機(jī)還剩余的秒數(shù)
poweroffpoweroff、halt、shutdown、init 0 都是關(guān)機(jī),沒(méi)什么區(qū)別
快捷鍵常用快捷鍵收錄
ctrl+s:暫停終端回顯; ctrl+q:恢復(fù)
按鍵:ctrl+c
終端下ctrl+c鍵用于停止當(dāng)前前臺(tái)進(jìn)程的活動(dòng),如打印刷屏...

分享一個(gè)福利分享一個(gè)羊毛,最近極客時(shí)間出了一個(gè)《MySQL底層原理精講》的專欄,目前還在內(nèi)測(cè)階段,主要是看市場(chǎng)反饋來(lái)定價(jià),所以現(xiàn)在還是免費(fèi)階段,等上線了估計(jì)就可能收費(fèi)了。
除此外,附贈(zèng)前人的MySQL學(xué)習(xí)筆記,有意掃碼自取

MySQL學(xué)習(xí)筆記

一次吃透 MySQL 底層原理?? 架構(gòu)篇、事務(wù)篇、索引與鎖篇全覆蓋,掃描下方二維碼自。



我組建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起進(jìn)群交流。

歡迎你添加我的微信,我拉你進(jìn)技術(shù)交流群。此外,我也會(huì)經(jīng)常在微信上分享一些計(jì)算機(jī)學(xué)習(xí)經(jīng)驗(yàn)以及工作體驗(yàn),還有一些內(nèi)推機(jī)會(huì)。

加個(gè)微信,打開(kāi)另一扇窗
感謝你的分享,點(diǎn)贊,在看三  

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表