国产精品chinese,色综合天天综合精品网国产在线,成午夜免费视频在线观看,清纯女学生被强行糟蹋小说

    <td id="ojr13"><tr id="ojr13"><label id="ojr13"></label></tr></td>
        • <source id="ojr13"></source>
            <td id="ojr13"><ins id="ojr13"><label id="ojr13"></label></ins></td>

            Article / 文章中心

            80% 的人都不會(huì)的 15 個(gè) Linux 實(shí)用技巧

            發(fā)布時(shí)間:2021-12-01 點(diǎn)擊數(shù):619

            熟悉 Linux 系統(tǒng)的同學(xué)都知道,它高效主要體現(xiàn)在命令行。通過命令行,可以將很多簡(jiǎn)單的命令,通過自由的組合,得到非常強(qiáng)大的功能。

            命令行也就意味著可以自動(dòng)化,自動(dòng)化會(huì)使你的工作更高效,釋放很多手工操作,讓你有更多的時(shí)間去做更有意義的事情。

            這篇文章,會(huì)分享一些非常實(shí)用小技巧,希望能夠幫助你提高工作效率,學(xué)完就能夠用得上!

            1. 快速清空文件的方法

            快速清空一個(gè)文件,有 N 種方法,我比較喜歡下邊這種,因?yàn)樗疃?

            $ > access.log

            不過癮?好吧,我也順便總結(jié)下,其它幾種最常見的清空文件的方法

            • : > access.log
            • true > access.log
            • cat /dev/null > access.log
            • echo -n "" > access.log
            • echo > access.log
            • truncate -s 0 access.log

            簡(jiǎn)單解釋下, : 在 shell 中是一個(gè)內(nèi)置命令,表示 no-op,大概就是空語句的意思,所以 : 的那個(gè)用法,就是執(zhí)行命令后,什么都沒有輸出,將空內(nèi)容覆蓋到文件。

            2. 快速生成大文件

            有時(shí)候,在 Linux 上,我們需要一個(gè)大文件,用于測(cè)試上傳或下載的速度,通過 dd 命令可以快速生成一個(gè)大文件

            $ dd if=/dev/zero of=file.img bs=1M count=1024

            上述命令,生成一個(gè)文件名為 file.img 大小為 1G 的文件。

            3. 安全擦除硬盤數(shù)據(jù)

            介紹一種擦除硬盤數(shù)據(jù)的方法,高效,安全??梢酝ㄟ^ dd 命令,輕松實(shí)現(xiàn):

            $ dd if=/dev/urandom of=/dev/sda

            使用 /dev/urandom 生成隨機(jī)數(shù)據(jù),將生成的數(shù)據(jù)寫入 sda 硬盤中,相當(dāng)于安全的擦除了硬盤數(shù)據(jù)。

            當(dāng)年陳老師,如果學(xué)會(huì)了這條命令,可能也不會(huì)有艷兆門事件了。

            4. 快速制作系統(tǒng)盤

            在 Linux 下制作系統(tǒng)盤,老毛桃神么工具都弱爆了,直接一條命令搞定:

            $ dd if=ubuntu-server-amd64.iso of=/dev/sdb

            哈哈,是不是很爽,sdb 可以 U 盤,也可以是普通硬盤

            5. 查看某個(gè)進(jìn)程的運(yùn)行時(shí)間

            可能,大部分同學(xué)只會(huì)使用 ps aux,其實(shí)可以通過 -o 參數(shù),指定只顯示具體的某個(gè)字段,會(huì)得到更清晰的結(jié)果。

            $ ps -p 10167 -o etimes,etime
            ELAPSED     ELAPSED
            1712055 19-19:34:15

            通過 etime 獲取該進(jìn)程的運(yùn)行時(shí)間,可以很直觀地看到,進(jìn)程運(yùn)行了 19 天

            同樣,可以通過 -o 指定 rss 可以只獲取該進(jìn)程的內(nèi)存信息。

            $ ps -p 10167 -o rss
              RSS
             2180

            6. 動(dòng)態(tài)實(shí)時(shí)查看日志

            通過 tail 命令 -f 選項(xiàng),可以動(dòng)態(tài)地監(jiān)控日志文件的變化,非常實(shí)用

            $ tail -f test.log

            如果想在日志中出現(xiàn) Failed 等信息時(shí)立刻停止 tail 監(jiān)控,可以通過如下命令來實(shí)現(xiàn):

            $ tail -f test.log | sed '/Failed/ q' 

            7. 時(shí)間戳的快速轉(zhuǎn)換

            時(shí)間操作,對(duì)程序員來說就是家常便飯。有時(shí)候希望能夠?qū)r(shí)間戳,轉(zhuǎn)換為日期時(shí)間,在 Linux 命令行上,也可以快速的進(jìn)行轉(zhuǎn)換:

            $ date -d@1234567890 +"%Y-%m-%d %H:%M:%S" 2009-02-14 07:31:30

            當(dāng)然,也可以在命令行上,查看當(dāng)前的時(shí)間戳

            $ date +%s
            1617514141

            8. 優(yōu)雅的計(jì)算程序運(yùn)行時(shí)間

            在 Linux 下,可以通過 time 命令,很容易獲取程序的運(yùn)行時(shí)間:

            $ time ./test real    0m1.003s
            user    0m0.000s
            sys     0m0.000s

            可以看到,程序的運(yùn)行時(shí)間為: 1.003s。細(xì)心的同學(xué),會(huì)看到 real 貌似不等于 user + sys,而且還遠(yuǎn)遠(yuǎn)大于,這是怎么回事呢?

            先來解釋下這三個(gè)參數(shù)的含義:

            • real:表示的鐘表時(shí)間,也就是從程序執(zhí)行到結(jié)束花費(fèi)的時(shí)間;
            • user:表示運(yùn)行期間,cpu 在用戶空間所消耗的時(shí)間;
            • sys:表示運(yùn)行期間,cpu 在內(nèi)核空間所消耗的時(shí)間;

            由于 user  sys 只統(tǒng)計(jì) cpu 消耗的時(shí)間,程序運(yùn)行期間會(huì)調(diào)用 sleep 發(fā)生阻塞,也可能會(huì)等待網(wǎng)絡(luò)或磁盤 IO,都會(huì)消耗大量時(shí)間。因此對(duì)于類似情況,real 的值就會(huì)大于其它兩項(xiàng)之和。

            另外,也會(huì)遇到 real 遠(yuǎn)遠(yuǎn)小于 user + sys 的場(chǎng)景,這是什么鬼情況?

            這個(gè)更好理解,如果程序在多個(gè) cpu 上并行,那么 user  sys 統(tǒng)計(jì)時(shí)間是多個(gè) cpu 時(shí)間,實(shí)際消耗時(shí)間 real 很可能就比其它兩個(gè)之和要小了

            9. 命令行查看ascii碼

            我們?cè)陂_發(fā)過程中,通常需要查看 ascii 碼,通過 Linux 命令行就可以輕松查看,而不用去 Google 或 Baidu

            $ man ascii

            10. 優(yōu)雅的刪除亂碼的文件

            在 Linux 系統(tǒng)中,會(huì)經(jīng)常碰到名稱亂碼的文件。想要?jiǎng)h除它,卻無法通過鍵盤輸入名字,有時(shí)候復(fù)制粘貼亂碼名稱,終端可能識(shí)別不了,該怎么辦?

            不用擔(dān)心,下邊來展示下 find 是如何優(yōu)雅的解決問題的。

            $ ls  -i
            138957 a.txt  138959 T.txt  132395 ???.txt
            
            $ find . -inum 132395 -exec rm {} \;

            命令中,-inum 指定的是文件的 inode 號(hào),它是系統(tǒng)中每個(gè)文件對(duì)應(yīng)的唯一編號(hào),find 通過編號(hào)找到后,執(zhí)行刪除操作。

            11. Linux上獲取你的公網(wǎng)IP地址

            在辦公或家庭環(huán)境,我們的虛擬機(jī)或服務(wù)器上配置的通常是內(nèi)網(wǎng) IP 地址,我們?nèi)绾沃溃谂c外網(wǎng)通信時(shí),我們的公網(wǎng)出口 IP 是神馬呢?

            這個(gè)在 Linux 上非常簡(jiǎn)單,一條命令搞定

            $ curl ip.sb
            $ curl ifconfig.me

            上述兩條命令都可以

            12. 如何批量下載網(wǎng)頁資源

            有時(shí),同事會(huì)通過網(wǎng)頁的形式分享文件下載鏈接,在 Linux 系統(tǒng),通過 wget 命令可以輕松下載,而不用寫腳本或爬蟲

            $ wget -r -nd -np --accept=pdf http://fast.dpdk.org/doc/pdf-guides/ # --accept:選項(xiàng)指定資源類型格式 pdf 

            13. 歷史命令使用技巧

            分享幾個(gè)歷史命令的使用技巧,能夠提高你的工作效率。

            • !!:重復(fù)執(zhí)行上條命令;
            • !N:重復(fù)執(zhí)行 history 歷史中第 N 條命令,N 可以通過 history 查看;
            • !pw:重復(fù)執(zhí)行最近一次,以pw開頭的歷史命令,這個(gè)非常有用,小編使用非常高頻;
            • !$:表示最近一次命令的最后一個(gè)參數(shù);

            猜測(cè)大部分同學(xué)沒用過 !$,這里簡(jiǎn)單舉個(gè)例子,讓你感受一下它的高效用法

            $ vim /root/sniffer/src/main.c
            $ mv !$ !$.bak # 相當(dāng)于 $ mv /root/sniffer/src/main.c /root/sniffer/src/main.c.bak

            當(dāng)前工作目錄是 root,想把 main.c 改為 main.c.bak。正常情況你可能需要敲 2 遍包含 main.c 的長(zhǎng)參數(shù),當(dāng)然你也可能會(huì)選擇直接復(fù)制粘貼。

            而我通過使用 !$ 變量,可以很輕松優(yōu)雅的實(shí)現(xiàn)改名,是不是很 hacker 呢?

            14. 快速搜索歷史命令

            在 Linux 下經(jīng)常會(huì)敲很多的命令,我們要怎么快速查找并執(zhí)行歷史命令呢?

            通過上下鍵來翻看歷史命令,No No No,可以通過執(zhí)行 Ctrl + r,然后鍵入要所搜索的命令關(guān)鍵詞,進(jìn)行搜索,回車就可以執(zhí)行,非常高效。

            15. 真正的黑客不能忽略技巧

            最后,再分享一個(gè)真正的黑客不能忽略技巧。我們?cè)谒獔?zhí)行的命令前,加一個(gè)空格,那這條命令就不會(huì)被 history 保存到歷史記錄

            有時(shí)候,執(zhí)行的命令中包含敏感信息,這個(gè)小技巧就顯得非常實(shí)用了,你也不會(huì)再因?yàn)橥泩?zhí)行 history -c 而煩惱了。

            ~~~~~ End ~~~~~