林克的小本本之——記一些基礎的linux命令

来源:https://www.cnblogs.com/lynk/archive/2019/12/18/12061692.html
-Advertisement-
Play Games

查看shell cat /etc/shells 查看系統支持的shell echo $SHELL 查看目前正在使用的shell 快捷鍵 Ctrl+a 跳到行首 Ctrl+e 跳到行尾 Ctrl+u 刪除游標至行首的內容 Ctrl+k 刪除游標至行尾的內容 Ctrl+ c 拼接文件內容 tac 鏈接文 ...


查看shell

  • cat /etc/shells 查看系統支持的shell
  • echo $SHELL 查看目前正在使用的shell

快捷鍵

  • Ctrl+a 跳到行首
  • Ctrl+e 跳到行尾
  • Ctrl+u 刪除游標至行首的內容
  • Ctrl+k 刪除游標至行尾的內容
  • Ctrl+<-- 游標跳到離自己最近的一個單詞前
  • Ctrl+l 清屏

命令替換

把命令中的某個子命令替換為其結果

  • $(COMMAND) (推薦)
  • 'COMMAND'

命令行展開

  • ~ 展開為用戶的家目錄
  • ~USERNAME 展開為USERNAME用戶的家目錄
  • {} 可承載一個以逗號分隔的列表,並將其展開為多個目錄,例如
    • /tmp/{a,b} = /tmp/a, /tmp/b
    • /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

文件名通配

  • * 匹配任意長度的任意字元
  • ? 匹配任意單個字元
  • [] 匹配任意範圍內的單個字元
  • [^] 匹配任意範圍外的任意單個字元
    • [abc] [a-m] [0-9]
    • [[:space:]] 空白字元
    • [[:punct:]] 標點符號
    • [[:lower:]] 小寫字母
    • [[:upper:]] 大寫字母
    • [[:alpha:]] 大小寫字母
    • [[:digit:]] 數字
    • [[:alnum:]] 數字和大小寫字母

環境變數

  • PATH 命令搜索路徑(系統會從這個路徑的文件里搜索命令,如果把這個改了,很有可能會導致無法使用部分命令)
  • HISTSIZE 命令歷史緩衝區大小
  • SHELL 當前shell

命令別名

僅在當前shell生命周期內有效

  • alias CMDALIAS='COMMAND [options] [arguments]'

命令類型

  • linux分為兩種命令
    • 內部命令,shell內置
    • 外部命令,在文件系統下有一個與命令名稱相應的可執行文件
  • type 顯示命令類型

目錄管理

  • ls 列出目錄內容
  • 選項:
    • -l 長格式
      文件類型:
        • 普通文件(f)
      • d 目錄文件
      • b 塊設備文件(block)
      • c 字元設備文件(character)
      • l 符號鏈接文件(symbolic link file)
      • p 命令管道(pipe)
      • s 套接字文件(socket)
    • -h 人性化單位轉換
    • -a 顯示隱藏文件(以.開頭的文件)
    • -d 顯示目錄自身屬性
    • -i 顯示文件的inode
    • -r 逆序顯示
    • -R 遞歸顯示
  • cd 切換目錄
  • psw 查看當前所在目錄路徑
  • msdir 創建目錄
  • 選項:
    • -p 創建目錄是,若父目錄不存在則創建
    • -v 顯示目錄創建過程
  • tree 查看目錄的樹狀結構
  • 選項:
    • -d 只顯示目錄
    • -l LEVEL 指定顯示的層數
    • -P PATTERN 只顯示指定PATTERN匹配到的路徑

文件管理

  • touch 創建空文件,或修改時間戳
  • stat 查看文件或文件系統狀態
  • rm 刪除文件
  • 選項:
    • -r 遞歸刪除
    • -f 強制刪除
    • 在rm前加,即\rm也可以起到強制刪除的作用
    • 不要手賤去刪除/bin/、/usr/等系統目錄,《Linux從刪庫到跑路》
  • cp 複製文件
  • 選項:
    • -r 遞歸複製,複製目錄必須帶
    • -a 歸檔複製,常用於備份
    • -p 帶許可權拷貝
  • mv 移動文件
  • install 複製文件並設置屬性,常用於安裝或升級軟體或備份數據
    選項:
    • -m mode模式,自行設定許可權
    • -o owner模式,自行設定屬主
    • -g group模式,自行設定屬組

壓縮、解壓命令

壓縮格式:gz、bz2、xz、zip、Z

  • compress 壓縮後文件名為FILENAME.Z
    • uncompress 解壓
  • gzip 壓縮後文件名為FILENAME.gz,會刪除原文件
  • 選項:
    • -d 解壓,會刪除原文件
    • -c 輸出結果
    • -# [1-9] 指定壓縮比,預設6
  • gunzip 解壓,會刪除原文件
  • zcat 不解壓的情況下查看文本內容
  • bzip2 壓縮後的文件名為FILENAME.bz2,比gzip壓縮比更大,格式相近
  • 選項:
    • -d 解壓,會刪除原文件
    • -k 壓縮保留原文件
    • -# [1-9] 指定壓縮比,預設6
  • bunzip2 解壓,會刪除原文件
  • xz 壓縮後的文件名為FILENAME.xz
  • 選項:
    • -d 解壓,會刪除原文件
    • -k 壓縮保留原文件
    • -# [1-9] 指定壓縮比,預設6
  • unxz 解壓,會刪除原文件
  • xzcat 不解壓的情況下查看文本內容
  • zip 既歸檔又壓縮,可以壓縮目錄,不刪除原文件
    • zip filename.zip file1 file2
    • zip filename.zip DIR/*
  • unzip 解壓,不刪除原文件
  • archive 歸檔,不壓縮
  • tar 歸檔,不壓縮(常用)
  • 選項:
    • -c 創建歸檔文件
    • -f file.tar 指定歸檔操作的文件
    • -x 還原歸檔
    • -cf 歸檔文件,f選項必須在歸檔後文件名前
    • -xf 解壓歸檔文件,f選項必須在歸檔前文件名前
    • -v 顯示詳細信息
    • -p 保留許可權信息,只有管理員才有此選項的使用許可權
    • -C 將展開的歸檔文件保存到指定的目錄下
    • --delete 從歸檔文件中刪除文件
    • --xattrs 歸檔時保留擴展屬性信息
    • -tf 不展開歸檔,直接查看歸檔了哪些文件
    • -tvf 不展開歸檔,直接查看歸檔了哪些文件,可以查看歸檔文件的詳細信息
    • -zcf 歸檔並調用gzip壓縮
    • -zxf 調用gzip解壓並展開歸檔
    • -jcf 歸檔並調用bzip2壓縮
    • -jxf 調用bzip2解壓並展開歸檔
    • -Jcf 歸檔並調用xz歸檔
    • -Jxf 調用xz解壓並展開歸檔

查看文本

  • cat 拼接文件內容並輸出至標準輸出,使用cat查看文件會將文件的所有內容載入至記憶體,所以應該避免使用cat打開巨大文件
    • -n 顯示行號
    • cat a b >> c 拼接文件內容
  • tac 鏈接文件並倒敘列印內容至標準輸出,和cat類似。但這個命令並沒有什麼卵用
  • more 全屏查看文本文件內容。只能從前往後,顯示完自動退出
  • less 全屏查看文本文件內容。可以往前也能往後,比more高到不知道哪裡去了。推薦使用
  • 選項:
    • -N 顯示每行的行號
  • 快捷鍵:
    • /字元串:向下搜索"字元串"的功能
    • ?字元串:向上搜索"字元串"的功能
    • n:重覆前一個搜索(與 / 或 ? 有關)
    • N:反向重覆前一個搜索(與 / 或 ? 有關)
    • b 向後翻一頁
    • d 向後翻半頁
    • h 顯示幫助界面
    • Q 退出less 命令
    • u 向前滾動半頁
    • y 向前滾動一行
    • 空格鍵 滾動一頁
    • 回車鍵 滾動一行
    • [pagedown]: 向下翻動一頁
    • [pageup]: 向上翻動一頁
  • head 查看文本文件頭部內容,預設列印10行
    • 選項:
    • -n 指定要列印的行數,可以是-n [NUM],也可以是-[NUM]
  • tail 查看文本文件尾部內容
    • 選項:
    • -n 指定要列印的行數,可以是-n [NUM],也可以是-[NUM]

文本處理

  • cut 截取文本內容
    • 選項:
    • -d 指定欄位分隔符,預設是空格
    • -f 指定要顯示的欄位區域,與-d連用
      • -f 1,3 顯示1和3
      • -f 1-4 顯示1到4
    • -b 以位元組分割,可以指定要顯示的位元組範圍
  • sed 基於行的過濾與轉換文本的流編輯器,可以對欄位進行替換
    • 選項:
    • -e [script] 以選項中的指定的script來處理輸入的文本文件
    • -f [script文件] 以選項中指定的script文件來處理輸入的文本文件
    • 命令:
    • a 在當前行下麵插入文本。
    • i 在當前行上面插入文本。
    • c 把選定的行改為新的文本。
    • d 刪除,刪除選擇的行。
    • D 刪除模板塊的第一行。
    • s 替換指定字元
    • = 列印當前行號碼。
  • awk 基於列的文本報告工具

文本排序

  • sort 預設升序,不是按數值大小排序
    • 選項:
    • -n 根據數值大小排序
    • -r 逆序排序
    • -t 欄位分隔符
    • -k 以哪個欄位為關鍵字進行排序
    • -u 去重,排序後相同的行只顯示為一行
    • -f 排序時忽略大小寫
  • uniq 報告重覆的行
    • 選項:
    • -c 顯示文件中行的重覆次數
    • -d 只顯示重覆的行
    • -u 只顯示為重覆的行

文本統計

  • wc 統計
    • 選項:
    • -c 顯示位元組數
    • -l 顯示行數
    • -w 顯示單詞數

系統統計

  • du 查看文件或目錄占用的磁碟空間
    • 選項:
    • -h 人性化單位轉換
    • -s 顯示總占用
  • df 報告文件系統磁碟空間使用情況
    • 選項:
    • -h 人性化單位轉換
    • -i 顯示inode信息

主機名管理

  • hostname 查看或臨時修改主機名,生存期到關機前
  • hostnamectl 查看或永久修改主機名,生存期到永久

其他

  • time 顯示命令執行花費的時間
  • clear 清屏,更推薦使用快捷鍵
  • whoami 查看當前登錄用戶,也可寫作who am i
  • w 顯示當前線上用戶並顯示其在運行的程式
  • who 查看當前線上用戶
  • which 顯示指定命令的絕對路徑
  • date 顯示或設置日期與時間
    • 選項:
    • -s 以字元串方式設置時間
    • 格式化輸出時間 +
      • %Y 年
      • %m 月
      • %d 日
      • %H 時
      • %M 分
      • %S 秒
  • cal 列印日曆
  • bc 數學運算時保留小數(不常用)
  • ldd 查看程式依賴
    • 二進位程式
    • 庫文件
    • 幫助文件
    • 設置文件

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、要開始安裝 .NET,您需要註冊 Microsoft 簽名密鑰並添加 Microsoft 產品提要。每台機器只需要做一次。 打開命令提示符並運行以下命令:sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-m ...
  • 前言 前面我們介紹了 "ModBusTcp協議" 。今天我們接著來介紹ModBusRtu協議。和ModBusTcp不同的是ModBusRtu基於串口通信,ModBusTcp是基於Tcp乙太網通信。 所以我們在講解ModBusRtu協議之前會先介紹下串口通信。 串口通信 串口出現在1980年前後,當初 ...
  • 通過文件的inode號刪除文件 先用ls -i 找出要刪除文件的inode 號 ls -i |grep xxxxxx|awk '{print $2}'|xargs -i rm -f {} xxxxxx為文件的 inode 號通過文件大小刪除文件刪除當前目錄以及所有子目錄下的文件大小為零的文件find... ...
  • CentOS 7 離線環境安裝nginx時報錯:./configure: error: C compiler cc is not found,查看objs/autoconf.err文件中的報錯信息,對錯下包 ...
  • 此處承接前面未深入分析的頁面釋放部分,主要詳細分析伙伴管理演算法中頁面釋放的實現。頁面釋放的函數入口是__free_page(),其實則是一個巨集定義。 具體實現: 而__free_pages()的實現: 其中put_page_testzero()是對page結構的_count引用計數做原子減及測試,用 ...
  • 請看代碼,當你在centos下要把圖片轉為Base64的時候 明明你在本地或windows伺服器是正常的,可是在linux下就會拋出如下異常: 看了報錯信息知道 linux沒有 libgdiplus 解決方案: 其原因是沒有安裝mlocate這個包 安裝一下包:#yum -y install mlo ...
  • linux清理緩存的命令 查看緩存的命令 free -m 清理緩存的命令 echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 > /proc/sys/vm/drop_caches echo 0 是不釋放 ...
  • ctrl + s 的作用是暫停屏幕輸出 ctrl + q 恢復屏幕輸出即可 恢復之後會出現在暫停期間輸入的字元 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...