Linux的常用命令

01

開篇詞

不管你是從事開發(fā)還是運(yùn)維工作荠呐,都要懂Linux基本命令赛蔫,Linux命令是Linux系統(tǒng)正常運(yùn)行的核心。

如果是運(yùn)維直秆,那Linux命令是必備技能濒募,因?yàn)橐?jīng)常和服務(wù)器打交道鞭盟。

如果是開發(fā)圾结,那Linux命令是中堅(jiān)力量,因?yàn)橐€(wěn)定高效運(yùn)行應(yīng)用程序齿诉。

Linux中的命令大致分為兩類:內(nèi)部命令和外部命令筝野。

內(nèi)部命令也稱shell內(nèi)嵌命令,這些命令是寫在bash源碼的builtins里面的粤剧,由shell 程序識(shí)別并在 shell 程序內(nèi)部完成運(yùn)行歇竟,通常在 Linux 系統(tǒng)加載運(yùn)行時(shí) shell 就被加載并駐留在系統(tǒng)內(nèi)存中,不需要臨時(shí)去磁盤加載命令抵恋。而且解析內(nèi)部命令 shell 不需要?jiǎng)?chuàng)建子進(jìn)程焕议,因此其執(zhí)行速度比外部命令快。

外部命令存放在一個(gè)文件中弧关,需要時(shí)候在文件中查找盅安,這些文件定義在$PATH中,通常放在/bin世囊,/usr/bin别瞭,/sbin,/usr/sbin目錄中株憾。

那內(nèi)部命令有哪些呢蝙寨?我們可以通過enable命令來查看

enable
 1enable .
 2enable :
 3enable [
 4enable alias
 5enable bg
 6enable bind
 7enable break
 8enable builtin
 9enable caller
10enable cd
11enable command
12enable compgen
13enable complete
14enable compopt
15enable continue
16enable declare
17enable dirs
18enable disown
19enable echo
20enable enable
21enable eval
22enable exec
23enable exit
24enable export
25enable false
26enable fc
27enable fg
28enable getopts
29enable hash
30enable help
31enable history
32enable jobs
33enable kill
34enable let
35enable local
36enable logout
37enable mapfile
38enable popd
39enable printf
40enable pushd
41enable pwd
42enable read
43enable readarray
44enable readonly
45enable return
46enable set
47enable shift
48enable shopt
49enable source
50enable suspend
51enable test
52enable times
53enable trap
54enable true
55enable type
56enable typeset
57enable ulimit
58enable umask
59enable unalias
60enable unset
61enable wait

外部命令表現(xiàn)為一個(gè)磁盤文件晒衩,存放在某一個(gè)目錄下,我們可以通過which命令來查看具體位置墙歪。

1root@DESKTOP-KV8R5US:~# which ls   //查看外部命令的磁盤路徑
2/bin/ls
3root@DESKTOP-KV8R5US:~# whereis ls   //whereis 不僅能查看文件路徑听系,還能查看幫助文檔的路徑
4ls: /bin/ls /usr/share/man/man1/ls.1.gz

那如何更快速,準(zhǔn)確的確定某一個(gè)命令到底是屬于內(nèi)部命令還是外部命令虹菲,我們可以通過type命令來查看具體位置跛锌。

1root@DESKTOP-KV8R5US:~# type help
2help is a shell builtin
3root@DESKTOP-KV8R5US:~# type ls
4ls is aliased to `ls --color=auto'
5root@DESKTOP-KV8R5US:~# type pwd
6pwd is a shell builtin

執(zhí)行過的命令都通過hash存在內(nèi)存中,我們可以通過hash命令查看緩存的路徑。

1hash

02

幫助命令

1.1 help

獲取shell內(nèi)置命令的幫助信息届惋,不能用于外部命令髓帽。

help [-dms] [pattern ...]

1.2 man

獲取幫助信息,沒有內(nèi)部命令與外部命令的區(qū)分脑豹。

man [OPTION...] [SECTION] PAGE...

1.3 info

info [OPTION]... [MENU-ITEM...]

相比man來說郑藏,info獲取到的幫助文檔更加完整詳細(xì)。

我們最常用的一種情況是-h, --help

基本命令 --help

03

組與用戶類

2.1 group

添加組

groupadd [options] GROUP

創(chuàng)建一個(gè)新的組groupbdc瘩欺,并添加組 ID:325必盖。

# groupadd -g 325 groupbdc
  • -g:指定新建用戶組的ID

  • -r:創(chuàng)建系統(tǒng)賬戶(系統(tǒng)賬戶GID小于500)

刪除組

groupdel [options] GROUP

刪除組groupbdc。

# groupdel groupbdc

修改組

groupmod [options] GROUP

刪除組groupbdc為groupbdc+俱饿。倘若該群組中仍包括某些用戶歌粥,則必須先刪除這些用戶后,方能刪除群組拍埠。

# groupmod -n newgroupbdc groupbdc
  • -n:指定某組的新組名

查看組

查看組賬戶信息

cat /etc/group 

查看安全組賬戶信息

# cat /etc/gshadow

查看密碼套件配置失驶。

cat /etc/login.defs Shadow

2.2 user

添加用戶

useradd [options] LOGIN

添加用戶userbdc。

# useradd userbdc

為添加用戶指定用戶組枣购。

# useradd -g groupbdc userbdc

創(chuàng)建一個(gè)系統(tǒng)用戶嬉探。

# useradd -r userbdc

刪除用戶

userdel [options] LOGIN

刪除userbdc用戶以及與此用戶相關(guān)的所有文件。

# userdel -r userbdc
  • -r 刪除用戶的同時(shí)棉圈,刪除與用戶相關(guān)的所有文件涩堤。

判斷用戶是否存在

id [OPTION]... [USER]

判斷用戶userbdc是否存在

id userbdc

設(shè)置用戶密碼

passwd [options] [LOGIN]

為userbdc用戶設(shè)置密碼。

# passwd userbdc

修改用戶

usermod [options] LOGIN

修改userbdc用戶為root用戶組

# usermod –g root userbdc

切換用戶

su [options] [LOGIN]

切換用戶分瘾,只能獲得用戶的執(zhí)行權(quán)限胎围,不能獲得環(huán)境變量

su userbdc

切換到用戶并獲得該用戶的環(huán)境變量及執(zhí)行權(quán)限

su - userbdc

查看登錄用戶信息

查看創(chuàng)建了哪些組

cat /etc/passwd

顯示自身用戶名稱

whoami

顯示登錄用戶的用戶名

who am i

顯示有哪些用戶登錄到了本臺(tái)機(jī)器上

who

sudo

修改配置文件/etc/sudoers

## Allow root to run any commands anywhere
root  ALL=(ALL)   ALL
userbdc  ALL=(ALL)   ALL或 NOPASSWD:ALL(不需要輸入密碼)

04

文件目錄類

3.1 pwd

基本語法

pwd顯示您目前所在的工作目錄的絕對(duì)路徑

pwd [-LP]
  • -L 如果指定當(dāng)前工作目錄,則打印PWD的值德召。ehcoPWD 默認(rèn)就是 -L
  • -P 打印物理目錄白魂,不包含任何符號(hào)鏈接

常用實(shí)例

# pwd
/home/wang

3.2 ls

基本語法

顯示指定工作目錄下的內(nèi)

 ls [-alrtAFR] [目錄or文件]

|文件類型以及權(quán)限|鏈接數(shù)|文件屬主|文件屬組|文件大小(單位:Byte)|

最后一次操作的時(shí)間|文件名稱

  • -r 將文件以相反次序顯示(原定依英文字母次序)
  • -t 將文件按照建立時(shí)間之先后次序列出
  • -A 不列出 "." (目前目錄) 及 ".." (父目錄)
  • -F 在列出的文件名稱后加一符號(hào)氏捞;例如可執(zhí)行檔則加 "*", 目錄則加 "/"
  • -R 遞歸顯示層級(jí)目錄
  • -a 顯示所有文件及目錄碧聪,包括以"."開頭的隱藏檔
  • -l 除文件名稱外,亦將文件型態(tài)液茎、權(quán)限逞姿、擁有者辞嗡、文件大小等資訊詳細(xì)列出

實(shí)例

Null

3.3 mkdir

基本語法

創(chuàng)建一個(gè)新的目錄

mkdir [-p] dirName 
  • -p 遞歸創(chuàng)建多層目錄
  • dirName 目錄名稱(可以是多個(gè))

實(shí)例

mkdir -p a/b/c

3.4 rmdir

基本語法

刪除一個(gè)空的目錄

rmdir [-p] dirName
  • -p 遞歸創(chuàng)建多層目錄
  • dirName 目錄名稱(可以是多個(gè))

實(shí)例

rmdir -p a/b/c

3.5 touch

基本語法

創(chuàng)建新的空白文件

touch fileName

實(shí)例

touch new.txt

3.6 cd

基本語法

切換目錄

cd [dirName]

dirName 相對(duì)路徑或絕對(duì)路徑都支持

實(shí)例

cd ~或者cd  # 回到自己的家目錄
cd -  # 回到自己上一次所在目錄

cd ..  # 回到當(dāng)前目錄的上一級(jí)目錄
cd -P  # 跳轉(zhuǎn)到實(shí)際物理路徑,而非快捷方式路徑

3.7 cp

基本用法

復(fù)制文件或目錄

cp [options] source dest 或 cp [options] source... directory

實(shí)例

使用指令"cp"將當(dāng)前目錄"test/"下的所有文件復(fù)制到新目錄"newDir"下

 cp –r test/ newDir

3.8 rm

基本語法

刪除文件或目錄

rm [options] fileName或dirName...
  • -i 刪除前逐一詢問確認(rèn)滞造。
  • -r 遞歸刪除目錄中所有內(nèi)容
  • -f 強(qiáng)制執(zhí)行刪除操作续室,而不提示用于進(jìn)行確認(rèn)。
  • -v 顯示指令的詳細(xì)執(zhí)行過程

常用案例

遞歸刪目錄中所有內(nèi)容

rm -rf dirName

刪除當(dāng)前目錄下的所有文件及目錄

rm  -r  * 

需要注意

文件一旦通過rm命令刪除谒养,則無法恢復(fù)挺狰,所以必須格外小心地使用該命令。

3.9 mv

基本語法

移動(dòng)文件买窟、目錄或重命名

mv [options] source dest  #重命名
mv [options] source... directory  #移動(dòng)

常用案例

將文件oldFileName.txt重命名為newFileName.txt

mv oldFileName.txt  newFileName.txt

將文件fileName移動(dòng)到目錄dir

mv fileName.txt dir

需要注意

如果目錄存在丰泊,則該命令執(zhí)行移動(dòng)操作。

如果目錄不存在始绍,則該命令執(zhí)行修改操作瞳购。

3.10 cat

基本語法

查看文件內(nèi)容,正序

cat [options] fileName
  • -n 或 -number : 對(duì)輸出的內(nèi)容進(jìn)行編號(hào)
  • -b 或 --number-nonblank:和 -n 相似亏推,只不過對(duì)于空白行不編號(hào)学赛。

常用案例

root@DESKTOP-KV8R5US:/# cat -number a.txt

3.11 tac

基本用法

查看文件內(nèi)容,倒序

tac [options] fileName

常用實(shí)例

root@DESKTOP-KV8R5US:/# tac a.txt

3.12 more

基本用法

more [options] fileName
  • 空白鍵 (space):代表向下翻一頁吞杭;
  • Enter:代表向下翻『一行』盏浇;
  • q:代表立刻離開 more ,不再顯示該文件內(nèi)容芽狗。
  • Ctrl+F 向下滾動(dòng)一屏
  • Ctrl+B 返回上一屏
  • = 輸出當(dāng)前行的行號(hào)
  • :f 輸出文件名和當(dāng)前行的行號(hào)

常用實(shí)例

root@DESKTOP-KV8R5US:/# more a.txt

3.13 less

基本用法

less 的作用與 more 十分相似绢掰,都可以用來瀏覽文字檔案的內(nèi)容,不同的是 less 允許使用[pageup] [pagedown]往回滾動(dòng)译蒂。

less [options] fileName
  • 空白鍵 :向下翻動(dòng)一頁曼月;
  • [pagedown]:向下翻動(dòng)一頁谊却;
  • [pageup] :向上翻動(dòng)一頁柔昼;
  • /字串 :向下搜尋『字串』的功能;n:向下查找炎辨;N:向上查找捕透;
  • ?字串 :向上搜尋『字串』的功能;n:向上查找碴萧;N:向下查找乙嘀;
  • q :離開 less 這個(gè)程序;

常用實(shí)例

root@DESKTOP-KV8R5US:/# less a.txt

3.14 head

基本用法

head [options] fileName
  • -n x 查看文件頭x行內(nèi)容

常用實(shí)例

root@DESKTOP-KV8R5US:/# head -n 1 a.txt
total 580

3.15 tail

基本用法

tail [options] fileName
  • -f 實(shí)時(shí)追蹤該文檔的所有更新
  • -n x 查看文件末尾x行內(nèi)容

常用實(shí)例

root@DESKTOP-KV8R5US:/# tail -n 1 a.txt
drwxr-xr-x  1 root root    512 Mar  5 00:02 var

3.16 echo

基本用法

顯示一行文本破喻,用于字符串的輸出虎谢。

echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION

常用案例

顯示普通字符串

root@DESKTOP-KV8R5US:/# echo "hello bdc+"
hello bdc+

顯示轉(zhuǎn)義字符

root@DESKTOP-KV8R5US:/# echo "\"It is echo\""
"It is echo"

顯示變量

root@DESKTOP-KV8R5US:/# echo $PWD
/

顯示換行

root@DESKTOP-KV8R5US:/# echo -e "OK! \n"
OK!

輸出結(jié)構(gòu)到文件

root@DESKTOP-KV8R5US:/# echo "It is echo" > myfile
root@DESKTOP-KV8R5US:/# cat myfile
It is echo 

顯示命令內(nèi)容

root@DESKTOP-KV8R5US:/# echo `date`
Tue Jun 23 10:44:48 CST 2020   

3.17 >>

基本語法

重定向

> 列表的內(nèi)容寫入文件中(覆蓋寫)
>> 列表的內(nèi)容追加到文件末尾

常用案例

root@DESKTOP-KV8R5US:/# ls -l > a.txt
root@DESKTOP-KV8R5US:/# ls -l >> a.txt

3.18 ln

基本用法

Linux ln命令是一個(gè)非常重要命令,它的功能是為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同步的鏈接曹质。

當(dāng)我們需要在不同的目錄婴噩,用到相同的文件時(shí)擎场,我們不需要在每一個(gè)需要的目錄下都放一個(gè)必須相同的文件,我們只要在某個(gè)固定的目錄几莽,放上該文件迅办,然后在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復(fù)的占用磁盤空間章蚣。

Linux文件系統(tǒng)中站欺,有所謂的鏈接(link),我們可以將其視為檔案的別名纤垂,而鏈接又可分為兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link)矾策,硬鏈接的意思是一個(gè)檔案可以有多個(gè)名稱,而軟鏈接的方式則是產(chǎn)生一個(gè)特殊的檔案峭沦,該檔案的內(nèi)容是指向另一個(gè)檔案的位置蝴韭。硬鏈接是存在同一個(gè)文件系統(tǒng)中,而軟鏈接卻可以跨越不同的文件系統(tǒng)熙侍。

不論是硬鏈接或軟鏈接都不會(huì)將原本的檔案復(fù)制一份榄鉴,只會(huì)占用非常少量的磁碟空間。

軟鏈接蛉抓,以路徑的形式存在汗销。類似于Windows操作系統(tǒng)中的快捷方式

軟鏈接可以 跨文件系統(tǒng) 囚灼,硬鏈接不可以

軟鏈接可以對(duì)一個(gè)不存在的文件名進(jìn)行鏈接

軟鏈接可以對(duì)目錄進(jìn)行鏈接

硬鏈接,以文件副本的形式存在。但不占用實(shí)際空間颤殴。

不允許給目錄創(chuàng)建硬鏈接

硬鏈接只有在同一個(gè)文件系統(tǒng)中才能創(chuàng)建

ln [options] [source/dir] [dest/dir]
  • -s 軟鏈接(符號(hào)鏈接)
  • -b 刪除,覆蓋以前建立的鏈接
  • -d 允許超級(jí)用戶制作目錄的硬鏈接
  • -f 強(qiáng)制執(zhí)行
  • -i 交互模式琅捏,文件存在則提示用戶是否覆蓋
  • -n 把符號(hào)鏈接視為一般目錄
  • -v 顯示詳細(xì)的處理過程

常用實(shí)例

給hadoop目錄創(chuàng)建軟鏈接/ln/hadoop逢渔,如果hadoop丟失,/ln/hadoop將失效:

ln -s hadoop /ln/hadoop

cd不加參數(shù)進(jìn)入是軟鏈接的地址

cd hadoop

cd加參數(shù)進(jìn)入是實(shí)際的物理地址

cd -P hadoop

3.19 history

基本用法

顯示所操作歷史記錄列表飞蹂。

history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]

常用案例

history

** **

05

文件權(quán)限類

4.1 文件屬性

Linux系統(tǒng)是一種典型的多用戶系統(tǒng)几苍,不同的用戶處于不同的地位,擁有不同的權(quán)限陈哑。為了保護(hù)系統(tǒng)的安全性妻坝,Linux系統(tǒng)對(duì)不同的用戶訪問同一文件(包括目錄文件)的權(quán)限做了不同的規(guī)定。在Linux中我們可以使用ll或者ls –l命令來顯示一個(gè)文件的屬性以及文件所屬的用戶和組惊窖。

文件類型 屬主權(quán)限 屬組權(quán)限 其他用戶權(quán)限
0 1 2 3 4 5 6 7 8 9
d R w x R - x R - x
目錄文件 讀 寫 執(zhí)行 讀 寫 執(zhí)行 讀 寫 執(zhí)行

0首位表示類型

在Linux中第一個(gè)字符代表這個(gè)文件是目錄刽宪、文件或鏈接文件等等

  • - 代表文件
  • d 代表目錄
  • c 字符流,裝置文件里面的串行端口設(shè)備界酒,例如鍵盤圣拄、鼠標(biāo)(一次性讀取裝置)
  • s socket
  • p 管道
  • l 鏈接文檔(link file);
  • b 設(shè)備文件毁欣,裝置文件里面的可供儲(chǔ)存的接口設(shè)備(可隨機(jī)存取裝置)

第1-3位確定屬主(該文件的所有者)擁有該文件的權(quán)限庇谆。---User

第4-6位確定屬組(所有者的同組用戶)擁有該文件的權(quán)限赁遗,---Group

第7-9位確定其他用戶擁有該文件的權(quán)限 ---Other

rxw作用文件和目錄的不同解釋

作用到文件:

  • [ r ]代表可讀(read): 可以讀取,查看
  • [ w ]代表可寫(write): 可以修改族铆,但是不代表可以刪除該文件,刪除一個(gè)文件的前提條件是對(duì)該文件所在的目錄有寫權(quán)限岩四,才能刪除該文件.
  • [ x ]代表可執(zhí)行(execute):可以被系統(tǒng)執(zhí)行

作用到目錄:

  • [ r ]代表可讀(read): 可以讀取,ls查看目錄內(nèi)容
  • [ w ]代表可寫(write): 可以修改哥攘,目錄內(nèi)創(chuàng)建+刪除+重命名目錄
  • [ x ]代表可執(zhí)行(execute):可以進(jìn)入該目錄

4.2 chmod改變權(quán)限

基本用法

文件類型 屬主權(quán)限 u 屬組權(quán)限 g 其他用戶權(quán)限 o
0 1 2 3 4 5 6 7 8 9
d R w x R - x R - x
目錄文件 讀 寫 執(zhí)行 讀 寫 執(zhí)行 讀 寫 執(zhí)行

u:所有者 g:所有組 o:其他人 a:所有人(u剖煌、g、o的總和)

chmod [{ugoa}{+-=}{rwx}] [文件或目錄] [mode=421 ] [文件或目錄] 
chmod [mode=421 ] [文件或目錄]

功能描述

改變文件或者目錄權(quán)限

文件: r-查看逝淹;w-修改耕姊;x-執(zhí)行文件

目錄: r-列出目錄內(nèi)容;w-在目錄中創(chuàng)建和刪除栅葡;x-進(jìn)入目錄

刪除一個(gè)文件的前提條件:該文件所在的目錄有寫權(quán)限茉兰,你才能刪除該文件。

4.3 chown改變所有者

基本語法

chown [最終用戶] [文件或目錄]     (功能描述:改變文件或者目錄的所有者)
  • -R 遞歸操作

4.4 chgrp改變所屬組

基本語法

chgrp [最終用戶組] [文件或目錄]   (功能描述:改變文件或者目錄的所屬組)

06

時(shí)間日期類

5.1 date顯示當(dāng)前時(shí)間

data 顯示當(dāng)前時(shí)間

Tue Jun 16 20:03:43 CST 2020

date +%Y 顯示當(dāng)前年份 (Y是4位的年/y是2位的年)

2020

date +%m 顯示當(dāng)前月份

06

date +%Y%m%d date +%Y-%m-%d date +%Y/%m/%d 顯示當(dāng)前年月日各種格式

20200616    2020-06-16    2020/06/16

date "+%Y-%m-%d %H:%M:%S" 顯示年月日時(shí)分秒

2020-06-16 20:10:08

5.2 date 顯示非當(dāng)前時(shí)間

date -d yesterday +%Y%m%d 或 date -d '1 days ago' 顯示昨天當(dāng)下時(shí)間

20200615 或 Tue Jun 15 20:12:55 CST 2020

date -d next-day +%Y%m%d 或 date -d 'next monday' 顯示明天當(dāng)下時(shí)間

20200617 或 Tue Jun 17 20:15:15 CST 2020

5.3 date 設(shè)置系統(tǒng)時(shí)間

date -s 字符串時(shí)間

date -s "xxxx-xx-xx xx:xx:xx"

在設(shè)置完時(shí)間之后我們可以將其寫入到BIOS欣簇,避免重啟失效

hwclock -w    強(qiáng)制把系統(tǒng)時(shí)間寫入CMOS

在計(jì)算機(jī)領(lǐng)域规脸,CMOS常指保存計(jì)算機(jī)基本啟動(dòng)信息(如日期、時(shí)間熊咽、啟動(dòng)設(shè)置等)的芯片莫鸭。有時(shí)人們會(huì)把CMOS和BIOS混稱,其實(shí)CMOS是主板上的一塊可讀寫的并行或串行FLASH芯片横殴,是用來保存BIOS的硬件配置和用戶對(duì)某些參數(shù)的設(shè)定被因。

5.4 cal 查看日歷

cal 顯示本月日歷

June 2020
Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

cal 2000 顯示某年(2000)日歷

2000
      January               February               March
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                   1         1  2  3  4  5            1  2  3  4
 2  3  4  5  6  7  8   6  7  8  9 10 11 12   5  6  7  8  9 10 11
 9 10 11 12 13 14 15  13 14 15 16 17 18 19  12 13 14 15 16 17 18
16 17 18 19 20 21 22  20 21 22 23 24 25 26  19 20 21 22 23 24 25
23 24 25 26 27 28 29  27 28 29              26 27 28 29 30 31
30 31

       April                  May                   June
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                   1      1  2  3  4  5  6               1  2  3
 2  3  4  5  6  7  8   7  8  9 10 11 12 13   4  5  6  7  8  9 10
 9 10 11 12 13 14 15  14 15 16 17 18 19 20  11 12 13 14 15 16 17
16 17 18 19 20 21 22  21 22 23 24 25 26 27  18 19 20 21 22 23 24
23 24 25 26 27 28 29  28 29 30 31           25 26 27 28 29 30
30

        July                 August              September
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                   1         1  2  3  4  5                  1  2
 2  3  4  5  6  7  8   6  7  8  9 10 11 12   3  4  5  6  7  8  9
 9 10 11 12 13 14 15  13 14 15 16 17 18 19  10 11 12 13 14 15 16
16 17 18 19 20 21 22  20 21 22 23 24 25 26  17 18 19 20 21 22 23
23 24 25 26 27 28 29  27 28 29 30 31        24 25 26 27 28 29 30
30 31

      October               November              December
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7            1  2  3  4                  1  2
 8  9 10 11 12 13 14   5  6  7  8  9 10 11   3  4  5  6  7  8  9
15 16 17 18 19 20 21  12 13 14 15 16 17 18  10 11 12 13 14 15 16
22 23 24 25 26 27 28  19 20 21 22 23 24 25  17 18 19 20 21 22 23
29 30 31              26 27 28 29 30        24 25 26 27 28 29 30
                                            31

cal -3 顯示系統(tǒng)前一個(gè)月,當(dāng)前月衫仑,下一個(gè)月的日歷

May 2020             June 2020             July 2020
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                1  2      1  2  3  4  5  6            1  2  3  4
 3  4  5  6  7  8  9   7  8  9 10 11 12 13   5  6  7  8  9 10 11
10 11 12 13 14 15 16  14 15 16 17 18 19 20  12 13 14 15 16 17 18
17 18 19 20 21 22 23  21 22 23 24 25 26 27  19 20 21 22 23 24 25
24 25 26 27 28 29 30  28 29 30              26 27 28 29 30 31
31  

*01*

07

搜索查找類

6.1 find

基本語法

find 查找文件或者目錄

find指令將從指定目錄向下遞歸地遍歷其各個(gè)子目錄梨与,將滿足條件的文件顯示在終端。

find [搜索范圍] [匹配條件]
選項(xiàng) 功能
-name<查詢方式> 按照指定的文件名查找模式查找文件
-user<用戶名> 查找屬于指定用戶名所有文件

常用實(shí)例

按文件名:根據(jù)名稱查找/opt目錄下的filename.txt文件文狱。

find /opt/ -name filename.txt

按擁有者:查找/opt目錄下粥鞋,用戶名稱為userbdc的文件。

find /opt/ -user userbdc

按文件大腥绱:在/home目錄下查找大于200m的文件(+n 大于 -n小于 n等于)陷虎。

find /home –size +204800

6.2 grep

基本語法

grep 在文件內(nèi)搜索字符串匹配的行并輸出

管道符,“|”杠袱,表示將前一個(gè)命令的處理結(jié)果輸出傳遞給后面的命令處理

grep+參數(shù)+查找內(nèi)容+源文件
  • -c:只輸出匹配行的計(jì)數(shù)。
  • -I:不區(qū)分大小寫(只適用于單字符)窝稿。
  • -h(huán):查詢多文件時(shí)不顯示文件名楣富。
  • -l:查詢多文件時(shí)只輸出包含匹配字符的文件名。
  • -n:顯示匹配行及行號(hào)伴榔。
  • -s:不顯示不存在或無匹配文本的錯(cuò)誤信息纹蝴。
  • -v:顯示不包含匹配文本的所有行庄萎。

6.3 which

基本用法

文件搜索命令

搜索命令所在目錄及別名信息

which + 命令

08

進(jìn)程線程類

進(jìn)程是正在執(zhí)行的一個(gè)程序或命令,每一個(gè)進(jìn)程都是一個(gè)運(yùn)行的實(shí)體塘安,都有自己的地址空間糠涛,并占用一定的系統(tǒng)資源。

7.1 ps

基本語法

ps 即 process status 進(jìn)程狀態(tài)縮寫

查看系統(tǒng)中所有進(jìn)程

ps –aux|grep xxx

查看父子進(jìn)程之間的關(guān)系

ps -ef|grep xxx
  • -a 選擇所有進(jìn)程
  • -u 顯示所有用戶的所有進(jìn)程
  • -x 顯示沒有終端的進(jìn)程

特點(diǎn)

如果想查看進(jìn)程的CPU****占用率和內(nèi)存占用率兼犯,可以使用aux;

如果想查看進(jìn)程的父進(jìn)程****ID可以使用ef;

常用實(shí)例

ps –aux

USER:該進(jìn)程是由哪個(gè)用戶產(chǎn)生的

PID:進(jìn)程的ID號(hào)

%CPU:該進(jìn)程占用CPU資源的百分比忍捡,占用越高,進(jìn)程越耗費(fèi)資源切黔;

%MEM:該進(jìn)程占用物理內(nèi)存的百分比砸脊,占用越高,進(jìn)程越耗費(fèi)資源纬霞;

VSZ:該進(jìn)程占用虛擬內(nèi)存的大小凌埂,單位KB;

RSS:該進(jìn)程占用實(shí)際物理內(nèi)存的大小诗芜,單位KB瞳抓;

TTY:該進(jìn)程是在哪個(gè)終端中運(yùn)行的。其中tty1-tty7代表本地控制臺(tái)終端伏恐,tty1-tty6是本地的字符界面終端挨下,tty7是圖形終端。pts/0-255代表虛擬終端脐湾。

STAT:進(jìn)程狀態(tài)臭笆。常見的狀態(tài)有:R:運(yùn)行、S:睡眠秤掌、T:停止?fàn)顟B(tài)愁铺、s:包含子進(jìn)程、+:位于后臺(tái)

START:該進(jìn)程的啟動(dòng)時(shí)間

TIME:該進(jìn)程占用CPU的運(yùn)算時(shí)間闻鉴,注意不是系統(tǒng)時(shí)間

COMMAND:產(chǎn)生此進(jìn)程的命令名

ps -ef

UID:用戶ID

PID:進(jìn)程ID

PPID:父進(jìn)程ID

C:CPU用于計(jì)算執(zhí)行優(yōu)先級(jí)的因子茵乱。數(shù)值越大,表明進(jìn)程是CPU密集型運(yùn)算孟岛,執(zhí)行優(yōu)先級(jí)會(huì)降低瓶竭;數(shù)值越小,表明進(jìn)程是I/O密集型運(yùn)算渠羞,執(zhí)行優(yōu)先級(jí)會(huì)提高

STIME:進(jìn)程啟動(dòng)的時(shí)間

TTY:完整的終端名稱

TIME:CPU時(shí)間

CMD:?jiǎn)?dòng)進(jìn)程所用的命令和參數(shù)

7.2 top

基本語法

查看系統(tǒng)基本狀態(tài)

top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
  • -d 秒數(shù):指定top命令每隔幾秒更新斤贰。默認(rèn)是3秒在top命令的交互模式當(dāng)中可以執(zhí)行的命令:
  • -i:使top不顯示任何閑置或者僵死進(jìn)程。
  • -p:通過指定監(jiān)控進(jìn)程ID來僅僅監(jiān)控某個(gè)進(jìn)程的狀態(tài)次询。
  • -s :使top命令在安全模式中運(yùn)行荧恍。這將去除交互命令所帶來的潛在危險(xiǎn)。

操作選項(xiàng)

  • P:以CPU使用率排序,默認(rèn)就是此項(xiàng)
  • M:以內(nèi)存的使用率排序
  • N:以PID排序
  • q:退出top

查詢結(jié)果字段解釋

第一行信息為任務(wù)隊(duì)列信息

內(nèi)容 說明
12:26:46 系統(tǒng)當(dāng)前時(shí)間
up 1 day, 13:32 系統(tǒng)的運(yùn)行時(shí)間送巡,本機(jī)已經(jīng)運(yùn)行1天 13小時(shí)32分鐘
2 users 當(dāng)前登錄了兩個(gè)用戶
load average: 0.00, 0.00, 0.00 系統(tǒng)在之前1分鐘摹菠,5分鐘骗爆,15分鐘的平均負(fù)載次氨。一般認(rèn)為小于1時(shí),負(fù)載較小摘投。如果大于1煮寡,系統(tǒng)已經(jīng)超出負(fù)荷。

第二行為進(jìn)程信息

Tasks: 95 total 系統(tǒng)中的進(jìn)程總數(shù)
1 running 正在運(yùn)行的進(jìn)程數(shù)
94 sleeping 睡眠的進(jìn)程
0 stopped 正在停止的進(jìn)程
0 zombie 僵尸進(jìn)程谷朝。如果不是0洲押,需要手工檢 查僵尸進(jìn)程

第三行為CPU信息

Cpu(s): 0.1%us 用戶模式占用的CPU百分比
0.1%sy 系統(tǒng)模式占用的CPU百分比
0.0%ni 改變過優(yōu)先級(jí)的用戶進(jìn)程占用的CPU百分比
99.7%id 空閑CPU的CPU百分比
0.1%wa 等待輸入/輸出的進(jìn)程的占用CPU百分比
0.0%hi 硬中斷請(qǐng)求服務(wù)占用的CPU百分比
0.1%si 軟中斷請(qǐng)求服務(wù)占用的CPU百分比
0.0%st st(Steal time)虛擬時(shí)間百分比。就是當(dāng)有虛擬機(jī)時(shí)圆凰,虛擬CPU等待實(shí)際CPU的時(shí)間百分比杈帐。

第四行為物理內(nèi)存信息

Mem: 625344k total 物理內(nèi)存的總量,單位KB
571504k used 已經(jīng)使用的物理內(nèi)存數(shù)量
53840k free 空閑的物理內(nèi)存數(shù)量专钉,我們使用的是虛擬機(jī)挑童,總共只分配了628MB內(nèi)存,所以只有53MB的空閑內(nèi)存了
65800k buffers 作為緩沖的內(nèi)存數(shù)量

第五行為交換分區(qū)(swap)信息

Swap: 524280k total 交換分區(qū)(虛擬內(nèi)存)的總大小
0k used 已經(jīng)使用的交互分區(qū)的大小
524280k free 空閑交換分區(qū)的大小
409280k cached 作為緩存的交互分區(qū)的大小

7.3 pstree

基本語法

pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
  • -p 顯示進(jìn)程的PID
  • -u 顯示進(jìn)程的所屬用戶

常用實(shí)例

pstree -u
pstree -p

7.4 kill

基本用法

終止進(jìn)程

強(qiáng)迫進(jìn)程立即停止執(zhí)行

kill -9 pid進(jìn)程號(hào)

常用案例

根據(jù)進(jìn)程號(hào)

kill -9  xxxxx

根據(jù)進(jìn)程名稱

killall firefox

7.5 netstat

基本語法

查看該進(jìn)程網(wǎng)絡(luò)信息&查看端口號(hào)占用情況

netstat –anp|grep 端口號(hào)  
(功能描述:此命令用來顯示整個(gè)系統(tǒng)目前的網(wǎng)絡(luò)情況跃须。例如目前的連接站叼、數(shù)據(jù)包傳遞數(shù)據(jù)、或是路由表內(nèi)容)
netstat -nlp  | grep 端口號(hào)    
(功能描述:查看網(wǎng)絡(luò)端口號(hào)占用情況)
  • -an 按一定順序排列輸出
  • -p 表示顯示哪個(gè)進(jìn)程在調(diào)用
  • nltp 查看tcp協(xié)議進(jìn)程端口號(hào)

常用實(shí)例

netstat -anp | grep 50070

09

打包壓縮類

8.1 gzip/gunzip

基本語法

壓縮文件菇民,只能將文件壓縮為*.gz文件

gzip file

解壓縮文件命令

gunzip  file.zip

特點(diǎn)

只能壓縮文件不能壓縮目錄

不保留原來的文件

8.2 zip/unzip

基本語法

zip + 參數(shù) + XXX.zip + 將要壓縮的文件或目錄
  • -r 壓縮目錄

特點(diǎn)

  • 文件和目錄皆可壓縮
  • window/linux通用且可以壓縮目錄且保留源文件

8.3 tar

基本語法

tar + 參數(shù) + XXX.tar.gz + 將要打包進(jìn)去的內(nèi)容
  • -c 產(chǎn)生.tar打包文件
  • -v 顯示詳細(xì)信息
  • -f 指定壓縮后的文件名
  • -z 打包同時(shí)壓縮
  • -x 解包.tar文件

常用實(shí)例

解壓

tar -zxvf test.tar.gz –C /dir

壓縮

 tar -zcvf test

10

軟件包類

9.1 rpm

概述

RPM(RedHat Package Manager)尽楔,Rethat軟件包管理工具,類似windows里面的setup.exe是Linux這系列操作系統(tǒng)里面的打包安裝工具第练,它雖然是RedHat的標(biāo)志阔馋,但理念是通用的。

RPM包的名稱格式

  • Apache-1.3.23-11.i386.rpm

  • “apache” 軟件名稱

  • “1.3.23-11”軟件的版本號(hào)娇掏,主版本和此版本

  • “i386”是軟件所運(yùn)行的硬件平臺(tái)

  • “rpm”文件擴(kuò)展名呕寝,代表RPM包

查詢命令

查詢所安裝的所有rpm軟件包

rpm –qa

由于軟件包比較多,一般都會(huì)采取過濾

rpm –qa | grep rpm軟件包

安裝命令

rpm –ivh RPM包全名
  • -i=install婴梧,安裝

  • -v=verbose下梢,顯示詳細(xì)信息

  • -h=hash,進(jìn)度條

  • --nodeps塞蹭,不檢測(cè)依賴進(jìn)度

卸載命令

一般常規(guī)卸載

rpm -e RPM軟件包

如果該RPM包的安裝依賴其它包孽江,即使其它包沒裝,也強(qiáng)迫安裝浮还。

 rpm -e --nodeps rpm軟件包 

9.2 yum

概述

在Linux上使用源碼的方式安裝軟件非常麻煩竟坛,使用yum可以簡(jiǎn)化安裝的過程

基本語法

yum [options] [command] [package ...]
選項(xiàng) 功能
-y 對(duì)所有提問都回答“yes”
參數(shù) 功能
install 安裝rpm軟件包
update 更新rpm軟件包
check-update 檢查是否有可用的更新rpm軟件包
remove 刪除指定的rpm軟件包
list 顯示軟件包信息
clean 清理yum過期的緩存
deplist 顯示yum軟件包的所有依賴關(guān)系

常用實(shí)例

安裝指定軟件并確認(rèn)安裝

yum install -y <package_name>

刪除指定軟件并確認(rèn)刪除

yum remove  -y <package_name>

列出所有可安裝的軟件清單命令

yum list

列出一個(gè)包所有依賴的包

yum deplist httpd

列出所有可更新的軟件清單命令

yum check-update

更新所有軟件命令

yum update

僅更新指定的軟件命令

yum update <package_name>

查找軟件包 命令

yum search <keyword>

清除緩存目錄下的軟件包及舊的headers

yum clean

11

正確使用一些快捷鍵可以讓你更高效的完成任務(wù)。

  • ctrl + c:停止進(jìn)程
  • ctrl+l:清屏
  • ctrl + q:退出
  • ctrl +alt:linux和Windows之間切換
  • 上下鍵:查找執(zhí)行過的命令
  • tab鍵:自動(dòng)補(bǔ)全
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末钧舌,一起剝皮案震驚了整個(gè)濱河市担汤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌洼冻,老刑警劉巖崭歧,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異撞牢,居然都是意外死亡率碾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門屋彪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來所宰,“玉大人,你說我怎么就攤上這事畜挥∽兄啵” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵蟹但,是天一觀的道長(zhǎng)躯泰。 經(jīng)常有香客問我,道長(zhǎng)华糖,這世上最難降的妖魔是什么麦向? 我笑而不...
    開封第一講書人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮客叉,結(jié)果婚禮上诵竭,老公的妹妹穿的比我還像新娘。我一直安慰自己兼搏,他們只是感情好卵慰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著向族,像睡著了一般呵燕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上件相,一...
    開封第一講書人閱讀 51,698評(píng)論 1 305
  • 那天再扭,我揣著相機(jī)與錄音,去河邊找鬼夜矗。 笑死泛范,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的紊撕。 我是一名探鬼主播罢荡,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了区赵?” 一聲冷哼從身側(cè)響起惭缰,我...
    開封第一講書人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笼才,沒想到半個(gè)月后漱受,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡骡送,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年昂羡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摔踱。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡虐先,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出派敷,到底是詐尸還是另有隱情蛹批,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布膀息,位于F島的核電站般眉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏潜支。R本人自食惡果不足惜甸赃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冗酿。 院中可真熱鬧埠对,春花似錦、人聲如沸裁替。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弱判。三九已至襟沮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間昌腰,已是汗流浹背开伏。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留遭商,地道東北人固灵。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像劫流,于是被迫代替她去往敵國和親巫玻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丛忆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355