mkdir
mkdir hello 在當(dāng)前目錄下創(chuàng)建一個名為/hello的目錄
mkdir -p hello/hi 創(chuàng)建一個名為/hello的目錄,并在目錄下再創(chuàng)建一個名為/hi的目錄
rm
-f 強制刪除
-i 在刪除前需要確認
-r 遞歸刪除目錄及其內(nèi)容
-v 詳細顯示進行的步驟
rm -i test.txt? ? ? ? ? ? ? -刪除test.txt文件剪菱,刪除前需要確認
rm -rf id_photo ? ? ? ? ?-強制刪除id_photo目錄及其以下包含所有子目錄亭引,不提示確認
rar,tar解壓
rar: unrar e/x file.rar
tar: tar xvf model.tar.gz
sort 可針對文本文件的內(nèi)容缩举,以行為單位來排序。
-f 忽略大小寫
-n 按照數(shù)值大小排序
-u 排序時去掉重復(fù)行
-r 倒序
ln 鏈接文件
軟鏈接:當(dāng)前目錄為目標(biāo)目錄煌寇,ln -s 目標(biāo)文件所在目錄 樟遣。在磁盤中不占用內(nèi)存空間∠舴停可以跨越磁盤分區(qū),同時也可以對一個不存在的文件名進行鏈接桐筏,但直到這個名字對應(yīng)的文件被創(chuàng)建后纸型,才能打開其鏈接。與windows快捷方式相似梅忌。
硬鏈接:當(dāng)前目錄為目標(biāo)目錄狰腌,ln 目標(biāo)文件所在目錄。將生成完全相同的占用內(nèi)存的文件牧氮。不可以跨越磁盤分區(qū)琼腔。
查看計算機配置
cat /proc/cpuinfo |grep name
查看內(nèi)存 free -m
由結(jié)果了解到計算機內(nèi)存為16G
查看掛載點的空間使用情況:df -h
由結(jié)果了解到硬盤(/dev/sda1)數(shù)量為1,容量為2T踱葛。
查看當(dāng)前使用的網(wǎng)絡(luò)端口 netstat
顯示與 IP丹莲、TCP、UDP 和 ICMP 協(xié)議相關(guān)的統(tǒng)計數(shù)據(jù)尸诽,一般用于檢驗本機各端口的網(wǎng)絡(luò)連接情況圾笨。
查看目錄大小:du
du -a 顯示目錄以及子目錄逊谋,文件的大小
du -s 只顯示目錄大小
du -h 為每個數(shù)附加一個表示大小單位的字母,如:用M表示二進制 的兆字節(jié)土铺。
du -c 在處理完所有參數(shù)后給出所有這些參數(shù)的總計
查看進程狀態(tài):ps
ps -ef 用標(biāo)準(zhǔn)格式顯示進程
ps aux 用BSD格式顯示進程
超級用戶su/sudo
su的用途是讓用戶暫時改變登入者的身份胶滋,變更時要輸入所要變更用戶的用戶名和密碼板鬓。例如切換到root超級用戶,命令為$ su root 然后輸入root用戶密碼即可究恤。
有時俭令,我們并不想切換用戶,只是想臨時使用一下root權(quán)限部宿,就可以使用sudo命令抄腔。如 sudo gedit /etc/shadow,表示臨時使用root權(quán)限來編輯/etc/shadow密碼文件理张。
遠程拷貝命令 scp/rsync ssh
如果機器之間可以相互ping通赫蛇,就可以使用scp或者rsync -avzP命令進行本地或與遠程主機間的文件或目錄備份。
命令格式:
scp ?本地文件的絕對路徑/要復(fù)制到服務(wù)器上的本地文件 登錄到遠程服務(wù)器的用戶@遠程服務(wù)器的ip地址:將本地文件復(fù)制到位于遠程服務(wù)器上的路徑
例如:將本地的face_platform.tar.xz以用戶yituadmin復(fù)制到ip為10.24.156.12的遠程服務(wù)器的根目錄下:
scp face_platform.tar.xzyituadmin@10.24.156.12:~/
可使用rsync -avzP命令代替scp雾叭,傳輸速度更快悟耘、更安全、占用帶寬更少织狐、權(quán)限越靈活暂幼。
ssh:ssh user@host 實現(xiàn)遠程登錄主機
ssh -p 2222 user@host SSH的默認端口是22,也就是說移迫,你的登錄請求會送進遠程主機的22端口旺嬉。使用p參數(shù),可以修改這個端口厨埋。
chmod
用來修改某個目錄或文件的訪問權(quán)限邪媳。
eg: rw-r--r--
文件的權(quán)限是這樣子分配的 讀 寫 可執(zhí)行,分別對應(yīng)的是 r(4)w(2) x(1)揽咕。如果沒有那一個權(quán)限悲酷,用 - 代替,然后又分了三個類別的權(quán)限亲善。分別是文件所有者有讀和寫的權(quán)限设易,文件所屬組也有讀的權(quán)限,然后其他用戶只有讀的權(quán)限.
chmod 777代表 文件所有者蛹头,文件所屬組顿肺,其他用戶均具有讀,寫渣蜗,可執(zhí)行的權(quán)限屠尊。
chmod 777 文件名 or 目錄名/* 賦權(quán)限
chown?
用來更改某個目錄或文件的用戶名和用戶組的
chown 用戶名:組名 文件路徑(可以是就對路徑也可以是相對路徑)
例1:chown root:root /tmp/tmp1
就是把tmp下的tmp1的用戶名和用戶組改成root和root(只修改了tmp1的屬組).
例2:chown -R root:root /tmp/tmp1
就是把tmp下的tmp1下的所有文件的屬組都改成root和root。
wc 統(tǒng)計文件的字節(jié)數(shù)耕拷、字?jǐn)?shù)讼昆、行數(shù)
wc -l 文件名 查看文件有多少行
wc -c 文件名 統(tǒng)計字節(jié)數(shù)
wc -w 文件名 統(tǒng)計字?jǐn)?shù)
wget
wget https://www.baidu.com/
wget -c https://www.baidu.com/ 當(dāng)文件特別大或者網(wǎng)絡(luò)特別慢的時候,往往一個文件還沒有下載完骚烧,連接就已經(jīng)被切斷浸赫,此時就需要斷點續(xù)傳闰围。wget的斷點續(xù)傳是自動的,只需要使用-c參數(shù)既峡。
wget -i download.txt 如果有多個文件需要下載羡榴,那么可以生成一個文件,把每個文件的URL寫一行运敢,例如生成文件download.txt校仑,
然后用命令wget -i 這樣就會把download.txt里面列出的每個URL都下載下來。(如果列的是文件就下載文件传惠,如果列的是網(wǎng)站迄沫,那么下載首頁)
tail
tail 用于在屏幕上顯示指定文件的末尾若干行
tail -f ./passwd? #參數(shù)-f使tail不停地去讀最新的內(nèi)容,因此有實時監(jiān)視的效果涉枫,用Ctrl+c來終止
tail -n 2 /etc/passwd? #顯示最后2行
tail /etc/passwd? #默認邢滑,顯示最后10 行
vi 文本編譯器
:set nu在命令模式下,用于在最左端顯示行號愿汰;
:set nonu在命令模式下困后,用于在最左端不顯示行號;
gg移動光標(biāo)到文檔首行衬廷;
G移動光標(biāo)到文檔尾行摇予;
/字符串文本查找操作,用于從當(dāng)前光標(biāo)所在位置開始向文件尾部查找指定字符串的內(nèi)容吗跋,查找的字符串會被加亮顯示侧戴;
:s/root/test/g將光標(biāo)所在行出現(xiàn)的root字符串替換為test
:%s/root/test/g將當(dāng)前文件中所有root字符串替換為test
crontab
crontab -e 編輯定時任務(wù)
crontab -l 查看定時任務(wù)
m h dom mon dow command
分 時 日 月 周 執(zhí)行命令
實例1:每1分鐘執(zhí)行一次myCommand
*****myCommand
實例2:每小時的第3和第15分鐘執(zhí)行
3,15****myCommand
實例3:在上午8點到11點的第3和第15分鐘執(zhí)行
3,158-11***myCommand
實例4:每隔兩天的上午8點到11點的第3和第15分鐘執(zhí)行
3,158-11*/2**myCommand
實例5:每周一上午8點到11點的第3和第15分鐘執(zhí)行
3,158-11**1myCommand
實例6:每晚的21:30重啟smb
3021***/etc/init.d/smbrestart
實例7:每月1、10跌宛、22日的4 : 45重啟smb
4541,10,22**/etc/init.d/smbrestart
實例8:每周六酗宋、周日的1 : 10重啟smb
101**6,0/etc/init.d/smbrestart
實例9:每天18 : 00至23 : 00之間每隔30分鐘重啟smb
0,3018-23***/etc/init.d/smbrestart
實例10:每星期六的晚上11 : 00 pm重啟smb
023**6/etc/init.d/smbrestart
實例11:每一小時重啟smb
**/1***/etc/init.d/smbrestart
實例12:晚上11點到早上7點之間,每隔一小時重啟smb
023-7***/etc/init.d/smbrestart
重定向和管道符
我們知道疆拘,執(zhí)行一個shell命令行時通常會自動打開三個標(biāo)準(zhǔn)文件蜕猫,即標(biāo)準(zhǔn)輸入文件(stdin 代碼0,符號<或<<)哎迄,通常對應(yīng)終端的鍵盤回右;標(biāo)準(zhǔn)輸出文件(stdout 代碼1,符號>或>>)和標(biāo)準(zhǔn)錯誤輸出文件(stderr 代碼2漱挚,符號2>或2>>)翔烁,這兩個文件都對應(yīng)終端的屏幕。
重定向:
輸入重定向:是指把命令(或可執(zhí)行程序)的標(biāo)準(zhǔn)輸入重定向到指定的文件中旨涝。也就是說蹬屹,輸入可以不來自鍵盤,而來自一個指定的文件。
輸出重定向(>):是指把命令(或可執(zhí)行程序)的標(biāo)準(zhǔn)輸出或標(biāo)準(zhǔn)錯誤輸出重新定向到指定文件中哩治。這樣秃踩,該命令的輸出就不顯示在屏幕上,而是寫入到指定文件中业筏。
追加重定向(>>):與輸出重定向的功能非常相似, 區(qū)別僅在于輸出追加重定向的功能是把命令(或可執(zhí)行程序)的輸出結(jié)果追加到指定文件的最后鸟赫,而該文件原有內(nèi)容不被破壞蒜胖。
&&:前面成功,則執(zhí)行后面一條抛蚤,否則台谢,不執(zhí)行
||:前面失敗,則后一條執(zhí)行
ls *.txt && echo suss! || echo failed
將標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤重定向到同一文件
ls? proc/*.c > list 2> &l? 與 ls proc/*.c&>list等價
清空文件 :>a.txt
管道:
將一個程序或命令的輸出作為另一個程序或命令的輸入
cat a.txt | grep "hello"
xargs
xargs 能夠?qū)⑤斎霐?shù)據(jù)轉(zhuǎn)化為特定命令的命令行參數(shù)
將多行輸出轉(zhuǎn)化為單行輸出
cat file.txt | xargs
將單行轉(zhuǎn)化為多行輸出
cat single.txt | xargs -n 3
unqi
消除重復(fù)行
sort unsort.txt | uniq
統(tǒng)計各行在文件中出現(xiàn)的次數(shù)
sort unsort.txt | uniq-c
找出重復(fù)行
sort unsort.txt | uniq-d
find
找出后綴名為.txt的文件
find . \( -name "*.txt" \)
找出后綴名不是.txt的文件
find . ! -name "*.txt" -print
指定搜索深度,打印出當(dāng)前目錄的文件(深度為1):
find.-maxdepth1-typef
tr
echo "HELLO WORLD" | tr 'A-Z' 'a-z'?
hello world
字符串替換
cat test.txt| tr 'hello' 'hey '
用tr壓縮字符岁经,可以壓縮輸入中重復(fù)的字符:
echo "thissss is a text linnnnnnne." | tr -s 'sn'
this is a text line
cut
去除文件的指定列
cut -f2,4 filename
去除文件除第三列的所有列
cut 取的單位:
-b 以字節(jié)為單位
-c 以字符為單位
-f 以字段為單位(使用定界符)
paste
paste file1 file2
查看CPU
sar -u 1 2
后面的兩個參數(shù)表示監(jiān)控的頻率朋沮,比如例子中的1和2,表示每秒采樣一次缀壤,總共采樣2次樊拓;
查看內(nèi)存
free -m
查看硬盤使用情況
df -h
man 命令
linux內(nèi)部存儲著一部使用手冊,權(quán)限是所有用戶塘慕,以供用戶在終端查找筋夏。
man ?獲取指定命令的幫助
man -f (要查找的命令)等同于whatis 查看命令擁有哪個級別的幫助
man 命令等級號 要查找的命令
例如:$ man -f grep?
grep (1)? ? ? ? ? ? - print lines matching a pattern
$man 1 grep
即可找到。
man -k (要查找的命令)等同于apropos命令