您好,登錄后才能下訂單哦!
本篇內容介紹了“如何使用Linux命令”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在執行危險命令時,請深呼吸。首先執行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
接下來,就可以看一下執行的命令,是不是危險指令。
-rf
參數將遞歸刪除文件,誤刪文件導致數據丟失,產生嚴重后果。如果多一個空格,或者 /
沒有補齊,或者文件有特殊符號,導致誤刪文件的誤操作居多。
rm -rf ./* => rm -rf /
rm -rf abc/ => rm -rf abc /
執行rm命令,手速一定要慢。按<tab>補全,一定要等屏幕回顯后操作。
另外,在腳本中,rm的坑也不小,比如:
rm -rf ${p}/*
如果p變量沒有設置,就會是災難性的后果,命令等同于rm -rf /
。所以rm還有另外一條謹言:在腳本中執行rm的時候,請先判斷相關的變量是否為空。
chmod是更改目錄和文件權限用的,如果處理不當,會產生和rm一樣的后果。
這里介紹一種非常霸道的恢復方法。在執行這個命令之前,先把所有文件的權限備份一下。這里用到getfacl
這個命令。
getfacl -R / > chmod.txt
恢復的時候,執行
setfacl --restore=chmod.txt
它將回放這個文件的權限,有時候是救命的。
cat命令也能出錯?是的,而且還很嚴重,因為你掌握了高級技能:重定向符。
如果你想要向文件中追加
內容,會使用 cat >> file
的方式,如果你不小心少輸入了一個>
,那么不好意思,你的文件內容就丟失了。
類似的命令還有echo
等,可以看到,問題不在cat,在重定向符,太容易寫錯。
在此,請你操作之前,確保每次深呼吸,數好箭頭的個數再操作。
dd
命令很酷,和xjjdog
的jj
遙相呼應。命令如下:
dd if=/dev/zero of=/dev/sda bs=512 count=1
以上命令,用于格式化硬盤,如果你的剪貼板里面有這樣的命令,而且不小心粘到了命令行里,你的數據將會蒸發。
cp命令會產生覆蓋,如果你后悔了,想找到原文件,將非常困難。
建議增加alias cp ='cp -i'
,i參數表示會在拷貝時生成一個備份。大多數時候沒用,有時候很有用。
和我們買保險一個道理。
mv命令類似,也可以加上-i。
不要覺得tar很安全,我就曾經因為tar命令丟失過數據。
第一,tar -xf 解壓的時候, 如果解壓的文件已經在當前目錄,覆蓋原有的文件夾及文件。覆蓋
這兩個字,很多時候意味著不安全。
vim容易在打開大文件的時候,造成系統內存占用過高。如果觸發了操作系統的oom-killer
,將會造成其他正常進程的死亡。
如果你手速過快,執行了:wq
,將會造成文件的不一致甚至損壞。
可是使用less
或者more
這樣的命令,來查看信息。更高效,也更安全。
如果你實在不得不用vim,請保持使用view
命令,它是vim的只讀模式。
類似于mkfs.ext4這種指令,將會格式化硬盤,一般用于線上環境初始化,否則不要執行。
(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命令”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。