命令格式: 命令 [-選項(xiàng)] [參數(shù)]
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供蘭州網(wǎng)站建設(shè)、蘭州做網(wǎng)站、蘭州網(wǎng)站設(shè)計(jì)、蘭州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、蘭州企業(yè)網(wǎng)站模板建站服務(wù),十載蘭州做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
如:ls -la /usr
**說(shuō)明: **
大部分命令遵從該格式
多個(gè)選項(xiàng)時(shí),可以一起寫 eg:ls –l –a à ls –la
簡(jiǎn)化選項(xiàng)與完整選項(xiàng)(注:并非所有選項(xiàng)都可使用完整選項(xiàng)) eg:ls –all à ls –a
作用:切換用戶身份
語(yǔ)法:su [選項(xiàng)] 用戶名
-c 僅執(zhí)行一次命令,而不切換用戶身份
$ su – root
env
$ su – root –c “useradd longjing”
文件或目錄的CRUD
英文:change directory 命令路徑:內(nèi)部命令 執(zhí)行權(quán)限:所有用戶
作用: 切換目錄
語(yǔ)法:cd [目錄](méi) / 切換到根目錄
.. 回到上一級(jí)目錄
. 當(dāng)前目錄
~ 當(dāng)前用戶的宿主目錄(eg:# cd ~用戶名 進(jìn)入某個(gè)用戶的家目錄)
英文:list 命令路徑:/bin/ls 執(zhí)行權(quán)限:所有用戶
作用:顯示目錄文件
語(yǔ)法:ls [-alrRd] [文件或目錄](méi)
-a all 顯示所有文件,注意隱藏文件,特殊目錄.和..
-l(long) 顯示詳細(xì)信息
-R(recursive) 遞歸顯示當(dāng)前目錄下所有目錄
-r (reverse) 逆序排序
-t(time) 按修改時(shí)間排序(降序)
英文:print working directory 命令路徑:/bin/pwd 執(zhí)行權(quán)限:所有用戶
作用:顯示當(dāng)前工作目錄
語(yǔ)法:pwd [-LP]
-L 顯示鏈接路徑,當(dāng)前路徑,默認(rèn)
-P 物理路徑
eg:# cd /etc/init.d
英文:make directories 命令路徑:/bin/mkdir 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建新目錄
語(yǔ)法:mkdir [-p] 目錄名
-p 父目錄不存在情況下先生成父目錄 (parents)
eg: mkdir linux/test 如果目錄linux不存在,則報(bào)錯(cuò),使用參數(shù)-p即可自動(dòng)創(chuàng)建父目錄。
命令路徑:/bin/touch 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建空文件或更新已存在文件的時(shí)間
語(yǔ)法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同時(shí)創(chuàng)建多個(gè)文件
創(chuàng)建帶空格的文件 eg:touch "program files" 在查詢和刪除時(shí)也必須帶雙引號(hào)
注意:生產(chǎn)環(huán)境中,文件名,一定不要加空格
英文:copy 命令路徑:/bin/cp 執(zhí)行權(quán)限:所有用戶
作用:復(fù)制文件或目錄
語(yǔ)法:cp [–rp] 源文件或目錄 目的目錄
-r -R recursive 遞歸處理,復(fù)制目錄
-p 保留文件屬性 (原文件的時(shí)間不變)
eg:
1,相對(duì)路徑 cp –R /etc/* . cp –R ../aaa ../../test/
2,,絕對(duì)路徑 cp –R / ect/service /root/test/aa/bb
英文:move 命令路徑:/bin/mv 執(zhí)行權(quán)限:所有用戶
作用:移動(dòng)文件或目錄、文件或目錄改名
語(yǔ)法:mv 源文件或目錄 目的目錄
英文:remove 命令路徑:/bin/rm 執(zhí)行權(quán)限:所有用戶
作用:刪除文件
語(yǔ)法: rm [-rf] 文件或目錄
-r (recursive)刪除目錄,同時(shí)刪除該目錄下的所有文件
-f(force) 強(qiáng)制刪除文件或目錄 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無(wú)需逐一確認(rèn)
注意:工作中,謹(jǐn)慎使用rm –rf 命令。
擴(kuò)展點(diǎn) :刪除亂碼文件
一些文件亂碼后使用rm -rf 依然無(wú)法刪除
此時(shí),使用ll -i 查找到文件的inode節(jié)點(diǎn)
然后使用find . -inum 查找到的inode編號(hào) -exec rm {} -rf ;
就能順利刪除了
英文:concatenate 命令路徑:/bin/cat 執(zhí)行權(quán)限:所有用戶
作用:顯示文件內(nèi)容
語(yǔ)法:cat [-n] [文件名]
-n 顯示行號(hào)
eg:cat /etc/services
命令路徑:/bin/more 執(zhí)行權(quán)限:所有用戶
作用:分頁(yè)顯示文件內(nèi)容
語(yǔ)法:more [文件名]
空格或f 顯示下一頁(yè)
Enter鍵 顯示下一行
q或Q 退出
命令路徑:/usr/bin/head 執(zhí)行權(quán)限:所有用戶
作用:查看文件前幾行(默認(rèn)10行)
語(yǔ)法:head [文件名]
-n 指定行數(shù)
eg:head -20 /etc/services head –n 3 /etc/services
命令路徑:/usr/bin/tail 執(zhí)行權(quán)限:所有用戶
作用:查看文件的后幾行
語(yǔ)法:tail [文件名]
-n 指定行數(shù)
-f (follow) 動(dòng)態(tài)顯示文件內(nèi)容
獲取一個(gè)大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路徑:/bin/ln 執(zhí)行權(quán)限:所有用戶
作用:產(chǎn)生鏈接文件
語(yǔ)法:
ln -s [源文件] [目標(biāo)文件] 創(chuàng)建軟鏈接 源文件 使用 絕對(duì)路徑
ln [源文件] [目標(biāo)文件] 創(chuàng)建硬鏈接
eg:ln -s /etc/service ./service.soft
創(chuàng)建文件/etc/service的軟鏈接service.soft
eg:/etc/service /service.hard
創(chuàng)建文件/etc/service的硬鏈接/service.hard
軟連接類似于windows下的快捷方式
軟連接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services
1 硬鏈接數(shù)量,如果該文件沒(méi)有硬鏈接,就只有本身一個(gè)硬鏈接。
13鏈接文件的長(zhǎng)度
格式解析(特征):
1, 軟連接的文件類型是 l(軟連接),軟連接文件的權(quán)限 都是 lrwxrwxrwx
2,- 箭頭指向到源文件
真正的權(quán)限取決于對(duì)源文件的權(quán)限
時(shí)間值為創(chuàng)建軟連接的時(shí)間
軟連接可以跨文件系統(tǒng)生成
硬鏈接特征
1,相當(dāng)于 cp -p +同步更新
2,通過(guò)i節(jié)點(diǎn)識(shí)別,與源文件有相同的inode節(jié)點(diǎn)
3,硬鏈接不能跨分區(qū),ln /home/test/issuels /boot/test (錯(cuò)誤)
4,不能針對(duì)目錄使用 ln /tmp/ aa.hard (無(wú)法將目錄/tmp 生成硬鏈接)
刪除軟連接
rm -rf symbolic_name
英文:manual 命令路徑:/usr/bin/man 執(zhí)行權(quán)限:所有用戶
作用:獲取命令或配置文件的幫助信息
語(yǔ)法:man [命令/配置文件]
eg:man ls man services
(查看配置文件時(shí),不需要配置文件的絕對(duì)路徑,只需要文件名即可)
調(diào)用的是more命令來(lái)瀏覽幫助文檔,按空格翻下一頁(yè),按回車翻下一行,按q退出。
使用/加上關(guān)鍵的參數(shù)可直接定位搜索, n 查找下一個(gè),shift+n 查找上一個(gè)
eg: /-l 直接查看-l的介紹
擴(kuò)展:man的級(jí)別 (幫助文檔的類型, 了解1 5即可)
man man-pages 查看每一種類型代表的含義 man文檔的類型(1~9)
1是命令,5是配置文件 man優(yōu)先顯示命令,可指定幫助類型
eg:man 5 passwd (5代表配置文件級(jí)別)
[圖片上傳失敗...(image-6718d2-1624438708895)]
help 查看shell內(nèi)置命令的幫助信息
eg:help cd
內(nèi)置命令,使用whereis,which,man都不能查看
type 命令 查看內(nèi)部命令還是外部命令
命令名 --help 列舉該命令的常用選項(xiàng)
eg: cp --help
命令路徑:/bin/find 執(zhí)行權(quán)限:所有用戶
作用:查找文件或目錄
語(yǔ)法:find [搜索路徑] [匹配條件]
如果沒(méi)有指定搜索路徑,默認(rèn)從當(dāng)前目錄查找
find命令選項(xiàng)
-name 按名稱查找 精準(zhǔn)查找
eg:find /etc -name “init” 在目錄/etc中查找文件init
-iname 按名稱查找
find查找中的字符匹配:
*:匹配所有
?:匹配單個(gè)字符
eg:find /etc -name “init???” 在目錄/etc中查找以init開(kāi)頭的,且后面有三位的文件
模糊匹配的條件,建議使用單引號(hào)或雙引號(hào)括起來(lái)。如果*被轉(zhuǎn)義,可使用 單雙引號(hào)括住查詢條件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block為單位,一個(gè)block是512B, 1K=2block +大于 -小于 不寫是等于
eg:find /etc -size -204800 在etc目錄下找出大于100MB的文件
100MB=102400KB=204800block
**-type ** 按文件類型查找
f 二進(jìn)制文件l 軟連接文件 d 目錄 c 字符文件
eg: find /dev -type c
find****查找的基本原則 :
占用最少的系統(tǒng)資源,即查詢范圍最小,查詢條件最精準(zhǔn)
eg:
如果明確知道查找的文件在哪一個(gè)目錄,就直接對(duì)指定目錄查找,不查找根目錄/
命令路徑:/bin/grep 執(zhí)行權(quán)限:所有用戶
作用:在文件中搜尋字串匹配的行并輸出
語(yǔ)法:grep [-cinv] '搜尋字符串' filename
選項(xiàng)與參數(shù):
-c :輸出匹配行的次數(shù)(是以行為單位,不是以出現(xiàn)次數(shù)為單位)
-i :忽略大小寫,所以大小寫視為相同
-n :顯示匹配行及行號(hào)
-v :反向選擇,顯示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#號(hào)
eg:# grep -n “init”/etc/inittab 顯示在inittab文件中,init匹配行及行號(hào)
eg:# grep -c“init”/etc/inittab 顯示在inittab文件中,init匹配了多少次
命令路徑:/usr/bin/which 執(zhí)行權(quán)限:所有用戶
作用: 顯示系統(tǒng)命令所在目錄(絕對(duì)路徑及別名)
which命令的作用是,在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果。也就是說(shuō),使用which命令,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令
alias ls='ls --color=auto'
/bin/ls
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路徑:/usr/bin/whereis 執(zhí)行權(quán)限:所有用戶
作用:**搜索命令所在目錄 配置文件所在目錄 及幫助文檔路徑 **
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的幫助,就用 man 5 passwd
英文:GNU zip 命令路徑:/bin/gzip 執(zhí)行權(quán)限:所有用戶
作用:壓縮(解壓)文件,壓縮文件后綴為.gz
gzip只能壓縮文件,不能壓縮目錄;不保留原文件
語(yǔ)法:gzip 文件
-d將壓縮文件解壓(decompress)
解壓使用gzip –d或者 gunzip
命令路徑:/usr/bin/bzip2 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.bz2
語(yǔ)法:bzip2 [-k] [文件]
-k:產(chǎn)生壓縮文件后保留原文件(壓縮比高)
-d 解壓縮的參數(shù)(decompress)
解壓使用bzip2 –d或者 bunzip2
命令路徑:/usr/bin/zip 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.zip
語(yǔ)法:zip 選項(xiàng)[-r] [壓縮后文件名稱] [文件或目錄](méi)
-r壓縮目錄
eg:zip services.zip /etc/services 壓縮文件;
zip -r test.zip /test 壓縮目錄
如果不加-r選項(xiàng),壓縮后的文件沒(méi)有數(shù)據(jù)。
解壓使用unzip
命令路徑:/bin/tar 執(zhí)行權(quán)限:所有用戶
作用:文件、目錄打(解)包
語(yǔ)法:tar [-zcf] 壓縮后文件名 文件或目錄
-c 建立一個(gè)壓縮文件的參數(shù)指令(create),后綴是.tar
-x 解開(kāi)一個(gè)壓縮文件的參數(shù)指令(extract)
-z 以gzip命令壓縮/解壓縮
-j 以bzip2命令壓縮/解壓縮
-v 壓縮的過(guò)程中顯示文件(verbose)
-f file 指定文件名,必選項(xiàng)
1, 單獨(dú)的打包 ,解包 tar –cf tar –xf
2, 打包之后,進(jìn)行壓縮 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 單獨(dú) 壓縮 解壓縮
tar -z 以gzip打包目錄并壓縮 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目錄并壓縮 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gzdir1 使用gzip將目錄dir1壓縮成一個(gè)打包并壓縮文件dir1.tar.gz
eg: tar -cvf bak.tar . 將當(dāng)前目錄的文件打包為bak.tar
eg: tar -xvf bak.tar 解壓
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip將打包文件bak.tar壓縮為bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2將打包文件bak.tar壓縮為bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 將/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的壓縮文件
eg:tar -xjf test.tar.bz2 解壓
最常用: tar + gzip
tar –zcvf 壓縮
tar –zxvf 解壓
補(bǔ)充:
1,文件路徑, 壓縮包帶文件路徑
2,源文件是保留的,不會(huì)被刪除
**shutdown **[選項(xiàng)] 時(shí)間
選項(xiàng): -c: 取消前一個(gè)關(guān)機(jī)命令
-h:關(guān)機(jī)
-r:重啟
eg:
shutdown -h now 立即關(guān)機(jī) shutdown -h 20:30 定時(shí)關(guān)機(jī)
其他關(guān)機(jī)命令 halt poweroff init 0
其他重啟命令
**reboot **重啟系統(tǒng) reboot -h now立即重啟
init 6
注意:生產(chǎn)環(huán)境中,關(guān)機(jī)命令和重啟命令謹(jǐn)慎執(zhí)行。
善于查看man help等幫助文檔
利用好Tab鍵 自動(dòng)補(bǔ)全
掌握好一些快捷鍵
ctrl + c(停止當(dāng)前進(jìn)程)
ctrl + z 掛起當(dāng)前進(jìn)程,放后臺(tái)
ctrl + r(查看命令歷史) history
ctrl + l(清屏,與clear命令作用相同)
方向箭頭 上 下 可以查看執(zhí)行過(guò)的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除單詞
vim/vi是Unix / Linux上最常用的文本編輯器而且功能非常強(qiáng)大。
只有命令,沒(méi)有菜單。
《大碗》編輯器版
周圍的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、語(yǔ)法高亮呀、拼寫檢查呀,能給它開(kāi)的都給它開(kāi)著,就是一個(gè)字:酷!你說(shuō)這么牛X的一東西,怎么著學(xué)會(huì)也得小半年吧。半年???入門都遠(yuǎn)著呢!能學(xué)會(huì)移動(dòng)光標(biāo)就不錯(cuò)了,你還別說(shuō)耗不起,就這還是左右移動(dòng)?。?!
:
[圖片上傳失敗...(image-a08366-1624438708894)]
命令模式:又稱一般模式
編輯模式:又稱底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在光標(biāo)后附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在光標(biāo)前插入文本
|
|
I(shift+i)
|
在本行開(kāi)始插入文本 行首
|
|
o
|
在光標(biāo)下插入新行
|
|
O(shift+o)
|
在光標(biāo)上插入新行
|
|
命令
|
作用
|
|
:set nu
|
設(shè)置行號(hào)
|
|
:set nonu
|
取消行號(hào)
|
|
gg
G
|
到第一行
到最后一行
|
|
nG
|
到第n行
|
|
:n
|
到第n行
|
|
命令
|
作用
|
|
:w
|
保存修改
|
|
:w new_filename
|
另存為指定文件
|
|
:w a.txt
|
內(nèi)容追加到a.txt文件中 文件需存在
|
|
:wq
|
保存修改并退出
|
|
shift+zz(ZZ)
|
快捷鍵,保存修改并退出
|
|
:q!
|
不保存修改退出
|
|
:wq!
|
保存修改并退出(文件所有者可忽略文件的只讀屬性)
|
不保存并退出:
1, 有修改,但是修改后的內(nèi)容是不保存的
2, 有突發(fā)情況,導(dǎo)致窗口退出。修改文件之后,直接刪除同名的.swp文件
|
命令
|
作用
|
|
x
|
刪除光標(biāo)所在處字符 nx 刪除光標(biāo)所在處后n個(gè)字符
|
|
dd
|
刪除光標(biāo)所在行,ndd刪除n行
|
|
:n1,n2d
|
刪除指定范圍的行(eg :1,3d 刪除了123這三行)
|
|
dG
|
刪除光標(biāo)所在行到末尾的內(nèi)容
|
|
D
|
刪除從光標(biāo)所在處到行尾
|
|
命令
|
作用
|
|
yy、Y
|
復(fù)制當(dāng)前行
|
|
nyy、nY
|
復(fù)制當(dāng)前行以下n行
|
|
dd
|
剪切當(dāng)前行
|
|
ndd
|
剪切當(dāng)前行以下n行
|
|
p、P
|
粘貼在當(dāng)前光標(biāo)所在行下 或行上
|
|
命令
|
作用
|
|
r
|
取代光標(biāo)所在處字符
|
|
R(shift + r)
|
從光標(biāo)所在處開(kāi)始替換字符,按Esc結(jié)束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向后搜索指定字符串 搜索時(shí)忽略大小寫 :set ic
|
|
?string
|
向前搜索指定字符串
|
|
n
|
搜索字符串的下一個(gè)出現(xiàn)位置,與搜索順序相同
|
|
N(Shift + n)
|
搜索字符串的上一個(gè)出現(xiàn)位置,與搜索順序相反
|
|
:%s/old/new/g
|
全文替換指定字符串
|
|
:n1,n2s/old/new/g
|
在一定范圍內(nèi)替換指定字符串
|
% 指全文,s 指開(kāi)始,g 指全局替換
eg: :41,44/yang/lee/c 從41行到44行,把yang替換為lee,詢問(wèn)是否替換
eg: :41,44/yang/lee/g 同上,不詢問(wèn),直接替換
使用替換命令來(lái)添加刪除注釋
:% s/^/#/g 來(lái)在全部?jī)?nèi)容的行首添加 # 號(hào)注釋
:1,10 s/^/#/g 在1~10 行首添加 # 號(hào)注釋
vi里面怎么查命令??
:!which cp
vi里面怎么導(dǎo)入命令的結(jié)果?
:r !which cp
v 可視字符模式
V****(shift+v) 可視行模式,選擇多行操作
**ctrl+v **可視塊模式(列模式),操作列
I或者O進(jìn)入插入模式。
1,圖形化界面
2,setup 命令虛擬界面
3,修改配置文件(以網(wǎng)絡(luò)方式為NAT示例)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.129
NETMASK=255.255.255.0
GATEWAY=192.168.2. 2 #網(wǎng)段2任意,IP地址2固定,網(wǎng)段為vmnet8的設(shè)置的IP網(wǎng)段
DNS1=114.114.114.114
DNS2=8.8.8.8
重啟網(wǎng)絡(luò)生效:
service network restart
命令路徑:/bin/ping 執(zhí)行權(quán)限:所有用戶
作用:測(cè)試網(wǎng)絡(luò)的連通性
語(yǔ)法:ping 選項(xiàng) IP地址
-c 指定發(fā)送次數(shù)
ping 命令使用的是icmp協(xié)議,不占用端口
eg: # ping -c 3 127.0.0.1
英文:interface configure 命令路徑:/sbin/ifconfig 執(zhí)行權(quán)限:root
作用:查看和設(shè)置網(wǎng)卡網(wǎng)絡(luò)配置
語(yǔ)法:ifconfig [-a] [網(wǎng)卡設(shè)備標(biāo)識(shí)]
-a:顯示所有網(wǎng)卡信息
ifconfig [網(wǎng)卡設(shè)備標(biāo)識(shí)] IP地址 修改ip地址
英文:network statistics 命令路徑:/bin/netstat 執(zhí)行權(quán)限:所有用戶
作用:主要用于檢測(cè)主機(jī)的網(wǎng)絡(luò)配置和狀況
-a all顯示所有連接和監(jiān)聽(tīng)端口
-t (tcp)僅顯示tcp相關(guān)選項(xiàng)
-u (udp)僅顯示udp相關(guān)選項(xiàng)
-n 使用數(shù)字方式顯示地址和端口號(hào)
-l (listening) 顯示監(jiān)控中的服務(wù)器的socket
eg:# netstat -tlnu 查看本機(jī)監(jiān)聽(tīng)的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
協(xié)議 待收數(shù)據(jù)包 待發(fā)送數(shù)據(jù)包 本地ip地址:端口 遠(yuǎn)程IP地址:端口
netstat –antpl
臨時(shí)生效:
hostname 主機(jī)名
[圖片上傳失敗...(image-ceed36-1624438708893)]
永久生效:修改配置文件
vi /etc/sysconfig/network
[圖片上傳失敗...(image-2b9d9e-1624438708893)]
修改主機(jī)名和ip地址之間的映射關(guān)系
vi /etc/hosts
192.168.2.120 node-1.edu.cn node-1
可配置別名
[圖片上傳失敗...(image-ec86cf-1624438708893)]
進(jìn)程和程序的區(qū)別:
1、程序是靜態(tài)概念,本身作為一種軟件資源長(zhǎng)期保存;而進(jìn)程是程序的執(zhí)行過(guò)程,它是動(dòng)態(tài)概念,有一定的生命期,是動(dòng)態(tài)產(chǎn)生和消亡的。
2、程序和進(jìn)程無(wú)一一對(duì)應(yīng)關(guān)系。一個(gè)程序可以由多個(gè)進(jìn)程共用;另一方面,一個(gè)進(jìn)程在活動(dòng)中有可順序地執(zhí)行若干個(gè)程序。
進(jìn)程和線程的區(qū)別:
進(jìn)程: 就是正在執(zhí)行的程序或命令,每一個(gè)進(jìn)程都是一個(gè)運(yùn)行的實(shí)體,都有自己的地址空間,并占用一定的系統(tǒng)資源。
線程: 輕量級(jí)的進(jìn)程;進(jìn)程有獨(dú)立的地址空間,線程沒(méi)有;線程不能獨(dú)立存在,它由進(jìn)程創(chuàng)建;相對(duì)講,線程耗費(fèi)的cpu和內(nèi)存要小于進(jìn)程。
進(jìn)程管理的作用?
判斷服務(wù)器的健康狀態(tài)
查看系統(tǒng)所有的進(jìn)程
殺死進(jìn)程
作用:查看系統(tǒng)中的進(jìn)程信息
語(yǔ)法:ps [-auxle]
常用選項(xiàng)
查看系統(tǒng)中所有進(jìn)程
ps應(yīng)用實(shí)例 # ps -u or ps -l 查看隸屬于自己進(jìn)程詳細(xì)信息
作用: 查看當(dāng)前進(jìn)程樹(shù)
語(yǔ)法:pstree [選項(xiàng)]
-p 顯示進(jìn)程PID
-u 顯示進(jìn)程的所屬用戶
作用:查看系統(tǒng)健康狀態(tài)
顯示當(dāng)前系統(tǒng)中耗費(fèi)資源最多的進(jìn)程,以及系統(tǒng)的一些負(fù)載情況。
語(yǔ)法:top [選項(xiàng)]
-d 秒數(shù),指定幾秒刷新一次,默認(rèn)3秒(動(dòng)態(tài)顯示)
作用:關(guān)閉進(jìn)程
語(yǔ)法:kill [-選項(xiàng)] pId
kill -9 進(jìn)程號(hào)(強(qiáng)行關(guān)閉) 常用
kill -1 進(jìn)程號(hào)(重啟進(jìn)程)
添加用戶
語(yǔ)法:useradd [選項(xiàng)] 用戶名
修改密碼命令
語(yǔ)法:passwd [選項(xiàng)] [用戶名]
用戶密碼:生產(chǎn)環(huán)境中,用戶密碼長(zhǎng)度8位以上,設(shè)置大小寫加數(shù)字加特殊字符,要定期更換密碼。
ys^h_L9t
刪除用戶
-r 刪除賬號(hào)時(shí)同時(shí)刪除宿主目錄(remove)
作用:用于查看Linux文件系統(tǒng)的狀態(tài)信息,顯示各個(gè)分區(qū)的容量、已使用量、未使用量及掛載點(diǎn)等信息??词S嗫臻g
語(yǔ)法:df [-hkam] [掛載點(diǎn)]
-h(human-readable)根據(jù)磁盤空間和使用情況 以易讀的方式顯示 KB,MB,GB等 -k 以KB 為單位顯示各分區(qū)的信息,默認(rèn)
-M 以MB為單位顯示信息 -a 顯示所有分區(qū)包括大小為0 的分區(qū)
作用:用于查看文件或目錄的大?。ù疟P使用空間)
語(yǔ)法:du [-abhs] [文件名目錄](méi)
-a 顯示子文件的大小
-h以易讀的方式顯示 KB,MB,GB等
-s summarize 統(tǒng)計(jì)總占有量
eg:
du -a(all) /home 顯示/home 目錄下每個(gè)子文件的大小,默認(rèn)單位為kb
du -b /home 以bytes為單位顯示/home 目錄下各個(gè)子目錄的大小
du -h /home 以K,M,G為單位顯示/home 文件夾下各個(gè)子目錄的大小
du -sh /home 以常用單位(K,M,G)為單位顯示/home 目錄的總大小 -s summarize
df命令和du命令的區(qū)別:
df命令是從文件系統(tǒng)考慮的,不僅考慮文件占用的空間,還要統(tǒng)計(jì)被命令或者程序占用的空間。
du命令面向文件,只計(jì)算文件或目錄占用的空間。
作用:查看內(nèi)存及交換空間使用狀態(tài)
語(yǔ)法: free [-kmg]
選項(xiàng):
-k: 以KB為單位顯示,默認(rèn)就是以KB為單位顯示
-m: 以MB為單位顯示
-g: 以GB為單位顯示
清理緩存命令:
echo 1 /proc/sys/vm/drop_caches
tail 命令。如tail 20 文件命名,是查看文件最后20行。
另外使用 tail -20f 文件名,可以追加查看文件末尾內(nèi)容,即文件不停的被寫入時(shí),可以實(shí)時(shí)刷新。一般用于查看程序日志文件。
1、首先,連接相應(yīng)linux主機(jī),進(jìn)入到linux命令行狀態(tài)下,等待輸入shell指令。
2、其次,以終止進(jìn)程號(hào)1984的nginx子進(jìn)程為例,在linux命令行中輸入:kill -9 1984。
3、最后,按下回車鍵執(zhí)行shell指令,此時(shí)會(huì)看到進(jìn)程號(hào)1984的nginx子進(jìn)程被成功終止了。
sed命令行格式:sed [options] 'command' file(s)
options常用選項(xiàng):
-n或--quiet或——silent:僅顯示script處理后的結(jié)果;
-e:以選項(xiàng)中的指定的script來(lái)處理輸入的文本文件;
-f:以選項(xiàng)中指定的script文件來(lái)處理輸入的文本文件;
-r∶sed 的動(dòng)作支援的是延伸型正規(guī)表示法的語(yǔ)法;
-i∶直接修改讀取的檔案內(nèi)容,而不是由螢?zāi)惠敵?
-h或--help:顯示幫助;
-V或--version:顯示版本信息。
Command常用命令:
a:新增,a 的后面可以接字符串,而這些字符串會(huì)在新的一行出現(xiàn)(目前的下一行);
c:取代,c 的后面可以接字符串,這些字符串可以取代 n1,n2 之間的行;
d:刪除,d 后面通常不接任何字符串;
i:插入,i 的后面可以接字符串,而這些字符串會(huì)在新的一行出現(xiàn)(目前的上一行);
p:列印,亦即將某個(gè)選擇的資料印出。通常 p 會(huì)與參數(shù) sed -n 一起運(yùn)作;
s:取代,可以直接進(jìn)行取代的工作,通常與正規(guī)表達(dá)式搭配使用。
實(shí)例說(shuō)明:
新增操作:a命令
sed '/^bird/a\test' file將test追加到 以bird開(kāi)頭的行后面
刪除操作:d命令
sed '/^$/d' file #刪除空白行;
sed '2d' file #刪除第二行;
sed '2,$d' file #刪除第2行到最后一行;
sed '$d' file #刪除最后一行;
sed '/^bird/'d file #刪除所有開(kāi)頭是bird的行;
插入操作:i命令
sed -i '3i\bird ' bird.conf #在bird.conf文件第3行之前插入bird
替換文本中的字符串:s命令
sed 's/bird/birds/' file #將文本中的bird替換成birds;
sed -i 's/ bird / birds /g' file #將file文件中每一行的第一個(gè)bird替換為birds;
[root@localhost ~]# ls -l
總用量 44
-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg
權(quán)限--引用計(jì)數(shù) 所有者 -- 所屬組--- 大小-- 文件修改時(shí)間 文件名
ls [選項(xiàng)] [文件名或目錄名]
選項(xiàng):
-a :顯示所有文件
--color=when:支持顏色輸出
-d :顯示目錄信息,而不是目錄下的文件
-h :人性化顯示﹐按照我們習(xí)慣的顯示文件大小
-i :顯示文件的i節(jié)點(diǎn)號(hào)
-l:長(zhǎng)格式顯示
pwd 命令是查詢當(dāng)前所在的目錄的絕對(duì)路徑
選項(xiàng):
-L (默認(rèn)值)打印環(huán)境變量"$PWD"的值,可能為符號(hào)鏈接。
-P 打印當(dāng)前工作目錄的物理位置。
mkdir 是創(chuàng)建目錄的命令
選項(xiàng):
-Z:設(shè)置安全上下文,當(dāng)使用SELinux時(shí)有效;
-m或--mode:建立目錄的同時(shí)設(shè)置目錄的權(quán)限;
-p或--parents:若所要建立目錄的上層目錄目前尚未建立,則會(huì)一并建立上層目錄;
rmdir 是刪除空目錄的命令
-p: 遞歸刪除目錄
touch 是 創(chuàng)建空文件或修改文件的時(shí)間戳
[root@localhost ~]# touch [選項(xiàng)] 文件名
-a:或--time=atime或--time=access或--time=use 只更改存取時(shí)間;
-c:或--no-create 不建立任何文件;
-d:時(shí)間日期 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間;
-f:此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問(wèn)題;
-m:或--time=mtime或--time=modify 只更該變動(dòng)時(shí)間;
-r:參考文件或目錄 把指定文件或目錄的日期時(shí)間,統(tǒng)統(tǒng)設(shè)成和參考文件或目錄的日期時(shí)間相同;
-t:日期時(shí)間 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間;
--help:在線幫助;
--version:顯示版本信息。
stat 是查看文件詳細(xì)信息的命令,而且可以看到文件的這三個(gè)時(shí)間戳
選項(xiàng):
-L:支持符號(hào)連接;
-f:顯示文件系統(tǒng)狀態(tài)而非文件狀態(tài);
-t:以簡(jiǎn)潔方式輸出信息;
cat 命令用來(lái)查看文件內(nèi)容
選項(xiàng):
-A: 相當(dāng)于-vET 選項(xiàng)的整合,用于列出所有隱藏符號(hào)
-E: 列出每行結(jié)尾的回車符$
-n: 顯示行號(hào)
-T: 把 Tab 鍵用^I顯示出來(lái)
-v: 列出特殊字符
more 是分屏顯示文件的命令
less 是分行顯示文件的命令
用less命令顯示文件時(shí),用PageUp鍵向上翻頁(yè),用PageDown鍵向下翻頁(yè)。要退出less程序,應(yīng)按Q鍵。
選項(xiàng):
-e:文件內(nèi)容顯示完畢后,自動(dòng)退出;
-f:強(qiáng)制顯示文件;
-g:不加亮顯示搜索到的所有關(guān)鍵詞,僅顯示當(dāng)前顯示的關(guān)鍵字,以提高顯示速度;
-l:搜索時(shí)忽略大小寫的差異;
-N:每一行行首顯示行號(hào);
-s:將連續(xù)多個(gè)空行壓縮成一行顯示;
-S:在單行顯示較長(zhǎng)的內(nèi)容,而不換行顯示;
-x數(shù)字:將TAB字符顯示為指定個(gè)數(shù)的空格字符。
head 是用來(lái)顯示文件開(kāi)頭的命令
選項(xiàng):
-c --bytes=[-]NUM 顯示前NUM字節(jié);如果NUM前有"-",那么會(huì)打印除了文件末尾的NUM字節(jié)以外的其他內(nèi)容。
-n, --lines=[-]NUM 顯示前NUM行而不是默認(rèn)的10行;如果NUM前有"-",那么會(huì)打印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不打印文件名行。
-v, --verbose 總是打印文件名行。
-z, --zero-terminated 行終止符為NUL而不是換行符。
tail 是用來(lái)顯示文件末尾的命令
選項(xiàng):
-c, --bytes=NUM 輸出文件尾部的NUM(NUM為整數(shù))個(gè)字節(jié)內(nèi)容。
-f, --follow[={name|descript}] 顯示文件最新追加的內(nèi)容。“name”表示以文件名的方式監(jiān)視文件的變化。
-F 與 “--follow=name --retry” 功能相同。
-n, --line=NUM 輸出文件的尾部NUM(NUM位數(shù)字)行內(nèi)容。
--pid=進(jìn)程號(hào) 與“-f”選項(xiàng)連用,當(dāng)指定的進(jìn)程號(hào)的進(jìn)程終止后,自動(dòng)退出tail命令。
-q, --quiet, --silent 當(dāng)有多個(gè)文件參數(shù)時(shí),不輸出各個(gè)文件名。
--retry 即是在tail命令啟動(dòng)時(shí),文件不可訪問(wèn)或者文件稍后變得不可訪問(wèn),都始終嘗試打開(kāi)文件。使用此選項(xiàng)時(shí)需要與選項(xiàng)“--follow=name”連用。
-s, --sleep-interal=秒數(shù) 與“-f”選項(xiàng)連用,指定監(jiān)視文件變化時(shí)間隔的秒數(shù)。
-v, --verbose 當(dāng)有多個(gè)文件參數(shù)時(shí),總是輸出各個(gè)文件名。
ln 是用來(lái)為文件創(chuàng)建鏈接的命令
[root@localhost ~]# ln [選項(xiàng)] 源文件 目標(biāo)文件
選項(xiàng):
-s: 建立軟鏈接文件。如果不加“-s”選項(xiàng),則建立硬鏈接文件
-f: 強(qiáng)制。如果目標(biāo)文件已經(jīng)存在,則刪除目標(biāo)文件后再建立鏈接文件
-d, -F, --directory 創(chuàng)建指向目錄的硬鏈接(只適用于超級(jí)用戶)
-f, --force 強(qiáng)行刪除任何已存在的目標(biāo)文件
-i, --interactive 覆蓋既有文件之前先詢問(wèn)用戶
-L, --logical 取消引用作為軟鏈接的目標(biāo)
-n, --no-dereference 把軟鏈接的目的目錄視為一般文件
-P, --physical 直接將硬鏈接到軟鏈接
-r, --relative 創(chuàng)建相對(duì)于鏈接位置的軟鏈接
-s, --symbolic 對(duì)源文件建立軟鏈接
硬鏈接特征:
源文件和硬鏈接文件擁有相同的 Inode 和 Block
? 修改任意一個(gè)文件,另一個(gè)都改變
? 刪除任意一個(gè)文件,另一個(gè)都能使用
? 硬鏈接標(biāo)記不清,很難確認(rèn)硬鏈接文件位置,不建議使用
? 硬鏈接不能鏈接目錄
? 硬鏈接不能跨分區(qū)
軟鏈接特征:
? 軟鏈接和源文件擁有不同的 Inode 和 Block
? 兩個(gè)文件修改任意一個(gè),另一個(gè)都改變
? 刪除軟鏈接,源文件不受影響;刪除源文件,軟鏈接不能使用
? 軟鏈接沒(méi)有實(shí)際數(shù)據(jù),只保存源文件的 Inode,不論源文件多大,軟鏈接大小不變
? 軟鏈接的權(quán)限是最大權(quán)限 lrwxrwxrwx.,但是由于沒(méi)有實(shí)際數(shù)據(jù),最終訪問(wèn)時(shí)需要參考源文
件權(quán)限
? 軟鏈接可以鏈接目錄
? 軟鏈接可以跨分區(qū)
? 軟鏈接特征明顯,建議使用軟連接
rm 是強(qiáng)大的刪除命令,不僅可以刪除文件,也可以刪除目錄
[root@localhost ~]# rm [選項(xiàng)] 文件或目錄
選項(xiàng):
d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;
-f:強(qiáng)制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問(wèn)用戶;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
--preserve-root:不對(duì)根目錄進(jìn)行遞歸操作;
-v:顯示指令的詳細(xì)執(zhí)行過(guò)程。
cp 是文件或目錄用于復(fù)制的命令
[root@localhost ~]# cp [選項(xiàng)] 源文件 目標(biāo)文件
選項(xiàng):
-a:此參數(shù)的效果和同時(shí)指定"-dpR"參數(shù)相同;
-d:當(dāng)復(fù)制軟鏈接時(shí),把目標(biāo)文件或目錄也建立為軟鏈接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強(qiáng)行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問(wèn)用戶;
-l:對(duì)源文件建立硬連接,而非復(fù)制文件;
-p:保留源文件或目錄的屬性;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對(duì)源文件建立軟鏈接,而非復(fù)制文件;
-u:使用這項(xiàng)參數(shù)后只會(huì)在源文件的更改時(shí)間較目標(biāo)文件更新時(shí)或是名稱相互對(duì)應(yīng)的目標(biāo)文件并不存在時(shí),才復(fù)制文件;
-S:在備份文件時(shí),用指定的后綴“SUFFIX”代替文件的默認(rèn)后綴;
-b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
-v:詳細(xì)顯示命令執(zhí)行的操作。
mv 是用來(lái)對(duì)文件或目錄重新命名,或者將文件移動(dòng)至其他目錄
[root@localhost ~]# mv [選項(xiàng)] 源文件 目標(biāo)文件
選項(xiàng):
-b:當(dāng)文件存在時(shí),覆蓋前,為其創(chuàng)建一個(gè)備份;
-f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問(wèn)用戶,如果源文件與目標(biāo)文件或目標(biāo)目錄中的文件同名,則詢問(wèn)用戶是否覆蓋目標(biāo)文件。用戶輸入”y”,表示將覆蓋目標(biāo)文件;輸入”n”,表示取消對(duì)源文件的移動(dòng)。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠“ / ”;
-S后綴:為備份文件指定后綴,而不使用默認(rèn)的后綴;
--target-directory=目錄:指定源文件要移動(dòng)到目標(biāo)目錄;
-u:當(dāng)源文件比目標(biāo)文件新或者目標(biāo)文件不存在時(shí),才執(zhí)行移動(dòng)操作。
[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log
第一列的權(quán)限位如果不計(jì)算最后的“.”,則共有 10 位。
第 2~4 位代表文件所有者的權(quán)限。
chmod 用來(lái)變更文件或目錄的權(quán)限
[root@localhost ~]# chmod [選項(xiàng)] 權(quán)限模式 文件名
選項(xiàng):
-c, --changes:當(dāng)文件的權(quán)限更改時(shí)輸出操作信息。
--no-preserve-root:不將'/'特殊化處理,默認(rèn)選項(xiàng)。
--preserve-root:不能在根目錄下遞歸操作。
-f, --silent, --quiet:抑制多數(shù)錯(cuò)誤消息的輸出。
-v, --verbose:無(wú)論文件是否更改了權(quán)限,一律輸出操作信息。
--reference=RFILE:使用參考文件或參考目錄RFILE的權(quán)限來(lái)設(shè)置目標(biāo)文件或目錄的權(quán)限。
-R, --recursive:對(duì)目錄以及目錄下的文件遞歸執(zhí)行更改權(quán)限操作。
用戶身份
首先,讀、寫、執(zhí)行權(quán)限對(duì)文件和目錄的作用是不同的。
目錄的可用權(quán)限其實(shí)只有以下幾個(gè)。
chown 是修改文件和目錄的所有者和所屬組的命令
[root@localhost ~]# chown [選項(xiàng)] 所有者:所屬組 文件或目錄
選項(xiàng):
-c或——changes:效果類似“-v”參數(shù),但僅回報(bào)更改的部分;
-f或--quite或——silent:不顯示錯(cuò)誤信息;
-h或--no-dereference:只對(duì)軟鏈接的文件作修改,而不更改其他任何相關(guān)文件;
-R或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;
-v或——version:顯示指令執(zhí)行過(guò)程;
--reference=參考文件或目錄:把指定文件或目錄的擁有者與所屬群組全部設(shè)成和參考文件或目錄的擁有者與所屬群組相同;
普通用戶不能修改文件的所有者,哪怕自己是這個(gè)文件的所有者也不行
普通用戶可以修改所有者是自己的文件的權(quán)限
chgrp 是修改文件和目錄的所屬組的命令
[root@phato ~]# chgrp [選項(xiàng)] 所屬組 文件或目錄
-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的所屬的組
-c或——changes:效果類似“-v”參數(shù),但僅回報(bào)更改的部分;
-f或--quiet或——silent:不顯示錯(cuò)誤信息;
-h或--no-dereference:只對(duì)符號(hào)連接的文件作修改,而不是該其他任何相關(guān)文件;
-H如果命令行參數(shù)是一個(gè)通到目錄的軟鏈接,則遍歷軟鏈接
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處理;
-L:遍歷每一個(gè)遇到的通到目錄的軟鏈接
-P:不遍歷任何符號(hào)鏈接(默認(rèn))
-v或——verbose:顯示指令執(zhí)行過(guò)程;
--reference=參考文件或目錄:把指定文件或目錄的所屬群組全部設(shè)成和參考文件或目錄的所屬群組相同;
umask 是顯示或設(shè)置創(chuàng)建文件的權(quán)限掩碼。我們需要先了解一下新建文件和目錄的默認(rèn)最大權(quán)限。
我們?cè)谶@里按照權(quán)限字母來(lái)講解 umask 權(quán)限的計(jì)算方法。我們就按照默認(rèn)的 umask 值是 022來(lái)分別計(jì)算一下新建文件和目錄的默認(rèn)權(quán)限吧。