0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

最實(shí)用也最容易被遺忘的Linux 命令行使用技巧

馬哥Linux運(yùn)維 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-10-23 16:58 ? 次閱讀

作為一個(gè)日常在Linux環(huán)境下工作的工程師,每天都要大量使用Linux命令行。有時(shí)候我們會(huì)在網(wǎng)上翻查命令行的使用技巧,但是一旦未能及時(shí)進(jìn)行練習(xí),很快就會(huì)把這些小技巧給忘了。所以我決定把這些小東西整理一下,以防止以后再有遺忘的事情發(fā)生。

將輸出內(nèi)容做一個(gè)清晰明了的表格

使用命令行的時(shí)候,經(jīng)??梢钥吹捷敵龅膬?nèi)容一團(tuán)糟:太多字符串?dāng)D在一起,根本沒(méi)法看到底輸出了什么,不信你就試試 mount 命令。

為了看清楚些,我們可以把輸出轉(zhuǎn)化為一張表格,只需要加幾個(gè)字符就行了:

mount | column –t:

在這個(gè)小例子中,我們用空格把輸出結(jié)果隔成了一個(gè)表格,整個(gè)界面瞬間清楚美觀了很多。如果你不太喜歡空格作為分隔符,你也可以換成其他的,比如換成冒號(hào)(:)。

依然非常簡(jiǎn)單:只需要在末尾使用 -s 參數(shù)制定一下相應(yīng)的分割符就可以了:

cat /etc/passwd | column -t -s:

重復(fù)執(zhí)行一個(gè)命令,直到它運(yùn)行成功

在寫這篇文章之前,我特地搜索了一下。在 Google 上,很多人都在問(wèn)如何實(shí)現(xiàn)命令重復(fù)執(zhí)行直至成功這個(gè)操作。搜索結(jié)果里提到了 ping 服務(wù)器,一直到它變得空閑位置,或者檢查是不是向某個(gè)目錄里上傳過(guò)特定的文件,再有就是檢查某個(gè)指定的鏈接是否存在之類的方法。

不過(guò)你還是有其他選擇,比如使用 while true 循環(huán)來(lái)把事情搞定:

在上面這個(gè)示例中,>/dev/null 2>&1 會(huì)讓程序的輸出重定向到 /dev/ null。標(biāo)準(zhǔn)錯(cuò)誤和標(biāo)準(zhǔn)輸出都會(huì)被包含進(jìn)去。

這是我認(rèn)為最酷的Linux命令行技巧之一。

按內(nèi)存資源的使用量對(duì)進(jìn)程進(jìn)行排序

ps aux | sort -rnk 4:

CPU 資源的使用量對(duì)進(jìn)程進(jìn)行排序

ps aux | sort -nk 3:

如果想要檢查你的機(jī)器架構(gòu),那就執(zhí)行 getconf LONG_BIT。

可以同時(shí)查看多個(gè)日志文件

大部分人查看日志用什么命令?回答可能是 tail 命令。不過(guò)如果要查看很多日志文件的時(shí)候, tail 就顯得比較麻煩了。這個(gè)時(shí)候就輪到我們的multi-tail 命令登場(chǎng)了!不僅支持文本高亮顯示,還支持內(nèi)容過(guò)濾和更多的其他功能哦~

有時(shí)候你需要安裝一下才能運(yùn)行這條命令,不過(guò)也非常簡(jiǎn)單apt-get install multitail 輕松搞定。

回到你操作過(guò)的上一個(gè)目錄去

返回上一個(gè)目錄的操作非常簡(jiǎn)單,cd – 就可以了。

讓非交互式 Shell 會(huì)話可進(jìn)行交互

想要這樣做,那就把設(shè)置從 ~/.bashrc 改成 ~/.bash_profile 吧。

定時(shí)的監(jiān)視性命令輸出

使用 watch 命令(watch df -h),你就可以查看到任何命令的任何輸出。例如,你可以查看可用空間以及它的使用量增長(zhǎng)情況。

通過(guò)利用 watch 命令來(lái)操作會(huì)變化的數(shù)據(jù),你可以盡情想象自己能拿這個(gè)來(lái)做些什么哦。

在會(huì)話關(guān)掉以后繼續(xù)運(yùn)行程序

正常情況下,你運(yùn)行了一個(gè)后臺(tái)程序,當(dāng)你關(guān)閉shell會(huì)話的時(shí)候這個(gè)程序也會(huì)隨之被殺掉。有的情況下需要讓程序繼續(xù)運(yùn)行應(yīng)該怎么做?

這個(gè)可以用 nohup 命令做到 – 該指令表示不做掛斷操作:

nohup wget site.com/file.zip

這個(gè)命令大部分人都不會(huì)用,這全拜 screen 環(huán)境所賜:

這樣會(huì)在同一個(gè)目錄下生成一個(gè)名稱為 nohup.out 的文件,其中包含了正在運(yùn)行的程序的輸出內(nèi)容:

命令很酷,對(duì)吧?

自動(dòng)對(duì)任何命令回答 Yes 或者 No

如果你想自動(dòng)化需要向用戶說(shuō)的 Yes 的過(guò)程,可以使用 yes 命令來(lái)實(shí)現(xiàn):yes | apt-get update。

也許你想做的是自動(dòng)地說(shuō)“No”。這個(gè)可以使用 yes no | 命令來(lái)實(shí)現(xiàn)。

創(chuàng)建具有指定大小的文件

可以使用 dd 命令來(lái)創(chuàng)建出具有指定大小的文件:dd if=/dev/zero of=out.txt bs=1M count=10。

這樣就會(huì)創(chuàng)建出一個(gè) 10 MB 的文件,填充零作為內(nèi)容:

以根目錄用戶來(lái)運(yùn)行最后一個(gè)命令

有時(shí),你會(huì)忘記在需要 root 權(quán)限的命令之前敲入 sudo。這時(shí)候你沒(méi)必要去重寫命令; 只要輸入 sudo !! 就行了。

對(duì)命令行會(huì)話進(jìn)行記錄

如果想要把自己在 shell 屏幕上敲的內(nèi)容記錄下來(lái),可以使用 script 命令將所有敲寫的內(nèi)容保存到一個(gè)名為 typescriptscript 的文件中去。

等你敲入 exit 命令以后,所有命令就都會(huì)被寫入該文件,以便你事后再回過(guò)頭去查看。

標(biāo)簽符號(hào)替換空格符

可以使用 tr 命令替換任何字符,這個(gè)用起來(lái)非常方便:cat geeks.txt | tr ‘:[space]:’ ‘ ’ > out.txt.

將文件內(nèi)容轉(zhuǎn)換為大寫或者小寫

可以這樣實(shí)現(xiàn):cat myfile | tr a-z A-Z> output.txt。

強(qiáng)大的 Xargs 命令

xargs 命令是最重要的 Linux 命令行技巧之一。你可以使用這個(gè)命令將命令的輸出作為參數(shù)傳遞給另一個(gè)命令。例如,搜索 png 文件然后對(duì)其進(jìn)行壓縮或者其它操作:

find. -name *.png -type f -print | xargs tar -cv*** images.tar.gz

又或者你的文件中有一個(gè) URL 的列表,而你想要做的是以不同的方式下載或者處理這些 URL,可以這樣做:

cat urls.txt | xargs wget

請(qǐng)你要記得,第一個(gè)命令的輸出會(huì)在 xargs 命令結(jié)尾處傳遞。

那如果命令需要中間過(guò)程的輸出,該怎么辦呢?這個(gè)簡(jiǎn)單!

只需要使用 {} 并結(jié)合 -i 參數(shù)就行了。如下所示,替換在第一個(gè)命令的輸出應(yīng)該去的地方的參數(shù):

ls /etc/*.conf | xargs -i cp {} /home/likegeeks/Desktop/out

這只是 Linux 命令行技巧其中的幾個(gè)而已。你可以使用其他命令來(lái)做一些更 HAPPY 的事情,比如 awk 命令和 sed 命令!

如果你知道一些我在這里沒(méi)有提到的任何其它的極客命令,歡迎評(píng)論。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Google
    +關(guān)注

    關(guān)注

    5

    文章

    1754

    瀏覽量

    57386
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11215

    瀏覽量

    208740
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8979

    瀏覽量

    85100

原文標(biāo)題:最實(shí)用也最容易被遺忘的 Linux 命令行使用技巧

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用規(guī)則Powercfg命令行使用的語(yǔ)法有哪些

    /測(cè)試和診斷/Powercfg命令行選項(xiàng)組件,使用 powercfg.exe 來(lái)控制電源計(jì)劃(稱為電源方案),以使用可用的睡眠狀態(tài)、控制單個(gè)設(shè)備的電源狀態(tài),以及分析系統(tǒng)中常見(jiàn)的能效和電池壽命問(wèn)題。使用規(guī)則Powercfg 命令行使
    發(fā)表于 01-03 07:15

    三層工業(yè)以太網(wǎng)交換機(jī)命令行使用指南v1.0

    三層工業(yè)以太網(wǎng)交換機(jī)命令行使用指南v1.0
    發(fā)表于 12-16 12:51 ?0次下載

    linux 命令行使用技巧

    我們每天使用許多Linux命令行。我們從網(wǎng)上知道一些技巧,但如果我們不去練習(xí),我們就有可能忘記。我決定做一個(gè)關(guān)于技巧和竅門的列表,這些技巧和竅門對(duì)于你來(lái)說(shuō)可能是已經(jīng)忘記的,或者可能是全新的。 輸出
    發(fā)表于 09-28 15:54 ?0次下載
    <b class='flag-5'>linux</b> <b class='flag-5'>命令行使</b>用技巧

    實(shí)用 Linux 命令行使用技巧集錦

    下面介紹的都是一些命令行工具,這些工具在日常工作中都很有用。
    的頭像 發(fā)表于 03-21 14:42 ?4713次閱讀

    Linux圖形界面的原理與構(gòu)成和Linux命令行和vi編輯器的使用手冊(cè)

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux基礎(chǔ)教案主要內(nèi)容是:(1) 了解Linux圖形界面的原理與構(gòu)成;(2)掌握Linux命令行操作,包括:命令行
    發(fā)表于 10-16 14:49 ?6次下載
    <b class='flag-5'>Linux</b>圖形界面的原理與構(gòu)成和<b class='flag-5'>Linux</b><b class='flag-5'>命令行</b>和vi編輯器的使用手冊(cè)

    Linux 命令行教程好書推薦

    今天跟大家推薦個(gè) Linux 命令行教程:《The Linux Command Line》,中文譯名:《Linux 命令行大全》。 該書作者
    的頭像 發(fā)表于 02-14 09:25 ?1440次閱讀

    Linux下播放器開(kāi)發(fā)-Mplayer命令行使用介紹

    前面文章介紹了Linux下Mplayer播放的交叉編譯、移植,在命令行上成功運(yùn)行了mplayer播放器,完成了視頻播放。mplayer支持二次開(kāi)發(fā),支持命令行上直接使用;如果在
    的頭像 發(fā)表于 08-14 09:10 ?6706次閱讀

    Linux命令行與shell腳本編寫

    Linux命令行與shell腳本編寫
    發(fā)表于 01-11 16:50 ?4次下載

    如何使用命令行Linux中查找文件?

    對(duì)于Linux新用戶來(lái)說(shuō),在Linux中查找文件可能有點(diǎn)困難。但是,在適當(dāng)?shù)闹笇?dǎo)下,任何人都可以創(chuàng)建文件快捷方式或找到其Linux系統(tǒng)中有多少文件。 我們必須使用命令行來(lái)查找文件或特定
    的頭像 發(fā)表于 03-23 14:55 ?4174次閱讀

    如何在Linux命令行中運(yùn)行Python腳本

    Python 是一種高級(jí)編程語(yǔ)言,廣泛應(yīng)用于數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、Web 開(kāi)發(fā)等領(lǐng)域。在 Linux 操作系統(tǒng)中,Python 是一個(gè)默認(rèn)安裝的解釋器,用戶可以通過(guò)命令行界面(CLI)來(lái)運(yùn)行
    的頭像 發(fā)表于 05-12 14:49 ?1644次閱讀

    linux命令行與shell編程實(shí)戰(zhàn)

    Linux命令行與Shell編程實(shí)戰(zhàn)主要涉及以下內(nèi)容: Linux命令行基礎(chǔ):學(xué)習(xí)Linux命令行
    的頭像 發(fā)表于 11-08 10:57 ?715次閱讀

    linux虛擬機(jī)怎么調(diào)出命令行

    Linux虛擬機(jī)中調(diào)出命令行界面,可以通過(guò)以下步驟實(shí)現(xiàn): 打開(kāi)虛擬機(jī),進(jìn)入到Linux系統(tǒng)。 在桌面或應(yīng)用菜單中找到終端或命令行圖標(biāo),點(diǎn)擊打開(kāi)。 輸入
    的頭像 發(fā)表于 11-08 11:28 ?2953次閱讀

    linux切換到命令行模式

    Linux中,可以通過(guò)以下步驟切換到命令行模式: 打開(kāi)終端。可以在應(yīng)用菜單中找到終端或命令行終端。 在終端中輸入命令“exit”或“l(fā)ogout”,然后按回車鍵。 系統(tǒng)會(huì)提示您輸入管
    的頭像 發(fā)表于 11-13 16:47 ?1696次閱讀

    linux虛擬機(jī)怎么調(diào)出命令行

    Linux虛擬機(jī)是一種模擬運(yùn)行Linux操作系統(tǒng)的虛擬環(huán)境,它可以在Windows、Mac、Linux等主機(jī)系統(tǒng)上運(yùn)行。在Linux虛擬機(jī)中,你可以通過(guò)終端或
    的頭像 發(fā)表于 11-17 09:55 ?3622次閱讀

    linux命令行運(yùn)行步驟

    運(yùn)行Linux命令行涉及以下步驟: 打開(kāi)終端 在Linux系統(tǒng)中,打開(kāi)命令行界面的方式有多種,最常見(jiàn)的是打開(kāi)終端應(yīng)用程序。可以在應(yīng)用程序菜單中找到終端,點(diǎn)擊打開(kāi)。 熟悉
    的頭像 發(fā)表于 11-17 10:18 ?736次閱讀