linux命令大全(續)
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:生成隨機數
51、ln
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:
更新分割槽表,常用於5.x的RedHat|Centos系列
6.x上常使用partx指令
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/** :關閉交換分割槽
===========================================================================================
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69920922/viewspace-2724050/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux命令大全Linux
- Linux命令操作大全Linux
- linux命令大全-linux命令使用和管理Linux
- Linux系統命令大全。Linux
- Linux命令總結大全Linux
- linux 命令基礎大全Linux
- Linux命令大全總結Linux
- Linux常用命令大全Linux
- linux命令大全-linux命令使用和管理視訊教程Linux
- 10.18 Linux命令(續)Linux
- 寶塔Linux皮膚命令大全Linux
- linux常用命令大全(一)Linux
- linux常用命令大全(四)Linux
- Linux基礎命令歸納大全Linux
- Linux常用命令大全(非常全!!!)Linux
- linux下壓縮、解壓命令大全Linux
- Linux下解壓命令、壓縮命令大全,詳細教程Linux
- zookeeper在Linux客戶端操作命令大全Linux客戶端
- 【轉】Linux常用命令大全(非常全!!!)Linux
- 寶塔常用命令,寶塔Linux皮膚命令大全!Linux
- 11個炫酷的Linux終端命令大全Linux
- Linux命令大全 歡迎補充 評論新增~Linux
- 《Linux命令列與shell指令碼程式設計大全 第3版》Linux命令列---46Linux命令列指令碼程式設計
- Linux 常用命令 持續更新Linux
- docker 命令大全Docker
- docker命令大全Docker
- VIM 命令大全
- kali命令大全
- Redis 命令大全Redis
- MSF命令大全
- Ubuntu命令大全Ubuntu
- kubectl命令大全
- 開發必備linux命令大全-穩賺不虧Linux
- Linux常用命令整理-持續更新Linux
- 一些Linux shell命令 - 持續更新Linux
- shell指令碼linux命令連續執行指令碼Linux
- linux20個常用命令詳解和用法 linux常用命令大全介紹Linux
- Linux 系統下檢視硬體資訊命令大全Linux