我個人推薦smart work, 在我的team從來不鼓勵加班,所以如何做高效工作呢,那就是高效利用我們的開發工具,只有熟練的使用武器才能給你減少時間上的浪費,從而帶來一些時間增益。下面我這邊將匯總一些常用工具快捷鍵,可以提高我們工作效率;
1. VIM編輯器指令匯總
3. Docker常用指令匯總
4. IDEA常用快捷鍵匯總
6. Win10常用快捷鍵匯總
建議所有的快捷鍵每個季度花一個小時復習一遍,直到完全被你的手指記住~
ubuntu本身也是基於linux的內核開發,所以command指令也是從linux繼承過來的,所以這篇隨筆將分為兩部分,一是ubuntu的指令 二是ubuntu界面端常用快捷鍵
1. ubuntu指令匯總
1.1 linux的目錄結構

1.2 linux vim 指令
可以參考我的這篇博客: VIM編輯器指令匯總
1.3 linux 用戶管理
1.3.1 用戶常用指令
創建用戶默認在 /home目錄下 useradd username 創建用戶並指定目錄 useradd -d /xxxx username 指定和修改密碼 passwd username 刪除用戶 userdel username 刪除用戶及目錄 userdel -r username 查詢用戶信息 id username 查看當前用戶 whoami 切換用戶 su - username
1.3.2 用戶組常用指令
添加用戶組 groupadd xxxxx 修改用戶組 usermod -g usergroup username
刪除用戶組
groupdel xxxxx
1.3.3 查看和用戶相關文件
cat /etc/passwd user的配置文件,記錄用戶的各種信息 每行的含義:用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
cat /etc/shadow 口令的配置文件 每行的含義:登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
cat /etc/group group的配置文件,記錄Linux包含的組的信息 每行含義:組名:口令:組標識號:組內用戶列表
1.4 linux 幫助指令
man man
help
1.5 linux 文件目錄指令
1.5.1 創建文件和目錄
pwd - 查看目錄的絕對路徑 ll 或 ls - 顯示當前目錄所有的文件和目錄 cd - 切換目錄 1. cd 回到自己的家目錄 2. cd .. 回到上級目錄 3. cd - 切換到上一次目錄 mkdir - 創建目錄 1. mkdir /xxxx 創建多級目錄 2. mkdir -p /xxx/xx/xx 創建多級目錄 rm -rf - 刪除目錄 touch - 創建空文件
1.5.2 cp 和mv
cp - 拷貝 1. cp xx.txt /xxx 拷貝文件到目錄 2. cp -r xx/xx /aa/bb 拷貝整個文件夾 3. \cp -r xx/xx /aa/bb 強制覆蓋不提示 mv - 移動 1. mv oldName newName 重命名 2. mv /xxx /targetFolder 移動文件或文件夾
1.5.3 查看文件
cat - 查看文件 1. cat aa.txt 2. cat -n 顯示行號 more - 查看文件按頁顯示 空白鍵 向下翻一頁 Enter 向下翻一行 = 輸出當前行號 q 退出 less - 查看文件按頁顯示 空白鍵 向下翻一頁 /字符 搜索字符 n-向下找 N-向上找 q 退出 echo - 輸出內容 head - 查看文件開頭部分 默認顯示10行 -n 數字 顯示多少行 tail - 查看文件尾部 默認顯示10行 -n 數字 顯示多少行 -數字f 實時顯示並追蹤多少行
1.5.4 > 和 >>
> - 輸出重定向 >> - 追加 1. ll > a.txt 列表的內容寫入文件 a.txt 中(覆蓋寫) 2. ll >> a.txt 列表的內容追加到文件 aa.txt 的末尾 3. cat a.txt > b.txt 將文件 a.txt 的內容覆蓋到文件 b.txt 4. echo "內容">> a.txt 追加內容到a.txt
1.5.5 ln
ln - 軟鏈接,類似於 windows 里的快捷方式 1. ln -s [原文件或目錄] [軟鏈接名] 2. 刪除軟連接用rm
1.5.6 histery
history - 查看執行過歷史命令 1. history - 顯示所有的歷史命令 2. history 10 - 顯示最近使用過的10個指令 3. !555 - 執行歷史編號為555的指令
1.6 時間日期指令
date - 顯示日期
cal - 顯示日期
1.7 搜索指令
find - 從指定目錄向下遞歸遍歷其子目錄 find [搜索范圍] [選項] [選項] -name 根據名稱查找 [選項] -user 按擁有者查找 [選項] -size 按文件大小查找 (+n大於,-n小於,n等於, 單位有 k,M,G) locate - 快速定位文件路徑 locate file which - 查看某個指令在哪個目錄下,比如 ls 指令在哪個目錄 which ls grep - 查找內容 [選項] -n 顯示匹配行及行號 [選項] -i 忽略字母大小寫 grep -n "keyword" /home/aaa.txt
1.8 壓縮和解壓縮
1.8.1 gzip 和 gunzip
1. gzip 將文件壓縮為*.gz 文件 gzip /home/aaa.txt 2. gunzip 文件.gz 解壓縮文件命令 gunzip /home/aaa.txt.gz
1.8.2 zip 和 unzip
1.zip 用於壓縮文件 -r:遞歸壓縮,即壓縮目錄 zip -r aaa.zip /home/aaa/ 2.unzip 用於解壓縮 -d<目錄> :指定解壓后文件的存放目錄 unzip -d /opt/tmp /home/aaa.zip
1.8.3 tar
打包后綴為.tar.gz的文件 [選項] -c 產生.tar打包文件 [選項] -v 顯示詳情信息 [選項] -f 值定壓縮后的文件名 [選項] -z 打包時壓縮 [選項] -x 解包.tar文件 1: 壓縮多個文件,將 /home/aaa.txt 和 /home/bbb.txt 壓縮成ccc.tar.gz tar -zcvf ccc.tar.gz /home/aaa.txt /home/bbb.txt 2: 將/home/asd 的文件夾壓縮成 asd.tar.gz tar -zcvf asd.tar.gz /home/asd/ 3:將 pc.tar.gz解壓到當前目錄 tar -zxvf pc.tar.gz 4: 將 asd.tar.gz解壓到 /opt/tmp2 目錄下 mkdir /opt/tmp2 tar -zxvf /home/asd.tar.gz -C /opt/tmp2
1.9 組管理和權限管理
1.9.1 chown
chown - 修改文件所有者 chown 用戶名 文件/目錄 chown 用戶名:組名 文件/目錄 -R 如果是目錄 則使其下所有子文件或目錄遞歸生效
1.請將/home/test目錄下所有的文件和目錄的所有者都修改成cal chown -R cal /home/test
1.9.2 chgrp
chgrp - 修改文件/目錄所在的組 chgrp 組名 文件名 1.請將 /home/test 目錄下所有的文件和目錄的所在組都修改成 casl chgrp -R casl /home/test
1.9.3 usermod
usermod - 改變用戶所在組
usermod –g 新組名 用戶名
改變該用戶登陸的初始目錄。特別說明:用戶需要有進入到新目錄的權限。
usermod –d 目錄名 用戶名
1.9.4 chmod
chmod- 修改權限 通過chmod指令,可以修改文件或者目錄的權限。 第一種修改方式:+ 、-、= 變更權限 u:所有者 g:所有組 o:其他人 a:所有人(u、g、o 的總和) 1. chmod u=rwx,g=rx,o=x 文件/目錄名 2. chmod o+w 文件/目錄名 3. chmod a-x 文件/目錄名 1.給abc文件的所有者讀寫執行的權限,給所在組讀執行權限,給其它組讀執行權限。 chmod u=rwx,g=rx,o=rx abc 2.給abc文件的所有者除去執行的權限,增加組寫的權限 chmod u-x,g+w abc 3.給abc文件的所有用戶添加讀的權限 chmod a+r abc
第二種修改方式:通過數字變更權限 r=4 w=2 x=1 rwx=4+2+1=7 chmod u=rwx,g=rx,o=x 文件/目錄名 相當於 chmod 751 文件/目錄名 1.將/home/abc.txt 文件的權限修改成 rwxr-xr-x, 使用給數字的方式實現: chmod 755 /home/abc.txt
1.10 linux任務調度
crontab [選項] -e:編輯crontab定時任務 -l:查看crontab任務 -r:刪除當前用戶搜有的crontab任務
①設置任務調度文件:/etc/crontab ②設置個人任務調度,執行 crontab -e命令 ③輸入任務到調度文件
如:*/1 * * * * ls -l /etc/ > /tmp/sss.txt
意思是每小時的每分鍾執行 ls -l /etc/ > /tmp/sss.txt 命令
五個占位符的說明
第一個 * :每小時當中的第幾分鍾
第二個 * :一天當中的第幾小時
第三個 * :一個月當中的第幾天
第四個 * :一年當中的第幾月
第五個 * :一周當中的周幾
例如:
45 22 * * *:在22點45分執行命令
0 17 * * 1:沒周怡的17點0分執行命令
40 4 * * 1-5:每周一到周五的凌晨4點40分執行
*/10 4 * * *:每天凌晨4點,每隔10分執行一次
0 0 1,15 * 1:每月的1號和15號,每周一的0點0分執行命令
1.12 進程管理
1.12.1 ps -aux
ps 命令是用來查看目前系統中,有哪些正在執行,以及它們執行的狀況。可以不加任何參數.
ps –aux|grep xxx
指令說明
USER:用戶名稱
PID:進程號
%CPU:進程占用 CPU 的百分比
%MEM:進程占用物理內存的百分比
VSZ:進程占用的虛擬內存大小(單位:KB)
RSS:進程占用的物理內存大小(單位:KB)
TTY:終端名稱,縮寫 .
STAT:進程狀態,其中 S-睡眠,s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短期等待,Z-僵死進程,T-被跟蹤或者被停止等等
STARTED:進程的啟動時間
TIME:CPU 時間,即進程使用 CPU 的總時間
COMMAND:啟動進程所用的命令和參數,如果過長會被截斷顯示
1.12.2 ps -ef
ps -ef 是以全格式顯示當前所有的進程
-e 顯示所有進程。
-f 全格式
ps -ef|grep xxxx
UID:用戶 ID
PID:進程 ID
PPID:父進程 ID
C:CPU 用於計算執行優先級的因子。數值越大,表明進程是 CPU 密集型運算,執行優先級會降低;數值越小,表明進程是 I/O 密集型運算,執行優先級會提高
STIME:進程啟動的時間
TTY:完整的終端名稱
TIME:CPU 時間
CMD:啟動進程所用的命令和參數
1.12.3 top
top 與 ps 命令很相似。它們都用來顯示正在執行的進程。top 與 ps 最大的不同之處,在於 top 在執行一段時間可以更新正在運行的的進程
top [選項] -d 秒數 指定命令多久更新一次,默認3秒 -i 不顯示閑置和僵死進程 -p 通過PID顯示
交互操作說明:(在終端輸入)
P 以cpu使用率排序(默認)
M 以內存使用率排序
N 以PID排序
q 退出top
樣例 1.監視特定用戶, 比如我們監控 brian 用戶
輸入top 回車,然后輸入“u”回車,再輸入用戶名
樣例 2:終止指定的進程, 比如我們要結束 tom 登錄
輸入top 回車,然后輸入“k”回車,再輸入要結束的進程 ID 號
樣例3:指定系統狀態更新的時間(每隔 10 秒自動更新), 默認是 3 秒
top -d 10
1.12.4 kill 和 killall
kill [選項] 進程號
killall 進程名稱 (通過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢時很有用)
-9 :表示強迫進程立即停止
1.12.5 pstree
pstree [選項] ,更加直觀的來看進程信息 -p :顯示進程的 PID -u :顯示進程的所屬用戶
1.12.6 service
服務(service) 本質就是進程,但是是運行在后台的,通常都會監聽某個端口,等待其它程序的請求,比如(mysqld , sshd防火牆等),因此我們又稱為守護進程
service 服務名 [start | stop | restart | reload | status]
service 指令管理的服務在 /etc/init.d 查看
1.12.7 systemctl
設置服務的自啟動狀態
systemctl list-unit-files [ | grep 服務名] (查看服務開機啟動狀態, grep 可以進行過濾)
systemctl enable 服務名 (設置服務開機啟動)
systemctl disable 服務名 (關閉服務開機啟動)
systemctl is-enabled 服務名 (查詢某個服務是否是自啟動的)
1.12.8 netstat
netstat [選項] -an 按一定順序排列輸出 -p 顯示哪個進程在調用
netstat -anp | grep xxxx
查看tcp和udp端口 netstat -tulpn
查看端口占用 lsof -i:8888
1.13 APT管理
apt 是 Advanced Packaging Tool 的簡稱,是一款安裝包管理工具。在 Ubuntu 下,我們可以使用 apt 命令進行軟件包的安裝、刪除、清理等,類似於 Windows 中的軟件管理工具。
sudo apt-get update 更新源 sudo apt-get install package 安裝包 sudo apt-get install package --reinstall 重新安裝包 sudo apt-get -f install 修復安裝 sudo apt-cache search package 搜索軟件包 sudo apt-cache show package 獲取包信息,如說明,大小,版本等 sudo apt-get remove package 刪除包 sudo apt-get remove package --purge 刪除包,包括配置文件等 sudo apt-get build-dep package 安裝相關的編譯環境 sudo apt-get upgrade 更新已安裝的包 sudo apt-get dist-upgrade 升級系統 sudo apt-cache depends package 了解使用該包依賴那些包 sudo apt-cache rdepends package 查看該包被哪些包依賴 sudo apt-get source package 下載包源代碼
下面這四個指令也會常用到
查看端口占用 lsof -i:8888
查看tcp和udp端口 netstat -tulpn
ssh上傳文件 scp -r /home/<files> <remote-username>@<remote-ip>:<remote-folder>
deb安裝指令 sudo dpkg -i XXXXX
查看整個系統磁盤使用情況 df -h
產看某個目錄磁盤使用情況 du -sh *
按用戶名查找 find /home/un/test -user root
批量刪除七天前的文件 find /home/un/test -mtime +7 -name "*.*" -exec rm -rf {} \;
2. ubuntu界面端常用快捷鍵匯總
2.1 終端快捷鍵
啟動終端 Ctrl+Alt+T 新建標簽頁 Ctrl+Shift+T 關閉標簽頁 Ctrl+Shift+W 關閉終端窗口Ctrl+Shift+Q 切換到第N個標簽頁(N=0...9)Alt+N 放大窗口(包括窗口內的字體) Ctrl+Shift++ 縮寫窗口(包括窗口內的字體) Ctrl+- 普通大小(阿拉伯數字 0) Ctrl+0 復制 Ctrl+Shift+C 粘貼 Ctrl+Shift+V 光標移動到行的開頭 Ctrl+A 光標移動到行的結尾 Ctrl+E 光標移動到上一個單詞的詞首 Ctrl+Left 光標移動到下一個單詞的詞尾 Ctrl+Right 剪切從行的開頭到光標前一個位置的所有字符 Ctrl+U 剪切從光標位置到行末的所有字符 Ctrl+K 粘貼ctrl+u或ctrl+k剪切的內容 Ctrl+Y 刪除光標位置的前一個單詞 Ctrl+W 恢復ctrl+h或ctrl+d或ctrl+w刪除的內容 Ctrl+& 暫停屏幕輸出 Ctrl+S 繼續屏幕輸出 Ctrl+Q 命令運行對話框 Alt+F2
2.2 窗口或應用快捷鍵
關閉所有普通窗口 Win+D 關閉當前窗口 Alt+F4 隱藏當前窗口 Win+H 切換窗口 Alt+Tab 切換應用 Win+Tab 直接切換窗口 Alt+Esc 顯示全部打開的應用 Alt+F1 打開窗體菜單 Alt+Space 最大化窗口 Win+Up 還原窗口 Win+Down 切換窗體最大與普通大小 Alt+F10 當前窗口移動到屏幕左側顯示 Win+Left 將當前窗口移動到屏幕右側顯示 Win+Right
移動窗口 Alt+F7
2.3 屏幕放大器快捷鍵
啟動或關閉放大器 Alt+Win+8 啟動放大器后,放大 Alt+Win+= 啟動放大器后,縮小 Alt+Win+-
2.4 其它快捷鍵
切換輸入法 Win+Space 顯示應用列表 Win+A 顯示通知列表 Win+V 登出 Ctrl+Alt+Delete
