常用linux指令

命令名稱 [命名參數(shù)] [命令對象]

注意: 多個功能不沖突的參數(shù)可以同時使用

一、日常操作

1.cd指令 - 進入指定文件夾

cd 目錄 - 進入指定目錄(也可以是文件夾對應的路徑)

cd .. - 返回上層目錄

cd ~ - 回到根目錄

cd / - 進入系統(tǒng)根目錄

2.ls指令 - 查看當前目錄中的內(nèi)容

ls -l/-lh - 查看詳情

ls -a - 隱藏文件也一起顯示

ls -R - 遞歸顯示所有內(nèi)容

ls -S/-t - 按大小/時間排序

3.pwd指令 - 顯示當前完整目錄

4.文件操作指令

touch 文件名 - 新建文件

cat 文件名 - 查看文件內(nèi)容

vim/vi 文件名 - 打開文件

rm 文件名 - 刪除文件(詢問是否刪除)

rm -f 文件名 - 強制刪除文件(不詢問)

rm - r 目錄 - 刪除文件夾

rm -rf 目錄、 rm -r -f 目錄 - 刪除文件夾(不詢問)

cp 文件名1 文件名2 - 將文件1中的內(nèi)容拷貝到文件2中

cp 文件 目錄 - 將指定文件拷貝到指定目錄中

cp -r 文件名/目錄名 目錄2 - 將文件/目錄拷貝到目錄2中

mv 文件名1 文件名2 - 將文件1中的內(nèi)容移動到文件2中 ,并且刪除文件1(文件重命名)

mv 文件1路徑 文件2路徑

mv 文件名1 新文件名 - 重命名

mv 文件名1 文件目錄 - 將文件1移動到指定目錄中

注意: mv指令不能加-r來操作目錄
cp/mv/rm 后面可以跟: -i詢問 -f強制 -n不覆蓋

mkdir 目錄名 - 新建文件夾

mkdir -p a/b/c - 按層級創(chuàng)建a,b,c三個文件夾

mkdir -p a/{b,c}/{d,e,f} - 同一層級常見多個

rmdir 目錄名 - 刪除指定空目錄

5.history - 顯示歷史指令記錄

根目錄下bashrc 配置顯示時間: export HISTTIMEFORMAT="[%y‐%m‐%d_%T] "

修改bashrc 后使其生效: source ~/.bashrc 或 . .bashrc

6.鏈接

ln -s 源路徑 目標路徑 - 給源路徑對應的文件在目標路徑下創(chuàng)建一個軟鏈接(可以看成是快捷鍵)(源路徑是絕對路徑) (掌握!)

ln 源路徑 目標路徑 - 給源路徑對應的文件在目標路徑下創(chuàng)建一個硬鏈接(看成一個數(shù)據(jù)的多個引用)(了解)

注意: 源文件不存在的時候,軟鏈接直接無效,硬鏈接變成普通文件

7.快捷鍵

ctrl + f - 前進一個字符

ctrl + b - 后退一個字符

ctrl + a - 回到行首

ctrl + e - 回到行尾

ctrl + w - 向左刪除一個單詞

ctrl + u - 向左刪除全部

ctrl + k - 向右刪除全部

ctrl + y - 粘貼上次刪除的內(nèi)容

ctrl + l - 清屏

ctrl + d - 結(jié)束輸入

ctrl + z - 暫停命令放到后臺

ctrl + c - 退出任務

date - 查看當前時間

init 6~0 - 重啟6 關(guān)機0

shutdown - 關(guān)閉服務器

  • -c 取消關(guān)機

  • -r 重啟

  • -h 定小時關(guān)機

二、進程相關(guān)指令

1.ps指令

ps - 進程狀態(tài)

ps -aux 或者 ps ex - 查看進程

ps -aux|grep 進程名 - 查看指定進程

ps grep 進程ID

2.top指令

top - 動態(tài)監(jiān)控進程

top -p PID1,PID2,…. - 動態(tài)監(jiān)控指定進程

3.free指令

free -單位 - 以指定單位查看內(nèi)存, 例如 free -m (以Mb為單位顯示內(nèi)存狀況), -g, -k等!

4.kill指令

kill 進程號 - 殺死指定的進程

kill -1/-9/-15 進程號 - -1(HUP)不間斷重啟,-9(KILL)強制殺死進程, -15(TERM)正常終止進程

pkill 進程名 - 按名字處理進程

killall 進程名 - 處理名字匹配的進程

5.uptime - 查看系統(tǒng)狀態(tài)

三、權(quán)限管理

1.user和group : 一個系統(tǒng)可以有多個用戶和多個分組; 一個分組中可以有多個用戶,一個用戶在不同的分組中(多對多)

users - 查看當前用戶

groups - 查看當前分組

groupadd 分組名 - 添加分組 (能在/etc/group文件中查看到新的分組, root才有的權(quán)限)

useradd 用戶名 - 創(chuàng)建新的用戶(還是在home中自動創(chuàng)建這個用戶對應的文件夾, root才有的權(quán)限)

useradd ‐G 分組名 ‐m ‐s /bin/bash 用戶名 - 創(chuàng)建一個用戶添加到指定的分組中(在home創(chuàng)建相應的文件夾)

usermod -G 分組名 用戶名 - 修改分組(root才有的權(quán)限)

passwd 用戶名 - 修改密碼(root才有權(quán)限)

passwd - 修改當前賬號密碼

su 用戶名 - 切換用戶身份(root不需要密碼,其他用戶需要密碼)

sudo - 以管理員執(zhí)行其他程序

注意: a.在ubuntu需要將用戶添加到sudo分組中,才能使用sudo以管理員的身份執(zhí)行程序

? b.在centOS中需要先執(zhí)行vi 指令進入/etc/sudoers文件中在指定的位置添加內(nèi)容


# Allow root to run any commands anywhere

root    ALL=(ALL)      ALL

xiaoming ALL=(ALL)      ALL # 自己添加的,xiaoming是用戶名

2.chmod

chmod 權(quán)限值 文件 - 修改指定文件的權(quán)限

chmod [a,u,g,o][+,-][r,w,x] 文件 - 指定文件,給所有用戶添加相應的權(quán)限

? (a:所有,u:自己,g:同組,o:其他;

? +:添加, - :取消; r:讀,w:寫,x:執(zhí)行)

chown 用戶名 文件 - 改變文件所有者

(權(quán)限制是三組二進制值)

self group other

rwx rwx rwx

111 101 001 - 自己讀寫可執(zhí)行,同一分組的只讀可執(zhí)行,其他的只可執(zhí)行

110 100 000

chmod 644 文件

chmod 777 文件

chmod 666 文件

四、日志管理

1.cat指令

cat 文件 - 查看文件內(nèi)容

cat -n 文件 - 查看文件內(nèi)容,并且顯示行號

2.查看部分

head N 文件 - 查看前N行內(nèi)容

tail N 文件 - 查看后N行內(nèi)容

3.less 文件

? - 按 j 向下

? - 按 k 向上

? - 按 f 向下翻屏

? - 按b 向上翻屏

? - 按 g 到全文開頭

? - 按 G 到全文結(jié)尾

? - 按 Q 退出

more [-N] 文件 - 和less差不多,這個是盡可能多,less是盡可能少的加載

4.處理(對通過其他指令獲取的結(jié)果進行處理)

sort - 排序 (cat 文件 |sort)

uniq - 去重 (cat 文件 |uniq) - 只會去重相鄰的重復是數(shù)據(jù),一般結(jié)合sort一起使用: |sort|uniq


awk '{print $N}'    # 打印第N列的內(nèi)容 (例如:netstat -natp|awk '{print $4}')

awk '{print $N1,$N2,$N3,…}'

history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3  # 獲取歷史指令中,使用最頻繁的三個指令

uniq ‐c -去重的時候統(tǒng)計每一行內(nèi)容的重復出現(xiàn)的次數(shù)

sort -nk 1 - 數(shù)值大小從小到大排序

sort -nk 2 - 字符大小從小到大排序(默認)

sort -rnk 1 - 數(shù)值大小從大到小排序

sort -rnk 2 - 字符大小從大到小排序(默認)

5.重定向

執(zhí)行獲取數(shù)據(jù)的指令 > 文件 (將執(zhí)行指定的結(jié)果存儲到文件中 - 覆蓋原文件中內(nèi)容)

執(zhí)行獲取數(shù)據(jù)的指令 >> 文件 (將執(zhí)行指定的結(jié)果存儲到文件中 - 在原文件的最后追加)

6.統(tǒng)計

wc -c(字符)/-w(單詞)/-l(行) 文件

7.查找

grep 查看對象 目錄/文件 參數(shù)

?
? 參數(shù):

? -i 忽略大小寫: grep you bb.txt -i

? -n 顯示行標號: grep you bb.txt -n / grep you bb.txt -i -n

? -E 通過正則表達式匹配: grep -E ‘正則表達式’ 文件

? 注意: Linux中,正則不支持: \d, \s,\w,\b,\D,\S,\W,\B

? 支持:. +, *, ?, {N,M}, [], ^, $

? -v 忽略字段: grep you bb.txt -v (在bb.txt中找不包含you的所有行)

? grep -E '[0-9]+.[0-9]+' abb.txt -v

? -rn 遞歸查找目錄,并打印行號

? grep -r you ./ (在當前文件夾下中所有文件中去找包行’you’的行)

?

? // 對文件格式進行約束

? —include=‘.py’ 僅包含 py文件: grep -r you ./ --include=‘.txt'

? —exclude=‘.js’ 不包含 js 文件: grep -r you ./ --exclude='.c'

? 例如:

? grep you bb.txt

? grep you bb.txt -i

? grep you bb.txt -i -n

? grep -E '[0-9]+' bb.txt

在文件夾下找滿足條件的文件

find DIR -name ‘.xxx’ 找到目錄下所有名字匹配的文件: find a1 -name '.txt’(在文件夾a1中找所有txt文件)

find 路徑 -size +/-文件大小 例如: find ./ +20k (在當前目錄下找文件大小大于20k的文件)

? 例:find ./ -size +20k -size -100k -name '*.txt' (找當前目錄下大于20k并且小于100k的所有txt文件)

查指令

which 指令 - 精確查找當前可執(zhí)行的指令

whereis 指令 - 查找所有匹配的命令

man 指令 - 使用指令手冊

五、網(wǎng)絡管理

ifconfig - 查看網(wǎng)卡狀態(tài)

netstat -natp - 查看網(wǎng)絡連接狀態(tài)

netstat -natp|grep 端口號 - 查看指定端口的網(wǎng)絡連接狀態(tài)

ping 地址

ping -i 時間 地址

ping -c 次數(shù) 地址

route - 顯示路由表

telnet ip地址 端口 - 查看遠程主機網(wǎng)絡連接狀況(需要telnet環(huán)境)

dig 地址 - 查看DNS (需要環(huán)境支持)

六、使用包管理工具(掌握)

包管理工具

yum (CentOS)

  • yum search:搜索軟件包,例如yum search nginx。

  • yum list installed:列出已經(jīng)安裝的軟件包,例如yum list installed | grep zlib。

  • yum install:安裝軟件包,例如yum install nginx。

  • yum remove / yum erase:刪除軟件包,例如yum remove nginx。

  • yum update:更新軟件包,例如yum update可以更新所有軟件包,而yum update tar只會更新tar。

  • yum check-update:檢查有哪些可以更新的軟件包。

  • yum info :顯示軟件包的相關(guān)信息,例如yum info nginx。

rpm (Redhat)

  • rpm -ivh 安裝

  • rpm -e 卸載軟件包

  • rpm -qa 查詢所有已安裝的軟件包

參數(shù):

-i 安裝軟件包

-v 可視化,提供更多的詳細信息的輸出

-h 顯示安裝進度

-a 查詢所有已經(jīng)安裝的軟件包

-f 查詢文件所屬于的軟件包

-q 查詢軟件包(通常用來看下還未安裝的軟件包)

-l 顯示軟件包的文件列表

-d 顯示被標注為文檔的文件列表

-c 顯示被標注為配置文件的文件列表 最后這兩個用的很少了

apt (Ubuntu)

  • apt-cache search ——(package 搜索包)

  • apt-cache show ——(package 獲取包的相關(guān)信息,如說明、大小、版本等)

  • sudo apt-get install ——(package 安裝包)

  • sudo apt-get reinstall ——(package - - reinstall 重新安裝包)

  • sudo apt-get -f install ——(修復安裝)

  • sudo apt-get remove ——(package 刪除包)

  • sudo apt-get remove --purge ——(package 刪除包,包括刪除配置文件等)

  • sudo apt-get update ——更新源

  • sudo apt-get upgrade ——更新已安裝的包

源代碼構(gòu)建安裝
  1. wget 安裝包的路徑 -下載安裝包

  2. gunzip/tar 壓縮包 - 解壓、解歸檔

  3. (設(shè)置安裝路徑)

  4. cd 安裝包目錄 執(zhí)行: make && make install -編譯安裝包程序

  5. 給可執(zhí)行文件添加軟連接到usr/bin目錄下 -添加快捷方式

安裝Redis官方最新版:


wget http://download.redis.io/releases/redis-5.0.7.tar.gz

gunzip redis-5.0.7.tar.gz

tar -xvf redis-5.0.7.tar

cd redis-5.0.7

make && make install

安裝Git官方最新版:


wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.24.1.tar.xz

xz -d git-2.24.1.tar.xz

tar -xf git-2.24.1.tar

cd git-2.24.1

yum install -y curl libcurl-devel

./configure --prefix=/usr/local

make && make install

壓縮/解壓縮和歸檔/解歸檔 - gzip / gunzip / xz / tar

1)歸檔和解歸檔 - tar

tar -cvf 歸檔文件地址需要歸檔的原文件地址-將文件進行歸檔操作(既可以對文件進行歸檔 也可以對文件夾歸檔)

tar -xvf 歸檔文件地址-將指定的歸檔文件解歸檔

2)壓縮和解壓:gzip.gunzip.xz

a. gzip

gzip 文件地址 - 壓縮指定文件(壓縮后會生成一個gz文件,并且會刪除原文件)

gzip -c 文件地址 > 壓縮文件地址 - 將指定文件壓縮指定位置,并且保留原文件

gzip -d 壓縮文件地址 - 解壓指定文件(解壓完成后會刪除原壓縮文件)

gzip -l 壓縮文件地址 - 列出壓縮文件中的內(nèi)容

b. gunzip

gunzip 壓縮文件地址 - 解壓指定文件(解壓完成后悔刪除原壓縮文件)

c. xz

xz 文件地址 - 壓縮指定文件(壓縮后文件后綴是xz)

xz -d 壓縮文件地址 - 解壓指定文件

七、遠程文件傳輸

  1. 通過網(wǎng)絡獲取資源:wget <獲取資源的url>

  - 后臺下載模式:-b

  - 下載到指定的目錄:-O

  - 遞歸下載:-r

  - 發(fā)送和接受郵件:email

  1. 安全文件傳輸:sftp

sftp root@118.31.103.87

root@118.31.103.87's passward:

stfp>


help:顯示幫助信息。


ls/lls:顯示遠端/本地目錄列表。


cd/lcd:切換遠端/本地路徑。


mkdir/lmkdir:創(chuàng)建遠端/本地目錄。


pwd/lpwd:顯示遠端/本地當前工作目錄。


get:下載文件。


put:上傳文件;put <文件名> <路徑>


rm:刪除遠端文件。


bye/exit/quit:退出sftp。

  1. 遠程安全文件拷貝 :scp

scp <文件名> root@<主機>:路徑 也能實現(xiàn)文件傳輸

例如:

scp hello.txt root@120.77.222.217:/root/abc.txt

拷貝多個

scp hellokitty@1.2.3.4:/home/hellokitty/index.html root@4.3.2.1:/usr/share/sohu.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內(nèi)容