Linux基礎(chǔ)教程之基礎(chǔ)命令總結(jié)
文件和目錄操作類
ls命令??list 列出指定目錄下的內(nèi)容
語法格式: ls [OPTION]… [FILE]…
常用選項(xiàng):
-a顯示所有文件和隱藏文件。
-A顯示除.和..之外的所有文件。
-l 長格式列表,顯示文件的詳細(xì)屬性信息
-h ?–human-readanle,把文件大小單位換算,換算后可能會是非精確值
-d ?查看目錄自身而非其內(nèi)部文件列表
-r ?reverse,逆序顯示
-R ?recursive ?,遞歸顯示
-t ??顯示最后一次修改的文件
-n ?打印文件的UID和GID
-i ?顯示文件的inode信息
-t ?用文件和目錄的更改時間排序
-F ?在不同類型的文件的文件名結(jié)尾追加一個字符以示區(qū)別??蓤?zhí)行文件后加”*”,目錄后加”/”,管道文件后加”|”,套接字文件后加”=”,普通文件沒有后綴。比較有用。–full-time ?列出文件的完整時間格式
例如:顯示/etc里面所有的內(nèi)容包含隱藏文件 ?ls ?-ali 最左邊一列是文件的inode信息。
出文件的完整時間格式 ls -ali –full-time
假如我在/tmp下面新建了一個hello.txt文件,可以用ls -lrt 進(jìn)行逆序按時間排序出最下面找到它:
pwd命令???printing working directory 顯示當(dāng)前工作目錄
cd 命令??change directory 切換目錄
cd ?不帶任何參數(shù)表示切換到家目錄
cd ?~ ?切回自己家目錄,波浪線~表示家目錄
cd ?~ ?USERNAME 切換到指定用戶家目錄
cd ?– ??上一次所在目錄和當(dāng)前目錄之間來回切換
. ??????表示當(dāng)前目錄
cd ?.. ??切換到當(dāng)前目錄的上一級目錄
touch命令???用于創(chuàng)建一個新文件或修改文件時間戳
touch [OPTION]… FILE…
常用選項(xiàng):
-c ??–no-create,指定的文件路徑不存在時不予創(chuàng)建
-a ??僅修改訪問時間access time
-m ?僅修改modify time(文件內(nèi)容修改)
-t ??使用指定的日期時間,而非現(xiàn)在的時間
cp命令?copy 用于復(fù)制源文件或者目錄到
語法格式:單源復(fù)制:cp [OPTION]… [-T] SOURCE DEST
多源復(fù)制:cp [OPTION]… SOURCE… DIRECTORY
常用選項(xiàng):
-i:交互式復(fù)制,即覆蓋之前提醒用戶確認(rèn);
-f:強(qiáng)制覆蓋目標(biāo)文件;
-r, -R:遞歸復(fù)制目錄;
-d:復(fù)制符號鏈接文件本身,而非其指向的源文件;
-a:-dR –preserve=all, archive,用于實(shí)現(xiàn)歸檔;
-p ??–preserv=
mode:權(quán)限
ownership:屬主和屬組
timestamps: 時間戳
context:安全標(biāo)簽
xattr:擴(kuò)展屬性
links:符號鏈接
all:上述所有屬性
保持指定的屬性(默認(rèn):模式,所有權(quán),時間戳)
-P ??–no-dereference???不跟隨源文件中的符號鏈接
實(shí)例:單文件復(fù)制 復(fù)制/etc/fstab到tmp下 文件不存在時:
[root@dxl /tmp 14:35:16]# cp /etc/fstab .
[root@dxl /tmp 14:36:44]# ls
1.txt ?22 ?33 ?fstab ?functions ?hello.txt ?test.txt
復(fù)制目錄時目標(biāo)文件夾存在,則把源目錄里面的內(nèi)容復(fù)制到目標(biāo)文件夾里面。要是目標(biāo)不存在則創(chuàng)建。
mkdir命令??創(chuàng)建目錄make directories
語法格式: mkdir [OPTION]… DIRECTORY…
常用選項(xiàng):
-p ?通俗地說對于不存在的父和子目錄一起創(chuàng)建出來
-v 顯示過程
-m 直接給定權(quán)限
注意:路徑基名方為命令的作用對象;基名之前的路徑必須得存在;
例如:在tmp下面創(chuàng)建目錄centos/a/b/c
[root@dxl /tmp 15:16:35]# mkdir -pv /tmp/centos/a/b/c
mkdir: created directory `/tmp/centos’
mkdir: created directory `/tmp/centos/a’
mkdir: created directory `/tmp/centos/a/b’
mkdir: created directory `/tmp/centos/a/b/c’
mv 移動命令,還可以對文件進(jìn)行重命名
語法格式:mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用選項(xiàng):-f強(qiáng)制移動
-i 交互式
例如:把tmp下面的1.txt移動到tom文件夾里面并命名為2.txt。
[root@dxl /tmp 15:23:17]# mv 1.txt ?./tom/2.txt
rm ? ?刪除命令remove
語法格式: rm [OPTION]… FILE…
常用選項(xiàng):-f 強(qiáng)制刪除
-i ?交互
-r ?將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除
注意:刪除命令是一個非常危險的操作,所有不用的文件建議不要直接刪除,而是移動至某個專用目錄;(模擬回收站),過段時間后,非常明確肯定不要了再刪除。
開關(guān)機(jī)類命令(線上服務(wù)器禁用)
shutdown 關(guān)機(jī)命令
語法格式 shutdown [OPTIONS…] [TIME] [WALL…]
常用選項(xiàng):
-r ?關(guān)機(jī)后重啟
-h 將系統(tǒng)關(guān)機(jī)
-c ?取消關(guān)機(jī)
例如:shutdnow -h -now馬上關(guān)機(jī) ?shutdnow ?+30 :30分鐘后關(guān)機(jī)
halt ? 關(guān)機(jī)
poweroff ?關(guān)閉系統(tǒng)并且切斷電源
-n:關(guān)閉操作系統(tǒng)時不執(zhí)行sync操作;
-w:不真正關(guān)閉操作系統(tǒng),僅在日志文件“/var/log/wtmp”中;
-d:關(guān)閉操作系統(tǒng)時,不將操作寫入日志文件“/var/log/wtmp”中添加相應(yīng)的記錄;
-f:強(qiáng)制關(guān)閉操作系統(tǒng);
-i:關(guān)閉操作系統(tǒng)之前關(guān)閉所有的網(wǎng)絡(luò)接口;
-h:關(guān)閉操作系統(tǒng)之前將系統(tǒng)中所有的硬件設(shè)置為備用模式。
如果確認(rèn)系統(tǒng)中已經(jīng)沒有用戶存在且所有數(shù)據(jù)都已保存,需要立即關(guān)閉系統(tǒng),可以使用poweroff命令。
reboot 重啟命令??用來重新啟動正在運(yùn)行的Linux操作系統(tǒng)
?
文本查看類命令
cat命令??concatenate查看文本文件內(nèi)容
語法格式cat [OPTION]… [FILE]…
常用選項(xiàng)
-n 給每行編號,包括空行
-E 顯示空格符,包括空行
tac命令?將文件以行為單位反序輸出,最后一行先顯示
語法格式 tac [OPTION]… [FILE]…
less命令???翻屏查看文件
less file
按一下回車鍵往文件尾部查看一行,按空格鍵往文件尾部翻一屏
按pageup和pagedown鍵前后翻屏,按上下箭頭可以上下翻一行
more命令 ?從頭到尾查看文件,不可以回頭,不是很好用
head命令 ??顯示文件的前n行,默認(rèn)是顯示前十行
語法格式:head?[參數(shù)]…?[文件]…
常用選項(xiàng):-v?顯示文件名
-c<字節(jié)>?顯示字節(jié)數(shù)。??head ?-c 50 /etc/rc.d/init.d/functions 顯示前50字節(jié),要是改為-50.則顯示文件后50字節(jié)。
-n<行數(shù)>?顯示的行數(shù)。顯示文件的前50行:head ?-50 /etc/rc.d/init.d/functions
tail命令??顯示指定文件末尾內(nèi)容,不指定文件時,作為輸入信息進(jìn)行處理。常用查看日志文件。
語法格式:tail [選項(xiàng)] ?文件
常用選項(xiàng) -n ?:查看文件尾部n行
-f:查看文件尾部內(nèi)容結(jié)束后不退出,接著顯示更新的行。很有用
例如: tail -3f ?/tmp/functions ?查看functions文件尾部3行后不退出
?stat命令:顯示文件和文件的系統(tǒng)熟性,包括文件名,大小,時間戳等信息,通俗地說就像我們看到windows右鍵,文件屬性看到的信息類似。
例如
[root@dxl ~ 10:30:55]# stat /tmp/functions
File: `/tmp/functions’
Size: 25427 ??????????Blocks: 56 ????????IO Block: 4096 ??regular file
Device: 803h/2051d ?????Inode: 391743 ?????Links: 1
Access: (0644/-rw-r–r–) ?Uid: ( ???0/ ???root) ??Gid: ( ???0/ ???root)
Access: 2017-09-17 10:18:47.899001385 +0800
Modify: 1982-09-19 08:08:39.000000000 +0800
Change: 2017-09-16 13:44:53.754984934 +0800
日期時間類
date命令??用來顯示或設(shè)定系統(tǒng)的日期與時間。只有root用戶可用。當(dāng)系統(tǒng)正有一個以上的用戶在運(yùn)行時,不要更改日期。
語法格式:Pdate [OTION]… [+FORMAT]
常用格式符:
%F 以年-月-日顯示 。例如
[root@dxl ~ 11:10:31]# date +%F
2017-09-17
%T ?時間,包含時分秒
%Y ?年份,四位顯示
%m ?月份,01-12顯示
%d ??日期,01-31顯示
%H ?小時,00-23顯示
%M ?分鐘00-59顯示
%S ?秒
%s: 從1970年1月1號(unix元年)0點(diǎn)0分0秒到命令執(zhí)行那一刻經(jīng)過的秒數(shù);
設(shè)定日期格式:date [月日小時分鐘年(可用四位也可以兩位)][.秒]例如
[root@dxl ~ 11:32:25]# date 062811282010.10
Mon Jun 28 11:28:10 CST 2010
[root@dxl ~ 11:28:10]# date 0628112811.10
Tue Jun 28 11:28:10 CST 2011
clock=hwclock ??硬件時鐘命令??顯示或設(shè)定硬件時鐘
-s, –htocsys:以硬件為準(zhǔn),把系統(tǒng)調(diào)整為與硬件時間相同;
例如:我的系統(tǒng)時間不對了
[root@dxl ~ 12:09:29]# date
Tue Jun 28 12:09:33 CST 2011
[root@dxl ~ 12:09:33]# hwclock
Sun 17 Sep 2017 12:18:56 PM CST ?-0.783353 seconds
[root@dxl ~ 12:09:57]# hwclock -s
[root@dxl ~ 12:19:12]# datte
-bash: datte: command not found
[root@dxl ~ 12:19:14]# date
Sun Sep 17 12:19:20 CST 2017
-w, –systohc:以系統(tǒng)為準(zhǔn),把硬件時間調(diào)整為與系統(tǒng)時鐘相同;
網(wǎng)絡(luò)相關(guān)類
ifconfig ?或ip addr list??查看活動接口的ip地址
ss命令??ss是Socket?Statistics的縮寫。顧名思義,ss命令可以用來獲取socket統(tǒng)計(jì)信息,它可以顯示和netstat類似的內(nèi)容。但ss的優(yōu)勢在于它能夠顯示更多更詳細(xì)的有關(guān)TCP和連接狀態(tài)的信息,而且比netstat更快速更高效。
例如查看22端口狀態(tài) :ss ?-tnl
[root@dxl ~ 12:35:54]# ss -tnl
State ?????Recv-Q Send-Q ???????Local Address:Port ?????????Peer Address:Port
LISTEN ????0 ?????128 ?????????????????????:::22 ?????????????????????:::*
LISTEN ????0 ?????128 ??????????????????????*:22 ??????????????????????*:*
LISTEN ????0 ?????100 ????????????????????::1:25 ?????????????????????:::*
LISTEN ????0 ?????100 ??????????????127.0.0.1:25 ??????????????????????*:*
ping命令??測試網(wǎng)絡(luò)的目標(biāo)主機(jī)和當(dāng)前主機(jī)的連通性 ?,例如
[root@dxl ~ 12:24:59]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39: icmp_seq=1 ttl=55 time=7.17 ms
64 bytes from 14.215.177.39: icmp_seq=2 ttl=55 time=6.11 ms
….
這表示網(wǎng)絡(luò)可以連通
?
用戶管理類
useradd ?添加用戶命令
例如~]# useradd -s /bin/tcsh centos7 ?添加一個叫centos7的用戶并指定它的shell為tcsh
搜索和查詢類
file命令??查看文件內(nèi)容類型
例如
[root@dxl /tmp 16:56:00]# file /etc/fstab
/etc/fstab: ASCII text
可以知道fstab是一個標(biāo)準(zhǔn)的文本文件
type命令??判斷一個命令是外部命令還是內(nèi)部命令
語法格式 type ?COMMAND
help命令?用于shell內(nèi)部命令的幫助信息
語法格式 help COMMAND
man ?命令 ??幫助手冊
語法格式 man COMMAND
Info命令??在線獲取命令幫助
which命令??用于查找某個可執(zhí)行的命令文件的位置
格式 which ?命令名稱
例如:
[root@dxl /tmp 17:13:02]# which passwd
/usr/bin/passwd
whereis命令?只能用于程序名的搜索,而且只搜索二進(jìn)制文件??例如:whereis ls
語法格式whereis [options] name…
常用選項(xiàng):
-b:僅搜索二進(jìn)制程序路徑
-m:僅搜索使用手冊文件路徑;
who命令??識別當(dāng)前登錄的用戶,顯示關(guān)于 當(dāng)前在本地系統(tǒng)上的所有用戶的信息
w命令??顯示目前登入系統(tǒng)的用戶信息
語 法:w?[-fhlsuV][用戶名稱]
常用選項(xiàng):
-f? 開啟或關(guān)閉顯示用戶從何處登入系統(tǒng)。
-h? 不顯示各欄位的標(biāo)題信息列。
-l? 使用詳細(xì)格式列表,此為預(yù)設(shè)值。
-s? 使用簡潔格式列表,不顯示用戶登入時間,終端機(jī)階段作業(yè)和程序所耗費(fèi)的CPU時間。
-u? 忽略執(zhí)行程序的名稱,以及該程序耗費(fèi)CPU時間的信息。
-V? 顯示版本信息。
history命令 ?命令歷史是bash基礎(chǔ)特性之一
history命令默認(rèn)最大的保存條數(shù)是1000條,存放在用戶家目錄下.bash_history
控制history條數(shù)的環(huán)境變量:HISTSIZE 控制當(dāng)前shell進(jìn)程可保留的條數(shù)
HISTFILESIZE:控制命令歷史文件.bash_history保存的條數(shù)
HISTSIZE=100
HISTFILESIZE=100 ?這兩行追加到 當(dāng)前用戶家目錄下的.bash_profile 文件中就可以改變默認(rèn)值,要是都設(shè)為零,那么久禁用了歷史命令記錄。
命令用法:
history -c 清除當(dāng)前shell進(jìn)程中的命令記錄
history -d offset:刪除歷史記錄的第n條命令,例如:history -d5 刪除第五條命令記錄
history -r:從歷史文件列表到當(dāng)前歷史記錄列表中
history -w:
調(diào)用命令歷史列表的命令
!!或ctrl+p :重復(fù)執(zhí)行上一次命令
!n :執(zhí)行歷史命令列表第n條命令,例如!5,執(zhí)行命令列表第5條命令
!STRING:執(zhí)行命令歷史列表中最近一個以STRING開頭的命令。還可以輸入Ctrl+R進(jìn)行搜索。
小技巧:調(diào)用上一條命令的最后一個參數(shù):
快捷鍵:ESC, .
字符串:!$
例如:我執(zhí)行了ls /etc/sysconfig/network-scripts/ifcfg-eth后,然后在其他命令想再調(diào)用后面的參數(shù)/etc/sysconfig/network-scripts/ifcfg-eth ,先按下ESC鍵再按. ?就會引用進(jìn)來。很實(shí)用。
其它類
tty ?顯示當(dāng)前終端 ?例如
[root@dxl ~ 12:45:49]# tty
/dev/pts/0
偽終端是pty。
虛擬終端tty,centos7啟動后默認(rèn)有6個tty1–tty6,alt+F1-F6鍵切換
串行終端ttyS:用于串行試逐位數(shù)據(jù)傳輸,常見有25針9針連接器。
物理終端,控制臺:console,
echo命令??打印或輸出內(nèi)容,查詢變量值,常用于編程
[root@dxl ~ 12:46:19]# echo $HISTSIZE
1000
[root@dxl ~ 18:13:37]# echo $HISTFILESIZE
1000
語 法:echo [-ne][字符串]或 echo [–help][–version]
補(bǔ)充說明:echo會將輸入的字符串送往標(biāo)準(zhǔn)輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號。
參 數(shù):-n 不要在最后自動換行
-e 若字符串中出現(xiàn)以下字符,則特別加以處理,而不會將它當(dāng)成一般
文字輸出:
a 發(fā)出警告聲;
b 刪除前一個字符;
c 最后不加上換行符號;
f 換行但光標(biāo)仍舊停留在原來的位置;
n 換行且光標(biāo)移至行首;
r 光標(biāo)移至行首,但不換行;
t 插入tab;
v 與f相同;
\ 插入字符;
nnn 插入nnn(八進(jìn)制)所代表的ASCII字符;
–help 顯示幫助
–version 顯示版本信息export命令???設(shè)置或顯示環(huán)境變量。(比如我們要用一個命令,但這個命令的執(zhí)行文件不在當(dāng)前目錄,這樣我們每次用的時候必須指定執(zhí)行文件的目錄,麻煩,在代碼中先執(zhí)行export,這個相當(dāng)于告訴程序,執(zhí)行某某東西時,需要的文件或什么東東在這些目錄里)
語 法:export [-fnp][變量名稱]=[變量設(shè)置值]
補(bǔ)充說明:在shell中執(zhí)行程序時,shell會提供一組環(huán)境變量。 export可新增,修改或刪除環(huán)境變量,供后續(xù)執(zhí)行的程序使用。export的效力僅及于該此登陸操作。
參 數(shù):
-f 代表[變量名稱]中為函數(shù)名稱。
-n 刪除指定的變量。變量實(shí)際上并未刪除,只是不會輸出到后續(xù)指令的執(zhí)行環(huán)境中。
-p 列出所有的shell賦予程序的環(huán)境變量。
一個變量創(chuàng)建時,它不會自動地為在它之后創(chuàng)建的shell進(jìn)程所知。而命令export可以向后面的shell傳遞變量的值。當(dāng)一個shell腳本調(diào)用并執(zhí)行時,它不會自動得到原為腳本(調(diào)用者)里定義的變量的訪問權(quán),除非這些變量已經(jīng)被顯式地設(shè)置為可用。export命令可以用于傳遞一個或多個變量的值到任何后繼腳本。 —-《UNIX教程》startx??在虛擬終端接口輸入命令 startx &,可以啟動圖像界面接口
寫得不是很完善,有錯的地方請各位朋友幫指正。等到就業(yè)班課程看完程后再來個詳細(xì)的總結(jié)。