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----指定操作物件檔案的名字
-------------------------------------------------
檔案的型別: - 普通檔案 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