中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

提高Linux工作效率的九大bash技巧分別是什么

發布時間:2021-11-09 10:51:34 來源:億速云 閱讀:93 作者:柒染 欄目:建站服務器

今天就跟大家聊聊有關提高Linux工作效率的九大bash技巧分別是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

我喜歡鉆研bash環境。很多時候,在使用bash編程中,有些問題一遍又一遍的重復遇到。每次我都需要重新思考這些問題的解決方法。直到有一天我無法忍受,于是坐下來,編寫一個通用的函數,放入我的.bashrc文件中,部署到電腦上。

希望我的這些追求最大化命令行效率的努力成果也能給其他喜歡使用bash的朋友們帶來一些幫助。我更大的期望是我的這種行為能引起其他朋友的互動——給我提建議、提出更好的bash技巧,請在文后留言討論。

別的不多說了,下面就是我的總結。

技巧一、用命令行往文件的頂部添加文字

每次我都會重新尋找這個命令的寫法。下面就是如何使用sed往一個文件頂部添加一行的方法:

sed -i  path/to/file/you/want/to/change.txt

技巧二、用命令行往配置文件里插入多行文本

這種方法非常簡單,很多人都知道,下面就是如何用命令行將(>>)多行文本插入一個文件中。這里使用的是“here document”語法,它能讓你通過塊文本符號來將段落插入文件中,通常用的符合是EOF(意思是 “End Of File”):

cat >> path/to/file/to/append-to.txt << 
 /jdk1.8.0_31/bin: /jdk1.8.0_31/
EOF

兩個”EOF“之間的所有內容都會被添加到文件中。

技巧三、用命令行遞歸方式全局搜索目錄文件和替換

如果你使用Eclipse,ItelliJ或其它IDE,這些工具的強大重構能力也許會讓你輕松實現很多事情。但我估計很多時候你的開發環境中沒有這樣的集成工具。

如何使用命令行對一個目錄進行遞歸搜索和替換?別想Perl語言,你可以使用find and sed。感謝Stack Overflow提供的指導:

find . -type f -name  -exec sed -i  s/this/that/g  +

使用了一段時間后,我總結寫出了一個函數,添加入了 .bashrc ,就像下面這樣:

 sr 
    find . -type f -exec sed -i  s///g  +

你可以像這樣使用它:

sr wrong_word correct_word

技巧四、用命令行在vim和Dropbox里開啟一個臨時文件

我過去喜歡用Emacs里的scratch facility功能。也經常用Vim快速創建臨時文件。下面這兩個函數是使用openssl生成隨機的字符串作為文件名:

 sc 
  gvim ~/Dropbox/openssl rand -base64   tr -dc .txt
 scratch 
  gvim ~/Dropbox/openssl rand -base64   tr -dc .txt

在命令行窗口輸入sc或scratch,一個新的gvim或macvim窗口就會彈出來,里面會加載一個隨機文件名的臨時文件。

技巧五、用命令行下載文件,包括鏈接轉向、HTTPS和安全加密等情況。

下載一個頁面輸出到終端,跟隨鏈接轉向,忽略安全異常:

curl -Lks <some-url>

下載一個鏈接,跟隨鏈接轉向,忽略安全異常:

curl -OLks <some-url/to/a/file.tar.gz>

這里用了很多參數,你可以閱讀這個簡單的curl文檔來了解它們。

技巧六、Bashmarks

你還沒有在.bashrc里使用bashmarks嗎?還在等待什么?它真的非常有用。它能幫你保持歷史操作,跳回到你經常使用的目錄。下面是我的配置文件里腳本,但我想上面的鏈接能提供你更多技巧:

技巧七、從格式化輸出里提取一列(我最常使用的awk技巧)

我幾乎天天都會使用它。真的。經常會有一些輸出,我只需要其中的第二列,或第三列,下面這個命令就能做到這些:

M .bashrc
?? .vim/bundle/extempore/
$ git status -s  awk 
.bashrc
.vim/bundle/extempore/

為什么不寫個函數,讓我們隨時都可以用呢?

 col 
  awk -v

這使得提取列非常容易,比如,你不想要第一列?簡單:

$ git status -s  col 2
.bashrc
.vim/bundle/extempore/

技巧八、忽略頭x個詞

我對xargs很著迷,我感覺它就像一把快刀。但有時候用它獲得的結果需要調整一下,也許需要取得一些值。例如,你想去掉下面文件影像里的一些信息:

 skip 
      
    cut -d -f-

下面是如何使用它:

使用 docker images 得到下面的輸出:

使用上面的函數,你可以獲取所有的IDs:

$ docker images  col 3
IMAGE
65a9e3ef7171
7c01ca6c30f2
9518620e6a0e
430707ee7fe8
1dbd7ebffe31
f47686df00df
df1e39df8dbf
c5e6cf38d985
e426f6ef897e
8cdd417ec611
511136ea3c5a

進一步處理:

docker images  col   xargs
IMAGE 65a9e3ef7171 7c01ca6c30f2 9518620e6a0e 430707ee7fe8 1dbd7ebffe31 f47686df00df 
df1e39df8dbf c5e6cf38d985 e426f6ef897e 8cdd417ec611 511136ea3c5a

但前面的”IMAGE”字符我也想去掉:

docker images  col   xargs  skip 1
65a9e3ef7171 7c01ca6c30f2 9518620e6a0e 430707ee7fe8 1dbd7ebffe31 f47686df00df 
df1e39df8dbf c5e6cf38d985 e426f6ef897e 8cdd417ec611 511136ea3c5a

完整的寫下來就是這樣:

docker rmi docker images  col   xargs  skip 1

技巧九、創建自己的命令包

在bash里,你可以很容易的創建自己的命令組件,你可以看一下下面我寫的:

通過上面的腳本,我可以將ssh key拷貝到任何網站服務器——只需要鍵入 dur key user@somehost.

看完上述內容,你們對提高Linux工作效率的九大bash技巧分別是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秦安县| 临西县| 佛冈县| 乌拉特中旗| 崇礼县| 永康市| 巴塘县| 葵青区| 札达县| 湛江市| 曲水县| 页游| 荔波县| 景泰县| 洮南市| 扬中市| 宁武县| 内江市| 新建县| 峨眉山市| 宿迁市| 来凤县| 基隆市| 临高县| 无锡市| 都江堰市| 西充县| 离岛区| 渭南市| 龙游县| 桐城市| 怀柔区| 正蓝旗| 新乡县| 望都县| 内黄县| 仪征市| 邢台市| 龙井市| 香格里拉县| 南华县|