1. 文件管理
ls命令 – 顯示指定工作目錄下的內(nèi)容及屬性信息
ls 命令是Linux下最常用的指令之一。ls命令為英文單詞 list 的縮寫(xiě),正如英文單詞 list 的意思,其功能是列出指定目錄下的內(nèi)容及其相關(guān)屬性信息。
默認(rèn)狀態(tài)下,ls命令會(huì)列出當(dāng)前目錄的內(nèi)容。而帶上參數(shù)后,我們可以用ls做更多的事情。作為最基礎(chǔ)同時(shí)又是使用頻率很高的命令,我們很有必要搞清楚ls命令的用法,那么接下來(lái)一起看看吧!
語(yǔ)法格式: ls [選項(xiàng)] [文件]
常用參數(shù):
-a顯示所有文件及目錄 (包括以“.”開(kāi)頭的隱藏文件)
-l使用長(zhǎng)格式列出文件及目錄信息
-r將文件以相反次序顯示(默認(rèn)依英文字母次序)
-t根據(jù)最后的修改時(shí)間排序
-A同 -a ,但不列出 “.” (當(dāng)前目錄) 及 “..” (父目錄)
-S根據(jù)文件大小排序
-R遞歸列出所有子目錄
參考實(shí)例
列出所有文件(包括隱藏文件):
ls -a
列出文件的詳細(xì)信息:
ls -l
列出根目錄(/)下的所有目錄:
ls /
列出當(dāng)前工作目錄下所有名稱是 “s” 開(kāi)頭的文件 :
ls -ltr s*
列出 /bin 目錄下的所有目錄及文件的詳細(xì)信息 :
ls -lR /bin
列出當(dāng)前工作目錄下所有文件及目錄并以文件的大小進(jìn)行排序 :
ls -AS
pwd命令 – 顯示當(dāng)前路徑
pwd命令是“print working directory”中每個(gè)單詞的首字母縮寫(xiě),其功能正如所示單詞一樣,為打印工作目錄,即顯示當(dāng)前工作目錄的絕對(duì)路徑。
在實(shí)際工作中,我們經(jīng)常會(huì)在不同目錄之間進(jìn)行切換,為了防止“迷路”,我們可以使用pwd命令快速查看當(dāng)前我們所在的目錄路徑。
語(yǔ)法格式: pwd [參數(shù)]
常用參數(shù):
-L顯示邏輯路徑
參考實(shí)例
查看當(dāng)前工作目錄路徑:
pwd
/home/linuxcool
mkdir命令 – 創(chuàng)建目錄
mkdir命令是“make directories”的縮寫(xiě),用來(lái)創(chuàng)建目錄。
注意:默認(rèn)狀態(tài)下,如果要?jiǎng)?chuàng)建的目錄已經(jīng)存在,則提示已存在,而不會(huì)繼續(xù)創(chuàng)建目錄。 所以在創(chuàng)建目錄時(shí),應(yīng)保證新建的目錄與它所在目錄下的文件沒(méi)有重名。 mkdir命令還可以同時(shí)創(chuàng)建多個(gè)目錄,是不是很強(qiáng)大呢?
語(yǔ)法格式 : mkdir [參數(shù)] [目錄](méi)
常用參數(shù):
-p遞歸創(chuàng)建多級(jí)目錄
-m建立目錄的同時(shí)設(shè)置目錄的權(quán)限
-z設(shè)置安全上下文
-v顯示目錄的創(chuàng)建過(guò)程
參考實(shí)例
在工作目錄下,建立一個(gè)名為 dir 的子目錄:
mkdir dir
在目錄/usr/linuxcool下建立子目錄dir,并且設(shè)置文件屬主有讀、寫(xiě)和執(zhí)行權(quán)限,其他人無(wú)權(quán)訪問(wèn)
mkdir -m 700 /usr/linuxcool/dir
同時(shí)創(chuàng)建子目錄dir1,dir2,dir3:
mkdir dir1 dir2 dir3
遞歸創(chuàng)建目錄:
mkdir -p linuxcool/dir
cp命令 – 復(fù)制文件或目錄
cp命令可以理解為英文單詞copy的縮寫(xiě),其功能為復(fù)制文件或目錄。
cp命令可以將多個(gè)文件復(fù)制到一個(gè)具體的文件名或一個(gè)已經(jīng)存在的目錄下,也可以同時(shí)復(fù)制多個(gè)文件到一個(gè)指定的目錄中。
語(yǔ)法格式:cp [參數(shù)] [文件]
常用參數(shù):
-f若目標(biāo)文件已存在,則會(huì)直接覆蓋原文件
-i若目標(biāo)文件已存在,則會(huì)詢問(wèn)是否覆蓋
-p保留源文件或目錄的所有屬性
-r遞歸復(fù)制文件和目錄
-d當(dāng)復(fù)制符號(hào)連接時(shí),把目標(biāo)文件或目錄也建立為符號(hào)連接,并指向與源文件或目錄連接的原始文件或目錄
-l對(duì)源文件建立硬連接,而非復(fù)制文件
-s對(duì)源文件建立符號(hào)連接,而非復(fù)制文件
-b覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份
-v詳細(xì)顯示cp命令執(zhí)行的操作過(guò)程
-a等價(jià)于“dpr”選項(xiàng)
參考實(shí)例
復(fù)制目錄:
cp -R dir1 dir2/
將文件test1改名為test2:
cp -f test1 test2
復(fù)制多個(gè)文件:
cp -r file1 file2 file3 dir
交互式地將目錄 /usr/linuxcool 中的所有.c文件復(fù)制到目錄 dir 中
cp -r /usr/linuxcool/*.c dir
mv命令 – 移動(dòng)或改名文件
mv命令是“move”單詞的縮寫(xiě),其功能大致和英文含義一樣,可以移動(dòng)文件或?qū)ζ涓拿?/p>
這是一個(gè)使用頻率超高的文件管理命令,我們需要特別留意它與復(fù)制的區(qū)別:mv與cp的結(jié)果不同。mv命令好像文件“搬家”,文件名稱發(fā)生改變,但個(gè)數(shù)并未增加。而cp命令是對(duì)文件進(jìn)行復(fù)制操作,文件個(gè)數(shù)是有增加的。
語(yǔ)法格式:mv [參數(shù)]
常用參數(shù):
-i若存在同名文件,則向用戶詢問(wèn)是否覆蓋
-f覆蓋已有文件時(shí),不進(jìn)行任何提示
-b當(dāng)文件存在時(shí),覆蓋前為其創(chuàng)建一個(gè)備份
-u 當(dāng)源文件比目標(biāo)文件新,或者目標(biāo)文件不存在時(shí),才執(zhí)行移動(dòng)此操作
參考實(shí)例
將文件file_1重命名為file_2:
mv file_1 file_2
將文件file移動(dòng)到目錄dir中 :
mv file /dir
將目錄dir1移動(dòng)目錄dir2中(前提是目錄dir2已存在,若不存在則改名):
mv /dir1 /dir2
將目錄dir1下的文件移動(dòng)到當(dāng)前目錄下:
mv /dir1/* .
2. 文檔編輯
cat命令 – 在終端設(shè)備上顯示文件內(nèi)容
Linux系統(tǒng)中有很多個(gè)用于查看文件內(nèi)容的命令,每個(gè)命令又都有自己的特點(diǎn),比如這個(gè)cat命令就是用于查看內(nèi)容較少的純文本文件的。cat這個(gè)命令也很好記,因?yàn)閏at在英語(yǔ)中是“貓”的意思,小貓咪是不是給您一種嬌小、可愛(ài)的感覺(jué)呢?
注意:當(dāng)文件內(nèi)容較大時(shí),文本內(nèi)容會(huì)在屏幕上快速閃動(dòng)(滾屏),用戶往往看不清所顯示的具體內(nèi)容。因此對(duì)于較長(zhǎng)文件內(nèi)容可以按Ctrl+S鍵,停止?jié)L屏;以及Ctrl+Q鍵可以恢復(fù)滾屏;而按Ctrl+C(中斷)鍵則可以終止該命令的執(zhí)行?;蛘邔?duì)于大文件,干脆用more命令吧!
語(yǔ)法格式:cat [參數(shù)] [文件]
常用參數(shù):
-n顯示行數(shù)(空行也編號(hào))
-s顯示行數(shù)(多個(gè)空行算一個(gè)編號(hào))
-b顯示行數(shù)(空行不編號(hào))
-E每行結(jié)束處顯示$符號(hào)
-T將TAB字符顯示為 ^I符號(hào)
-v使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
-e等價(jià)于”-vE”組合
-t 等價(jià)于”-vT”組合
-A等價(jià)于 -vET組合
–help顯示幫助信息
–version顯示版本信息
參考實(shí)例
查看文件的內(nèi)容:
cat filename.txt
查看文件的內(nèi)容,并顯示行數(shù)編號(hào):
cat -n filename.txt
查看文件的內(nèi)容,并添加行數(shù)編號(hào)后輸出到另外一個(gè)文件中:
cat -n linuxcool.log > linuxprobe.log
清空文件的內(nèi)容:
cat /dev/null > /root/filename.txt
持續(xù)寫(xiě)入文件內(nèi)容,碰到EOF符后結(jié)束并保存:
cat > filename.txt <<EOF
> Hello, World
> Linux!
> EOF
將軟盤設(shè)備制作成鏡像文件:
cat /dev/fd0 > fdisk.iso
echo命令 – 輸出字符串或提取Shell變量的值
echo命令用于在終端設(shè)備上輸出字符串或變量提取后的值,這是在Linux系統(tǒng)中最常用的幾個(gè)命令之一,但操作卻非常簡(jiǎn)單。
人們一般使用在變量前加上$符號(hào)的方式提取出變量的值,例如:$PATH,然后再用echo命令予以輸出?;蛘咧苯邮褂胑cho命令輸出一段字符串到屏幕上,起到給用戶提示的作用。
語(yǔ)法格式:echo [參數(shù)] [字符串]
常用參數(shù):
-n不輸出結(jié)尾的換行符
-e “\a”發(fā)出警告音
-e “\b”刪除前面的一個(gè)字符
-e “\c”結(jié)尾不加換行符
-e “\f”換行,光標(biāo)扔停留在原來(lái)的坐標(biāo)位置
-e “\n”換行,光標(biāo)移至行首
-e “\r”光標(biāo)移至行首,但不換行
-E禁止反斜杠轉(zhuǎn)移,與-e參數(shù)功能相反
—version查看版本信息
–help查看幫助信息
參考實(shí)例
輸出一段字符串:
echo "LinuxCool.com"
LinuxCool.com
輸出變量提取后的值:
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
對(duì)內(nèi)容進(jìn)行轉(zhuǎn)義,不讓$符號(hào)的提取變量值功能生效:
echo \$PATH
$PATH
結(jié)合輸出重定向符,將字符串信息導(dǎo)入文件中:
echo "It is a test" > linuxcool
使用反引號(hào)符執(zhí)行命令,并輸出其結(jié)果到終端:
echo `date`
輸出帶有換行符的內(nèi)容
echo -e "a\nb\nc"
a
b
c
輸出信息中刪除某個(gè)字符,注意看數(shù)字3消失了:
echo -e "123\b456"
12456
rmdir命令 – 刪除空目錄
rmdir命令作用是刪除空的目錄,英文全稱:“remove directory”。
注意:rmdir命令只能刪除空目錄。當(dāng)要?jiǎng)h除非空目錄時(shí),就要使用帶有“-R”選項(xiàng)的rm命令。
rmdir命令的“-p”參數(shù)可以遞歸刪除指定的多級(jí)目錄,但是要求每個(gè)目錄也必須是空目錄。
語(yǔ)法格式 :? rmdir [參數(shù)] [目錄名稱]
常用參數(shù):
-p用遞歸的方式刪除指定的目錄路徑中的所有父級(jí)目錄,非空則報(bào)錯(cuò)
– – ignore-fail-on-non-empty忽略由于刪除非空目錄時(shí)導(dǎo)致命令出錯(cuò)而產(chǎn)生的錯(cuò)誤信息
-v顯示命令的詳細(xì)執(zhí)行過(guò)程
– – help顯示命令的幫助信息
– – version顯示命令的版本信息
參考實(shí)例
刪除空目錄:
rmdir dir
遞歸刪除指定的目錄樹(shù):
rmdir -p dir/dir_1/dir_2
顯示指令詳細(xì)執(zhí)行過(guò)程:
rmdir -v dir
rmdir: 正在刪除目錄 'dir'
rmdir -p -v dir/dir_1/dir_2
rmdir: 正在刪除目錄 'dir/dir_1/dir_2
rmdir: 正在刪除目錄 'dir/dir_1'
rmdir: 正在刪除目錄 'dir_2'
顯示命令的版本信息:
rmdir --version
rmdir (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
許可證 GPLv3+:GNU 通用公共許可證第 3 版或更新版本https://gnu.org/licenses/gpl.html。
本軟件是自由軟件:您可以自由修改和重新發(fā)布它。
在法律范圍內(nèi)沒(méi)有其他保證。
tail命令 – 查看文件尾部?jī)?nèi)容
tail用于顯示文件尾部的內(nèi)容,默認(rèn)在屏幕上顯示指定文件的末尾10行。如果給定的文件不止一個(gè),則在顯示的每個(gè)文件前面加一個(gè)文件名標(biāo)題。如果沒(méi)有指定文件或者文件名為“-”,則讀取標(biāo)準(zhǔn)輸入。
語(yǔ)法格式:tail [參數(shù)]
常用參數(shù):
–retry即是在tail命令啟動(dòng)時(shí),文件不可訪問(wèn)或者文件稍后變得不可訪問(wèn),都始終嘗試打開(kāi)文件。使用此選項(xiàng)時(shí)需要與選項(xiàng)“——follow=name”連用
-c<N>或——bytes=<N>輸出文件尾部的N(N為整數(shù))個(gè)字節(jié)內(nèi)容
-f<name/descriptor>–follow<nameldescript>:顯示文件最新追加的內(nèi)容
-F與選項(xiàng)“-follow=name”和“–retry”連用時(shí)功能相同
-n<N>或——line=<N>輸出文件的尾部N(N位數(shù)字)行內(nèi)容
–pid=<進(jìn)程號(hào)>與“-f”選項(xiàng)連用,當(dāng)指定的進(jìn)程號(hào)的進(jìn)程終止后,自動(dòng)退出tail命令
–help顯示指令的幫助信息
–version顯示指令的版本信息
參考實(shí)例
顯示文件file的最后10行:
tail file
顯示文件file的內(nèi)容,從第20行至文件末尾:
tail +20 file
顯示文件file的最后10個(gè)字符:
tail -c 10 file
一直變化的文件總是顯示后10行:
tail -f 10 file
顯示幫助信息:
tail --help
expr命令 – 命令行計(jì)數(shù)器
expr命令的英文全稱是“expression”,即是表達(dá)式的意思,作用是一個(gè)命令行的計(jì)數(shù)器,常用于在UNIX/LINUX系統(tǒng)中求表達(dá)式變量的值,一般用于整數(shù)值,也可用于字符串。
語(yǔ)法格式:expr [表達(dá)式]
常用參數(shù):
空格隔開(kāi)每個(gè)項(xiàng)
\(反斜杠)放在 shell 特定的字符前面
“”(引號(hào))對(duì)包含空格和其他特殊字符的字符串要用引號(hào)括起來(lái)
參考實(shí)例
計(jì)算字串長(zhǎng)度:
expr length “this is a test” ?
14
抓取字串:
expr substr “this is a test” 3 5
is is
抓取第一個(gè)字符數(shù)字串出現(xiàn)的位置:
expr index "sarasara" a
2
整數(shù)運(yùn)算:
expr 14 % 9
5 ?
expr 10 + 10
20
expr 1000 + 900
1900
expr 30 / 3 / 2
5
expr 30 * 3 ?
expr: Syntax error ?
expr 30 \* 3
90
注意:使用乘號(hào)時(shí),必須用反斜線屏蔽其特定含義。因?yàn)閟hell可能會(huì)誤解顯示星號(hào)的意義
使用expr進(jìn)行四則運(yùn)算:
expr \( 10 + 10 \) \* 2 + 100
140
3. 系統(tǒng)管理
uname命令 – 顯示系統(tǒng)信息
uname命令的英文全稱即“Unix name”。
用于顯示系統(tǒng)相關(guān)信息,比如主機(jī)名、內(nèi)核版本號(hào)、硬件架構(gòu)等。
如果未指定任何選項(xiàng),其效果相當(dāng)于執(zhí)行”uname -s”命令,即顯示系統(tǒng)內(nèi)核的名字。
語(yǔ)法格式:uname [參數(shù)]
常用參數(shù):
-a顯示系統(tǒng)所有相關(guān)信息
-m顯示計(jì)算機(jī)硬件架構(gòu)
-n顯示主機(jī)名稱
-r顯示內(nèi)核發(fā)行版本號(hào)
-s顯示內(nèi)核名稱
-v顯示內(nèi)核版本
-p顯示主機(jī)處理器類型
-o顯示操作系統(tǒng)名稱
-i顯示硬件平臺(tái)
參考實(shí)例
顯示系統(tǒng)主機(jī)名、內(nèi)核版本號(hào)、CPU類型等信息:
uname -a
Linux linuxcool 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
僅顯示系統(tǒng)主機(jī)名:
uname -n
linuxcool
顯示當(dāng)前系統(tǒng)的內(nèi)核版本 :
uname -r
3.10.0-123.el7.x86_64
顯示當(dāng)前系統(tǒng)的硬件架構(gòu):
uname -i
x86_64
rsh命令 – 遠(yuǎn)端登入的shell
rsh命令的英文全稱為“remote shell”,該命令提供的用戶環(huán)境,也就是shell,以便指令能夠在指定的遠(yuǎn)端主機(jī)上執(zhí)行。
語(yǔ)法格式: rsh [參數(shù)]
常用參數(shù):
-d使用Socket層級(jí)的排錯(cuò)功能
-l指定要登入遠(yuǎn)端主機(jī)的用戶名稱
-n把輸入的指令號(hào)向代號(hào)為/dev/null的特殊外圍設(shè)備
參考實(shí)例
遠(yuǎn)程命令執(zhí)行:
rsh -l linuxcool 192.168.1.88 /bin/ls
yes命令 – 重復(fù)打印字符串
yes命令的作用是中輸出指定的字符串,直到y(tǒng)es進(jìn)程被殺死。不帶任何參數(shù)輸?shù)膟es命令默認(rèn)的字符串就是y。 終止yes命令可以使用組合鍵ctrl+c
yes命令通常在腳本中使用,在腳本中可以對(duì)對(duì)命令和程序的確認(rèn)提示和問(wèn)題進(jìn)行管道輸出并回答提問(wèn)(例如:你確認(rèn)要?jiǎng)h除這個(gè)文件嗎,按’y’ or ‘n’)。
語(yǔ)法格式: yes [字符串]
– -help顯示幫助信息
– -version顯示命令版本信息
參考實(shí)例
重復(fù)打印一段字符:
yes linuxcool
linuxcool
linuxcool
linuxcool
linuxcool
linuxcool
linuxcool
linuxcool
linuxcool
...
^C //使用ctrl+c強(qiáng)制停止
useradd命令 – 創(chuàng)建用戶
useradd命令用來(lái)創(chuàng)建新的用戶或更改用戶的信息。
useradd可用來(lái)建立用戶帳號(hào)。帳號(hào)建好之后,再用passwd設(shè)定帳號(hào)的密碼。使用useradd指令所建立的帳號(hào),實(shí)際上是保存在/etc/passwd文本文件中。
語(yǔ)法格式:useradd [參數(shù)] [用戶名]
常用參數(shù):
-D改變新建用戶的預(yù)設(shè)值
-c添加備注文字
-d新用戶每次登陸時(shí)所使用的家目錄
-e用戶終止日期,日期的格式為YYYY-MM-DD
-f用戶過(guò)期幾日后永久停權(quán)。當(dāng)值為0時(shí)用戶立即被停權(quán),而值為-1時(shí)則關(guān)閉此功能,預(yù)設(shè)值為-1
-g指定用戶對(duì)應(yīng)的用戶組
-G定義此用戶為多個(gè)不同組的成員
-m用戶目錄不存在時(shí)則自動(dòng)創(chuàng)建
-M不建立用戶家目錄,優(yōu)先于/etc/login.defs文件設(shè)定
-n取消建立以用戶名稱為名的群組
-r建立系統(tǒng)帳號(hào)
-u指定用戶id
參考實(shí)例
添加新用戶linuxcool:
useradd linuxcool
不創(chuàng)建家目錄,并且禁止登陸:
useradd -M -s /sbin/nologin linuxcool
添加新用戶linuxcool,指定UID為888,指定歸屬用戶組為root,cool成員,其shell類型為/bin/sh:
useradd -u 888 -s /bin/sh -G root,cool linuxcool
添加新用戶linuxcool,設(shè)置家目錄為/tmp/linuxcool,用戶過(guò)期時(shí)間為2019/05/01.過(guò)期后兩天停權(quán):
useradd -e "2019/05/01" -f 2 -d /tmp/linuxcool linuxcool
who命令 – 打印當(dāng)前登錄用戶
who命令用來(lái)打印當(dāng)前登錄用戶信息,包含了系統(tǒng)的啟動(dòng)時(shí)間 、 活動(dòng)進(jìn)程 、 使用者 ID、使用終端等信息,是系統(tǒng)管理員了解系統(tǒng)運(yùn)行狀態(tài)的常用命令。
who命令的輸出信息默認(rèn)來(lái)自文件“/var/log/utmp”和“/var/log/wtmp”。
語(yǔ)法格式: who [參數(shù)] [選項(xiàng)]
常用參數(shù):
-a打印全面信息
-b打印系統(tǒng)最近啟動(dòng)時(shí)間
-d打印死掉的進(jìn)程
-l打印系統(tǒng)登錄進(jìn)程
-H帶有列標(biāo)題打印用戶名,登錄終端和登錄時(shí)間
-t打印系統(tǒng)上次鎖定時(shí)間
-u打印已登錄用戶列表
參考實(shí)例
打印用戶登錄信息(-H 帶有列標(biāo)題打?。?/p>
who -H
名稱 ? ? 線路 ? ? ? ?? 時(shí)間 ? ? ? ? ? ?? 備注
root ? ? pts/0 ? ? ?? 2019-04-10 12:31 (192.168.12.34)
打印全部信息:
who -H -a
名稱 ? ? 線路 ? ? ? 時(shí)間 ? ? ? ? ? 空閑? 進(jìn)程號(hào) 備注 ? 退出
系統(tǒng)引導(dǎo) 2019-04-03 15:01
運(yùn)行級(jí)別 3 2019-04-03 15:02
登錄 ? ? tty1 ? ?? 2019-04-03 15:02 ? ? ? ? ? 852 id=tty1
? ? ? ? ? ? ? ? ? 2019-04-03 15:31 ? ? ? ?? 1022 id=102 ?
終端=0 退出=0
root ? ? + pts/0 ? 2019-04-10 12:27 ? .? 2789 (192.168.12.34)
打印系統(tǒng)最近啟動(dòng)時(shí)間 :
who -b
系統(tǒng)引導(dǎo) 2019-04-03 15:01
打印系統(tǒng)登錄進(jìn)程:
who -l
登錄 ? tty1 ? ? ? ? 2019-04-03 15:02 ? ? ? ? ? ? ? 852 id=tty1
4. 磁盤管理
df命令 – 顯示磁盤空間使用情況
df命令的英文全稱即“Disk Free”,顧名思義功能是用于顯示系統(tǒng)上可使用的磁盤空間。默認(rèn)顯示單位為KB,建議使用“df -h”的參數(shù)組合,根據(jù)磁盤容量自動(dòng)變換合適的單位,更利于閱讀。
日常普遍用該命令可以查看磁盤被占用了多少空間、還剩多少空間等信息。
語(yǔ)法格式: df [參數(shù)] [指定文件]
常用參數(shù):
-a顯示所有系統(tǒng)文件
-B <塊大小>指定顯示時(shí)的塊大小
-h以容易閱讀的方式顯示
-H以1000字節(jié)為換算單位來(lái)顯示
-i顯示索引字節(jié)信息
-k指定塊大小為1KB
-l只顯示本地文件系統(tǒng)
-t <文件系統(tǒng)類型>只顯示指定類型的文件系統(tǒng)
-T輸出時(shí)顯示文件系統(tǒng)類型
– -sync在取得磁盤使用信息前,先執(zhí)行sync命令
參考實(shí)例
顯示磁盤分區(qū)使用情況:
df
文件系統(tǒng) ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1K-塊 ?? 已用 ? ? 可用 ? 已用% 掛載點(diǎn)
devtmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? 1980612 ? ? ? 0? 1980612 ?? 0% /dev
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 1994756 ? ? ? 0? 1994756 ?? 0% /dev/shm
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 1994756 ?? 1040? 1993716 ?? 1% /run
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 1994756 ? ? ? 0? 1994756 ?? 0% /sys/fs/cgroup
/dev/mapper/fedora_linuxhell-root 15718400 2040836 13677564 ? 13% /
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 1994756 ? ? ? 4? 1994752 ?? 1% /tmp
/dev/sda1 ? ? ? ? ? ? ? ? ? ? ? ? ? 999320? 128264 ? 802244 ? 14% /boot
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 398948 ? ? ? 0 ? 398948 ? 0% /run/user/0
以容易閱讀的方式顯示磁盤分區(qū)使用情況:
df -h
文件系統(tǒng) ? ? ? ? ? ? ? ? ? ? ? ? ? 容量 ? 已用 ? 可用? 已用% 掛載點(diǎn)
devtmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? 1.9G ? ? 0? 1.9G ?? 0% /dev
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 2.0G ? ? 0? 2.0G ?? 0% /dev/shm
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 2.0G? 1.1M? 2.0G ?? 1% /run
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 2.0G ? ? 0? 2.0G ?? 0% /sys/fs/cgroup
/dev/mapper/fedora_linuxhell-root ? 15G? 2.0G ? 14G ? 13% /
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 2.0G? 4.0K? 2.0G ?? 1% /tmp
/dev/sda1 ? ? ? ? ? ? ? ? ? ? ? ?? 976M? 126M? 784M ? 14% /boot
tmpfs ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 390M ? ? 0? 390M ?? 0% /run/user/0
顯示指定文件所在分區(qū)的磁盤使用情況:
df /etc/dhcp
文件系統(tǒng) ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1K-塊 ?? 已用 ? ? 可用 ? 已用% 掛載點(diǎn)
/dev/mapper/fedora_linuxcool-root 15718400 2040836 13677564 ? 13% /
顯示文件類型為ext4的磁盤使用情況:
df -t ext4
文件系統(tǒng) ? ? ?? 1K-塊 ? 已用 ? 可用 ?? 已用% 掛載點(diǎn)
/dev/sda1 ? ?? 999320 128264 802244 ? 14% /boot
lsblk命令 – 查看系統(tǒng)的磁盤
lsblk命令的英文是“l(fā)ist block”,即用于列出所有可用塊設(shè)備的信息,而且還能顯示他們之間的依賴關(guān)系,但是它不會(huì)列出RAM盤的信息。
lsblk命令包含在util-linux-ng包中,現(xiàn)在該包改名為util-linux。
語(yǔ)法格式:lsblk [參數(shù)]
常用參數(shù):
-a顯示所有設(shè)備
-b以bytes方式顯示設(shè)備大小
-d不顯示 slaves 或 holders
-Dprint discard capabilities
-e排除設(shè)備
-f顯示文件系統(tǒng)信息
-h顯示幫助信息
-iuse ascii characters only
-m顯示權(quán)限信息
-l使用列表格式顯示
-n不顯示標(biāo)題
-o輸出列
-P使用key=”value”格式顯示
-r使用原始格式顯示
-t顯示拓?fù)浣Y(jié)構(gòu)信息
參考實(shí)例
lsblk命令默認(rèn)情況下將以樹(shù)狀列出所有塊設(shè)備:
lsblk
lsblk NAME ? MAJ:MIN rm? SIZE RO type mountpoint
sda ? ?? 8:0 ?? 0 232.9G? 0 disk
├─sda1 ? 8:1 ?? 0? 46.6G? 0 part /
├─sda2 ? 8:2 ?? 0 ? ? 1K? 0 part ?
├─sda5 ? 8:5 ?? 0 ? 190M? 0 part /boot
├─sda6 ? 8:6 ?? 0 ? 3.7G? 0 part [SWAP]
├─sda7 ? 8:7 ?? 0? 93.1G? 0 part /data
└─sda8 ? 8:8 ?? 0? 89.2G? 0 part /personal
sr0 ? ? 11:0 ?? 1? 1024M? 0 rom
默認(rèn)選項(xiàng)不會(huì)列出所有空設(shè)備:
lsblk -a
也可以用于列出一個(gè)特定設(shè)備的擁有關(guān)系,同時(shí)也可以列出組和模式:
lsblk -m
要獲取SCSI設(shè)備的列表,你只能使用-S選項(xiàng),該選項(xiàng)是用來(lái)以顛倒的順序打印依賴的:
lsblk -S
例如,你也許想要以列表格式列出設(shè)備,而不是默認(rèn)的樹(shù)狀格式??梢詫蓚€(gè)不同的選項(xiàng)組合,以獲得期望的輸出:
lsblk -nl
fdisk命令 – 磁盤分區(qū)
fdisk命令的英文全稱是“Partition table manipulator for Linux”,即作為磁盤的分區(qū)工具。進(jìn)行硬盤分區(qū)從實(shí)質(zhì)上說(shuō)就是對(duì)硬盤的一種格式化, 用一個(gè)形象的比喻,分區(qū)就好比在一張白紙上畫(huà)一個(gè)大方框,而格式化好比在方框里打上格子。
語(yǔ)法格式:fdisk [參數(shù)]
常用參數(shù):
-b指定每個(gè)分區(qū)的大小
-l列出指定的外圍設(shè)備的分區(qū)表狀況
-s將指定的分區(qū)大小輸出到標(biāo)準(zhǔn)輸出上,單位為區(qū)塊
-u搭配”-l”參數(shù)列表,會(huì)用分區(qū)數(shù)目取代柱面數(shù)目,來(lái)表示每個(gè)分區(qū)的起始地址
-v顯示版本信息
參考實(shí)例
查看所有分區(qū)情況:
fdisk -l
選擇分區(qū)磁盤:
fdisk /dev/sdb
在當(dāng)前磁盤上建立擴(kuò)展分區(qū):
fdisk /ext
不檢查磁盤表面加快分區(qū)操作:
fdisk /actok
重建主引導(dǎo)記錄:
fdisk /cmbr
quota命令 – 顯示磁盤已使用的空間與限制
quota命令用于顯示磁盤已使用的空間與限制。執(zhí)行quota命令可查詢磁盤空間的限制,并得知已使用多少空間。
語(yǔ)法參數(shù):quota [參數(shù)]
常用參數(shù):
-g列出群組的磁盤空間限制
-q簡(jiǎn)明列表,只列出超過(guò)限制的部分
-u列出用戶的磁盤空間限制
-v顯示該用戶或群組,在所有掛入系統(tǒng)的存儲(chǔ)設(shè)備的空間限制
-V顯示版本信息
參考實(shí)例
顯示目前執(zhí)行者(root )的 quota 值:
quota -guvs
顯示 test 這個(gè)使用者的 quota 值:
quota -uvs test
arpd命令 – 收集arp信息
arpd命令是用來(lái)收集免費(fèi)arp信息的一個(gè)守護(hù)進(jìn)程,它將收集到的信息保存在磁盤上或者在需要時(shí),提供給內(nèi)核用戶用于避免多余廣播。
語(yǔ)法格式:arpd [參數(shù)]
參考實(shí)例
-l將arp數(shù)據(jù)庫(kù)輸出到標(biāo)準(zhǔn)輸出設(shè)備顯示并退出
-f指定讀取和加載arpd數(shù)據(jù)庫(kù)的文本文件,文件的格式與“-l”輸出信息類似
-b指定arpd數(shù)據(jù)庫(kù)文件,默認(rèn)的位置為“/var/lib/arpd.db
-a指定目標(biāo)被認(rèn)為死掉前查詢的次數(shù)
-k禁止通過(guò)內(nèi)核發(fā)送廣播查詢
-n設(shè)定緩沖失效時(shí)間
常用參數(shù):
啟動(dòng)arpd進(jìn)程:
arpd -b /var/tmp/arpd.db
一段時(shí)間后看結(jié)果:
killall arpd ; arpd -l -b /var/tmp/arpd.db
啟用內(nèi)核幫助程序,將主要角色留給內(nèi)核:
arpd -b /var/tmp/arpd.db -a 1 eth0 eth1
完全替換接口eth0和eth1上的內(nèi)核決議。 在這種情況下,內(nèi)核仍會(huì)進(jìn)行單播探測(cè)以驗(yàn)證條目,但所有廣播活動(dòng)都被抑制并在arpd的授權(quán)下進(jìn)行:
arpd -b /var/tmp/arpd.db -a 3 -k eth0 eth1
禁止內(nèi)核發(fā)送廣播查詢 :
arpd -k
5. 文件傳輸
curl命令 – 文件傳輸工具
curl命令是一個(gè)利用URL規(guī)則在shell終端命令行下工作的文件傳輸工具;它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統(tǒng),習(xí)慣稱curl為下載工具。
作為一款強(qiáng)力工具,curl支持包括HTTP、HTTPS、ftp等眾多協(xié)議,還支持POST、cookies、認(rèn)證、從指定偏移處下載部分文件、用戶代理字符串、限速、文件大小、進(jìn)度條等特征;做網(wǎng)頁(yè)處理流程和數(shù)據(jù)檢索自動(dòng)化。
語(yǔ)法格式:curl [參數(shù)] [網(wǎng)址]
常用參數(shù):
-O把輸出寫(xiě)到該文件中,保留遠(yuǎn)程文件的文件名
-u通過(guò)服務(wù)端配置的用戶名和密碼授權(quán)訪問(wèn)
參考實(shí)例
將下載的數(shù)據(jù)寫(xiě)入到文件,必須使用文件的絕對(duì)地址:
curl https://www.linuxcool.com/abc.txt --silent -O
訪問(wèn)需要授權(quán)的頁(yè)面時(shí),可通過(guò)-u選項(xiàng)提供用戶名和密碼進(jìn)行授權(quán):
curl -u root https://www.linuxprobe.com/
Enter host password for user 'root':
ftpwho命令 – 顯示ftp會(huì)話信息
ftpwho命令用于顯示當(dāng)前所有以FTP登入的用戶會(huì)話信息。
執(zhí)行該命令可得知當(dāng)前用FTP登入系統(tǒng)的用戶有哪些人,以及他們正在進(jìn)行的操作。
語(yǔ)法格式:ftpwho [參數(shù)]
常用參數(shù):
-h顯示幫助信息
-v詳細(xì)模式,輸出更多信息
參考實(shí)例
查詢當(dāng)前正在登錄FTP 服務(wù)器的用戶:
ftpwho
fsck命令 – 檢查并修復(fù)Linux文件系統(tǒng)
fsck命令的英文全稱是“filesystem check”,即檢查文件系統(tǒng)的意思,常用于檢查并修復(fù)Linux文件系統(tǒng)的一些錯(cuò)誤信息,操作文件系統(tǒng)需要先備份重要數(shù)據(jù),以防丟失。
Linux fsck命令用于檢查并修復(fù)Linux文件系統(tǒng),可以同時(shí)檢查一個(gè)或多個(gè) Linux 文件系統(tǒng);若系統(tǒng)掉電或磁盤發(fā)生問(wèn)題,可利用fsck命令對(duì)文件系統(tǒng)進(jìn)行檢查。
語(yǔ)法格式:fsck [參數(shù)] [文件系統(tǒng)]
常用參數(shù):
-a自動(dòng)修復(fù)文件系統(tǒng),不詢問(wèn)任何問(wèn)題
-A依照/etc/fstab配置文件的內(nèi)容,檢查文件內(nèi)所列的全部文件系統(tǒng)
-N不執(zhí)行指令,僅列出實(shí)際執(zhí)行會(huì)進(jìn)行的動(dòng)作
-P當(dāng)搭配”-A”參數(shù)使用時(shí),則會(huì)同時(shí)檢查所有的文件系統(tǒng)
-r采用互動(dòng)模式,在執(zhí)行修復(fù)時(shí)詢問(wèn)問(wèn)題,讓用戶得以確認(rèn)并決定處理方式
-R當(dāng)搭配”-A”參數(shù)使用時(shí),則會(huì)略過(guò)/目錄的文件系統(tǒng)不予檢查
-t指定要檢查的文件系統(tǒng)類型
-T執(zhí)行fsck指令時(shí),不顯示標(biāo)題信息
-V顯示指令執(zhí)行過(guò)程
參考實(shí)例
修復(fù)壞的分區(qū)文件系統(tǒng):
fsck -t ext3 -r /usr/local
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
fsck.ext3: Is a directory while trying to open /usr/local
The superblock could not be read or does not describe a correct ext2
filesystem.? If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
? ? e2fsck -b 8193
/usr/local: status 8, rss 1232, real 0.020288, user 0.002022, sys 0.005354
顯示fsck系統(tǒng)安裝的版本號(hào):
fsck --version
fsck from util-linux 2.23.2
ftpshut命令 – 指定時(shí)間關(guān)閉FTP服務(wù)器
ftpshut命令為系統(tǒng)管理者提供了在設(shè)置的時(shí)間關(guān)閉FTP服務(wù)器,且能在關(guān)閉之前發(fā)出警告信息通知用戶的功能。
關(guān)閉時(shí)間若設(shè)置后為”none”,則會(huì)馬上關(guān)閉服務(wù)器。如果采用”+30″的方式來(lái)設(shè)置表示服務(wù)器在30分鐘之后關(guān)閉。依次類推,假設(shè)使用”1130″的格式則代表服務(wù)器會(huì)在每日的11時(shí)30分關(guān)閉,時(shí)間格式為24 小時(shí)制。FTP服務(wù)器關(guān)閉后,在/etc目錄下會(huì)產(chǎn)生一個(gè)名稱為shutmsg的文件,把它刪除后即可再次啟用FTP服務(wù)器。
語(yǔ)法格式:ftpshut [參數(shù)]
常用參數(shù):
-d切斷所有FTP連線時(shí)間
-l停止接受FTP登入的時(shí)間
參考實(shí)例
在晚上11:00 關(guān)閉FTP服務(wù)器,并在關(guān)閉前5 分鐘拒絕新的FTP登錄,前3 分鐘關(guān)閉所有ftp的鏈接,且給出警告信息 :
ftpshut-d 3 -1 5 1100 "Server will be shutdown at 23:00:00"
lprm命令 – 刪除打印隊(duì)列中的打印任務(wù)
lprm命令的英文全稱是“Remove?jobs?from?the?print?queue”,意為用于刪除打印隊(duì)列中的打印任務(wù)。尚未完成的打印機(jī)工作會(huì)被放在打印機(jī)貯列之中,這個(gè)命令可用來(lái)將未送到打印機(jī)的工作取消。
語(yǔ)法格式:lprm [參數(shù)] [任務(wù)編號(hào)]
常用參數(shù):
-E與打印服務(wù)器連接時(shí)強(qiáng)制使用加密
-P指定接受打印任務(wù)的目標(biāo)打印機(jī)
-U指定可選的用戶名
參考實(shí)例
將打印機(jī)hpprint中的第102號(hào)任務(wù)移除:
lprm -Phpprint 102
將第101號(hào)任務(wù)由預(yù)設(shè)打印機(jī)中移除:
lprm 101
6. 網(wǎng)絡(luò)通訊
ping命令 – 測(cè)試主機(jī)間網(wǎng)絡(luò)連通性
ping命令主要用來(lái)測(cè)試主機(jī)之間網(wǎng)絡(luò)的連通性,也可以用于。執(zhí)行ping指令會(huì)使用ICMP傳輸協(xié)議,發(fā)出要求回應(yīng)的信息,若遠(yuǎn)端主機(jī)的網(wǎng)絡(luò)功能沒(méi)有問(wèn)題,就會(huì)回應(yīng)該信息,因而得知該主機(jī)運(yùn)作正常。
不過(guò)值得我們注意的是:Linux系統(tǒng)下的ping命令與Windows系統(tǒng)下的ping命令稍有不同。Windows下運(yùn)行ping命令一般會(huì)發(fā)出4個(gè)請(qǐng)求就結(jié)束運(yùn)行該命令;而Linux下不會(huì)自動(dòng)終止,此時(shí)需要我們按CTR+C終止或者使用-c參數(shù)為ping命令指定發(fā)送的請(qǐng)求數(shù)目。
語(yǔ)法格式:ping [參數(shù)] [目標(biāo)主機(jī)]
常用參數(shù):
-d使用Socket的SO_DEBUG功能
-c指定發(fā)送報(bào)文的次數(shù)
-i指定收發(fā)信息的間隔時(shí)間
-I使用指定的網(wǎng)絡(luò)接口送出數(shù)據(jù)包
-l設(shè)置在送出要求信息之前,先行發(fā)出的數(shù)據(jù)包
-n只輸出數(shù)值
-p設(shè)置填滿數(shù)據(jù)包的范本樣式
-q不顯示指令執(zhí)行過(guò)程
-R記錄路由過(guò)程
-s設(shè)置數(shù)據(jù)包的大小
-t設(shè)置存活數(shù)值TTL的大小
-v詳細(xì)顯示指令的執(zhí)行過(guò)程
參考實(shí)例
檢測(cè)與linuxcool網(wǎng)站的連通性:
ping www.linuxcool.com
連續(xù)ping4次:
ping -c 4 www.linuxcool.com
設(shè)置次數(shù)為4,時(shí)間間隔為3秒:
ping -c 4 -i 3 www.linuxcool.com
利用ping命令獲取指定網(wǎng)站的IP地址:
ping -c 1 linuxcool.com | grep from | cut -d " " -f 4
220.181.57.216
netstat命令 – 顯示網(wǎng)絡(luò)狀態(tài)
netstat 命令用于顯示各種網(wǎng)絡(luò)相關(guān)信息,如網(wǎng)絡(luò)連接,路由表,接口狀態(tài) (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。
從整體上看,netstat的輸出結(jié)果可以分為兩個(gè)部分:一個(gè)是Active Internet connections,稱為有源TCP連接,其中”Recv-Q”和”Send-Q”指%0A的是接收隊(duì)列和發(fā)送隊(duì)列。這些數(shù)字一般都應(yīng)該是0。如果不是則表示軟件包正在隊(duì)列中堆積。這種情況只能在非常少的情況見(jiàn)到;另一個(gè)是Active UNIX domain sockets,稱為有源Unix域套接口(和網(wǎng)絡(luò)套接字一樣,但是只能用于本機(jī)通信,性能可以提高一倍)。
語(yǔ)法格式:netstat [參數(shù)]
常用參數(shù):
-a顯示所有連線中的Socket
-p顯示正在使用Socket的程序識(shí)別碼和程序名稱
-u顯示UDP傳輸協(xié)議的連線狀況
-i 顯示網(wǎng)絡(luò)界面信息表單
-n直接使用IP地址,不通過(guò)域名服務(wù)器
參考實(shí)例
顯示詳細(xì)的網(wǎng)絡(luò)狀況:
netstat -a
顯示當(dāng)前戶籍UDP連接狀況:
netstat -nu
顯示UDP端口號(hào)的使用情況:
netstat -apu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address? Foreign Address? State? PID/Program name ? ?
udp ? ? ?? 0 ? ?? 0 0.0.0.0:bootpc ? ? ? ?? 0.0.0.0:* ? ?? 4000/dhclient ? ? ?
udp ? ? ?? 0 ? ?? 0 localhost:323 ? ? ? ? ? 0.0.0.0:* ? ?? 3725/chronyd ? ? ? ?
udp6 ? ? ? 0 ? ?? 0 localhost:323 ? ? ? ? ? [::]:* ? ? ? ? 3725/chronyd
顯示網(wǎng)卡列表:
netstat -i
Kernel Interface table
Iface MTU Met? RX-OK? RX-ERR? RX-DRP RX-OVR? TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 ? 0? 181864 ? 0 ? ?? 0 ? ? ? 0 ? ? 141278 ? 0 ? ? 0 ? ? 0 ?? BMRU
lo ? 16436? 0 ? 3362 ?? 0 ? ?? 0 ? ? ? 0 ? ? 3362 ? ? 0 ? ? 0 ? ? 0 ?? LRU
顯示組播組的關(guān)系:
netstat -g
IPv6/IPv4 Group Memberships Interface ? ?
RefCnt Group
--------------- ------ ---------------------
lo ? ? ?? 1 ? ALL-SYSTEMS.MCAST.NET
eth0 ? ?? 1 ? ALL-SYSTEMS.MCAST.NET lo ? ? ? 1 ? ff02::1
eth0 ? ?? 1 ? ff02::1:ff0a:b0c eth0 ? ? ? ?? 1 ? ff02::1
ifconfig命令 – 顯示或設(shè)置網(wǎng)絡(luò)設(shè)備
ifconfig命令的英文全稱是“network interfaces configuring”,即用于配置和顯示Linux內(nèi)核中網(wǎng)絡(luò)接口的網(wǎng)絡(luò)參數(shù)。用ifconfig命令配置的網(wǎng)卡信息,在網(wǎng)卡重啟后機(jī)器重啟后,配置就不存在。要想將上述的配置信息永遠(yuǎn)的存的電腦里,那就要修改網(wǎng)卡的配置文件了。
語(yǔ)法格式:ifconfig [參數(shù)]
常用參數(shù):
add<地址>設(shè)置網(wǎng)絡(luò)設(shè)備IPv6的IP地址
del<地址>刪除網(wǎng)絡(luò)設(shè)備IPv6的IP地址
down關(guān)閉指定的網(wǎng)絡(luò)設(shè)備
up啟動(dòng)指定的網(wǎng)絡(luò)設(shè)備
IP地址指定網(wǎng)絡(luò)設(shè)備的IP地址
參考實(shí)例
顯示網(wǎng)絡(luò)設(shè)備信息:
# ifconfig
eth0 ? Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C ? ? ?
? ? ? inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
? ? ? inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link ? ?
? ? ? UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 ? ? ?
? ? ? RX packets:172220 errors:0 dropped:0 overruns:0 frame:0 ? ? ?
? ? ? TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
? ? ? collisions:0 txqueuelen:1000 ? ? ?
? ? ? RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
? ? ? Interrupt:185 Base address:0x2024 ?
lo ?? Link encap:Local Loopback ? ? ?
? ?? inet addr:127.0.0.1 Mask:255.0.0.0 ? ? ?
? ?? inet6 addr: ::1/128 Scope:Host ? ? ?
? ?? UP LOOPBACK RUNNING MTU:16436 Metric:1 ? ? ?
? ?? RX packets:2022 errors:0 dropped:0 overruns:0 frame:0 ? ? ?
? ?? TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0 ?
? ?? collisions:0 txqueuelen:0 ? ? ?
? ?? RX bytes:2459063 (2.3 MiB)
? ?? TX bytes:2459063 (2.3 MiB)
啟動(dòng)關(guān)閉指定網(wǎng)卡:
# ifconfig eth0 down
# ifconfig eth0 up
為網(wǎng)卡配置和刪除IPv6地址:
# ifconfig eth0 add 33ffe:3240:800:1005::2/64
# ifconfig eth0 del 33ffe:3240:800:1005::2/64
用ifconfig修改MAC地址:
# ifconfig eth0 down
# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
# ifconfig eth0 up
# ifconfig eth1 hw ether 00:1D:1C:1D:1E
# ifconfig eth1 up
配置IP地址:
# ifconfig eth0 192.168.1.56
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
ss命令 – 顯示活動(dòng)套接字信息
ss是Socket Statistics的縮寫(xiě)。ss命令用來(lái)顯示處于活動(dòng)狀態(tài)的套接字信息。它可以顯示和netstat類似的內(nèi)容。但ss的優(yōu)勢(shì)在于它能夠顯示更多更詳細(xì)的有關(guān)TCP和連接狀態(tài)的信息,而且比netstat更快速更高效。
語(yǔ)法格式:ss [參數(shù)]
常用參數(shù):
-n不解析服務(wù)名稱,已數(shù)字方式顯示
-a顯示所有套接字
-l顯示處于監(jiān)聽(tīng)狀態(tài)的套接字
-o顯示計(jì)時(shí)器信息
-e顯示詳細(xì)的套接字信息
-m顯示套接字的內(nèi)存使用情況
-p顯示使用套接字的進(jìn)程
-i顯示內(nèi)部的TCP信息
-s顯示套接字使用概況
-4僅顯示ipv4的套接字
-6僅顯示ipv6的套接字
-0顯示PACKET套接字
-t只顯示TCP套接字
-u只顯示UDP套接字
-d只顯示DCCP套接字
-w只顯示RAW套接字
-x只顯示 Unix套接字
-D 將原始TCP套接字信息轉(zhuǎn)儲(chǔ)到文件
參考實(shí)例
顯示TCP套接字:
# ss -t -a
State ? ? Recv-Q ? ? Send-Q ? ? Local Address:Port ? ? Peer Address:Port ?
LISTEN ?? 0 ? ? ? ?? 128 ? ? ?? 0.0.0.0:ssh ? ? ? ? ?? 0.0.0.0:* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
ESTAB ? ? 0 ? ? ? ?? 52 ? ? ? ? 192.168.60.19:ssh ? ?? 192.168.30.21:59321 ? ? ? ? ? ? ?
LISTEN ?? 0 ? ? ? ?? 128 ? ? ?? *:websm ? ? ? ? ? ? ?? *:* ? ? ? ? ? ? ?
LISTEN ?? 0 ? ? ? ?? 128 ? ? ?? [::]:ssh ? ? ? ? ? ? ? [::]:*
顯示UDP套接字:
# ss -u -a
State ? ? Recv-Q ? ? Send-Q ? ? Local Address:Port ? ? Peer Address:Port ? ? ? ? ? ? ?
UNCONN ?? 0 ? ? ? ?? 0 ? ? ? ?? 0.0.0.0:bootpc ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ?
UNCONN ?? 0 ? ? ? ?? 0 ? ? ? ?? 127.0.0.1:323 ? ? ? ?? 0.0.0.0:* ? ? ? ? ? ? ? ?
UNCONN ?? 0 ? ? ? ?? 0 ? ? ? ?? [::1]:323 ? ? ? ? ? ?? [::]:* ?
顯示套接字使用概況:
# ss -s
Total: 185
TCP: ? 4 (estab 1, closed 0, orphaned 0, timewait 0)
Transport Total ? ? IP ? ? ?? IPv6
RAW ? ? ? 1 ? ? ? ? 0 ? ? ? ? 1 ? ? ? ?
UDP ? ? ? 3 ? ? ? ? 2 ? ? ? ? 1 ? ? ? ?
TCP ? ? ? 4 ? ? ? ? 2 ? ? ? ? 2 ? ? ? ?
INET ? ?? 8 ? ? ? ? 4 ? ? ? ? 4 ? ? ? ?
FRAG ? ?? 0 ? ? ? ? 0 ? ? ? ? 0 ? ? ? ?
ipcalc命令 – 簡(jiǎn)單的IP地址計(jì)算器
ipcalc命令的全稱是:Calculate IP information for a host(計(jì)算主機(jī)的IP信息)
ipcalc命令是一個(gè)簡(jiǎn)單的ip地址計(jì)算器,可以完成簡(jiǎn)單的IP地址計(jì)算任務(wù)。
語(yǔ)法格式: ipcalc [參數(shù)] [IP地址]
常用參數(shù):
-b由給定的IP地址和網(wǎng)絡(luò)掩碼計(jì)算出廣播地址
-h顯示給定IP地址所對(duì)應(yīng)的主機(jī)名
-m由給定的IP地址計(jì)算器網(wǎng)絡(luò)掩碼
-p顯示給定的掩碼或IP地址的前綴
-n由給定的IP地址和網(wǎng)絡(luò)掩碼計(jì)算網(wǎng)絡(luò)地址
-s安靜模式,不顯示任何錯(cuò)誤信息
–help顯示幫助信息
參考實(shí)例
計(jì)算給定掩碼的前綴 :
# ipcalc -p 192.168.88.56 255.255.255.0
PREFIX=24
給定IP和網(wǎng)絡(luò)掩碼計(jì)算網(wǎng)絡(luò)地址 :
# ipcalc -n 192.168.88.56 255.255.255.0
NETWORK=192.168.88.0
給定IP顯示對(duì)應(yīng)的主機(jī)名:
# ipcalc -h 223.5.5.5
HOSTNAME=public1.alidns.com
使用多個(gè)參數(shù)計(jì)算給定IP的網(wǎng)絡(luò)掩碼,廣播地址,網(wǎng)絡(luò)地址:
# ipcalc -m -b -n 119.29.29.29/28
NETMASK=255.255.255.240
BROADCAST=119.29.29.31
NETWORK=119.29.29.16
7. 設(shè)備管理
mount命令 – 文件系統(tǒng)掛載
mount命令用于加載文件系統(tǒng)到指定的加載點(diǎn)。此命令的最常用于掛載cdrom,使我們可以訪問(wèn)cdrom中的數(shù)據(jù),因?yàn)槟銓⒐獗P插入cdrom中,Linux并不會(huì)自動(dòng)掛載,必須使用Linux mount命令來(lái)手動(dòng)完成掛載。
語(yǔ)法格式:mount [參數(shù)]
常用參數(shù):
-t指定掛載類型
-l顯示已加載的文件系統(tǒng)列表
-h顯示幫助信息并退出
-V顯示程序版本
-n加載沒(méi)有寫(xiě)入文件“/etc/mtab”中的文件系統(tǒng)
-r將文件系統(tǒng)加載為只讀模式
-a加載文件“/etc/fstab”中描述的所有文件系統(tǒng)
參考實(shí)例
查看版本:
# mount -V
啟動(dòng)所有掛載:
# mount -a
掛載 /dev/cdrom 到 /mnt:
# mount /dev/cdrom /mnt
掛載nfs格式文件系統(tǒng):
# mount -t nfs /123 /mnt ?
掛載第一塊盤的第一個(gè)分區(qū)到/etc目錄 :
# mount -t ext4 -o loop,default /dev/sda1 /etc
setleds命令 – 設(shè)定鍵盤上方三個(gè) LED 的狀態(tài)
setleds即是英文詞組“set leds”的合并,翻譯為中文就是設(shè)置LED燈。setleds命令用來(lái)設(shè)定鍵盤上方三個(gè) LED 燈的狀態(tài)。在 Linux 中,每一個(gè)虛擬主控臺(tái)都有獨(dú)立的設(shè)定。
這是一個(gè)十分神奇的命令,竟然可以通過(guò)命令來(lái)控制鍵盤的燈的狀態(tài)。那么下面我一起來(lái)學(xué)習(xí)一下這個(gè)命令吧。
語(yǔ)法格式:setleds [參數(shù)]
常用參數(shù):
-F設(shè)定虛擬主控臺(tái)的狀態(tài)
-D改變虛擬主控臺(tái)的狀態(tài)和預(yù)設(shè)的狀態(tài)
-L直接改變 LED 顯示的狀態(tài)
+num/-num將數(shù)字鍵打開(kāi)或關(guān)閉
+caps/-caps把大小寫(xiě)鍵打開(kāi)或關(guān)閉
+scroll /-scroll把選項(xiàng)鍵打開(kāi)或關(guān)閉
參考實(shí)例
控制鍵盤燈num燈亮和燈滅:
# setleds +num
# setleds -num
控制鍵盤的大小寫(xiě)鍵打開(kāi)或關(guān)閉,鍵盤指示燈亮與滅:
# setleds +caps
# setleds -caps
控制鍵盤的選項(xiàng)鍵打開(kāi)或關(guān)閉,鍵盤指示燈亮與滅:
# setleds +scroll
對(duì)三燈的亮與滅的情況進(jìn)行組合,分別設(shè)置為數(shù)字燈亮,大小寫(xiě)燈滅,選項(xiàng)鍵scroll燈滅:
# setleds +num -caps -scroll
loadkeys命令 – 改變linux鍵盤驅(qū)動(dòng)程序
loadkeys命令可以根據(jù)一個(gè)鍵盤定義表改變 linux 鍵盤驅(qū)動(dòng)程序轉(zhuǎn)譯鍵盤輸入過(guò)程。
語(yǔ)法格式:loadkeys [參數(shù)] [文件]
常用參數(shù):
-v印出詳細(xì)的資料,你可以重復(fù)以增加詳細(xì)度
-q不要顯示任何訊息
-c 清除所有 composite 定義
-s將定串定義表清除
參考實(shí)例
顯示功能鍵:
# loadkeys --funcs-only
將定串定義表清除:
# loadkeys -s
清除所有 composite 定義:
# loadkeys -c ?
印出詳細(xì)的資料,你可以重復(fù)以增加詳細(xì)度:
# loadkeys -v ?
不要顯示任何訊息:
# loadkeys -q
8. 備份壓縮
gzip命令 – 壓縮和解壓文件
gzip命令的英文是“GNUzip”,是常用來(lái)壓縮文件的工具,gzip是個(gè)使用廣泛的壓縮程序,文件經(jīng)它壓縮過(guò)后,其名稱后面會(huì)多處“.gz”擴(kuò)展名。
gzip是在Linux系統(tǒng)中經(jīng)常使用的一個(gè)對(duì)文件進(jìn)行壓縮和解壓縮的命令,既方便又好用。gzip不僅可以用來(lái)壓縮大的、較少使用的文件以節(jié)省磁盤空間,還可以和tar命令一起構(gòu)成Linux操作系統(tǒng)中比較流行的壓縮文件格式。據(jù)統(tǒng)計(jì),gzip命令對(duì)文本文件有60%~70%的壓縮率。減少文件大小有兩個(gè)明顯的好處,一是可以減少存儲(chǔ)空間,二是通過(guò)網(wǎng)絡(luò)傳輸文件時(shí),可以減少傳輸?shù)臅r(shí)間。
語(yǔ)法格式:gzip [參數(shù)]
常用參數(shù):
-a使用ASCII文字模式
-d解開(kāi)壓縮文件
-f強(qiáng)行壓縮文件
-l列出壓縮文件的相關(guān)信息
-c把壓縮后的文件輸出到標(biāo)準(zhǔn)輸出設(shè)備,不去更動(dòng)原始文件
-r遞歸處理,將指定目錄下的所有文件及子目錄一并處理
-q不顯示警告信息
參考實(shí)例
把rancher-v2.2.0目錄下的每個(gè)文件壓縮成.gz文件:
# gzip *
把上例中每個(gè)壓縮的文件解壓,并列出詳細(xì)的信息:
# gzip -dv *
遞歸地解壓目錄:
# gzip -dr rancher.gz
unzip命令 – 解壓縮zip文件
unzip命令是用于.zip格式文件的解壓縮工具 ,unzip命令將列出、測(cè)試或從zip格式存檔中提取文件,這些文件通常位于MS-DOS系統(tǒng)上。
默認(rèn)行為(就是沒(méi)有選項(xiàng))是從指定的ZIP存檔中提取所有的文件到當(dāng)前目錄(及其下面的子目錄)。一個(gè)配套程序zip(1L)創(chuàng)建ZIP存檔;這兩個(gè)程序都與PKWARE的PKZIP和PKUNZIP為MS-DOS創(chuàng)建的存檔文件兼容,但許多情況下,程序選項(xiàng)或默認(rèn)行為是不同的。
語(yǔ)法格式:unzip [參數(shù)] [文件]
常用參數(shù):
-l顯示壓縮文件內(nèi)所包含的文件
-v執(zhí)行時(shí)顯示詳細(xì)的信息
-c將解壓縮的結(jié)果顯示到屏幕上,并對(duì)字符做適當(dāng)?shù)霓D(zhuǎn)換
-n解壓縮時(shí)不要覆蓋原有的文件
-j不處理壓縮文件中原有的目錄路徑
參考實(shí)例
把/home目錄下面的mydata.zip解壓到mydatabak目錄里面:
# unzip mydata.zip -d mydatabak
把/home目錄下面的wwwroot.zip直接解壓到/home目錄里面:
# unzip wwwroot.zip
把/home目錄下面的abc12.zip、abc23.zip、abc34.zip同時(shí)解壓到/home目錄里面:
# unzip abc\*.zip
查看把/home目錄下面的wwwroot.zip里面的內(nèi)容:
# unzip -v wwwroot.zip
驗(yàn)證/home目錄下面的wwwroot.zip是否完整:
# unzip -t wwwroot.zip ?
zip命令 – 壓縮文件
zip程序?qū)⒁粋€(gè)或多個(gè)壓縮文件與有關(guān)文件的信息(名稱、路徑、日期、上次修改的時(shí)間、保護(hù)和檢查信息以驗(yàn)證文件完整性)一起放入一個(gè)壓縮存檔中??梢允褂靡粋€(gè)命令將整個(gè)目錄結(jié)構(gòu)打包到zip存檔中。
對(duì)于文本文件來(lái)說(shuō),壓縮比為2:1和3:1是常見(jiàn)的。zip只有一種壓縮方法(通縮),并且可以在不壓縮的情況下存儲(chǔ)文件。(如果添加了bzip 2支持,zip也可以使用bzip 2壓縮,但這些條目需要一個(gè)合理的現(xiàn)代解壓縮來(lái)解壓縮。當(dāng)選擇bzip 2壓縮時(shí),它將通貨緊縮替換為默認(rèn)方法。)zip會(huì)自動(dòng)為每個(gè)要壓縮的文件選擇更好的兩個(gè)文件(通縮或存儲(chǔ),如果選擇bzip2,則選擇bzip2或Store)。
語(yǔ)法格式:zip [參數(shù)] [文件]
常用參數(shù):
-q不顯示指令執(zhí)行過(guò)程
-r遞歸處理,將指定目錄下的所有文件和子目錄一并處理
-z替壓縮文件加上注釋
-v顯示指令執(zhí)行過(guò)程或顯示版本信息
-n<字尾字符串>不壓縮具有特定字尾字符串的文件
參考實(shí)例
將 /home/html/ 這個(gè)目錄下所有文件和文件夾打包為當(dāng)前目錄下的 html.zip:
# zip -q -r html.zip /home/html
壓縮文件 cp.zip 中刪除文件 a.c:
# zip -dv cp.zip a.c
把/home目錄下面的mydata目錄壓縮為mydata.zip:
# zip -r mydata.zip mydata
把/home目錄下面的abc文件夾和123.txt壓縮成為abc123.zip:
# zip -r abc123.zip abc 123.txt
將 logs目錄打包成 log.zip:
# zip -r log.zip ./logs
bzip2命令 – bz2文件的壓縮程序
Linux系統(tǒng)中bzip2命令的英文是“bunzip2”,即.bz2文件格式的壓縮程序; bzip2命令系統(tǒng)默認(rèn)是沒(méi)有安裝的,需要安裝bzip2庫(kù)才可以使用此命令。
bzip2命令采用新的壓縮演算法,壓縮效果比傳統(tǒng)的LZ77/LZ78壓縮演算法來(lái)得好。若沒(méi)有加上任何參數(shù),bzip2壓縮完文件后會(huì)產(chǎn)生.bz2的壓縮文件,并刪除原始的文件。
語(yǔ)法格式:bzip2 [參數(shù)] 文件系統(tǒng)
常用參數(shù):
-c將壓縮與解壓縮的結(jié)果送到標(biāo)準(zhǔn)輸出
-d執(zhí)行解壓縮
-fbzip2在壓縮或解壓縮時(shí),若輸出文件與現(xiàn)有文件同名,預(yù)設(shè)不會(huì)覆蓋現(xiàn)有文件。若要覆蓋,請(qǐng)使用此參數(shù)
-kbzip2在壓縮或解壓縮后,會(huì)刪除原始的文件。若要保留原始文件,請(qǐng)使用此參數(shù)
-s降低程序執(zhí)行時(shí)內(nèi)存的使用量
-t測(cè)試.bz2壓縮文件的完整性
-v壓縮或解壓縮文件時(shí),顯示詳細(xì)的信息
-z強(qiáng)制執(zhí)行壓縮
參考實(shí)例
壓縮文件:
# bzip2 a.txt
檢查文件完整性:
# bzip2 -t a.txt.bz2
zipinfo命令 – 查看壓縮文件信息
zipinfo命令的全稱為“zip information”,該命令用于列出壓縮文件信息。執(zhí)行zipinfo指令可得知zip壓縮文件的詳細(xì)信息。
語(yǔ)法格式:zipinfo [參數(shù)]
常用參數(shù):
-1只列出文件名稱
-2此參數(shù)的效果和指定”-1″參數(shù)類似,但可搭配”-h”,”-t”和”-z”參數(shù)使用
-h只列出壓縮文件的文件名稱
-l此參數(shù)的效果和指定”-m”參數(shù)類似,但會(huì)列出原始文件的大小而非每個(gè)文件的壓縮率
-m此參數(shù)的效果和指定”-s”參數(shù)類似,但多會(huì)列出每個(gè)文件的壓縮率
-M若信息內(nèi)容超過(guò)一個(gè)畫(huà)面,則采用類似more指令的方式列出信息
-s用類似執(zhí)行”ls -l”指令的效果列出壓縮文件內(nèi)容
-t只列出壓縮文件內(nèi)所包含的文件數(shù)目,壓縮前后的文件大小及壓縮率
-T將壓縮文件內(nèi)每個(gè)文件的日期時(shí)間用年,月,日,時(shí),分,秒的順序列出
-v詳細(xì)顯示壓縮文件內(nèi)每一個(gè)文件的信息
-x<范本樣式>不列出符合條件的文件的信息
-z如果壓縮文件內(nèi)含有注釋,就將注釋顯示出來(lái)
參考實(shí)例
顯示壓縮文件信息:
# zipinfo file.zip
Archive: file.zip? 486 bytes? 3 files
-rw-r--r-- 2.3 unx ?? 0 bx stor 24-May-10 18:54 a.c
-rw-r--r-- 2.3 unx ?? 0 bx stor 24-May-10 18:54 b.c
-rw-r--r-- 2.3 unx ?? 0 bx stor 24-May-10 18:54 c.c
3 files, 0 bytes uncompressed, 0 bytes compressed: 0.0%
顯示壓縮文件中每個(gè)文件的信息:
# zipinfo -v file.zip
只顯示壓縮包大小、文件數(shù)目:
# zipinfo -h file.zip ? ? ? ? ? ?
Archive:? file.zip
Zip file size: 907 bytes, number of entries: 3
生成一個(gè)基本的、長(zhǎng)格式的列表(而不是冗長(zhǎng)的),包括標(biāo)題和總計(jì)行:
# zipinfo -l file
查看存檔中最近修改的文件:
# zipinfo -T file | sort –nr -k 7 | sed 15q
9. 其他命令
bc命令 – 浮點(diǎn)運(yùn)算
bc的英文全拼為“ Binary Calculator ”,是一種支持任意精度的交互執(zhí)行的計(jì)算器語(yǔ)言。bash內(nèi)置了對(duì)整數(shù)四則運(yùn)算的支持,但是并不支持浮點(diǎn)運(yùn)算,而bc命令可以很方便的進(jìn)行浮點(diǎn)運(yùn)算,當(dāng)然整數(shù)運(yùn)算也不再話下。
語(yǔ)法格式:bc [選項(xiàng)]
常用參數(shù):
-i強(qiáng)制進(jìn)入交互式模式
-l定義使用的標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)
-w定義使用的標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)
-q打印正常的GNU bc環(huán)境信息
參考實(shí)例
算術(shù)操作高級(jí)運(yùn)算bc命令它可以執(zhí)行浮點(diǎn)運(yùn)算和一些高級(jí)函數(shù):
# echo "1.212*3" | bc
3.636
設(shè)定小數(shù)精度(數(shù)值范圍):
# echo "scale=2;3/8" | bc
.37
計(jì)算平方和平方根:
# echo "10^10" | bc
10000000000
[root@linuxcool ~]# echo "sqrt(100)" | bc
10
rmmod命令 – 刪除模塊
rmmod即“remove module”的簡(jiǎn)稱,rmmod命令用于刪除模塊。 執(zhí)行rmmod命令,可刪除不需要的模塊。Linux操作系統(tǒng)的核心具有模塊化的特性,因此在編譯核心時(shí),不需要吧全部功能都放入核心,可以將這些功能編譯成一個(gè)個(gè)單獨(dú)的模塊,待有需要時(shí)再分別載入它們。
語(yǔ)法格式:rmmod [參數(shù)] [模塊名稱]
常用參數(shù):
-a刪除所有目前不需要的模塊
-s把信息輸出至syslog常駐服務(wù),而非終端機(jī)界面
-v顯示指令執(zhí)行的詳細(xì)信息
-f強(qiáng)制移除模塊,使用此選項(xiàng)比較危險(xiǎn)
-w等待著,知道模塊能夠被除時(shí)再移除模塊
參考實(shí)例
卸載模塊pppoe并顯示執(zhí)行信息:
# rmmod -v pppoe
卸載bridge模塊:
# rmmod bridge
卸載bridge模塊并將錯(cuò)誤信息寫(xiě)入syslog:
# rmmod -s bridge
孤立正在使用的bridge模塊,知道不被使用:
# rmmod -w bridge
刪除正在使用的bridge模塊(-f可以刪除正在使用的模塊,非常危險(xiǎn),慎用):
# rmmod -f bridge
我在上面這個(gè)網(wǎng)站看到的常用Linux命令,所以拿出來(lái)方便自己學(xué)習(xí)和記憶。