命令格式: 命令 [-選項] [參數(shù)]
目前創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計、佳縣網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
如:ls -la /usr
**說明: **
大部分命令遵從該格式
多個選項時,可以一起寫 eg:ls –l –a à ls –la
簡化選項與完整選項(注:并非所有選項都可使用完整選項) eg:ls –all à ls –a
作用:切換用戶身份
語法:su [選項] 用戶名
-c 僅執(zhí)行一次命令,而不切換用戶身份
$ su – root
env
$ su – root –c “useradd longjing”
文件或目錄的CRUD
英文:change directory 命令路徑:內(nèi)部命令 執(zhí)行權(quán)限:所有用戶
作用: 切換目錄
語法:cd [目錄] / 切換到根目錄
.. 回到上一級目錄
. 當(dāng)前目錄
~ 當(dāng)前用戶的宿主目錄(eg:# cd ~用戶名 進(jìn)入某個用戶的家目錄)
英文:list 命令路徑:/bin/ls 執(zhí)行權(quán)限:所有用戶
作用:顯示目錄文件
語法:ls [-alrRd] [文件或目錄]
-a all 顯示所有文件,注意隱藏文件,特殊目錄.和..
-l(long) 顯示詳細(xì)信息
-R(recursive) 遞歸顯示當(dāng)前目錄下所有目錄
-r (reverse) 逆序排序
-t(time) 按修改時間排序(降序)
英文:print working directory 命令路徑:/bin/pwd 執(zhí)行權(quán)限:所有用戶
作用:顯示當(dāng)前工作目錄
語法:pwd [-LP]
-L 顯示鏈接路徑,當(dāng)前路徑,默認(rèn)
-P 物理路徑
eg:# cd /etc/init.d
英文:make directories 命令路徑:/bin/mkdir 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建新目錄
語法:mkdir [-p] 目錄名
-p 父目錄不存在情況下先生成父目錄 (parents)
eg: mkdir linux/test 如果目錄linux不存在,則報錯,使用參數(shù)-p即可自動創(chuàng)建父目錄。
命令路徑:/bin/touch 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建空文件或更新已存在文件的時間
語法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同時創(chuàng)建多個文件
創(chuàng)建帶空格的文件 eg:touch "program files" 在查詢和刪除時也必須帶雙引號
注意:生產(chǎn)環(huán)境中,文件名,一定不要加空格
英文:copy 命令路徑:/bin/cp 執(zhí)行權(quán)限:所有用戶
作用:復(fù)制文件或目錄
語法:cp [–rp] 源文件或目錄 目的目錄
-r -R recursive 遞歸處理,復(fù)制目錄
-p 保留文件屬性 (原文件的時間不變)
eg:
1,相對路徑 cp –R /etc/* . cp –R ../aaa ../../test/
2,,絕對路徑 cp –R / ect/service /root/test/aa/bb
英文:move 命令路徑:/bin/mv 執(zhí)行權(quán)限:所有用戶
作用:移動文件或目錄、文件或目錄改名
語法:mv 源文件或目錄 目的目錄
英文:remove 命令路徑:/bin/rm 執(zhí)行權(quán)限:所有用戶
作用:刪除文件
語法: rm [-rf] 文件或目錄
-r (recursive)刪除目錄,同時刪除該目錄下的所有文件
-f(force) 強(qiáng)制刪除文件或目錄 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認(rèn)
注意:工作中,謹(jǐn)慎使用rm –rf 命令。
擴(kuò)展點 :刪除亂碼文件
一些文件亂碼后使用rm -rf 依然無法刪除
此時,使用ll -i 查找到文件的inode節(jié)點
然后使用find . -inum 查找到的inode編號 -exec rm {} -rf ;
就能順利刪除了
英文:concatenate 命令路徑:/bin/cat 執(zhí)行權(quán)限:所有用戶
作用:顯示文件內(nèi)容
語法:cat [-n] [文件名]
-n 顯示行號
eg:cat /etc/services
命令路徑:/bin/more 執(zhí)行權(quán)限:所有用戶
作用:分頁顯示文件內(nèi)容
語法:more [文件名]
空格或f 顯示下一頁
Enter鍵 顯示下一行
q或Q 退出
命令路徑:/usr/bin/head 執(zhí)行權(quán)限:所有用戶
作用:查看文件前幾行(默認(rèn)10行)
語法:head [文件名]
-n 指定行數(shù)
eg:head -20 /etc/services head –n 3 /etc/services
命令路徑:/usr/bin/tail 執(zhí)行權(quán)限:所有用戶
作用:查看文件的后幾行
語法:tail [文件名]
-n 指定行數(shù)
-f (follow) 動態(tài)顯示文件內(nèi)容
獲取一個大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路徑:/bin/ln 執(zhí)行權(quán)限:所有用戶
作用:產(chǎn)生鏈接文件
語法:
ln -s [源文件] [目標(biāo)文件] 創(chuàng)建軟鏈接 源文件 使用 絕對路徑
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ù)量,如果該文件沒有硬鏈接,就只有本身一個硬鏈接。
13鏈接文件的長度
格式解析(特征):
1, 軟連接的文件類型是 l(軟連接),軟連接文件的權(quán)限 都是 lrwxrwxrwx
2,- 箭頭指向到源文件
真正的權(quán)限取決于對源文件的權(quán)限
時間值為創(chuàng)建軟連接的時間
軟連接可以跨文件系統(tǒng)生成
硬鏈接特征
1,相當(dāng)于 cp -p +同步更新
2,通過i節(jié)點識別,與源文件有相同的inode節(jié)點
3,硬鏈接不能跨分區(qū),ln /home/test/issuels /boot/test (錯誤)
4,不能針對目錄使用 ln /tmp/ aa.hard (無法將目錄/tmp 生成硬鏈接)
刪除軟連接
rm -rf symbolic_name
英文:manual 命令路徑:/usr/bin/man 執(zhí)行權(quán)限:所有用戶
作用:獲取命令或配置文件的幫助信息
語法:man [命令/配置文件]
eg:man ls man services
(查看配置文件時,不需要配置文件的絕對路徑,只需要文件名即可)
調(diào)用的是more命令來瀏覽幫助文檔,按空格翻下一頁,按回車翻下一行,按q退出。
使用/加上關(guān)鍵的參數(shù)可直接定位搜索, n 查找下一個,shift+n 查找上一個
eg: /-l 直接查看-l的介紹
擴(kuò)展:man的級別 (幫助文檔的類型, 了解1 5即可)
man man-pages 查看每一種類型代表的含義 man文檔的類型(1~9)
1是命令,5是配置文件 man優(yōu)先顯示命令,可指定幫助類型
eg:man 5 passwd (5代表配置文件級別)
[圖片上傳失敗...(image-6718d2-1624438708895)]
help 查看shell內(nèi)置命令的幫助信息
eg:help cd
內(nèi)置命令,使用whereis,which,man都不能查看
type 命令 查看內(nèi)部命令還是外部命令
命令名 --help 列舉該命令的常用選項
eg: cp --help
命令路徑:/bin/find 執(zhí)行權(quán)限:所有用戶
作用:查找文件或目錄
語法:find [搜索路徑] [匹配條件]
如果沒有指定搜索路徑,默認(rèn)從當(dāng)前目錄查找
find命令選項
-name 按名稱查找 精準(zhǔn)查找
eg:find /etc -name “init” 在目錄/etc中查找文件init
-iname 按名稱查找
find查找中的字符匹配:
*:匹配所有
?:匹配單個字符
eg:find /etc -name “init???” 在目錄/etc中查找以init開頭的,且后面有三位的文件
模糊匹配的條件,建議使用單引號或雙引號括起來。如果*被轉(zhuǎn)義,可使用 單雙引號括住查詢條件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block為單位,一個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:
如果明確知道查找的文件在哪一個目錄,就直接對指定目錄查找,不查找根目錄/
命令路徑:/bin/grep 執(zhí)行權(quán)限:所有用戶
作用:在文件中搜尋字串匹配的行并輸出
語法:grep [-cinv] '搜尋字符串' filename
選項與參數(shù):
-c :輸出匹配行的次數(shù)(是以行為單位,不是以出現(xiàn)次數(shù)為單位)
-i :忽略大小寫,所以大小寫視為相同
-n :顯示匹配行及行號
-v :反向選擇,顯示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#號
eg:# grep -n “init”/etc/inittab 顯示在inittab文件中,init匹配行及行號
eg:# grep -c“init”/etc/inittab 顯示在inittab文件中,init匹配了多少次
命令路徑:/usr/bin/which 執(zhí)行權(quán)限:所有用戶
作用: 顯示系統(tǒng)命令所在目錄(絕對路徑及別名)
which命令的作用是,在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果。也就是說,使用which命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令
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只能壓縮文件,不能壓縮目錄;不保留原文件
語法:gzip 文件
-d將壓縮文件解壓(decompress)
解壓使用gzip –d或者 gunzip
命令路徑:/usr/bin/bzip2 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.bz2
語法:bzip2 [-k] [文件]
-k:產(chǎn)生壓縮文件后保留原文件(壓縮比高)
-d 解壓縮的參數(shù)(decompress)
解壓使用bzip2 –d或者 bunzip2
命令路徑:/usr/bin/zip 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.zip
語法:zip 選項[-r] [壓縮后文件名稱] [文件或目錄]
-r壓縮目錄
eg:zip services.zip /etc/services 壓縮文件;
zip -r test.zip /test 壓縮目錄
如果不加-r選項,壓縮后的文件沒有數(shù)據(jù)。
解壓使用unzip
命令路徑:/bin/tar 執(zhí)行權(quán)限:所有用戶
作用:文件、目錄打(解)包
語法:tar [-zcf] 壓縮后文件名 文件或目錄
-c 建立一個壓縮文件的參數(shù)指令(create),后綴是.tar
-x 解開一個壓縮文件的參數(shù)指令(extract)
-z 以gzip命令壓縮/解壓縮
-j 以bzip2命令壓縮/解壓縮
-v 壓縮的過程中顯示文件(verbose)
-f file 指定文件名,必選項
1, 單獨的打包 ,解包 tar –cf tar –xf
2, 打包之后,進(jìn)行壓縮 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 單獨 壓縮 解壓縮
tar -z 以gzip打包目錄并壓縮 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目錄并壓縮 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gzdir1 使用gzip將目錄dir1壓縮成一個打包并壓縮文件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,源文件是保留的,不會被刪除
**shutdown **[選項] 時間
選項: -c: 取消前一個關(guān)機(jī)命令
-h:關(guān)機(jī)
-r:重啟
eg:
shutdown -h now 立即關(guān)機(jī) shutdown -h 20:30 定時關(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鍵 自動補(bǔ)全
掌握好一些快捷鍵
ctrl + c(停止當(dāng)前進(jìn)程)
ctrl + z 掛起當(dāng)前進(jìn)程,放后臺
ctrl + r(查看命令歷史) history
ctrl + l(清屏,與clear命令作用相同)
方向箭頭 上 下 可以查看執(zhí)行過的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除單詞
vim/vi是Unix / Linux上最常用的文本編輯器而且功能非常強(qiáng)大。
只有命令,沒有菜單。
《大碗》編輯器版
周圍的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、語法高亮呀、拼寫檢查呀,能給它開的都給它開著,就是一個字:酷!你說這么牛X的一東西,怎么著學(xué)會也得小半年吧。半年???入門都遠(yuǎn)著呢!能學(xué)會移動光標(biāo)就不錯了,你還別說耗不起,就這還是左右移動?。?!
:
[圖片上傳失敗...(image-a08366-1624438708894)]
命令模式:又稱一般模式
編輯模式:又稱底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在光標(biāo)后附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在光標(biāo)前插入文本
|
|
I(shift+i)
|
在本行開始插入文本 行首
|
|
o
|
在光標(biāo)下插入新行
|
|
O(shift+o)
|
在光標(biāo)上插入新行
|
|
命令
|
作用
|
|
:set nu
|
設(shè)置行號
|
|
:set nonu
|
取消行號
|
|
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個字符
|
|
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)所在處開始替換字符,按Esc結(jié)束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向后搜索指定字符串 搜索時忽略大小寫 :set ic
|
|
?string
|
向前搜索指定字符串
|
|
n
|
搜索字符串的下一個出現(xiàn)位置,與搜索順序相同
|
|
N(Shift + n)
|
搜索字符串的上一個出現(xiàn)位置,與搜索順序相反
|
|
:%s/old/new/g
|
全文替換指定字符串
|
|
:n1,n2s/old/new/g
|
在一定范圍內(nèi)替換指定字符串
|
% 指全文,s 指開始,g 指全局替換
eg: :41,44/yang/lee/c 從41行到44行,把yang替換為lee,詢問是否替換
eg: :41,44/yang/lee/g 同上,不詢問,直接替換
使用替換命令來添加刪除注釋
:% s/^/#/g 來在全部內(nèi)容的行首添加 # 號注釋
:1,10 s/^/#/g 在1~10 行首添加 # 號注釋
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)限:所有用戶
作用:測試網(wǎng)絡(luò)的連通性
語法:ping 選項 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ò)配置
語法:ifconfig [-a] [網(wǎng)卡設(shè)備標(biāo)識]
-a:顯示所有網(wǎng)卡信息
ifconfig [網(wǎng)卡設(shè)備標(biāo)識] IP地址 修改ip地址
英文:network statistics 命令路徑:/bin/netstat 執(zhí)行權(quán)限:所有用戶
作用:主要用于檢測主機(jī)的網(wǎng)絡(luò)配置和狀況
-a all顯示所有連接和監(jiān)聽端口
-t (tcp)僅顯示tcp相關(guān)選項
-u (udp)僅顯示udp相關(guān)選項
-n 使用數(shù)字方式顯示地址和端口號
-l (listening) 顯示監(jiān)控中的服務(wù)器的socket
eg:# netstat -tlnu 查看本機(jī)監(jiān)聽的端口
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
臨時生效:
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)概念,本身作為一種軟件資源長期保存;而進(jìn)程是程序的執(zhí)行過程,它是動態(tài)概念,有一定的生命期,是動態(tài)產(chǎn)生和消亡的。
2、程序和進(jìn)程無一一對應(yīng)關(guān)系。一個程序可以由多個進(jìn)程共用;另一方面,一個進(jìn)程在活動中有可順序地執(zhí)行若干個程序。
進(jìn)程和線程的區(qū)別:
進(jìn)程: 就是正在執(zhí)行的程序或命令,每一個進(jìn)程都是一個運(yùn)行的實體,都有自己的地址空間,并占用一定的系統(tǒng)資源。
線程: 輕量級的進(jìn)程;進(jìn)程有獨立的地址空間,線程沒有;線程不能獨立存在,它由進(jìn)程創(chuàng)建;相對講,線程耗費的cpu和內(nèi)存要小于進(jìn)程。
進(jìn)程管理的作用?
判斷服務(wù)器的健康狀態(tài)
查看系統(tǒng)所有的進(jìn)程
殺死進(jìn)程
作用:查看系統(tǒng)中的進(jìn)程信息
語法:ps [-auxle]
常用選項
查看系統(tǒng)中所有進(jìn)程
ps應(yīng)用實例 # ps -u or ps -l 查看隸屬于自己進(jìn)程詳細(xì)信息
作用: 查看當(dāng)前進(jìn)程樹
語法:pstree [選項]
-p 顯示進(jìn)程PID
-u 顯示進(jìn)程的所屬用戶
作用:查看系統(tǒng)健康狀態(tài)
顯示當(dāng)前系統(tǒng)中耗費資源最多的進(jìn)程,以及系統(tǒng)的一些負(fù)載情況。
語法:top [選項]
-d 秒數(shù),指定幾秒刷新一次,默認(rèn)3秒(動態(tài)顯示)
作用:關(guān)閉進(jìn)程
語法:kill [-選項] pId
kill -9 進(jìn)程號(強(qiáng)行關(guān)閉) 常用
kill -1 進(jìn)程號(重啟進(jìn)程)
添加用戶
語法:useradd [選項] 用戶名
修改密碼命令
語法:passwd [選項] [用戶名]
用戶密碼:生產(chǎn)環(huán)境中,用戶密碼長度8位以上,設(shè)置大小寫加數(shù)字加特殊字符,要定期更換密碼。
ys^h_L9t
刪除用戶
-r 刪除賬號時同時刪除宿主目錄(remove)
作用:用于查看Linux文件系統(tǒng)的狀態(tài)信息,顯示各個分區(qū)的容量、已使用量、未使用量及掛載點等信息??词S嗫臻g
語法:df [-hkam] [掛載點]
-h(human-readable)根據(jù)磁盤空間和使用情況 以易讀的方式顯示 KB,MB,GB等 -k 以KB 為單位顯示各分區(qū)的信息,默認(rèn)
-M 以MB為單位顯示信息 -a 顯示所有分區(qū)包括大小為0 的分區(qū)
作用:用于查看文件或目錄的大?。ù疟P使用空間)
語法:du [-abhs] [文件名目錄]
-a 顯示子文件的大小
-h以易讀的方式顯示 KB,MB,GB等
-s summarize 統(tǒng)計總占有量
eg:
du -a(all) /home 顯示/home 目錄下每個子文件的大小,默認(rèn)單位為kb
du -b /home 以bytes為單位顯示/home 目錄下各個子目錄的大小
du -h /home 以K,M,G為單位顯示/home 文件夾下各個子目錄的大小
du -sh /home 以常用單位(K,M,G)為單位顯示/home 目錄的總大小 -s summarize
df命令和du命令的區(qū)別:
df命令是從文件系統(tǒng)考慮的,不僅考慮文件占用的空間,還要統(tǒng)計被命令或者程序占用的空間。
du命令面向文件,只計算文件或目錄占用的空間。
作用:查看內(nèi)存及交換空間使用狀態(tài)
語法: free [-kmg]
選項:
-k: 以KB為單位顯示,默認(rèn)就是以KB為單位顯示
-m: 以MB為單位顯示
-g: 以GB為單位顯示
清理緩存命令:
echo 1 /proc/sys/vm/drop_caches
Linux命令分為內(nèi)部命令(shell自帶的命令)和外部命令(不是shell自帶的命令,由用戶安裝),怎么鑒別是內(nèi)部命令和外部命令呢?可以通過type命令來鑒別
什么是shell呢?shell是一個程序,常用的有bash shell,平時我們通過用戶名和密碼登錄到linux,其實就是登錄到bash shell程序,通過bash shell來操作linux內(nèi)核
命令執(zhí)行流程
那豈不是說使用外部命令效率會很慢嗎?
其實一點都不慢,它會去PATH環(huán)境變量設(shè)置的一堆目錄中查找
cd is a shell builtin 表示內(nèi)部命令
ifconfig is hashed (/usr/sbin/ifconfig) 表示外部命令
cd命令切換文件夾
現(xiàn)在我們cd /usr/sbin
通過cat命令查看文件內(nèi)容
通過cat ifconfig來查看ifconfig,發(fā)現(xiàn)是亂碼文件
file命令查看文件類型
輸入file ifconfig
從輸出信息可以看出它是一個二進(jìn)制可執(zhí)行文件
whereis命令查看文件位置
find / -name jdk
echo命令用戶打印信息,相當(dāng)于java中的system.out.println
可以使用回車查看下一行、空格查看下一頁、q退出
一般使用man查看外部命令,help查看內(nèi)部命令
查看linux下的應(yīng)用和應(yīng)用的進(jìn)程號
當(dāng)我們在這個窗口中輸入kill -9 1593的話,另外一個正在編輯文件的進(jìn)程就會退出
在前面我們已經(jīng)講過,bash shell程序在執(zhí)行命令的一個過程及原理,對于外部命令,它會去PATH這個環(huán)境變量中查找執(zhí)行命令所在的路徑,當(dāng)然在去PATH中尋找之前會先去hash表中查找這個命令有沒有執(zhí)行過,執(zhí)行過的話會記錄在hash表中,則此次查找只需從hash表中就可以很方便的找到
查看分區(qū)信息 -h 表示文件大小后面會顯示文件大小
查看文件的使用情況
使用man ls 查看ls命令的相關(guān)介紹
-a:可以查看隱藏文件
-l:以長列表的形式展示文件列表信息
第一位 -:表示文件,d表示文件夾,b表示塊設(shè)備文件,c表示字符設(shè)備文件,p表示命令管道文件,s表示套接字文件, 從第二位開始往后數(shù)九位表示屬主權(quán)限(每三位一組 rwx:讀、寫、執(zhí)行),第11位表示的點表示分隔符,點后面的數(shù)字表示文件有幾個硬連接,第一個root代表屬主名,第二個root代表這個第一個root所在的組織,接下來的5表示文件大小,5后面的日期表示文件最后一次修改的時間, 1.txt代表的文件或文件夾的名稱
小結(jié):
切換文件目錄
cd 文件路徑
cd:切換到家目錄
cd ~:回到家目錄(也就是家目錄)
cd ..:回到上一級目錄
創(chuàng)建目錄
mkdir 目錄名
mkdir -p 目錄名,級聯(lián)創(chuàng)建目錄
cp 被拷貝的文件(可以是路徑加文件名) 拷貝到哪個位置
復(fù)制目錄使用
cp -r 被拷貝的目錄 目標(biāo)位置
移動命令
mv 被移動的文件 目標(biāo)位置+目標(biāo)文件名
rm 文件名(此中方式的刪除需要再輸入 yes)
rm -f 文件名,無提示直接刪除
rm -rf 文件夾
ln命令默認(rèn)創(chuàng)建的是硬連接
ln profile a:將a硬連接到profile文件上,他們底層共用一個文件,刪除他們之中任何一個
對另外一個沒有影響,同時你也可以使用 ll -i命令查看文件編號
ln -s profile a:將a軟連接到profile文件,當(dāng)你訪問a的時候會去訪問profile,profile再訪問底層文件,當(dāng)將profile刪除了之后a就無法訪問了
一致時間、創(chuàng)建新文本
touch 已存在的文件:會將文件的訪問時間、更新時間、改變時間(即上面stat中介紹的三個時間)變成一致
touch 不存在的文件:會創(chuàng)建一個新的文本
cat命令查看文件內(nèi)容
cat 1.txt:查看單個文件內(nèi)容
cat 1.txt 2.txt:查看多個文件
more 1.txt:以分頁的形式查看文件內(nèi)容,按空格:下一頁,回車:下一行(注意它不能回看,回看的話只能用鼠標(biāo)回輪)
less 1.txt:使用空格下一頁, b看上一頁, 回車看下一行
注意less的話會把整個文件內(nèi)容加載到內(nèi)存,如果文件比較大的話,建議使用more命令查看
head命令默認(rèn)查看文件前10行內(nèi)容, head 1.txt
head -5 1.txt:查看文件前5行的內(nèi)容
tail命令默認(rèn)查看文件后10行的內(nèi)容 tail 1.txt
tail -5 1.txt:查看文件后5行內(nèi)容
tail -f 1.txt:實時查看文件增量內(nèi)容
cat b.txt | head -3:管道左邊的命令會以輸出流的形式交給管道右邊的命令,管道右邊以輸入流的形式接收并且拼到命令的右邊
注意:ls -l 不能接受前面的輸出流,這個怎么辦呢?可以通過xargs命令
vi文本編輯器末行模式的操作
set nu(number的縮寫): 設(shè)置行號
set nonu(nonumber的縮寫):取消行號
set readonly:設(shè)置為只讀
n:往下查找
N:往上查找
n:往上查找
N:往下查找
一般我們會在/etc/profile文件中設(shè)置一些環(huán)境變量,但是在設(shè)置的時候可能沒有記住目錄,這時候我們可以使用如下方式
效果
格式 :s/str1/str2/gi
/ : 臨近s命令的第一個字符邊界字符,也可以是 @或#
g : 一行內(nèi)全部替換
i : 忽略大小寫
范圍
n:行號
. :當(dāng)前光標(biāo)行
+n :偏移n行
-3
%:全文
全部刪除 1,$d
刪除前三行
刪除倒數(shù)第2行
光標(biāo)挪到最后一行 按下小寫的p
效果圖
正則表達(dá)式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特殊字符、及這些特定字符的組合組成一個"規(guī)則字符串",這個"規(guī)則字符串"用來表達(dá)對字符串的一種過濾邏輯。
\ :轉(zhuǎn)義字符
. :匹配任意單個字符
[1249a] :匹配中括號中任意字符
[^12] :匹配中括號中任意非1和2的字符
[a-k] :匹配中括號中任意a~k中的一個字符
^ :行首
$ :行尾
abc :單詞首尾邊界(匹配單詞abc)
| :連接操作符
(,) : 選擇操作符
\n :反向引用
? :匹配0到1次
在Linux中通過grep命令使用正則表達(dá)式來匹配信息
f :選擇顯示的列
s :不顯示沒有分隔符的行
d :自定義分隔符
n :按數(shù)值排序
r :倒序
t :自定義分隔符
K :選擇排序列
u :合并相同行
f :忽略大小寫
sed:行編輯器,以行為單位進(jìn)行處理,可以將數(shù)據(jù)進(jìn)行替換、刪除、新增、選取等特定工作
sed [options] 'Command' file ...
-n :靜默模式,不再默認(rèn)顯示模式空間(內(nèi)存)中的內(nèi)容
-i :直接修改原文件
-e SCRIPT :可以同時執(zhí)行多個腳本
-f /PATH/TO/SED_SCRIPT
-r :表示使用擴(kuò)展正則表達(dá)式
d :刪除符合條件的行
p :顯示符號條件的行
a \string :在指定的行后面追加新行,內(nèi)容為string
\n :可以用于換行
i \string :在指定的行前面添加新行,內(nèi)容為string
c :取代,c的后面可以接字符串
s /pattern/string/修飾符:查找并替換。默認(rèn)只替換每行中第一次被模式匹配到的字符串
g :行內(nèi)全局替換
i :忽略字符大小寫
s///:s###,s@@@
(),\1,\2
sed "2p" ctxt
但是在執(zhí)行下面的操作的時候文本中的內(nèi)容都顯示出來了,它的原理是,打印匹配的行,以及文本中所有的內(nèi)容
注意:它刪的是內(nèi)存中的數(shù)據(jù),而不是目標(biāo)文件
sed -i "3d" ctxt
它的原理是先把內(nèi)存中的第3行數(shù)據(jù)刪除,然后再把內(nèi)存中的數(shù)據(jù)寫回原文件,這時原文件中的第三行就沒有了
使用變量的形式
awk是一個強(qiáng)大的文本分析工具。
相對于grep的查找,sed的編輯,awk在其對數(shù)據(jù)分析并生成報告時,顯得尤為強(qiáng)大。
簡單來說awk就是把文件逐行的讀入,(空格,制表符)為默認(rèn)分隔符將每行切片,切開的部分再進(jìn)行各種分析處理。
awk -F '{pattern + action}' {filenames}
支持自定義分隔符,默認(rèn)是以空格分隔的
支持正則表達(dá)式匹配
支持自定義變量,數(shù)組 a[1] a[tom] map(key)
支持內(nèi)置變量
ARGC 命令行參數(shù)個數(shù)
ARGV 命令行參數(shù)排列
ENVIRON 支持隊列中系統(tǒng)環(huán)境變量的使用
FILENAME awk瀏覽的文件名
FNR 瀏覽文件的記錄數(shù)
FS 設(shè)置輸入域分隔符,等價于命令行 -F選項
NF 瀏覽記錄的域的個數(shù)
NR 已讀的記錄數(shù)
OFS 輸出域分隔符
ORS 輸出記錄分隔符
RS 控制記錄分隔符
支持函數(shù)
print、split、substr、sub、gsub
支持流程控制語句
if、while、do/while、for、break、continue
練習(xí)題
passwd文件內(nèi)容解讀:
passwd文件中每行由7個字段組成,字段與字段之間由:分隔,第一個字段代表用戶名,第二個字段表示用戶對應(yīng)的加密后的密碼,第三個字段表示userId,第四個字段表示groupId,第五個字段表示對用戶的描述,第六個字段表示用戶的家目錄,第七個字段表示的是這個用戶默認(rèn)使用的shell
其中$0表示整行
統(tǒng)計報表:合計每人1月工資, 0:manager,1:worker
將awk后面的內(nèi)容封裝到一個文件中(封裝的腳本要遵循一定的格式)
qqq文件的內(nèi)容格式
Shell是一種腳本語言,那么,就必須有解釋器來執(zhí)行這些腳本,常見的腳本解釋器有:
bash:是Linux標(biāo)準(zhǔn)默認(rèn)的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的縮寫,內(nèi)部命令一共有40個。
sh: 由Steve Bourne開發(fā),是Bourne Shell的縮寫,sh 是Unix 標(biāo)準(zhǔn)默認(rèn)的shell。
另外還有:ash、 csh、 ksh等。
擴(kuò)展資料:
常見的編程語言分為兩類:一個是編譯型語言,如:c/c++/java等,它們遠(yuǎn)行前全部一起要經(jīng)過編譯器的編譯。另一個解釋型語言,執(zhí)行時,需要使用解釋器一行一行地轉(zhuǎn)換為代碼,如:awk, perl, python與shell等。
Shell 經(jīng)過了POSIX的標(biāo)準(zhǔn)化,所以它是可以在不同的linux系統(tǒng)上進(jìn)行移植。
關(guān)于注釋的問題: 在shell中使用#進(jìn)行注釋,注意,sh里面沒有多行注釋,只能每一行加一個#號;
第一階段:linux基礎(chǔ)入門
Linux基礎(chǔ)入門主要包括: Linux硬件基礎(chǔ)、Linux發(fā)展歷史、Linux系統(tǒng)安裝、xshell連接、xshell優(yōu)化、SSH遠(yuǎn)程連接故障問題排查、L inux基礎(chǔ)優(yōu)化、Linux目錄結(jié)構(gòu)知識、Linux文件屬性、Linux通配符、正則表達(dá)式、Linux系統(tǒng)權(quán)限等
第二階段:linux系統(tǒng)管理進(jìn)階
linux系統(tǒng)管理進(jìn)階包括:Linux定時任務(wù)、Linux用戶管理、Linux磁盤與文件系統(tǒng)、Linux三劍客之sed命令等。
第三階段:Linux Shell基礎(chǔ)
Linux Shell基礎(chǔ)包括:Shell編程基礎(chǔ)、Linux三劍客之a(chǎn)wk命令等。
第四階段:Linux網(wǎng)絡(luò)基礎(chǔ)
第五階段:Linux網(wǎng)絡(luò)服務(wù)
Linux網(wǎng)絡(luò)服務(wù)包括:集群實戰(zhàn)架構(gòu)開始及環(huán)境準(zhǔn)備、rsync數(shù)據(jù)同步服務(wù)、Linux全網(wǎng)備份項目、nfs網(wǎng)絡(luò)存儲服務(wù)精講、inotify/sersync實時數(shù)據(jù)同步/nfs存儲實時備份項目等。
第六階段:Linux重要網(wǎng)絡(luò)服務(wù)
Linux重要網(wǎng)絡(luò)服務(wù)包括:http協(xié)議/www服務(wù)基礎(chǔ)、nginx web介紹及基礎(chǔ)實踐、nginx web、lnmp環(huán)境部署/數(shù)據(jù)庫異機(jī)遷移/共享數(shù)據(jù)異機(jī)遷移到NFS系統(tǒng)、nginx負(fù)載均衡、keepalived高可用等。
第七階段:Ansible自動化運(yùn)維與Zabbix監(jiān)控
Ansible自動化運(yùn)維與Zabbix監(jiān)控包括: SSH服務(wù)秘鑰認(rèn)證、ansible批量自動化管理集群、 zabbix監(jiān)控等。
第九階段:大規(guī)模集群高可用服務(wù)(Lvs、Keepalived)
第十階段:Java Tomcat服務(wù)及防火墻Iptables
第十一階段:MySQL DBA高級應(yīng)用實踐
MySQL DBA高級應(yīng)用實踐包括:MySQL數(shù)據(jù)庫入門基礎(chǔ)命令、MySQL數(shù)據(jù)庫進(jìn)階備份恢復(fù)、MySQL數(shù)據(jù)庫深入事務(wù)引擎、MySQL數(shù)據(jù)庫優(yōu)化SQL語句優(yōu)化、MySQL數(shù)據(jù)庫集群主從復(fù)制/讀寫分離、MySQL數(shù)據(jù)庫高可用/mha/keepalved等。
第十二階段:高性能數(shù)據(jù)庫Redis和Memcached課程
第十三階段:Linux大規(guī)模集群架構(gòu)構(gòu)建(200臺)
第十四階段:Linux Shell編程企業(yè)案例實戰(zhàn)
第十五階段:企業(yè)級代碼發(fā)布上線方案(SVN和Git)
第十六階段企業(yè)級Kvm虛擬化與OpenStack云計算
第十七階段公有云阿里云8大組件構(gòu)建集群實戰(zhàn)
第十八階段:Docker技術(shù)企業(yè)應(yīng)用實踐
第十九階段:Python自動化入門及進(jìn)階
第二十階段:職業(yè)規(guī)劃與高薪就業(yè)指導(dǎo)
在DOS系統(tǒng)中,內(nèi)部命令是
DOS操作系統(tǒng)
自己能夠解釋指行的命令,如CD
,DIR等等,外部命令是指需要DOS系統(tǒng)附帶程序來完成的命令,如Format,SYS等等。在Linux系統(tǒng)中,應(yīng)當(dāng)沒有這中區(qū)分。
當(dāng)前名稱:linux內(nèi)部命令又稱為 linux中的命令及含義
標(biāo)題鏈接:http://jinyejixie.com/article18/doscogp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、移動網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、響應(yīng)式網(wǎng)站、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)