通過8個技巧讓你成為一個超強的Linux終端用戶

本文由 極客范 - minejo 翻譯自 Chris Hoffman。歡迎加入極客翻譯小組,同我們一道翻譯與分享。轉載請參見文章末尾處的要求。

ternimal

使用Linux終端不僅僅是只輸入命令。學習這些基本的技巧,你就會逐漸掌握Bash shell,這個在大多數Linux發行版上默認使用的終端工具。

這篇文章是寫給缺乏經驗的新手的,我相信大多數高級用戶已經知道了所有的這些技巧。但是,你仍然可以看看,也許能學到你一直以來都忽略了的東西。

Tab鍵自動補全

使用Tab鍵自動補全是基本的技巧。它能節省你很多時間,而且當你不確定一個文件名或者命令怎么拼寫時,它也及其有用。

舉個例子,比如在當前目錄你有一個文件,文件名是“really long file nam”,你想刪除這個文件。你可以輸入整個文件名,但是你得小心輸錯空格符(需要用\轉義)。如果你輸入”rm r”,然后按Tab鍵,Bash會自動為你補全這個文件的名字。

當然,如果當前目錄中你有很多以字母r開頭的文件,Bash就會不知道你指的是哪一個。比如當前目錄你有另一個名字叫做“really very long file name”的文,當你按Tab鍵時,Bash會補全到“really\”部分,因為兩個文件都是以這開頭的。然后,再按Tab鍵你會看到所有能匹配該開頭的文件列表,如下圖。

tab

接著輸入你想要的文件名然后按Tab鍵。這樣,當我們輸“l”然后按Tab鍵時,Bash會自動補全我們想要的文件名。

這種方法對于輸入命令來說同樣適用。當你不確定你想要的命令是什么,只記得以”gnome”開頭時,輸入“gnome”然后按Tab鍵,你就會看到所有可能的結果。

管道命令

管道命令允許你把一個命令的輸出結果轉移給另一個命令。在Unix的設計哲學中,每個程序都是只有少而精的功能。舉個例子,”ls”命令會顯示當前目錄中所有的文件列表,而”grep”命令會在制定的地方搜索輸入的字符串。

把這兩者通過管道命令(用“|”符號表示)結合起來,你就可以在當前目錄搜索某個文件了,以下命令用來搜索“really”:

pipe

通配符

星號”*”是一個可以匹配任何東西的通配符。比如,如果我們想把”really long file name“和”really very long file name“從當前目錄都刪了,我們可以使用如下命令:

這個命令刪除了所有以really開頭,以name結尾的文件。如果你用”rm *”命令,將會刪除該目錄下的所有文件,所有需謹慎使用。

wildcards

輸出重定向

“〉”字符可以把一個命令的輸出結果重定向到一個文件,而不需要額外使用另一個命令。比如,下圖的代碼使用”ls”命令來列出當前目錄的所有文件,并把輸出的列表輸入到了一個名為”file1“的文件,而不是僅僅輸出顯示在終端上。

redirection

命令行歷史

Bash會記得你使用過的命令的歷史。你可以使用向上鍵和向下鍵來翻閱你已經使用過的命令。使用”history”命令會把歷史命令都打印出來,因此你可以使用管道命令來搜索你最近使用的命令。

關于命令行歷史,還有很多可以使用的技巧

history

~,.& ..

波浪符”~”代表當前用戶的主目錄。所以,你可以使用”cd ~”切換到你的主目錄,而不用輸入”cd /home/name”。這對相對路徑同樣使用,比如”cd ~/Desktop”會切換到當前用戶的桌面目錄。

與之類似的是,”.”代表當前目錄,”..”代表父級目錄。所有,”cd ..”會跳到父級目錄。這對相對路徑同樣有效,比如你在Desktop目錄,你想切換到與Desktop目錄同級的Document目錄,你可以使用”cd ../Documents”命令。

cd

后臺運行命令

默認情況下,Bash會在當前終端下運行你的命令。正常來說沒有問題,但是當你想同時運行一個應用程序而又要繼續使用該終端時怎么辦?比如你輸入”firefox”命令來運行火狐瀏覽器,火狐將會占據你的終端并且顯示一些錯誤信息等輸出,直到你關閉它。但是加一個”&”符號在命令后面會使Bash在后臺運行該程序:

background

條件執行

你同樣可以用Bash運行兩個命令,一個接著一個。第二個命令只有當第一個命令成功運行完畢后才會運行。要想做到這樣,把兩個命令在同一行中用”&&”分隔即可。

比如,”sleep”命令會以秒為單位接受一個參數,然后倒計時,允許結束。單獨來用的話,該命令沒有任何用處,但是你可以把它作為運行下一個程序之前的延時。下面的命令會停5秒然后運行gnome的截屏工具:

你還有任何想要分享的技巧嗎?請留言。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449345.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449345.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449345.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

國信證券學習系列(2)

獲取指數池: def init(ContextInfo):#設置股票池stock300 ContextInfo.get_stock_list_in_sector(滬深300)ContextInfo.stock300_weight {}stock300_symbol []stock300_weightlist [] ContextInfo.index_code ContextInfo.stockcode"."ContextInfo.m…

旅游服務商Bikego完成A輪融資,共建創投、馬蜂窩投資

2月26日消息,近日Bikego宣布完成A輪融資,共建創投、北京馬蜂窩之旅國際旅行社投資。目前金額尚未公開。 bikego領趣旅行成立于2016年,是一家目的地日游服務運營商。從內容切入,提供國內自由行客戶的白天玩法解決方案,…

python-flask-1

https://askubuntu.com/questions/244641/how-to-set-up-and-use-a-virtual-python-environment-in-ubuntu 1. virtualenv安裝 sudo apt-get install virtualenv sudo apt install virtualenvwrapper echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh&quo…

JSch:Java Secure Channel -- java 代碼實現 ssh 遠程操作

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 JSch 是SSH2的一個純Java實現。 它允許你連接到一個 sshd 服務器,使用端口轉發,X11轉發,文件傳輸等…

國信證券學習系列(3)

日內回轉策略&#xff1a;做T策略 擇時交易&#xff1a; if date[-8:-3] ! 14:55:if macd > 0 and macd_pre < 0:# 根據MACD>0則開倉,小于0則平倉if avaliable > df.iloc[-1, 0] * ContextInfo.Lots * 100:order_shares(ContextInfo.get_universe()[0], ContextIn…

時序數據庫連載系列: 時序數據庫一哥InfluxDB之存儲機制解析

2019獨角獸企業重金招聘Python工程師標準>>> InfluxDB 的存儲機制解析 本文介紹了InfluxDB對于時序數據的存儲/索引的設計。由于InfluxDB的集群版已在0.12版就不再開源&#xff0c;因此如無特殊說明&#xff0c;本文的介紹對象都是指 InfluxDB 單機版 1. InfluxDB 的…

如何在Linux上提高文本的搜索效率

本文由 極客范 - minejo 翻譯自 Xmodulo。歡迎加入極客翻譯小組&#xff0c;同我們一道翻譯與分享。轉載請參見文章末尾處的要求。對于系統管理員或程序員來說&#xff0c;當需要在復雜配置的目錄中或者在大型源碼樹中搜尋特定的文本或模式時&#xff0c;grep類型的工具大概是…

Spring Boot 10:處理Json數據中的null值

Jackson版&#xff1a; /*** Jackson 配置類 對Json數據進行特殊處理** Author YangXuyue* Date 2019/04/02 07:12*/ Configuration public class JacksonConfig {/*** 配置Jackson** param builder* return* Author YangXuyue* Date 2019/04/02 07:14*/BeanPrimaryConditional…

國信證券學習系列(4)

機器學習篇章&#xff0c;本章不過時腳本小子&#xff0c;機器學習最核心的是機器&#xff0c;是模型。 學習&#xff0c;無非就是找些有的沒的因子扔進去&#xff0c;但說實話&#xff0c;機器學習&#xff0c;太過容易過擬合&#xff0c;容易無效化。回測好看的一筆&#xf…

JSch - Java Secure Channel : java 代碼實現服務器遠程操作

一、前言 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 JSch是SSH2的純Java實現 。 JSch允許您連接到sshd服務器并使用端口轉發&#xff0c;X11轉發&#xff0c;文件傳輸等&#xff0…

前嗅ForeSpider教程:數據建表

今天&#xff0c;小編為大家帶來的教程是&#xff1a;如何在前嗅ForeSpider中&#xff0c;進行數據建表操作及各注意事項。主要內容包括&#xff1a;快速建表&#xff0c;自由建表&#xff0c;字段參數&#xff0c;數據表的創建&#xff0c;關聯與刪除&#xff0c;以及表單變更…

世紀大爭論:Linux還是GNU/Linux?

本文由 極客范 - 愛開源的貢獻開源社區 翻譯自 Chris Hoffman。歡迎加入極客翻譯小組&#xff0c;同我們一道翻譯與分享。轉載請參見文章末尾處的要求。我們在網上已經習慣用“Linux”來稱呼Linux操作系統了&#xff0c;然而&#xff0c;偶爾也用“GNU/Linux”來稱呼和指代同…

PyTorch Softmax

PyTorch provides 2 kinds of Softmax class. The one is applying softmax along a certain dimension. The other is do softmax on a spatial matrix sized in B, C, H, W. But it seems like some problems existing in Softmax2d. : ( 轉載于:https://www.cnblogs.com/hiz…

國信證券學習系列(5)

網格策略&#xff0c;號稱勝率100%的策略&#xff0c;只要扛得住回撤&#xff0c;怎么說呢&#xff0c;它包含了最簡單的思想&#xff0c;大道至簡&#xff0c;真的是沒有什么復雜的&#xff0c;原理清晰&#xff0c;思路簡單。可以明確知道我掙的是那筆錢&#xff0c;為什么獲…

promise

## 前言 今天來分享下promise的用法&#xff0c;es6偉大發明之一&#xff0c;當初我學習的時候也是蠻頭大的&#xff0c;不知道為啥&#xff0c;整個腦子就是&#xff0c;我在哪&#xff0c;我要干啥的懵圈&#xff0c;后面認真學習之后&#xff0c;覺得真是十分好用&#xff0…

計算機集群 解說

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 計算機集群簡稱集群是一種計算機系統&#xff0c;它通過一組松散集成的計算機軟件和/或硬件連接起來高度緊密地協作完成計算工作。 在某…

同時尋找最大數和最小數的最優算法 第二大數

我們知道&#xff0c;在一個容量為n的數據集合中尋找一個最大數&#xff0c;不管用什么樣的比較算法&#xff0c;至少要比較n-1次&#xff0c;就算是用競標賽排序也得比較n-1次&#xff0c;否則你找到的就不能保證是最大的數。那么&#xff0c;在一個容量為n的數據集合中同時尋…

淺談mpvue項目目錄和文件結構

2019獨角獸企業重金招聘Python工程師標準>>> 在Visual Studio Code里面打開項目文件夾&#xff0c;我們可以看到類似如下的文件結構&#xff1a; 1、package.json文件 package.json是項目的主配置文件&#xff0c;里面包含了mpvue項目的基本描述信息、項目所依賴的各…

[AHOI2009]最小割(最大流+tarjan)

繼續填坑了&#xff0c;啦啦啦 這道題本來是準備枚舉每個邊&#xff0c;暫時去除它&#xff0c;但發現時間會爆炸的 于是決定另辟蹊徑 于是這篇題解就應運而生 首先還是網絡流跑一邊 畢竟題目叫最小割嘛&#xff0c;給個面子 然后跑一邊tarjan對滿流的邊處理掉&#xff0c;即不…

進程間通信---信號

什么是信號&#xff1f; 】 信號處理流程 信號類型 發送信號的函數 參數sig&#xff1a;代表 信號 接收信號的函數 參數 handle 的處理方式有幾種&#xff1f; 實例代碼 實例邏輯 圖中的等待操作使用&#xff1a;pause&#xff08;&#xff09;函數 代碼 在這里插入代碼片…