幾個(gè)簡單的命令
- 當(dāng)光標(biāo)前為#時(shí),代表當(dāng)前為管理員特權(quán),為$時(shí),代表是普通用戶權(quán)限。
- date:顯示當(dāng)前系統(tǒng)的日期和時(shí)間。
- cal:顯示當(dāng)月的日歷。
- df/du:查看磁盤可用空間。
- free:查看內(nèi)存可用空間。
- ps/top:查看進(jìn)程/查看實(shí)時(shí)進(jìn)程狀態(tài)(負(fù)載、內(nèi)存占用等)。
- netstat:用來打印網(wǎng)絡(luò)系統(tǒng)的使用情況。
- netstat -tunlp | grep java 查看java的端口占用。
- netstat -tunlp | grep 80 查看80端口的占用情況。
t:tcp;u:udp;p:program;l:listening;n:使用ip,而不是域名
- vmstat:輸出系統(tǒng)資源使用情況的快照,包括內(nèi)存,交換空間和磁盤I/O。如果想要持續(xù) 查看輸出,可以在命令后面加上一個(gè)間隔時(shí)間(以秒為單位),命令將按照間隔時(shí)間 來動(dòng)態(tài)更新顯示的內(nèi)容(比如,vmstat 5)。按下Ctrl-C鍵可以終止輸出。
導(dǎo)航
- pwd:查看工作目錄。
- ls:列出目錄內(nèi)容。
- cd:更改當(dāng)前目錄。
- 相對路徑 “.” :代表工作目錄,cd ./xxx,可以移動(dòng)到當(dāng)前目錄的xxx文件夾,其中./可以省略。
- 相對路徑 “..” :代表工作目錄的父目錄,cd .. 可以返回上級目錄。
- cd ~username:將工作目錄改變?yōu)閡sername的主目錄。
- 注意事項(xiàng)。
- “.” 開頭的文件名默認(rèn)隱藏。
- 文件名和命令區(qū)分大小寫。
- 命名詞語間使用下劃線。
操作文件和目錄
通配符:
- ?:匹配任意一個(gè)字符。
- *:匹配任意多個(gè)字符。例如:g*,以g開頭的任一文件。
- []:匹配其中一個(gè)字符。例如:[abc]*,以abc任意一個(gè)字符開頭的文件。
- {}:循環(huán)使用其中的字符。例如:{1,2,3}a相當(dāng)于1a 2a 3a;{1..3}相當(dāng)于1 2 3。
- ls:列出文件內(nèi)容。
- ls /usr:指定需要顯示的目錄。
- ls ~ /usr:指定多個(gè)目錄。
- ls -l:長格式輸出。
- ls -a:列出所有文件,包括隱藏文件。
- ls -lh:以M或者G展示文件大小。
- ls -c:根據(jù)創(chuàng)建時(shí)間排序展示。
- ls -t:根據(jù)修改時(shí)間排序。
- file filename:確定文件類型,調(diào)用后,打印出文件的簡短說明。
- cp:復(fù)制文件和目錄。
- cp /etc/nginx/nginx.conf .:復(fù)制nginx.conf文件到當(dāng)前目錄。
- r:復(fù)制目錄。
- i:覆蓋之前通知用戶確認(rèn)。
- mv:移動(dòng)或重命名文件和目錄。
- mv dir1 dir2:,如果dir2不存在,將dir1重命名為dir2,如果dir2存在且為目錄,將dir1移動(dòng)到dir2中。
- mkdir:創(chuàng)建目錄。
- rm:刪除文件和目錄。
- r:遞歸的刪除目錄。
- rm -rf *:刪除此文件夾下的所有文件,包括目錄,且無需提示。
- ln -s:創(chuàng)建符號鏈接(類似windows的快捷方式,在修改符號鏈接的時(shí)候,對應(yīng)的文件也會被修改)。
-
ln -s fun fun-sym:創(chuàng)建fun文件的符號鏈接。
fun--sym是fun的符號鏈接
- touch:創(chuàng)建文件/修改文件時(shí)間。
- cat/more/less:查看文件,常用less。
- less -N filename:顯示行號。
- tail/head:查看文件的前/后十行,常用-f查看實(shí)時(shí)文件。
- tar -cvf file1.jar /test:將test目錄添加到file1壓縮文件。
- tar -xvf :解壓jar包。
- tar -zxvf:解壓從網(wǎng)上下載的 .tgz文件。
- find:查找文件。
- find / -name profile:查找根目錄下名字包含profile的文件。
- uniq:報(bào)告或刪除文件中重復(fù)的行。
- ps -ef | uniq | grep java。
- wc:打印文件中的換行符、字和字節(jié)的個(gè)數(shù)。
- find /usr | wc -l:打印usr目錄中文件的數(shù)量。
- grep:打印匹配行。
- grep a file:輸出file中包含a的字符。
- ls /bin | grep mk,輸出bin目錄下包含mk的文件名。
-
sort:排序。
sort排序排序的是行,默認(rèn)將每行根據(jù)空格分隔。
例如:根據(jù)文件內(nèi)容的第五列排序。-k指定根據(jù)哪一列排序
sort.jpg
- sort file:按字符順序排序文件后輸出。
- sort -n file:按數(shù)字順序排序。
- sort -M file:按月份順序排序。
- sort -r file:倒序排序。
命令的使用
- type:顯示命令的類型。
- 可執(zhí)行程序:比如type nginx。
- shell內(nèi)置命令:比如type cd。(執(zhí)行內(nèi)置命令時(shí)不會創(chuàng)建子線程)
- shell函數(shù):比如 type mkdir。
- alias命令:我們可以再其他命令的基礎(chǔ)上定義自己的命令。
- which:顯示可執(zhí)行程序的位置。
- 比如which nginx,確定nginx的準(zhǔn)確位置。
- whatis:顯示一條命令的簡述。
- 比如 whatis rm。
- alias:創(chuàng)建一條命令的別名。
- 比如alias foo='cd /usr; ls; cd -',把多個(gè)指令融合成一個(gè)指令,再取一個(gè)別名。
- 再比如 alias ls=‘ls --color=tty’,將原有的指令進(jìn)行擴(kuò)展。
重定向
將輸出重定向到文件:ls -l /usr/bin > ls-output.txt,當(dāng)ls指定的目錄不存在時(shí)會創(chuàng)建一個(gè)空的ls-output.txt文件。
繼續(xù)向文件尾部添加輸出內(nèi)容:ls -l /usr/bin >> ls-output.txt。
將標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤都重定向到文件:ls -l /usr/bin &> ls-output.txt。
- cat:查看/合并文件。
- 通常用來顯示短的文本文件,cat filename。
- 可以用來合并文件內(nèi)容,cat ls-output.txt nginx.conf > play.txt。
- 也可以用來創(chuàng)建文件,cat > test1,然后輸入內(nèi)容,輸入結(jié)束后按ctrl+d結(jié)束。
- “|“:管道操作符。
- 管道操作符可以吧一個(gè)命令的標(biāo)準(zhǔn)輸出傳送到另一個(gè)命令的標(biāo)準(zhǔn)輸入中。例如 ps -ef | grep java。
子shell和子進(jìn)程
-
什么是子shell:ps -f指令中打印多個(gè)bash進(jìn)程說明有子shell。
子shell.jpg 創(chuàng)建子shell的三種方式。
- 進(jìn)程列表(指令1;指令2;指令3)。
- &。
- 創(chuàng)建協(xié)程 coproc指令。
-
子進(jìn)程
父進(jìn)程和子進(jìn)程間可通過信號(signaling)通信。
子進(jìn)程.jpg
- shell內(nèi)置指令不會創(chuàng)建子進(jìn)程。
- shell函數(shù)、hashed指令或其他指令會創(chuàng)建子進(jìn)程。
shell的環(huán)境變量配置
- env:查看全部全局環(huán)境變量。
- echo $變量名:查看某個(gè)環(huán)境變量。
- 變量名=變量值:定義局部環(huán)境變量。
- export變量名:將局部環(huán)境變量轉(zhuǎn)為全局。
- unset:刪除環(huán)境變量。
如果要查看變量,使用$,如果操作變量,不使用$。
- 配置永久環(huán)境變量在/etc/profile中,linux在啟動(dòng)時(shí)會讀取該配置文件,將環(huán)境變量寫入。
- 配置永久alias在~/.bashrc中,也可以在bashrc中配置定制提示符。
PS1="\[\033[0;33m\]<\u@\h \W>\$"
export PS1

定制提示符.jpg
shell的文件權(quán)限
ls -l可以查看文件的權(quán)限。
一般是由四部分組成。

文件權(quán)限.jpg
文件myprog有下面4組權(quán)限。
- 第一位‘-’:文件的類型,‘-’代表文件,d代表目錄。
- rwx:文件的屬主,權(quán)限為可讀可寫可執(zhí)行。
- rwx:文件的屬組,權(quán)限同上。
- r-x:系統(tǒng)上其他人,權(quán)限可讀可執(zhí)行。
chmod:修改文件權(quán)限。
例如:

修改文件權(quán)限.jpg
7、6、0分別代表屬主,屬組,其他人的權(quán)限。
7代表二進(jìn)制111,對應(yīng)屬主可讀可寫可執(zhí)行。
6代表110,代表屬組可讀可寫。
0代表000,代表其他人沒有任何權(quán)限。
vim文本編輯器
- 普通模式
- G:移動(dòng)到最后一行。n G:移動(dòng)到n行。
- gg:移動(dòng)到第一行。
- dd:刪除/剪切一行。
- x:刪除光標(biāo)處字符。
- u:撤銷。
- y:復(fù)制。
- p:粘貼。
- v:高亮選擇。
- 編輯模式
- n:查找下一個(gè)。
- 命令行模式
- q:如果未修改,退出。
- q!:如果修改了,不保存、退出。
- w filename:將文件保存到另一個(gè)文件中。
- wq:保存退出。
- noh:取消查找。
- set nu:顯示行號。



