|
大家好,我是飛宇。
今天分享一份一份12000字的Linux指南,此外文末還會(huì)分享一份MySQL學(xué)習(xí)筆記,有意自!
txe5sooqatk6401803756.jpg (168.38 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
txe5sooqatk6401803756.jpg
昨天 01:22 上傳
鏈接: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í)命令的基本格式:內(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常見(jiàn)類型:
builtin內(nèi)部指令file文件function函數(shù)keyword關(guān)鍵字alias別名unfound沒(méi)有找到查看命令的使用方法-help對(duì)于內(nèi)建命令 一般語(yǔ)法為:
一般是 Linux 命令自帶的幫助信息,并不是所有命令都自帶這個(gè)選項(xiàng)。
而對(duì)于外部命令ls,我們想查看命令 ls 的用法: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í)行管理員命令
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ù)]
常用參數(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í)筆記,有意掃碼自取
4jy3zautmwq6401803857.png (384.3 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
4jy3zautmwq6401803857.png
昨天 01:22 上傳
MySQL學(xué)習(xí)筆記
一次吃透 MySQL 底層原理?? 架構(gòu)篇、事務(wù)篇、索引與鎖篇全覆蓋,掃描下方二維碼自。
clae11dnlrf6401803957.png (725.08 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
clae11dnlrf6401803957.png
昨天 01:22 上傳
我組建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起進(jìn)群交流。
wgy0bk21n1d6401804057.png (195.91 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
wgy0bk21n1d6401804057.png
昨天 01:22 上傳
歡迎你添加我的微信,我拉你進(jìn)技術(shù)交流群。此外,我也會(huì)經(jīng)常在微信上分享一些計(jì)算機(jī)學(xué)習(xí)經(jīng)驗(yàn)以及工作體驗(yàn),還有一些內(nèi)推機(jī)會(huì)。
k0gfzgmczq46401804158.png (281.08 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
k0gfzgmczq46401804158.png
昨天 01:22 上傳
加個(gè)微信,打開(kāi)另一扇窗
感謝你的分享,點(diǎn)贊,在看三連
zo4twnv425r6401804258.gif (88.16 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
zo4twnv425r6401804258.gif
昨天 01:22 上傳
|
|