共計 2536 個字符,預計需要花費 7 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章將為大家詳細講解有關好用的 Linux 命令有哪些,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1. 準備工作
在執行危險命令時,請深呼吸。首先執行 ifconfig,或者 ip addr 命令,確認是在正確的服務器上。
$ ip addr 1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:16:3e:34:e9:a9 brd ff:ff:ff:ff:ff:ff inet 172.19.26.39/20 brd 172.19.31.255 scope global dynamic noprefixroute eth0 valid_lft 313267185sec preferred_lft 313267185sec inet6 fe80::216:3eff:fe34:e9a9/64 scope link valid_lft forever preferred_lft forever
這時候,再次深呼吸,然后執行 pwd 命令,確保自己是在正確的目錄下面。
$ pwd /etc/nginx
接下來,就可以看一下執行的命令,是不是危險指令。
2. rm -rf 命令
-rf 參數將遞歸刪除文件,誤刪文件導致數據丟失,產生嚴重后果。如果多一個空格,或者 / 沒有補齊,或者文件有特殊符號,導致誤刪文件的誤操作居多。
rm -rf ./* = rm -rf / rm -rf abc/ = rm -rf abc /
執行 rm 命令,手速一定要慢。按補全,一定要等屏幕回顯后操作。
另外,在腳本中,rm 的坑也不小,比如:
rm -rf ${p}/*
如果 p 變量沒有設置,就會是災難性的后果,命令等同于 rm -rf /。所以 rm 還有另外一條謹言:在腳本中執行 rm 的時候,請先判斷相關的變量是否為空。
3. chmod 命令
chmod 是更改目錄和文件權限用的,如果處理不當,會產生和 rm 一樣的后果。
這里介紹一種非常霸道的恢復方法。在執行這個命令之前,先把所有文件的權限備份一下。這里用到 getfacl 這個命令。
getfacl -R / chmod.txt
恢復的時候,執行
setfacl --restore=chmod.txt
它將回放這個文件的權限,有時候是救命的。
4. cat 命令
cat 命令也能出錯? 是的,而且還很嚴重,因為你掌握了高級技能:重定向符。
如果你想要向文件中追加 內容,會使用 cat file 的方式,如果你不小心少輸入了一個,那么不好意思,你的文件內容就丟失了。
類似的命令還有 echo 等,可以看到,問題不在 cat,在重定向符,太容易寫錯。
在此,請你操作之前,確保每次深呼吸,數好箭頭的個數再操作。
5. dd 命令
dd 命令很酷,和 xjjdog 的 jj 遙相呼應。命令如下:
dd if=/dev/zero of=/dev/sda bs=512 count=1
以上命令,用于格式化硬盤,如果你的剪貼板里面有這樣的命令,而且不小心粘到了命令行里,你的數據將會蒸發。
6. cp 命令
cp 命令會產生覆蓋,如果你后悔了,想找到原文件,將非常困難。
建議增加 alias cp = cp -i,i 參數表示會在拷貝時生成一個備份。大多數時候沒用,有時候很有用。
和我們買保險一個道理。
mv 命令類似,也可以加上 -i。
7. tar 命令
不要覺得 tar 很安全,我就曾經因為 tar 命令丟失過數據。
第一,tar -xf 解壓的時候,如果解壓的文件已經在當前目錄,覆蓋原有的文件夾及文件。覆蓋這兩個字,很多時候意味著不安全。
8. vim 命令
vim 容易在打開大文件的時候,造成系統內存占用過高。如果觸發了操作系統的 oom-killer,將會造成其他正常進程的死亡。
如果你手速過快,執行了:wq,將會造成文件的不一致甚至損壞。
可是使用 less 或者 more 這樣的命令,來查看信息。更高效,也更安全。
如果你實在不得不用 vim,請保持使用 view 命令,它是 vim 的只讀模式。
9. mkfs.*
類似于 mkfs.ext4 這種指令,將會格式化硬盤,一般用于線上環境初始化,否則不要執行。
10. MySQL
(1) 使用 mysql -U
--safe-updates, --i-am-a-dummy, -U
使用 mysql -U 防止 delete、update 執行沒帶 where 條件的操作。當發出沒有 WHERE 或 LIMIT 關鍵字的 UPDATE 或 DELETE 時,mysql 程序拒絕執行。
alias 同樣是我們的好幫手,可以這么設置:
alias mysql= mysql -U
(2) 重要操作時,使用事務
start transaction 執行 確認 commit
(3)DML 誤操作回滾,可以使用 binlog2sql
(4) 小心 DDL 操作
DDL 往往意味著巨大的坑,鎖表、誤刪、數據轉變,往往是災難性的。DDL 對整個表進行操作,或者是整個表所有的行、列,產生 exclusive 鎖,產生瘋狂 io、嚴重影響生產。
這里面的任何一條,都是要命的。
仔細檢查 DDL,盡量在業務低峰執行,而且盡量采用 inplace 方式操作。
關于“好用的 Linux 命令有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
向 AI 問一下細節
丸趣 TV 網 – 提供最優質的資源集合!