1. 程式人生 > >Linux 常用shell命令

Linux 常用shell命令

裝應用程式 sudo apt-get update sudo apt-get install tree sudo apt-get remove xxx

ls cp  cd cat  pwd

mkdir 功能:新建目錄 用法:    mkdir xxx         mkdir -p a/b/c rmdir 功能:刪除空目錄 用法:rmdir xxx         rmdir -p a/b/c      在刪除掉空目錄c後,如果b也為空目錄,把b也刪除,以此類推

mv touch  功能:修改某個檔案的時間戳,如果檔案不存在,新建出來 用法:touch xxx     檢視時間戳可用 ls -l xxx      find 功能:在指定的目錄下,查詢某個檔案 用法:find dir/ -name xxx

grep  功能:在某個檔案的內容中查詢指定的字串 用法:grep "hello" -nHrw   n--打出行號,H---打出檔名,r--遞迴查詢子目錄下的檔案內容,w--

wc 功能:統計某個檔案中的行數、單詞數、字元數 用法:wc a.txt     wc -c a.txt          -w         -l

tar 功能:打包,根據不同選項實現打包壓縮或解壓解包 用法:     tar -jxvf a.tar.bz2     tar -zcvf b.tar.gz xxx/         j----處理的是bzip2格式的         z----處理的是gz格式的         x----解包解壓         c----打包壓縮         v----顯示過程資訊         f----指定操作物件檔案的名字   -------------------------------------------------

[email protected]:~$ ls -l hello.c    -            rw-                   rw-         r--              1 gec        gec 160 Aug  2 18:51 hello.c 檔案型別  檔案所有者的許可權        所屬組的許可權    其它使用者的許可權                     檔案所有者    使用者組     r---可讀,對於普通檔案,表示可以讀取檔案內容;對於目錄,表示可以檢視目錄項 w---可寫:對於普通檔案,表示修改檔案內容;對於目錄,表示可以增刪目錄項 x---可執行:表示可以把檔案載入到記憶體;對於目錄,表示可以進入目錄 -   表示無對應許可權

檔案的型別:             -     普通檔案             d     目錄檔案             l    軟連線             c    字元裝置檔案(裝置節點)             b    塊裝置檔案             p    管道             s    套接字

chmod 功能:修改檔案許可權 用法:chmod 777 xxx.txt             111  111 111              rwx  rwx rwx             666             rw- rw- rw-         chmod u+x,o-x,g+w xxx.txt         chmod o+x xxx.txt         u----user 檔案的所有者         g----group 所屬組         o----others 其它使用者      chown 功能:修改檔案的所有者 用法:sudo chown ownername  filename     sudo chown  zhangsan a.c      chgrp 功能:修改檔案所屬組 用法:sudo chgrp groupname filename

umask   0  0  2 000 000 010 111 111 101

int open(const char *pathname, int flags, mode_t mode);

open("a.txt",O_CREAT | O_RDWR,0777); (mode & ~umask) 777 & ~(0002)--------775

ps 功能:檢視程序狀態 用法:ps -ef     ps aux     ps ajx top     功能:動態重新整理程序狀態 用法:top      kill 功能:向指定的程序髮指定的訊號 用法: kill -2 pid         kill -s SIGKILL 23059                  kill -l 可以檢視系統中的所有訊號 man 7 signal  可檢視訊號的預設處理方式 man -f read  檢視read有哪些manual                  killall 功能:向名字為xxx程序發出SIGTERM訊號 用法:killall xxx --------------------------------------------------

diff/patch  製作補丁/打補丁 diff old/ new/ -ruN > patch.old cd old patch -p1 < ../patch.old

patch -p1 < ../patch.old -R  //打補丁的反操作

sort 功能:讀取檔案內容按ascii對每行排序輸出,不修改檔案本身 用法:sort a.txt  > b.txt

less/more 分屏顯示 less /etc/adduser.conf  more /etc/adduser.conf 

head/tail

head /etc/adduser.conf  tail /etc/adduser.conf  head -n 5 /etc/adduser.conf  tail -n 5 /etc/adduser.conf  head -n 20 /etc/adduser.conf | tail head -n 20 /etc/adduser.conf | tail -n 1

file 功能:檢視檔案資訊 用法: file xxx

ln  軟連結:相當於win的快捷方式 ln -s target softlink ln -s a.txt  a.soft

硬連結:複製+同步更新 ln a.c a.hard a.hard 與a.c 的inode相同,連結數也一樣

tree  tree -L 2 / 以樹狀結構列出根目錄/下的檔案,只列出兩層目錄

which [email protected]:~/v2.0$ which ls /bin/ls

whereis [email protected]:~/v2.0$ whereis which which: /usr/bin/which /bin/which /usr/share/man/man1/which.1.gz

alias----給命令起外號 alias c=clear

unalias---取消外號 unalias c

adduser----建立家目錄,準備整套工作環境 sudo adduser zhangsan

useradd---不建立家目錄,不準備環境 sudo useradd lisi

userdel----刪除使用者 sudo userdel lisi

su su zhangsan ---使用原使用者的環境變數和工作目錄 su - zhangsan --使用自己的環境變數和工作目錄

sudo sudo -u username  xxx 以username使用者的身份許可權 做xxx sudo chown a.txt 預設以root的身份許可權

ifconfig 檢視/修改IP sudo ifconfig ens33 192.168.23.4

netstat ping ping xxx.xxx.xxx.xxx

du df

mount umount

/ ├── bin   ---可執行的程式 ├── boot  ---系統啟動相關檔案 ├── cdrom ├── dev    ---裝置檔案 ├── etc        ---配置檔案 ├── home     ├── initrd.img -> boot/initrd.img-4.10.0-37-generic ├── initrd.img.old -> boot/initrd.img-4.10.0-35-generic ├── lib     ---庫 ├── lib32 ├── lib64 ├── lost+found  ├── media   ├── mnt  ---常用的掛載目錄 ├── opt    ├── proc  ---虛擬檔案系統,系統執行的各種資訊都在該目錄下 ├── root ---超級使用者的家 ├── run ├── sbin ---只有root有許可權執行的可執行程式 ├── snap ├── srv ├── sys ------系統中核心驅動相關資訊在此目錄下 ├── tmp ├── usr-------使用者程式、標頭檔案 庫 ├── var------易變的,例如系統日誌檔案 ├── vmlinuz -> boot/vmlinuz-4.10.0-37-generic └── vmlinuz.old -> boot/vmlinuz-4.10.0-35-generic