1. 程式人生 > >Linux運維常用命令詳解

Linux運維常用命令詳解

zxvf disabled 組密碼 周期性 協議 風格 col lib vgs

1、ls

文件屬性: 
-:普通文件
d:目錄文件
b:塊設備
c:字符設備文件
l:符號連接文件
p:命令管道
s:套接字文件

文件權限:
9位數字,每3位一組
文件硬鏈接次數
文件所屬主(owner)
文件的屬組(group)
文件大小(size),單位默認是字節

ls常用選項:
-l:顯示文件屬性,ls -l=ll
-h:做相應的單位轉換顯示
-a:顯示所有文件
-A:顯示.和..以為的所有文件
-d:顯示目錄自身屬性
-i:顯示文件的縮影接點號碼(index node ,inode)
-r:逆序顯示文件列表
-R:遞歸顯示文件

2、cd

cd:change directory 
cd:回到用戶的家目錄
cd ~username:進入指定用戶的家目錄
cd - :在當前目錄和前一次所在的目錄來回切換
cd ..:切換至其父目錄

3、printenv:顯示當前環境變量信息

4、時間管理

date:顯示系統時間 
clock:顯示硬件時間
hwclock -W:把系統時間同步到硬件時間
hwclock -s:把硬件時間同步到系統時間
cal:顯示日歷

5、命令幫助

內部命令幫助:help COMMAND 
外部命令幫助:man COMMAND
命令手冊:manual
whatis COMMAND:顯示此命令在man幫助的哪個章節內。
============================================================
man的操作命令:
空格:向後翻一屏
b:向前翻一屏
ENTER:向後翻一行
k:向前翻一行

============================================================


關鍵字查找
/KEYWORD:向後查找關鍵字
?KEYWORK:向前查找關鍵字
n:下一個關鍵字位置
N:前一個關鍵字
q:退出man幫助


6、file
file:用於查看普通文件和系統文件的類型
7、mkdir

mkdir:創建目錄 
rmdir:刪除目錄
-p:遞歸創建
-V:顯示創建信息


8、rm

rm:刪除文件 
-i:交互式刪除
-f:暴力刪除
-r:遞歸刪除
命令可以組合利用

9、touch

touch:創建文件 
-c:文件存在的時候不在創建
-a:只改變文件的訪問時間
-m:只改變文件的修改時間
-t:自己設定文件的時間戳(年月日時分.秒),與a、m配合使用

10、cp

cp:文件復制,規則:只有最後一個為目標。復制一個文件到一個文件  或者 多個文件
到一個目錄!
cp /etc/passwd /tmp/ 復制到目錄下並保存原文件名
cp /etc/passwd /tmp/test 看test是文件還是目錄,目錄:負責到目錄內,
文件則替換!
==============================================================
-r:遞歸復制目錄
-i:交互式顯示復制
-f:強制復制,覆蓋
-p:保留源文件的屬性,時間戳
-a:保留源文件的所有屬性
-P:復制鏈接文件時保存為鏈接(默認是復制鏈接所指向的文件)
-d:復制時保持鏈接
-a:歸檔復制,常用與備份

11、mv

mv:移動或重命名文件 
mv SRC(源) DEST(目標)
在統一目錄下可以利用mv進行重命名: mv abc bcd 或者 mv -t 目標 源

12、cat

 
cat:連接並顯示文件的信息,是全部顯示文件內的信息
-n:在顯示的時候可以顯示行號,這個行號只是顯示出來,跟文件內容沒有 關系
-E:顯示每一行的行結束符,所以linux中文本文件的行結束符是$符
-T:可以顯示制表符
-v:顯示其他的非打印字符
-A:顯示所有的符號

13、more

 
more:more的作用同cat是相同的,只不過這時我們可以通過手動來翻屏,更加方便
,more:只支持向後翻,翻到最後
就直接退出了
less:顯示文件信息,默認不退出顯示,q即可退出
空格:向後翻一屏
b:向前翻一屏
ENTER:向後翻一行
k:向前翻一行
關鍵字查找
/KEYWORD:查找關鍵字

14、head、tail

 
head:顯示文件的前幾行,默認是10行
-NUM:顯示前多少行
tail
tail:顯示文件的後幾行,默認是10行
-NUM:顯示後多少行
-f:查看文件尾部,而且不退出,等待顯示後續追加的新內容;

15、cut

 
cut:用於剪切數據的內容
-d:指定字段分隔符,默認的是空格 cut -d: -f7 空格符 cut -d‘‘
-f:指定要剪切顯示的字段
-f 1 表示顯示第一個字段 cut -f1
-f 1,3表示顯示第一個和第3個字段
-f 1-3表示顯示從1到3的字段

16、sort 、uniq、wc

 
sort:文本排序,僅僅是對顯示文件的排序,而不影響源文件的順序,是根據ASSII碼
的字符升序來排列的。
-n:安裝數值大小從小到大排列
-r:降序排列
-t:指定字段分隔符
-k:從哪個字符開始,就是指定關鍵字排列
-u:相同的行只顯示一次
-f:忽略字符大小寫
================================================================
uniq:報告或者忽悠重復行
-d:只顯示重復行
-c:顯示某一行的重復次數
================================================================
wc:文本統計,可以統計文件中一共有多少行數,多少個單詞數,多少個字節數 -l:只顯示行數 -w:只顯示單詞數 -c:只顯示字節數 -L:顯示最長的一行包含多少個字符

17、tr

tr:轉換或刪除字符 
tr [OPTION]...SET1 [SET2]
例如# tr ab AB 把小寫ab都換位大寫AB
-d:可以實現刪除出現在字符集中的所有字符
 
18、aliase
aliase:定義shell命令的別名
alias CMDALIAS=COMMAND
unalias CMDALIAS是撤銷命令別名
===========================================================================================
19、權限
權限: r 、w 、x
文件:
r:可讀,可利用類似 cat等命令查看文件內容
w:可寫,可以編輯或刪除此文件
x:可執行,可以再命令提示符下當做命令提交給內核運行。
目錄:
r:可以對此目錄執行LS以列出內部的所有文件
w:可以在此目錄中創建文件
x:可以使用cd切換進此目錄,也可以使用ls -l查看內部文件的的詳細信息。
===========================================================================================
20、useradd
useradd NAME:增加用戶
-u UID:指定用戶所屬主ID
-g GID:指定基本組ID或者組名(此組必須首先存在才能用)
-G GID:定額外組(附加組),可以指定多個,彼此之間用逗號隔開即可(此附加
組必須首先存在才能用)
-c "COMMENT"指定註釋信息
-d /path/to/somedirectory指定用戶的家目錄,不用的時候默認在home下面
建立一個和用戶同名的目錄。
-s 指定shell,路徑最後是etc/shells文件內規定的shell路徑。
-M 不給用戶創建家目錄
-r 創建一個系統用戶,共系統調用,並不建立家目錄
userdel USERNAME:刪除用戶
(不加參數時,默認不刪除用戶的家目錄)
-r :刪除用戶的同時也刪除家目錄
===========================================================================================
21、id
id命令:查看當前用戶的id信息
-g USERNAME:查看用戶的gid
-u USERNAME:查看用戶的uid
-G USERNAME:查看用戶的所有組
-un:顯示當前用戶的用戶名
-gn:顯示當前用戶的組名
===========================================================================================
22、finger
finger命令:查看用戶賬戶信息
finger USERNAME
===========================================================================================

24、用戶賬戶屬性管理
usermod:修改賬戶的屬性
usermod [option] USERNAME
-u:修改UID
-g:修改GID
-G:修改附加組
-a -G:增加附加組,不覆蓋之前的附加組
-c:修改用戶的註釋信息
-d:為用戶知道新的家目錄
-d -m :指定信家目錄並移動此前家目錄的文件至新的家目錄內
-s:修改用戶的默認shell
-l:修改用戶名
-L:鎖定用戶賬戶
-U:解鎖賬戶
==========================================================================================

25、用戶密碼管理
passwd USERNAME
-l:鎖定賬戶
-U:解鎖賬戶
-d:刪除用戶密碼
-n:用戶密碼最短時間
-x:用戶密碼最長使用時間
pwck:檢查用戶賬戶完整性
==========================================================================================

26、組管理
groupadd:新建組
groupadd [option] GROUPNAME
-g :GID指定GID
-r :添加為系統組
groupmod:組屬性
groupmod [option] GROUPNAME
-g GID:修改gid
-n NAME:修改組名
gpasswd:修改組密碼
gpasswd GROUPNAME
===========================================================================================
27、chage
chage:更改用戶賬戶信息
-d:最後一次修改時間
-E:過期時間
-I:非活動時間
-m:最短期限
-M:最長期限
-W:警告時間
===========================================================================================
28、chown
chown:改變文件屬主、屬組,只有管理員是也此命令
chown USERNAME file....(只改變目錄本身)
-R 遞歸修改(修改目錄及其內部文件的屬主)
--reference=/path/to/somefile file... 把file的屬主設定為與
somefile的屬主一樣(不需要指定屬主)
chown USERNAME:GRPNAME fiel... 同時改變屬主和屬組
chown USERNAME,GRPNAME fiel... 同時改變屬主和屬組
chown :GROUPNAME fiel.... 修改屬組
===========================================================================================
29、chgrp
chgrp:修改文件屬組
chgrp GROUPNAME file....(只改變目錄本身)
-R 遞歸修改(修改 目錄及其內部文件的屬組)
--reference=/path/to/somefile file... 把file的屬主設定為與
somefile的屬組一樣(不需要指定屬組)
===========================================================================================
30、chmod
chmod:修改文件的用戶權限
chmod MODE file...
-R:遞歸修改
--reference=/path/to/somefile file...
chmod 755 file...
修改某類用戶的某些權限
u:屬主
g:屬組
o:其他
a:所有
chmod 用戶類別=MODE fiel..
chmod u=wr,g=w /fiel..
chmod uo=wr /file..
修改某類的用戶某位或某些位權限
chmod 用戶類別[-/+]MODE fiel..

31、echo 
echo:輸出信息
echo "abc"
echo "字符串" | passwd --stdin USERNAME:利用管道修改用戶密碼

32、輸入、輸出重定向

輸出重定向:> 覆蓋輸出(會覆蓋原文件內的內容)
: >> 追加輸出(不覆蓋原文件的內容)
set -C :禁止對已經存在文件使用覆蓋重定向
set +c :關閉上述功能
2>:重定向錯誤輸出,不能輸出正確信息
2>>:追加方式實現錯誤輸出
&>:重定向標準輸出或錯誤輸出至同一個文件。 時覆蓋方式
輸入重定向:<
<<:此處生成文檔
cat << END :輸入信息,直至輸入END時結束。(EOF或者END代表文檔輸入結束)
cat >> /tmp/myfile.txt << END
===========================================================================================
33、grep

grep:根據模式,搜索文本,並將符合模式的文本行顯示出來
-i 忽略大小寫
--colour(color)顏色顯示
-v 反向查找,顯示沒有被模式匹配的行
-O 只顯示被模式匹配的字符串
===========================================================================================
34、sed
sed:流編輯器,把文本中的某一行讀取到內存中進行處理,此內存空間稱為模式空間。
默認不編輯原文件,只對模式空間內的數據進行處理,處理結束後,將沒模式空間打印至
屏幕
sed ‘AddressCommand‘ file...
-n :靜默模式,不在顯示模式空間中的內容
-i :直接修改原文件
-e :(-e SCRIPT -e SCRIPT) 可以同時執行多個腳本
-f /PATH/TO/SED_SCRIPT: sed -f /path/to/sed_script file
:執行腳本文件
-r :使用擴展的正則表達式
d:刪除符合條件的行
fg:/etc/inittab 刪除1-2行
sed ‘/root/d‘ /etc/fastab 刪除包含root的行
p:顯示符合條件的行。
fg:sed ‘/^\//d‘ /etc/fastb 刪除以/開頭的行
sed ‘/^\//p‘ /etc/fastb 顯示以/開通的行
a \string:在指定的行後追加新的行,內容為string
i \string:在指定的行前面添加新行,內容為string
r FILE :將指定的文件的內容添加至符合條件的行處
w FILE :將地址指定範圍內的內容另存至指定的文件中
s/pattern/string/ :查找並替換(默認只替換每行中第一次被pattern匹配
到的字符串) 把pattern匹配的字符換為string
修飾符:g 全局替換 s/pattern/string/g
i 忽略字符大小寫 s/pattern/string/i
s///=s###=s@@@ 在找/時就不用轉意了。
&:後向引用,引用模式匹配的整個串
===========================================================================================
fg:sed練習:
1、刪除/etc/grub.conf文件中行首的空白符;
sed -r ‘s/^[[:space:]]+//g‘ /etc/grub.conf
2、替換/etc/inittab文件中"id:3:initdefault:"一行中的數字為5;
sed ‘s/id:3:initdefault/id:5:initdefault/g‘ /etc/inittab
sed ‘s@\(id:\)[0-9]\(:initedefault)@\15\2@g‘ /etc/inittab
3、刪除/etc/inittab文件中的空白行;
sed ‘/^$/d‘ /etc/inittab
4、刪除/etc/inittab文件中開頭的#號;
sed ‘s/^#//g‘ /etc/inittab
5、刪除某文件中開頭的#號及後面的空白字符,但要求#號後面必須有空白字符;
sed ‘s/^#[[:space:]]\{1,\}//g‘ /etc/inittab 或者
sed -r ‘s/^#[[:space:]]+//g‘ /etc/inittab
6、刪除某文件中以空白字符後面跟#類的行中的開頭的空白字符及#
sed -r ‘s/^[[:space:]]+#//‘ 1
7、取出一個文件路徑的父目錄名稱;
echo "/etc/rc.d" | sed -r ‘s@^(/.*/)[^/]+/?@\1@g‘
以/.*/開頭,[^\]指非斜杠,\1引用左邊第一個括號內的內容一次。
echo "/etc/rc.d" | sed -r ‘s@^/.*/([^/]+)/?@\1@g‘
提取本文件
===========================================================================================
35、vim
vim:文本編輯器,全屏、模式化的編輯器
vim模式:
編輯模式(命令模式):默認
輸入模式
末行模式
------------------------------------------------------------------------------------------
vim模式轉換:
1、從編輯模式-->輸入模式
i:在當前光標所在字符的前面,轉為輸入模式
a:在當前光標所在字符的後面,轉為輸入模式
o:在當前光標所在行的下方新建一行,並轉為輸入模式
I:在當前光標所在行的行首,轉為輸入模式
A:在當前光標所在行的行尾,轉為輸入模式
O:在當前光標所在行的上方新建一行,並轉為輸入模式
---------------------------------------------------------------------------------------
2、從輸入模式-->編輯模式
鍵入esc鍵。
3、末行模式:必須從編輯模式進入末行模式
鍵入:即可。
4、末行模式-->編輯模式
敲esc鍵,一次或者多次。

-------------------------------------------------------------


vim退出文件:
1、末行模式下關閉文件
w:保存文件
q:退出
wq:保存並退出
q!:不保存並退出
w!:強制保存
wq=x 保存退出
2、編輯模式下退出
大寫ZZ:保存退出
------------------------------------------------------------------------------------------
vim下移動光標(編輯模式):
1、逐字符移動:
h:向左
l:向右
j:向下
K:向上
#h:移動#(數字)個字符
2、以單詞為單位移動
w:移動下一個單詞的詞首
e:移動到當前單詞的詞尾或者下一個單詞的詞尾
b:移動到當前單詞的詞首或者上一個單詞的詞首
#w:一次跳#個單詞。
3、行內跳轉
0:跳到行首(絕對行首)
^:跳到第一個非空白字符的行首
$:絕對行尾
4、行間跳轉
#G:直接跳轉至第#行上。
G:直接跳轉至最後一行
末行模式下跳轉:直接給出行號,回車即可。
-------------------------------------------------------------------------------------------
vim翻屏:
ctrl+f:向下翻一屏
ctrl+b:向上翻一屏
ctrl+d:向下翻半屏
ctrl+u:向上翻半屏
-------------------------------------------------------------------------------------------
vim刪除字符:
x:刪除光標所在處的單個字符
#x:刪除光標所在處及向後的共#個字符
vim刪除命令:d
d命令與跳轉命令結合使用
d$:刪除到行尾。
#d跳轉符:刪除跳轉符指定的#個字符
dd:刪除當前光標所在行
#dd:刪除包括光標所在行之內的#行
末行模式下可以使用:
startADD,ednADDd
1,10d:刪除第一行到第十行
.,100:刪除當前行到100行。
.表示當前行
$:最後一行
+#:向下的#行
$-10:倒數第10行
vim刪除的內容為保存在緩沖中,最後一次刪除的內容可以粘貼。
-------------------------------------------------------------------------------------------
vim粘貼命令:p
p(小寫):如果刪除的或復制的為正行內容,則粘貼至光標所在含行的下方,如果
復制或刪除的內容為非整行,則粘貼至光標所在字符的後面
P(大寫):如果刪除的或復制的為正行內容,則粘貼至光標所在含行的上方,如果
復制或刪除的內容為非整行,則粘貼至光標所在字符的前面
vim復制命令:y
y的用法同d
yy:復制一行
vim先刪除內容,再轉換為輸入模式:c
c的用法同d命令
cc:刪除一行,並進入輸入模式。
c$:刪除到行尾,並進入輸入模式
-------------------------------------------------------------------------------------------
vim下撤銷編輯操作命令:u
u:撤銷上一次操作,連續u命令可以撤銷此前的n次操作
#u:直接撤銷最近#次編輯操作
-------------------------------------------------------------------------------------------
vim超找替換
/PATTERN:從行首向下查找PATTERN匹配的選項
?PATTERN:從行尾向上查找PATTERN匹配的選項
vim查找並替換:s
在末行模式下使用s命令
用法與sed一樣
ADDR1,ADDR2s@PATTERN@string@gi
g:全局 i:忽略大小寫
.,$-1 :當前行到倒數第一行
1,$表示全文
vim下shell交互
:!COMMAND 回車查看,查看完以後再回車,進入vim編輯模式。
-------------------------------------------------------------------------------------------
vim高級話題
1、顯示或取消顯示行號
:set nu
:set nonu
2、設定忽略或區分大小寫
:set ignorecase
:set ic 忽略
:set noic
3、設定自動縮進
:set autoindent
:set ai 縮進
:set noai
4、查找到的文本高亮顯示或取消高亮顯示
:set hlsearch 高亮顯示
:set nohlserch 取消
5、語法高亮
:syntax on 開啟
:syntax off 關閉

36、let

let:相當於一個小的計算器
let SUM+=$I ;sum等於sum+I
let I+=1:讓I等於I加1
let I++:讓I等於I加1
let I-=相當於let I--:I等於I減1

37、locate

locate:查找文件,非實時的、模糊匹配,全系統文件數據庫的查找命令
updatedb:手動生成文件數據庫,新安裝的系統沒有數據庫的,速度快

38、find

find:實時查找、精確、遍歷指定目錄中的所有文件完成查找,速度慢、支持眾多
查找標準
格式:find 查找路徑 查找標準 查找到以後的處理運作
查找路徑:默認為當前目錄
查找標準:默認為指定路徑下的所有文件
處理運作:默認為顯示到屏幕
-------------------------------------------------------------------------------------------
匹配標準
-name ‘FILENAME‘:對文件名進行精確匹配
還支持文件名通配符:*:任意長度的任意字符
-iname ‘FILENAME‘:文件名匹配不區分大小寫
-regex PATTERN:基於正則表達式進行文件名匹配
-user USERNAME:基於文件所屬主進行匹配查找
-group GROUPNAME:基於文件的屬組進行查找
-uid UID:基於文件的uid,用戶被刪了以後id號會保存下來
-gid GID:文件組
-nouser:查找沒有屬主的文件
-nogroup:查找沒有屬組的文件
-type :根據文件的類型來查找
f:普通文件
d:目錄
p:管道
s:套接字
l:鏈接
-size:指定文件的大小
[+|-]#K:大於或者小於#k的文件
-------------------------------------------------------------------------------------------
時間戳查找
單位為天
-mtime :修改時間
-atime :訪問時間
-ctime:改變時間
支持[+|-]#:
5:五天那一天訪問
-5:五天之內
+5:至少五 天之外
單位為分鐘
-amin:訪問時間
-cmin:修改時間
-tmin:改變時間
文件的權限查找
-perm mode(755):精確查找
fg:find 路徑 -pern 755
-perm /mode : 三位匹配一位就可以
-perm -mode:文件權限能完全包含此mode才可以顯示
執行動作:
-print:默認的,顯示
-ls:類似ls -l的形式顯示匹配到的每個文件的詳細信息
-ok COMMAND {} \;每個操作需要用戶確認 執行命令,必須以\;結尾。
{}代表匹配到的文件。
-exec COMMAND {} \;不需要確認,執行命令,必須以\;結尾。{}代表
匹配到的文件。


=========================================================================================
39、SUID

suid:運行某程序時,相應進程的屬主是程序文件自身的屬主,而不是啟動者所屬主
添加文件的SUID:chmod u+s FILE
chmod u-s FILE
如果FILE本來原來就有執行權限,則SUID顯示為s,否則為大S。
SGID:運行某程序時,相應進程的屬組是程序文件自身的屬組,而不是啟動者所屬
的基本組
chmod g+s FILE
chmod g-s FILE
fg:一個團隊,三個用戶:hadoop、hbase、hive,一個開發目錄
/tmp/project,要求這三個用戶可以同時修改同一個文件。查看、編輯、等權限
三個用戶同屬一個基本組,並要求基本組具有查看、編輯權限。。
groupadd devdeop
chown -R :develop /tmp/projest
usermod -a -G develop hadoop
chmod g+s /tmp/project
然後就可以進行創建、修改、刪除同一個文件了。
===========================================================================================
40、sticky
sticky:規定在一個公共目錄,每個人都可以創建文件、刪除自己的文件,但不
能刪除別人的文件。
chmod o+t DIR:對目錄增加sticky權限
chmod o-t DIR:去掉目錄的sticky權限
chmod 1755 /backup/test 表示文件具有sticky權限

41、facl
facl:利用文件擴展保持額外的訪問權限
setfacl:設置某文件的控制權限
-m:增加facl
u:設定用戶的時候,後面加上u:UID:perm
fg:setfact -m u:UID:rw file
g:設置組
-x:取消facl
getfacl:查看文件的facl權限

42、whoami
whoami:顯示當前用戶是誰,su半切換的時候顯示的是切換之前的那個用戶

43、who

who:查看當前登錄系統的用戶以及他所登錄的終端
-r:顯示當前運行級別
-H:第一回列表顯示各列名稱
w:顯示比who更詳細的信息

44、last
last:顯示當前系統上的登錄日誌(/var/log/wtmp文件),包括系統用戶和
重啟信息
last -n 數字:只顯示最近幾次的登錄信息
45、lastb

lastb:顯示用戶錯誤的登錄常識
lastb -n 數字:只顯示最近幾次錯誤的登錄信息。

46、lastlog
lastlog:顯示每個用戶最近一次成功登錄的信息
lastlog -u USERNAME:顯示指定用戶最近一次的登錄信息
47、basename

basename:顯示一個目錄的基名
basename /etc/abc/me 直接顯示me
$0:命令名稱或者腳本本身的路徑。
basename $0:直接調用腳本本身路徑
==========================================================================================
48、mail
mail:郵件查看,可以查看郵件,查看以後就會放到用戶的家目錄內mbox文件夾內。
-s主題
mail -s "How are you " root
cat /etc/fast | mail -s "How are you " root

49、hostname
hostname:顯示當前主機的名稱
hostname 主機名:更改主機名
fg:如當前主機的名字為空,或者(none)或者為(localhost),就將其
改為www
[ -z` hostname` -o `hostname` == "(null)" -o `hostname`
== "localhost" ] && host www.
-z:表示是否為空

50、RANDOM

RANDOM:0-32768直接的隨機數
echo $RANDOM:生成隨機數
  ln:創建鏈接文件 
ln SRC DEST:創建硬鏈接
-s:創建軟連接
-i:顯示文件的inode號
-v:顯示執行結果
硬件連接:
1、只能對文件創建,不能應用於目錄,文件的硬鏈接次數為2
2、不能誇文件系統
3、創建硬鏈接會增加文件被連接的次數
符號連接:
1、可應用於目錄
2、可以跨文件系統
3、不會增加被連接文件的連接次數
4、其大小為指定的路徑所包含的字符個數
===========================================================================================
52、du

du:顯示目錄下的所有文件的大小
-s:顯示目錄大小
-sh:單位換算後顯示
================================================================
53、df

df:顯示整個磁盤分區的使用情況
-h:顯示空間大小
===========================================================================================
54、fdisk
fdisk:磁盤分區
fdisk /dev/sda
p:顯示當前磁盤上的分區
n:創建一個新的分區
e:擴展分區
p:主分區
d:刪除一個分區
w:保存退出
q:不保存退出
t:修改分區類型
l:顯示所有支出的分區類型
===========================================================================================
55、partprobe:把新的分區同步到內核上去。

56、mkfs
mmkfs:創建文件系統
mkfs -t FSTYPE 指定分區
-t可以實現多種系統的格式化 如mkfs -t ext2 /dev/sda5

57、mke2fs
mke2fs:專門管理ext系列的文件的命令,不跟任何參數,指的是創建ext2
-j:指的是創建ext3類型文件系統
-b BLOCK_SIZE:指定塊大小,默認為4096;可用取值為1024,2048或
4096
-L LABEL: 指定分區卷標;例如 mke2fs -L MYYY /etc/sda5
-m #:明確指定預留給超級管理員用的快熟百分比 mke2fs -m 3
/dev/sda5

-i #:指定為多少個字節的空間創建一個inode , 默認為8192;這裏給出的
數值應該為塊大小的2^n被 mke2fs -i 4096 表示4096個字節創建一個inode
-F:強行創建文件系統;
-E:用於指定額外的文件系統屬性;
-N#:指定inode個數;
58、blkid
blikd:查詢或查看塊設備的屬性,其中有包含文件系統的信息

59、e2lable

e2lable:專門用於查看或定義卷標
查看卷標 e2label /dev/sda5
設定卷標 e2label 設備文件 卷標 :即實現設定卷標 e2label
/dev/sad6 YYY
(這裏的設備文件即/dev/sda5)


60、tune2fs
tune2fs:調整文件系統的相關屬性
-j:不損壞原有數據,將ext2升級為ext3,但是不能降級
-L LABLE:設定或修改卷標
-m #:調整預留百分比
-r #:預留塊數
-o:設置默認掛載選項,其中有一個是acl,acl是一個功能,但需要掛載才能
使用,否則是不能用的
-c #:指定掛在次數達到#次之後進行自檢,指定0或-1表示關閉此功能,不自
檢;
-i #:可以指定每掛載使用多少天後進行自檢:0或-1表示關閉此功能;
-l:顯示超級塊內容
===========================================================================================
61、dumpe2fs
dumpe2fs:以顯示文件系統中超級塊信息或文件的屬性信息,同上面的tun2fs -l
選項類似,都是很重要的命令,其中也顯示超級塊的信息,FREE是空閑的意思
-h:表示只顯示超級塊中的信息
62、fsck
fsck:檢查並修復Linux文件系統
-t TYPE:指定文件系統類型
-a:自動修復
63、e2fsck
e2fsck:專門用來檢查修復ext2或ext3的命令
-a或-p:自動修復;
-f :強行修復;
64、mount
mount:掛載文件系統
mount 設備 掛載點
設備
設備文件:/dev/**
卷標:LABLE=""
UUID:UUID=""
掛載點:掛載點就是個目錄
1,此目錄沒有被其他進程使用;
2,目錄的首先存在;
3,目錄中原有的文件將會暫時隱藏;
----------------------------------------------------------------
mount相關參數
-a:表示掛載/etc/fstab文件中指定的所有的文件系統
-n:默認情況下,mount每掛載一個設備,都會把掛載的設備信息保存至
/etc/mtab文件;使用-n選項意味著掛載設備時,不把信息寫入此文件;
-t FSTYPE:指定正在掛載設備上的文件系統的類型;不使用此選項時,
mount會調用blkid命令獲取對應文件系統的類型;
-r:只讀掛載,掛載光盤時常用此選項
-w:讀寫掛載
-o:指定而外的文件系統掛載選項,即指定文件系統啟用的屬性
async:表示異步寫入
atime:表示更新時間戳
noatime:關閉更新時間
auto:表示這個磁盤設備能被使用-a選項自動掛載
remount:重新掛載當前系統
dev:允許其他磁盤設備
ro:掛載為只讀
rw:讀寫掛載
ower:允許普通用戶掛載
sync:同步啟用
loop:掛載本地回環設備
==========================================================================================
65、umount
umount:卸載
umount 設備
umount 掛載點
上面兩個都可以,卸載時只要指定一個就可以了
66、free
free:查看系統上的物理內存和交換內存的使用情況,默認字節
-m:以M為單位顯示
buffers是緩沖 cached是緩存:的目的是重復使用,避免過慢的設備遭
67、mkswap
mkswap:創建交換分區
swapon /dev/sd*:啟用交換分區
-a:表示啟用/etc/fstab內的所有交換設備
swapoff /edv/** :關閉交換分區
===========================================================================================
68、dd
dd:轉換和復制文件,復制的是最底層的數據流
格式:dd if=數據來源 of=數據存儲目標 bs=#多大為一個單位 count=# 復制
這樣的數據幾次
例如dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
可以用來備份MBR
創建回環文件
dd if=/dev/zero of=/var/swapfile bs=1M count=1024這個命令就能
創造出一個大小為1G的鏡像文件,而這個鏡像文件能夠直接mkswap並且啟動起來都是
可以的
/dev/zero是泡泡設備,能一直向外吐零
===========================================================================================
69、fuser
fuser:驗證進行正在使用的文件或套接字
-v:查看某文件上正在使用的進程
-k:把正在訪問的進程給kill了
-km:把掛載點上的進程都關閉掉
===========================================================================================
70、gzip
gzip:壓縮,壓縮完成後會刪除源文件
-d:解壓
-#:1-9個壓縮級別,默認為6
gunzip:解壓
zcat:不解壓的情況,查看文本GZ文件的內容
71、bzip2
bzip2 /path/to/somefile
-d:解壓
-K:壓縮後不刪除原文件
bzcat:不解壓的情況,查看文本bz2文件的內容
72、zip
zip:壓縮目錄,即歸檔又壓縮的工具
壓縮後不刪除原文件
unzip:解壓
73、tar
tar:能夠實現歸檔的工具,只歸檔,不壓縮。
-c:創建歸檔文件
-f file.tar:操作的歸檔文件,所以-f後面必須跟參數,後跟.tar
-x:展開歸檔文件,原歸檔文件不刪除
--xattrs:表示在歸檔的同時,保留文件的擴展屬性信息
-t:不展開歸檔,查看歸檔了哪些文件
-zcf:歸檔並調用gzip壓縮
-zxf:調用gzip解壓縮並展開歸檔,-z選項可以省略
-jcf:調用bzip2並歸檔
-jxf:調用bzip2並展開歸檔
-Jcf:調用xz
-JXF:調用xz
  tar zxvf libmcrypt-2.5.8.tar.gz
  tar xvf libvpx-v1.3.0.tar.bz2
-------------------------------------------------------------------------------------------
74、cpio:制作歸檔或展開歸檔文件
75、read
read:shell腳本內可以實現交互式的操作
read -p “提示”
-t:時間限制
76、mdadm
mdadm:制作RAID卷的命令
-C:創建RAID
-l:級別
-n:設備數
-a:自動為其創建設備文件,後跟yes|no
-c:指定chunk大小,默認64k
-x:指定空閑盤格式,提供冗余
-F:監控RAID
-G:增加RAID
-A:裝配RAID
-D:顯示RAID信息
-S:停止RAID
mdadm -D --scan > /etc/mdadm.conf,將當前RAID信息保存至配置
文件,一便以後進行裝配
77、wathc
watch:周期性的執行指定命令,並以全屏方式顯示結果
格式: watch -n # ‘COMMAND‘
-n #:指定周期,單位為妙,默認2秒
78、邏輯卷 LV
pvcreate:創建
pvmove:挪動數據
pvremove:擦除pv卷
pvdisplay:顯示物理卷
pvscan:掃描系統上有幾個pv
pvs:查看pv信息
------------------------------------------------------------------
卷組
vgcreate:創建
-s #:指定pe大小,默認為4m
vgreduce:刪除vg
vgmove:移除
vgextend:把一個物理卷加入此卷組
vgs:查看系統上的組卷信息
------------------------------------------------------------------
邏輯卷:
lvcreate:創建
-L #:指定大小
-n NAME:指定名字
lvreduce:模擬損壞
lvremove:移除lv,後加路徑
lvextend:擴展
lvdisplay:查看lv相關信息
lvs:查看lv信息
fg:lvcreate -L 50M -n testlv myvg
-----------------------------------------------------------------------
LVM擴展:先擴展物理卷邊界,再擴展邏輯卷
lvextend -L [+]# /PATH/TO/LV :擴展物理邊界
resize2fs:擴展邏輯邊界
resize2fs /PATH/TO/LV 5G:擴展邏輯邊界到5G
resize2fs -p /PATH/TO/LV:有多大擴展到多大
mount -a:掛載/etc/fstab文件內的所有設備

-------------------------------------------------------------------------
LVM縮減:先縮減邏輯邊界resize2fs /PV 3G,再縮減物理卷邊界、
1、不能在線縮減,得先卸載
2、確保縮減後的空間大小能儲存原來所有文件
3、在縮減之前應該強行檢查文件,以確保文件系統處於一致性狀態
e2fsck -f:強行檢查文件
df -lh:檢查利用率
umount
e2fsck -f:強行檢查文件
resize2fs /PATH/TO/lV 5G:縮減邏輯卷到5G
lvreduce -L [-]#G /PATH/TO/LV:縮減物理卷邊界
================================================================
78、lvcreate
lvcreate:創建快照卷
-s :指定類型為塊照
-p r|w:表示指定權限
-n:名字
-L #:指定大小
79、ping
ping IP
-c:次數
-w:超時時長,單位為秒
80、awk
awk:從文件中篩選符合條件的內容
格式:awk ‘PATTERN{ACTION}‘ file
-F:指定分隔符
print $1:顯示第一段
print $0:顯示一行中的所有字段
print $NF:顯示最後一行
awk ‘空格{print $1,$3}‘ 第一和第三字段
awk -F: ‘{print $1,$2}‘
fdisk -l 2>/dev/null :把錯誤信息輸入到null內不顯示
===========================================================================================
81、ifconfig
ifconfig:查看和配置系統的網絡信息
[ethX]:顯示某個網卡信息
-a:顯示所有的網卡信息
ifconfig ethx IP/MASK :配置網卡地址(子網掩碼必須指定)
ifconfig ethx [up|down]:開啟或者禁用網卡
配置Ip地址是立即生效,但重啟網絡服務或重啟主機,都失效
------------------------------------------------------------------------------------------
82、route
route:查看本機的路由信息
-n:以數字的方式顯示主機信息
route add:添加路由
-host:主機路由
-net:網絡路由
格式:route add -net|host DEST gw NEXTHOP
route add default gw NEXTHOP
route del:刪除路由
-host
-net
route del -net 10.0.0.0/8
route del -net 0.0.0.0
route del default
以上所做的改動重啟網絡服務或重啟主機,都失效。
-------------------------------------------------------------------------------------------
83、ip
ip:功能比較強大的網絡命令
ip link:配置網絡接口屬性
show:顯示所有網絡接口信息
ip -s link show:查看所有統計信息
ip link set ethx {up|down|arp {on|off}}:設定網絡接口的工作屬性
ip addr:協議地址
show:網絡信息
ip addr add IP dev eth1 添加ip,在ifconfig下看不到的,利用
ip addr show
ip addr add 192.168.0.1/24 dev eth1
ip addr add IP dev eth1 label ethx:x 添加ip以後增加別名,
在ifconfig下可以查看到
ip addr add IP dev eth1
ip addr show dev ethx to 前綴:查看ethx 上的以前綴開頭的信息
ip addr flush eth1 to 10/8 :刪除eth1上所有的以10開頭的ip地址。
ip route:路由
ip route change|replace :修改路由信息
ip route add to 目的網段 dev ethx via IP(下一跳IP)
=========================================================================================
84、shutdown
shutdown [-akrhHPfnc] [-t secs] time [warning message]
shutdown:關機的命令
-r now:立即重啟
-t sec:幾秒之後
-h now:立即關機
85、uname
uname -r:查看系統內核版本
uname -a:系統版本信息
86、lftp
lftp IP:進入ftp服務器
get 下載單個文件到本地
mget 下載多個文件到本地
bye 退出ftp
===========================================================================================
87、rpm
rpm:安裝rpm包的工具
rpm安裝命令
-i rpm:安裝軟件
-h:以#顯示安裝進度
-v:顯示安裝信息
-vv:顯示更詳細的安裝信息
-ivh:組合使用,常用命令安裝軟件
--nodeps:忽略依賴關系
--replacepkgs:重新安裝、替換原來安裝。
-ivh --oldpackage:降級安裝
-ivh --force:強制安裝,可以實現重裝或降級
--test:測試有沒有依賴關系
-------------------------------------------------------------------------------------------
rpm查詢命令
-q rpm:查詢指定包是否安裝
-qa:經安裝的所有包
-qi:查詢指定包的說明信息
-ql:查詢指定包安裝後生成的目錄列表
-qc:查詢指定包的配置文件
-qd:查詢指定包的幫助文件
-q --scripts:查詢指定包內包含的腳本
-qf:查詢指定的文件是有哪個rpm包安裝
-------------------------------------------------------------------------------------------
rpm軟件升級命令
-Uvh:如果裝有老版本的,則升級;否則,則安裝
-Fvh:如果裝有老版本的,則升級;否則,則退出
-Uvh --oldpackage:降級
-------------------------------------------------------------------------------------------
rpm卸載命令
-e:卸載
-e --nodeps:忽略依賴關系卸載
-----------------------------------------------------------------------------------------
rpm校驗命令:
-V:無輸出信息就是正常
rpm數據庫重建
rpm --rebuilddb:重建數據庫,一定會重新建立。
rpm --initdb:初始化數據庫,沒有才建立,有就不用建立。
==========================================================================================
88、yum
yum:安裝軟件命令,可以自動解決軟件包直接的依賴關系。
list:顯示yum倉庫內的軟件
list available:倉庫中有但尚未安裝的包
list installed:顯示已經安裝的
list updates :可以的升級
------------------------------------------------------------------------------------------
yum clean:清楚緩存
yum clean {packages | headers | metadata | dbcache | all}
yum repolist:顯示repo列表及簡要信息
yum repolist {all|enabled|disabled}
---------------------------------------------------------------
yum安裝軟件命令
install:安裝軟件包
-y install:自動安裝
install --nogpgcheck:不做校驗
------------------------------------------------------------------------------------------
yum升級軟件命令
yum update :升級
yum update_to:升級到指定版本、
-----------------------------------------------------------------------------------------
yum卸載軟件命令
yum remove|erase PACKAGE_NAME
yum info PACEAGE_NAME:查看軟件包信息
------------------------------------------------------------------------------------------
yum 開發組安裝命令
groupinstall 組名:安裝組中包含的包
groupinfo 組名:顯示組包含包信息(如果組名中間有空格,使用”“
grouplist 列出組
groupupdate
-------------------------------------------------------------------------------------------
yum 安裝本地RPM包命令
yum localinstall rpmfile1 :安裝本地包並從yum庫內解決依賴關系
yum --nogpgcheck localinstall rpmfile1:不校驗安裝
===================================================
89、源碼程序安裝命令
tar xf ....:解壓源碼包
./configure;配置
make:編譯
make install:安裝


90、netstat
netstat:查看系統信息
-r:顯示路由信息
-rn:以數字的方式顯示
-t:顯示tcp鏈接
-u:顯示udp鏈接
-l:顯示端口監聽狀態
-p:顯示監聽指定套接字的進行的進程號及進程名
-tunlp:常用組合,數字顯示tcp、udp的鏈接情況

91、ps
ps:查看進程信息
BSD風格常用選項:
a:顯示所有與終端有關的進程 ?:表示與終端無關
x:顯示所有與終端無關的進程
u:顯示進行信息
aux:組合使用
SysV風格常用選項:
-elF:查看所有進行信息(e:所有進程)
-elf:沒F詳細
-o PROPERTY:指定屬性顯示

ps -aux | grep bmgctl
ps aux | grep bmgctl
ps -ef | grep bmgctl (推薦使用)


--------------------------------------------------------------------------------------------
92、pstree
pstree:以樹的形式顯示ps信息。

93、pgrep:以grep的風格查看符合某種特性的進程


94、top
top:動態顯示進程信息
支持交互,交互命令
M:根據駐留內存大小進行排序
P:根據CPU使用百分比進行排序
T:根據累計時間進行排序
l:是否顯示平均負載和啟動時間
t:是否顯示進行和CPU狀態相關信息
m:是否顯示內存相關信息
c:是否顯示完整的命令行信息
q:退出top
k:終止某個進程
常用選項:
-d 1 :幾秒刷新一次
-b:批模式顯示
-n #:在批模式下,共顯示多少批

95、前臺和後臺作業
前臺作業:占據了命令提示符
後臺作業:啟動之後,釋放了命令提示符,後續的操作在後臺完成
前臺-->後臺:
ctrl+z鍵:正在前臺的作業送到後臺
bg:讓後臺停止的作業繼續運行
bg [%JOBID]:%可以省
fg:將前臺的作業送到後臺
fg [%JOBID]:%可以省

96、jobs
jobs:查看後天的所有作業

97、chkconfig
chkconfig:查看服務啟動項
--list:查看所有獨立服務的啟動設定
--list SERVICE_NAME:某個服務的啟動設定
chkconfig --add SERVICE_NAME(腳本名稱):增加S鏈接和K鏈接
chkconfig --del SERVICE_NAME(腳本名稱):刪除S鏈接和K鏈接
chkconfig --level 24 服務名 off|on:指定在級別24內為on或off。

98、mktemp
mktemp:創建臨時文件
mktemp /tmp/file.XX(XX代表系統自動生成的文件)生成臨時文件
mktemp -d /tmp/file.xx :生成臨時目錄


99、kill
kill -SIGNAL PID
常用SIGNAL:1:hup 2:INT 9:KILL 15:TERM ctrl+c:是信號2,結束


100、trap命令:可以實現捕捉信號
trap ‘COMMAND’ 信號列表
fg:trap ‘echo "you cannot kill me"‘ INT


101、at
at:指定在未來的某個時間點執行一次某任務
時間格式
絕對時間:HH:MM DD::MM:YY MM/DD/YY
相對時間:now+#(minutes,hours,days,weeks)
模糊時間:noon,midnight,teatime
at -l:顯示自己的作業列表
at -d 作業號:刪除作業


102、batch
batch:和at用法相似,只是執行是在系統空閑的時候執行計劃任務。


103、cron
cron:不間斷允許的服務
系統cron定義格式:
分鐘 小時 天 月 周 用戶 任務
用戶cron任務定義格式
定義文件/var/spool/cron/USERNAME
格式:分鐘 小時 天 月 周 任務


104、ssh
ssh:遠程連接命令
ssh 172.....:直接以當前客戶端上登陸的用戶登陸遠程主機
ssh USERNAME@172....:以某個用戶登陸
ssh -l USERNAME 172....:以某個用戶登陸
ssh USERNAME@HOST`COMMAND`:以某個用戶不登陸遠程主機執行COMMAND命令

105、scp
scp:遠程復制文件的命令
scp SRC DEST:復制文件(與cp命令用法相似)
-r
-a
fg: scp USERNAME@HOST:/PATH/TO/SOMEFILE /path/to/local
scp /path/to/local USERNAME@HOST:/PATH/TO/SOMEFILE


106、dig
dig:測試域解析的命令
-t NS . :獲取DNS根域信息
-t NS chris.com @IP:直接去某個IP查找DNS服務器。
-t A chris.com:查看域的A記錄
-t CNAME:查看別名記錄
-X IP:根據IP查找主機名,反向解析信息


107、nslookup
nslookup:交互式的查看主機域名信息,使用與linux和windows上。

108、screen
screen:模擬多個窗口,窗口關閉後還可以調出來,常用於需要執行很長時間的時候,
如內核編譯
screen -ls:顯示已經建立的屏幕
screen:打開一個新的屏幕
exit:退出當前屏幕
screen -r ID:返回某個屏幕

Linux運維常用命令詳解