Linux基礎命令:作為開發人員,你還不知道嘛?

2021-01-11 網易

  

全文共2609字,預計學習時長7分鐘

  

  圖源:unsplash

  熟悉終端是一種提高效率的好辦法。別再用滑鼠在GUI中點來點去了,你可以使用效率更高的命令行來完成相同的工作。如果想讓命令行用得順手,那麼有些命令是必須了解的。這些命令很基本,且很重要。要為命令行的使用打下堅實的基礎,就必須掌握這些命令。

  本文適用於想更好地使用Linux命令行的讀者。沒有豐富的命令行經驗也是完全可以讀懂本文的,已經習慣使用Linux命令行的讀者也不必擔心從本文中學不到東西。那麼我們開始吧!

  1. tail -f

  cat命令可以用來查看文件內容。但是在查看時會有更多的選項。cat命令輸出整個文件,這有時是沒必要的。如果只想輸出第一行或最後某行,則可以使用tail或head命令來實現。默認情況下,head命令輸出前10行,tail命令輸出後10行。

  tail命令通常用於查看日誌文件,這是因為tail命令有一個-f選項,代表「follow」,可以用來查看文件。此選項將在文件內容增多時輸出追加的數據,就可以立即顯示附加到文件中的日誌項。

  2. scp

  scp表示安全複製(secure copy),可以在網際網路的主機間複製文件。使用scp的一種方法是將文件從個人計算機複製到遠程伺服器,反之亦然。scp與安全外殼協議(SSH)相互協作。

  這個命令非常簡單,工作原理與cp命令類似。唯一的區別是,可以用scp將文件複製到其他主機,而普通的cp命令不可能做到這一點。

  scp [target] [destination]

  scp看起來就像熟悉的cp命令。要將文件從伺服器複製到個人計算機,必須執行以下操作:

  scp derk@127.0.0.1:/target/file.txt ~/destination

  本例中,用戶為「derk」,主機為127.0.0.1。主機地址後跟冒號。冒號後指定需要複製的文件的路徑。第二個參數是destination,在本例中是個人計算機的一個文件夾。該命令的結果是將file.txt從伺服器複製到本地計算機的~/destination文件夾。

  例如,這很適用於從伺服器下載資料庫備份。如果想從個人計算機上傳文件到遠程主機,則需要切換參數。

  scp ~/target/file.txt derk@127.0.0.1:/destination

  這個命令將file.txt從個人計算機複製到遠程主機上的destination文件夾。

  3. cd -

  cd是Linux命令行中使用最頻繁的命令之一。然而,許多開發人員還不知道cd命令附帶的一個很好的選項——連字符。

  cd -

  在cd命令後添加連字符可以返回到先前選擇的目錄。下面是實際操作的示例

  4. diff

  如果曾經使用過版本控制,那麼很可能使用過diff命令。例如,在使用Git時,這個命令可以查看對某個文件所做的更改。

  diff命令代表差異(difference),可以逐行比較文件。假設有兩個文件都包含大陸的列表,這些文件之間唯一的區別是大陸的排列順序。

  

  對這兩個文件使用diff命令,將得到以下輸出。同時一定要添加-c選項,它可以輸出上下文模式中的差異,從而使輸出更具有可讀性。

  

  5. locate

  locate命令是在計算機上搜索文件的一個非常強大的工具。與find命令相比,locate命令要快得多。之所以這麼快,是因為它不讀取文件系統來搜索文件或目錄名,而是引用一個資料庫來查找用戶正在查找的內容,並基於搜索生成相應輸出。

  locate命令的語法非常簡單:

  locate [filename]

  這個命令的輸出將列出包含指定術語的所有文件,在下面的示例中,搜索的術語是「xml」。

  還可以使用正則表達式來搜索完全匹配。用-r選項指定正則表達式。

  locate -r /filename$

  6. lsof

  lsof命令可以列出所有打開的文件。它的語法很簡單,只需鍵入lsof即可。這個命令無其它選項,列出所有處於活動進程中的打開文件。

  這個命令適用於多種情況,其中一種情況是查看哪些進程正在某個埠上運行。為此,必須指定-i選項。下例中,我們要查看哪些進程正在埠22上運行,即SSH的埠。

  lsof -i TCP:22

  也可以列出一系列埠。下例列出了埠範圍為20-30中運行的所有進程。

  lsof -i TCP:20-30

  最後,lsof命令的輸出可用於終止特定用戶的所有進程——在本例中為derk。

  kill -9 `lsof -t -u derk`

  7. history

  history命令存儲了從當前終端會話運行的所有其他命令的列表。下圖是history命令輸出的示例:

  

  可以將history命令與grep結合起來,使搜索更加精準。

  history | grep npm

  不僅可以使用history命令查看所有已運行的命令。還可以使用history命令再次快速執行其中一個先前執行過的命令。

  每當執行history命令時,在每行前面都會顯示一個數字。用感嘆號後跟行號可以再次執行相同的命令。

  !488

  回顧之前的例子,上面的命令將再次執行ls -al命令。

  8. wget

  Wget可以從Web下載文件。下文展示了wget命令的語法,只需要指定要下載的資源即可。在本例中,我們將下載一個隨機圖像。

  wget https://picsum.photos/200

  wget採用最簡單的形式,沒有任何選項,它把URL中指定的資源下載到當前目錄中。默認情況下會發現wget命令輸出下載相關的大量細節,例如下載速度和進度條。要關閉輸出,可以使用-q選項。如果想用不同的名稱保存下載的文件,可以使用-0選項,後跟文件的名稱。

  wget -O my-image.jpg https://picsum.photos/200

  希望本文介紹的這些命令,可以讓開發人員的生活變得簡單一些。

  

  留言點讚關注

  我們一起分享AI學習與發展的乾貨

  如轉載,請後臺留言,遵守轉載規範

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關焦點

  • Linux基礎命令之:實驗內容及小結
    ,學會設置環境變量,同時搭建起嵌入式Linux的交叉編譯環境(關於交叉編譯的具體概念在本書後面會詳細講解),為今後的實驗打下良好的基礎。命令為:su-root(4)查看cross-3.3.2.tar.bz2所在的Windows下對應分區的格式,並記下其文件設備名稱,如「/dev/hda1」等。命令為:fdisk-l(5)使用mkdir命令在「/mnt」新建子目錄作為掛載點。命令為:mkdir/mnt/win(6)掛載Windows相應分區。
  • linux下configure命令詳細介紹
    Linux環境下的軟體安裝,並不是一件容易的事情;如果通過原始碼編譯後在安裝,當然事情就更為複雜一些;現在安裝各種軟體的教程都非常普遍;但萬變不離其中,對基礎知識的紮實掌握,安裝各種軟體的問題就迎刃而解了。Configure腳本配置工具就是基礎之一,它是autoconf的工具的基本應用。
  • Linux基礎命令介紹六:網絡
    本文將講述網絡相關命令,作者假定讀者具備TCP/IP協議棧的基礎知識。對於相關命令及其輸出只介紹它的基本的使用方法和大概的描述,具體協議將不作詳細解釋。
  • Linux下scp命令使用教程
    然後我們介紹第一條命令將本地的目錄上傳的遠程伺服器目錄上。執行命令"scp  -r /opt/test root@192.168.2.105:/opt"。本條命令意思為將本地的目錄/opt/test上傳到遠程192.168.2.105的opt目錄下。然後根據提示輸入root的密碼,等待即可上傳完畢。接下來我們登錄遠程伺服器進行查看驗證,可以看到目錄內的文件已經全部拷貝過來。
  • 嵌入式Linux用Qt Designer快速開發
    RAD(快速應用程式開發)是一種高效的軟體開發形式,可以讓用戶在極短的時間裡創建一個圖形化的用戶界面。通常情況下,在一張空白的表單上,開發人員可以通過拖拉或點擊的方式,在窗口的適當位置上添加一些輸入框和按鈕等窗口組件。
  • Linux系統的發展歷史和學習前景介紹
    一、linux行業狀況  我們都知道從1991年Linux開始火爆全球,蔓延至中國,隨著智能中國、網絡繁榮發展,眾多應用基本都跑在Linux伺服器上面,但對於大多數人來說還是不太了解。  1.入坑門檻太高  Linux屬於類UNIX作業系統,從開發之初就不是針對普通大眾的,而是專門從事計算機行業的專業人員。Linux主要以命令行的方式操作,而這不是我們比較容易操作,相比微軟的windows圖形化操作,大家都會選擇後者。
  • 軟體測試人員必備Linux命令操作——初級基礎篇
    若 BBB 目錄原本不存在,則建立一個。(註:本例若不加 -p,且原本 BBB目錄不存在,則產生錯誤。) mkdir -p BBB/Test1.5 rmdir(初級)功能說明:刪除目錄。格式可以自行指定-prune  不尋找字符串作為尋找文件或目錄的範本樣式-regex<範本樣式>  指定字符串作為尋找文件或目錄的範本樣式-size<文件大小>  查找符合指定的文件大小的文件-true  將find指令的回傳值皆設為True-typ
  • 嵌入式Linux開發環境的搭建之:嵌入式開發環境的搭建
    本文引用地址:http://www.eepw.com.cn/article/257141.htm5.1嵌入式開發環境的搭建5.1.1嵌入式交叉編譯環境的搭建linux作業系統文章專題:linux作業系統詳解(linux不再難懂)交叉編譯的概念在第4章中已經詳細講述過,搭建交叉編譯環境是嵌入式開發的第一步,也是必備的一步。
  • 從RTOS到Linux的應用移植
    開發人員可以自定義該I/O內存資源映射後的虛擬地址。創建好了靜態映射表,在內核或驅動中訪問該I/O資源時則無需再進行ioremap映射,可以直接通過映射後的I/O虛擬地址去訪問它。  這裡主要討論更常用的動態映射方式。動態映射方式是直接通過內核提供的ioremap函數動態創建一段外設I/O內存資源到內核虛擬地址的映射表,從而可以在內核空間中訪問這段I/O資源。
  • 從串口驅動到Linux驅動模型,想轉Linux的必會!
    所以選擇了一款比較便宜的ARM9開發板作為開發平臺。它的CPU是三星公司生產的S3C2440。核心是ARM920T。C、關於Linux的基本思想Linux的基本思想有兩點:第一. 一切都是文件。系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、作業系統、進程等等對於作業系統內核而言,都被視為擁有各自特性或類型的文件。
  • 從超級菜鳥變成Linux系統高手
    1.準備選擇一款Linux發行版  首先了解下,什麼是Linux和自己的需求,經常看到有人問用什麼版本的Linux好,其實只要你認真學習,那個版本都好,討論什麼版本好否從本質上說沒有一點意義,所有的發行版本都是基本Linux內核開發的,只不過是外表不一樣。
  • Linux命令cheat的安裝和使用
    大家好,今天周二,還是和往常一樣,沒有精神,每天坐在電腦前一坐就是一天,感覺身體也是一天不如一天了,不說這些,今天說一下Linux命令cheat, cheat 允許你在命令行中創建和查看交互式的速查表cheatsheet。它能幫助提醒 *nix 系統管理員他們經常使用但還沒頻繁到會記住的命令的選項,raksmart伺服器。
  • Linux下如何掛載新磁碟:mount
    前言在linux系統伺服器上插了一個U盤,結果系統顯示不出來,是什麼原因導致了系統不能識別U盤呢?經過一番搜索,發現新的硬體設備插在linux系統上時,如果不能正常顯示,則需要通過掛載讓U盤顯示出來,這裡就用到了我們今天要介紹的命令:mount。
  • Linux下C編程基礎之:本章小結與思考與練習
    3.8 本章小結本章是Linux中進行C語言編程的基礎,首先講解了C語言編程的關鍵點,這裡關鍵要了解編輯器、編譯連結器、調試器及項目管理工具等概念。
  • 「linux專欄」嘔心瀝血兩天,就為linux中安裝拼音輸入法
    幾經百度,自我實踐,最後發現最有效的辦法就是使用yum源安裝ibus的拼音輸入法,當然ibus也是眾多linux用戶反響比較穩定的一款輸入法。當然我們也有必要為大家說明一下,就目前來看,linux中常用的中文輸入法平臺有IBus、fcitx和scim。scim現在維護滯後,不推薦使用。
  • vim命令使用總結
    vim簡介vim 是linux系統自帶的文本編輯器。vim 共有三種模式:命令模式:用vim打開文件就進入了命令模式;輸入模式:在命令模式輸入i/I/a/A/o/O就進入輸入模式;在輸入模式下按鍵esc,則退出輸入模式進入命令模式底線模式:在命令模式按下英文冒號:就進入了底線模式;二. vim命令使用總結2.1 光標移動(1)光標上下左右移動(鍵盤的上下左右四個鍵):
  • ARM Linux根文件系統Root Filesystem的製作
    = /usr/local/arm/3.4.1/bin/arm-linux-當然CROSS_COMPILE由你自己的編譯器位置決定,然後# make menuconfig# make# make install注意配置的時候把一些uCLinux Only的東西去掉,不然會錯;配置的時候還可以修改安裝位置,默認是在Busybox下的
  • 嵌入式Linux的GDB調試環境建立
    假定在debug下編譯gdb套件,你前面已經設定了TARGET,PREFIX參數。其中TARGET是你的目標板,我的是arm-linux,PREFIX是你要安裝的目標文件夾。$tar xvzf gdb-5.2.1.tar.gz $mkdir debug/build-gdb $cd build-gdb $..
  • linux的centos系統中,dig命令的安裝和使用詳解
    說到dig命令,在linux系統下,其實nslookup指令和dig指令的功能是相同的,在使用上,只不過要因人而異,使用習慣上的不同而選擇順手的指令即可,也不必糾結那個好壞,只要能解決問題就行了。我經常用dig指令來測試域名系統工作是否正常。