您好,登錄后才能下訂單哦!
小編今天帶大家了解十五個Linux實用技巧是什么,文中知識點介紹的非常詳細。覺得有幫助的朋友可以跟著小編一起瀏覽文章的內容,希望能夠幫助更多想解決這個問題的朋友找到問題的答案,下面跟著小編一起深入學習“十五個Linux實用技巧是什么”的知識吧。
命令行也就意味著可以自動化,自動化會使你的工作更高效,釋放很多手工操作,讓你有更多的時間去做更有意義的事情。
1. 快速清空文件的方法
快速清空一個文件,有 N 種方法,我比較喜歡下邊這種,因為它最短
$ > access.log
不過癮?好吧,我也順便總結下,其它幾種最常見的清空文件的方法
: > access.log
true > access.log
cat /dev/null > access.log
echo -n "" > access.log
echo > access.log
truncate -s 0 access.log
簡單解釋下, :
在 shell 中是一個內置命令,表示 no-op
,大概就是空語句的意思,所以 :
的那個用法,就是執行命令后,什么都沒有輸出,將空內容覆蓋到文件。
2. 快速生成大文件
有時候,在 Linux 上,我們需要一個大文件,用于測試上傳或下載的速度,通過 dd
命令可以快速生成一個大文件
$ dd if=/dev/zero of=file.img bs=1M count=1024
上述命令,生成一個文件名為 file.img 大小為 1G 的文件。
3. 安全擦除硬盤數據
介紹一種擦除硬盤數據的方法,高效,安全。可以通過 dd
命令,輕松實現:
$ dd if=/dev/urandom of=/dev/sda
使用 /dev/urandom
生成隨機數據,將生成的數據寫入 sda
硬盤中,相當于安全的擦除了硬盤數據。
當年陳老師,如果學會了這條命令,可能也不會有艷兆門事件了。
4. 快速制作系統盤
在 Linux 下制作系統盤,老毛桃神么工具都弱爆了,直接一條命令搞定:
$ dd if=ubuntu-server-amd64.iso of=/dev/sdb
哈哈,是不是很爽,sdb
可以 U 盤,也可以是普通硬盤
5. 查看某個進程的運行時間
可能,大部分同學只會使用 ps aux
,其實可以通過 -o
參數,指定只顯示具體的某個字段,會得到更清晰的結果。
$ ps -p 10167 -o etimes,etime ELAPSED ELAPSED 1712055 19-19:34:15
通過 etime
獲取該進程的運行時間,可以很直觀地看到,進程運行了 19 天
同樣,可以通過 -o
指定 rss
可以只獲取該進程的內存信息。
$ ps -p 10167 -o rss RSS 2180
6. 動態實時查看日志
通過 tail
命令 -f
選項,可以動態地監控日志文件的變化,非常實用
$ tail -f test.log
如果想在日志中出現 Failed
等信息時立刻停止 tail 監控,可以通過如下命令來實現:
$ tail -f test.log | sed '/Failed/ q'
7. 時間戳的快速轉換
時間操作,對程序員來說就是家常便飯。有時候希望能夠將時間戳,轉換為日期時間,在 Linux 命令行上,也可以快速的進行轉換:
$ date -d@1234567890 +"%Y-%m-%d %H:%M:%S" 2009-02-14 07:31:30
當然,也可以在命令行上,查看當前的時間戳
$ date +%s 1617514141
8. 優雅的計算程序運行時間
在 Linux 下,可以通過 time
命令,很容易獲取程序的運行時間:
$ time ./test real 0m1.003s user 0m0.000s sys 0m0.000s
可以看到,程序的運行時間為: 1.003s
。細心的同學,會看到 real
貌似不等于 user
+ sys
,而且還遠遠大于,這是怎么回事呢?
先來解釋下這三個參數的含義:
real
:表示的鐘表時間,也就是從程序執行到結束花費的時間;
user
:表示運行期間,cpu 在用戶空間所消耗的時間;
sys
:表示運行期間,cpu 在內核空間所消耗的時間;
由于 user
和 sys
只統計 cpu 消耗的時間,程序運行期間會調用 sleep 發生阻塞,也可能會等待網絡或磁盤 IO,都會消耗大量時間。因此對于類似情況,real
的值就會大于其它兩項之和。
另外,也會遇到 real
遠遠小于 user
+ sys
的場景,這是什么鬼情況?
這個更好理解,如果程序在多個 cpu 上并行,那么 user
和 sys
統計時間是多個 cpu 時間,實際消耗時間 real
很可能就比其它兩個之和要小了
9. 命令行查看ascii碼
我們在開發過程中,通常需要查看 ascii
碼,通過 Linux 命令行就可以輕松查看,而不用去 Google 或 Baidu
$ man ascii
10. 優雅的刪除亂碼的文件
在 Linux 系統中,會經常碰到名稱亂碼的文件。想要刪除它,卻無法通過鍵盤輸入名字,有時候復制粘貼亂碼名稱,終端可能識別不了,該怎么辦?
不用擔心,下邊來展示下 find
是如何優雅的解決問題的。
$ ls -i 138957 a.txt 138959 T.txt 132395.txt $ find . -inum 132395 -exec rm {} \;
命令中,-inum
指定的是文件的 inode
號,它是系統中每個文件對應的唯一編號,find 通過編號找到后,執行刪除操作。
11. Linux上獲取你的公網IP地址
在辦公或家庭環境,我們的虛擬機或服務器上配置的通常是內網 IP 地址,我們如何知道,在與外網通信時,我們的公網出口 IP 是神馬呢?
這個在 Linux 上非常簡單,一條命令搞定
$ curl ip.sb $ curl ifconfig.me
上述兩條命令都可以
12. 如何批量下載網頁資源
有時,同事會通過網頁的形式分享文件下載鏈接,在 Linux 系統,通過 wget
命令可以輕松下載,而不用寫腳本或爬蟲
$ wget -r -nd -np --accept=pdf http://fast.dpdk.org/doc/pdf-guides/ # --accept:選項指定資源類型格式 pdf
13. 歷史命令使用技巧
分享幾個歷史命令的使用技巧,能夠提高你的工作效率。
!!
:重復執行上條命令;
!N
:重復執行 history 歷史中第 N 條命令,N 可以通過 history 查看;
!pw
:重復執行最近一次,以pw
開頭的歷史命令,這個非常有用,小編使用非常高頻;
!$
:表示最近一次命令的最后一個參數;
猜測大部分同學沒用過 !$
,這里簡單舉個例子,讓你感受一下它的高效用法
$ vim /root/sniffer/src/main.c $ mv !$ !$.bak # 相當于 $ mv /root/sniffer/src/main.c /root/sniffer/src/main.c.bak
當前工作目錄是 root,想把 main.c 改為 main.c.bak。正常情況你可能需要敲 2 遍包含 main.c 的長參數,當然你也可能會選擇直接復制粘貼。
而我通過使用 !$
變量,可以很輕松優雅的實現改名,是不是很 hacker
呢?
14. 快速搜索歷史命令
在 Linux 下經常會敲很多的命令,我們要怎么快速查找并執行歷史命令呢?
通過上下鍵來翻看歷史命令,No No No,可以通過執行 Ctrl + r
,然后鍵入要所搜索的命令關鍵詞,進行搜索,回車就可以執行,非常高效。
15. 真正的黑客不能忽略技巧
最后,再分享一個真正的黑客不能忽略技巧。我們在所要執行的命令前,加一個空格,那這條命令就不會被 history
保存到歷史記錄
有時候,執行的命令中包含敏感信息,這個小技巧就顯得非常實用了,你也不會再因為忘記執行 history -c
而煩惱了。
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
感謝大家的閱讀,以上就是“十五個Linux實用技巧是什么”的全部內容了,學會的朋友趕緊操作起來吧。相信億速云小編一定會給大家帶來更優質的文章。謝謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。