偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

分享生產力Shell命令和命令行技巧

系統(tǒng) Linux
下面列出了我多年來學到的最喜歡和最常用的Shell命令和技巧。我相信你肯定知道其中的一些命令或技巧,那么就請?zhí)^,但其他的命令可能會給你提高生產力。

 如果您想成為一名高效的開發(fā)人員,那么無論您使用什么技術,就離不開使用命令行。

下面列出了我多年來學到的最喜歡和最常用的Shell命令和技巧。我相信你肯定知道其中的一些命令或技巧,那么就請?zhí)^,但其他的命令可能會給你提高生產力。

免責聲明:我在Ubuntu 20.04上使用默認的終端使用這些命令。只要您在類似Unix的操作系統(tǒng)上運行類似bash的shell,這些命令也應該適用于您。但是如果你在Windows上運行Powershell,那么祝你好運!

cd -

您可能知道可以使用cd切換到某個目錄。

但是您知道您可以使用破折號(-)作為參數(shù)返回上一個目錄嗎? 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ cd  
  2. linuxmi@linuxmi:~$ cd -  
  3. /home/linuxmi/www.linuxmi.com  
  4. linuxmi@linuxmi:~/www.linuxmi.com$ cd -  
  5. /home/linuxmi 

如下圖:

溫馨提示:破折號參數(shù)也適用于git checkout,所以你可以使用它在主分支和工作分支之間進行快速切換。

Shell 歷史

這可能是本人最常用的一個shell技巧:(連續(xù))按向上箭頭以選擇我的shell歷史記錄中的最后一個命令。

您也可以按ctrl + r(依次)按LRU順序通過關鍵字反向搜索Shell歷史記錄。

或者直接鍵入history來查看終端中的整個shell歷史記錄。然后您可以寫入![number]以在歷史記錄中的位置編號處選擇命令。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ history 

 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ !849 

你甚至可以使用負數(shù)作為索引來選擇倒數(shù)第n個命令,就像這樣: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ !-2 

 

!^ !$

前一個命令的第一個 (!^) 和最后一個 (!$) 參數(shù)也有快捷方式: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ echo linuxmi linux ubuntu java python  
  2. linuxmi linux ubuntu java python  
  3. linuxmi@linuxmi:~/www.linuxmi.com$ echo !^ !$  
  4. echo linuxmi python 
  5. linuxmi python  

如下圖:

!!

如果您只需要最后一條命令,則可以添加!! 在您當前的命令中,它將替換為最后的命令并執(zhí)行: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ uname -r  
  2. 5.12.0-051200-generic  
  3. linuxmi@linuxmi:~/www.linuxmi.com$ !!  
  4. uname -r  
  5. 5.12.0-051200-generic  

如下圖:

!:[index]

或者,您可以通過在命令中包含!:[index]來選擇所需命令的一部分,然后插入前一個命令的索引[index]處的參數(shù)。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ echo linuxmi linux ubuntu java python  
  2. linuxmi linux ubuntu java python  
  3. linuxmi@linuxmi:~/www.linuxmi.com$ echo !:1  
  4. echo linuxmi 
  5. linuxmi 

你甚至可以用[index]-[index]來選擇范圍: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ echo linuxmi linux ubuntu java python  
  2. linuxmi linux ubuntu java python  
  3. linuxmi@linuxmi:~/www.linuxmi.com$ echo !:2-3  
  4. echo linux ubuntu  
  5. linux ubuntu 

編輯當前行

當你剛從歷史記錄中選擇了需要稍作更改的命令時,那么這個功能特別有用。

您可以通過按ctrl + a將光標移動到行的開頭,并通過按ctrl + e將光標移動到行的結尾(請記?。篹表示結尾,a表示字母的開頭)。

此外還有:

ctrl + k 剪切光標及其后邊的內容;

ctrl + u 剪切光標之前的內容;

ctrl + y 在光標處粘貼上兩個命令,粘貼方式和被剪切方式相同;

ctrl + c 結束正在運行的程序或命令;

ctrl + d 結束當前命令窗口;

ctrl + r 輸入關鍵字可彈出曾經用過的命令;

ctrl + l 清屏;(和clear效果相同)

ctrl + x + e

如果你意識到你現(xiàn)在需要做一個更大的編輯或寫一個非常長的命令,可能帶有一些循環(huán)或一些復雜的解析邏輯,需要更多的編輯功能,你也可以切換到你的編輯器,請按ctrl + e + x

Vim(或Nano或VI等)就會馬上打開,并且您已經在緩沖區(qū)中鍵入的命令已打開。

如下圖:

使用一個命令處理多個文件

你以前應該使用過cp或mv之類的命令來處理文件。

不過現(xiàn)在介紹的是{}參數(shù)擴展。

通過使用{},您可以指示shell擴展大括號中的每個值: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ mv linuxmi.{py,sh} linux 

這個命令將移動linuxmi.py文件和linuxmi.java文件,而不用鍵入兩次linuxmi。

如下圖:

此外,你還可以使用如下的例子

以下命令將五個文件(linuxmi1.png,linuxmi2.png,linuxmi3.png 和 linuxmi4.png)復制到 linux/目錄: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ cp linuxmi{1..4}.png linuxmi/ 

從歷史記錄粘貼修改后的命令

您也可以在一個步驟中完成,而不是檢索最后一個命令,然后在兩個單獨的步驟中修改它。

^x^y就是用y代替x的命令: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ unaem -r  
  2. Command 'unaem' not found, did you mean:  
  3. command 'uname' from deb coreutils (8.30-3ubuntu2)  
  4. Try: sudo apt install <deb name>  
  5. linuxmi@linuxmi:~/www.linuxmi.com$ ^unaem^uname  
  6. uname -r  
  7. 5.12.0-051200-generic 

總結

看了本文,你是不是覺得有更多的命令可以幫助您提高生產效率,以后遇到精彩的命令與技巧時,我會更新本文。你也可以把這篇文章收藏起來,以便將來可以參考。 

 

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2017-11-14 11:26:06

命令行技巧生產力

2009-12-23 14:14:09

Linux高級命令行

2018-05-07 15:50:59

LinuxmoroNodeJS

2010-02-05 14:59:31

C++命令行模式編譯設

2017-03-08 11:10:39

LinuxShell命令

2010-12-02 14:29:07

nmap

2023-02-13 08:34:26

Linux鍵盤快捷鍵

2021-10-08 09:06:42

LinuxLinux命令

2009-12-16 11:23:29

VS命令

2017-09-05 08:57:02

Linux命令行技巧

2013-09-27 09:56:25

2024-03-06 15:57:56

ShellLinux

2015-09-29 16:03:43

2019-05-21 10:38:17

Linux命令行

2010-07-20 14:27:46

Perl命令行

2018-03-14 14:27:00

2019-10-17 18:00:00

Linuxfind命令xargs命令

2010-07-15 12:45:30

Perl命令行

2013-09-10 10:34:49

PowerShell

2022-06-12 15:32:27

bashLinux
點贊
收藏

51CTO技術棧公眾號