linux命令行大全閱讀筆記

幾個(gè)簡單的命令

  1. 當(dāng)光標(biāo)前為#時(shí),代表當(dāng)前為管理員特權(quán),為$時(shí),代表是普通用戶權(quán)限。
  2. date:顯示當(dāng)前系統(tǒng)的日期和時(shí)間。
  3. cal:顯示當(dāng)月的日歷。
  4. df/du:查看磁盤可用空間。
  5. free:查看內(nèi)存可用空間。
  6. ps/top:查看進(jìn)程/查看實(shí)時(shí)進(jìn)程狀態(tài)(負(fù)載、內(nèi)存占用等)。
  7. 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,而不是域名
  1. vmstat:輸出系統(tǒng)資源使用情況的快照,包括內(nèi)存,交換空間和磁盤I/O。如果想要持續(xù) 查看輸出,可以在命令后面加上一個(gè)間隔時(shí)間(以秒為單位),命令將按照間隔時(shí)間 來動(dòng)態(tài)更新顯示的內(nèi)容(比如,vmstat 5)。按下Ctrl-C鍵可以終止輸出。

導(dǎo)航

  1. pwd:查看工作目錄。
  2. ls:列出目錄內(nèi)容。
  3. cd:更改當(dāng)前目錄。
  • 相對路徑 “.” :代表工作目錄,cd ./xxx,可以移動(dòng)到當(dāng)前目錄的xxx文件夾,其中./可以省略。
  • 相對路徑 “..” :代表工作目錄的父目錄,cd .. 可以返回上級目錄。
  • cd ~username:將工作目錄改變?yōu)閡sername的主目錄。
  1. 注意事項(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。

  1. 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í)間排序。
  1. file filename:確定文件類型,調(diào)用后,打印出文件的簡短說明。
  2. cp:復(fù)制文件和目錄。
  • cp /etc/nginx/nginx.conf .:復(fù)制nginx.conf文件到當(dāng)前目錄。
  • r:復(fù)制目錄。
  • i:覆蓋之前通知用戶確認(rèn)。
  1. mv:移動(dòng)或重命名文件和目錄。
  • mv dir1 dir2:,如果dir2不存在,將dir1重命名為dir2,如果dir2存在且為目錄,將dir1移動(dòng)到dir2中。
  1. mkdir:創(chuàng)建目錄。
  2. rm:刪除文件和目錄。
  • r:遞歸的刪除目錄。
  • rm -rf *:刪除此文件夾下的所有文件,包括目錄,且無需提示。
  1. ln -s:創(chuàng)建符號鏈接(類似windows的快捷方式,在修改符號鏈接的時(shí)候,對應(yīng)的文件也會被修改)。
  • ln -s fun fun-sym:創(chuàng)建fun文件的符號鏈接。


    fun--sym是fun的符號鏈接
  1. touch:創(chuàng)建文件/修改文件時(shí)間。
  2. cat/more/less:查看文件,常用less。
  • less -N filename:顯示行號。
  1. tail/head:查看文件的前/后十行,常用-f查看實(shí)時(shí)文件。
  2. tar -cvf file1.jar /test:將test目錄添加到file1壓縮文件。
  3. tar -xvf :解壓jar包。
  4. tar -zxvf:解壓從網(wǎng)上下載的 .tgz文件。
  5. find:查找文件。
  • find / -name profile:查找根目錄下名字包含profile的文件。
  1. uniq:報(bào)告或刪除文件中重復(fù)的行。
  • ps -ef | uniq | grep java。
  1. wc:打印文件中的換行符、字和字節(jié)的個(gè)數(shù)。
  • find /usr | wc -l:打印usr目錄中文件的數(shù)量。
  1. grep:打印匹配行。
  • grep a file:輸出file中包含a的字符。
  • ls /bin | grep mk,輸出bin目錄下包含mk的文件名。
  1. sort:排序。
    sort排序排序的是行,默認(rèn)將每行根據(jù)空格分隔。
    例如:根據(jù)文件內(nèi)容的第五列排序。-k指定根據(jù)哪一列排序
    sort.jpg
  • sort file:按字符順序排序文件后輸出。
  • sort -n file:按數(shù)字順序排序。
  • sort -M file:按月份順序排序。
  • sort -r file:倒序排序。

命令的使用

  1. type:顯示命令的類型。
  • 可執(zhí)行程序:比如type nginx。
  • shell內(nèi)置命令:比如type cd。(執(zhí)行內(nèi)置命令時(shí)不會創(chuàng)建子線程)
  • shell函數(shù):比如 type mkdir。
  • alias命令:我們可以再其他命令的基礎(chǔ)上定義自己的命令。
  1. which:顯示可執(zhí)行程序的位置。
  • 比如which nginx,確定nginx的準(zhǔn)確位置。
  1. whatis:顯示一條命令的簡述。
  • 比如 whatis rm。
  1. 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。

  1. cat:查看/合并文件。
  • 通常用來顯示短的文本文件,cat filename。
  • 可以用來合并文件內(nèi)容,cat ls-output.txt nginx.conf > play.txt。
  • 也可以用來創(chuàng)建文件,cat > test1,然后輸入內(nèi)容,輸入結(jié)束后按ctrl+d結(jié)束。
  1. “|“:管道操作符。
  • 管道操作符可以吧一個(gè)命令的標(biāo)準(zhǔn)輸出傳送到另一個(gè)命令的標(biāo)準(zhǔn)輸入中。例如 ps -ef | grep java。

子shell和子進(jìn)程

  1. 什么是子shell:ps -f指令中打印多個(gè)bash進(jìn)程說明有子shell。


    子shell.jpg
  2. 創(chuàng)建子shell的三種方式。

  • 進(jìn)程列表(指令1;指令2;指令3)。
  • &。
  • 創(chuàng)建協(xié)程 coproc指令。
  1. 子進(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)境變量配置

  1. env:查看全部全局環(huán)境變量。
  2. echo $變量名:查看某個(gè)環(huán)境變量。
  3. 變量名=變量值:定義局部環(huán)境變量。
  4. export變量名:將局部環(huán)境變量轉(zhuǎn)為全局。
  5. unset:刪除環(huán)境變量。

如果要查看變量,使用$,如果操作變量,不使用$。


  1. 配置永久環(huán)境變量在/etc/profile中,linux在啟動(dòng)時(shí)會讀取該配置文件,將環(huán)境變量寫入。
  2. 配置永久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文本編輯器

  • 普通模式
  1. G:移動(dòng)到最后一行。n G:移動(dòng)到n行。
  2. gg:移動(dòng)到第一行。
  3. dd:刪除/剪切一行。
  4. x:刪除光標(biāo)處字符。
  5. u:撤銷。
  6. y:復(fù)制。
  7. p:粘貼。
  8. v:高亮選擇。
  • 編輯模式
  1. n:查找下一個(gè)。
  • 命令行模式
  1. q:如果未修改,退出。
  2. q!:如果修改了,不保存、退出。
  3. w filename:將文件保存到另一個(gè)文件中。
  4. wq:保存退出。
  5. noh:取消查找。
  6. set nu:顯示行號。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一章 引言 shell 是和鍵盤打交道的,但你也可以在終端仿真器里使用鼠標(biāo)。X 窗口系統(tǒng) (使 GUI 工作的底...
    cccshuang閱讀 389評論 0 0
  • Linux常用命令大全(非常全?。。。?最近都在和Linux打交道,感覺還不錯(cuò)。我覺得Linux相比windows...
    我想起個(gè)好名字閱讀 351評論 0 1
  • 最近都在和Linux打交道,這方面基礎(chǔ)比較薄弱的我只好買了本鳥哥的書看看,感覺還不錯(cuò)。我覺得Linux相比wind...
    blvftigd閱讀 884評論 0 0
  • 系統(tǒng)信息arch 顯示機(jī)器的處理器架構(gòu)(1)uname -m 顯示機(jī)器的處理器架構(gòu)(2)uname -r 顯示正在...
    流光汐舞閱讀 260評論 0 0
  • **系統(tǒng)信息 **arch 顯示機(jī)器的處理器架構(gòu)(1)uname -m 顯示機(jī)器的處理器架構(gòu)(2)uname -r...
    淡淡紫色閱讀 287評論 0 1

友情鏈接更多精彩內(nèi)容