【Linux我做主】基礎命令完全指南上篇

Linux基礎命令完全指南【上篇】

  • Linux基礎命令完全指南
  • github地址
  • 前言
  • 命令行操作的引入
  • Linux文件系統
    • 樹形結構的根文件系統
    • 絕對路徑和相對路徑
      • 適用場景
      • Linux目錄下的隱藏文件
  • 基本指令
    • 目錄和文件相關
      • 1. ls
      • 2. cd和pwd
        • cd
        • pwd
      • 3. touch
      • 4. mkdir
      • 5. cp
      • 6. mv
        • 移動目錄時覆蓋寫入的兩種特殊情況
      • 7. alias
    • 文件查看相關
      • 1. cat
      • 2. more
      • 3. less
      • 4. head
      • 5. tail
  • 總結核心概念

Linux基礎命令完全指南

github地址

有夢想的電信狗

前言

本文介紹Linux系統的基本知識和一些常見命令的基本使用,命令的更多用法需結合man手冊進行查詢。命令和命令的細節較多,因此文章分為上篇和下篇。本文是文章的上篇。

命令行操作的引入

Windows系統中,用戶通常依賴圖形界面(GUI)進行文件管理和操作,例如通過鼠標點擊資源管理器完成復制、刪除等任務;

Linux系統雖然也提供GUI工具,但其核心優勢在于命令行(CLI)。通過終端輸入簡潔的命令,用戶可直接操控系統內核,實現更高效、靈活的操作,例如批量處理文件、遠程管理服務器等場景。

命令行不僅節省資源,還能通過腳本自動化復雜任務,是開發者及運維人員的核心工具,體現了Linux一切皆文件”的設計哲學。

  • 因此學習Linux下命令行的使用很有必要
  • Linux操作系統極其穩定,最常用于做服務器操作系統,因此最好永不關機

Linux文件系統

首先聲明一個概念,Linux下一切皆文件。能被看到的都是文件,既包括最常見的文本文件,甚至鼠標,鍵盤,顯示器等設備都是文件。隨著后面學習的深入,會對這一概念有更深入的理解。

樹形結構的根文件系統

Linux的目錄結構整體上是一個多叉樹,他的葉子結點,一定是空目錄或者文件,路上結點一定是一個非空目錄。
因此,我們所有的對文件或者目錄的增刪查改,本質都是對這顆多叉樹的增刪查改。

在這里插入圖片描述

與大多數操作系統一致,Linux系統的文件系統結構是樹形結構的。且各個目錄都有各自的功能。

  • /:是Linux的根目錄。
  • bin:存放二進制可執行文件,以命令居多
  • boot:存放開機啟動程序
  • dev:存放設備文件: 包括字符設備文件、塊設備文件
  • home:存放 普通用戶 的目錄
  • etc:用戶信息和系統配置文件 passwd、group
  • lib:操作系統使用的庫文件:例如 libc.so.6是一個動態庫
  • root:管理員宿主目錄(家目錄)
  • usr:用戶資源管理目錄 unix software resource 用戶的一些文件 第三方應用的資源文件
  • optproc: 與Linux 進程相關的文件

Linux的一個目錄中,既可以存放目錄文件,也可以存放其他文件。

絕對路徑和相對路徑

我們在磁盤中定位一個文件,通常需要路徑來描述。

路徑定位需要有唯一性。

  • 絕對路徑:從/開始定位到指定位置,具有唯一性的路徑,稱為絕對路徑。
  • 相對路徑:以當前所處路徑為起始參考位置,來進行定位的路徑,成為相對路徑。
  1. 絕對路徑以根目錄/為起點。
  2. 相對路徑以當前路徑為起點。

適用場景

  • 絕對路徑:絕對路徑以根目錄/為起點,一般比較長,但具有不變性。一般用在一些固定常見,配置文件中使用。
  • 相對路徑:以當前路徑為起點,一般比較短小,命令行輸入中常使用相對路徑。

使用絕對路徑進入目錄dir1

在這里插入圖片描述

使用相對路徑進入目錄dir1
在這里插入圖片描述

Linux目錄下的隱藏文件

Linux中的每一個目錄下都有兩個隱藏文件...。可以通過ls -a來查看
-l是讓文件以列表的形式來進行呈現。

在這里插入圖片描述
Linux中的每一個目錄下都有兩個隱藏文件...。這兩個文件有什么用呢?

Linux中,以.開頭的文件都是隱藏文件,只有在ls -a是才能被看到。

  • .表示當前路徑。

  • ..表示當前路徑的上級路徑。

  • .存在的意義:幫助用戶定位當前目錄下的一個文件。如: ./a,out

  • ..存在的意義:幫助用戶定位到當前路徑的上級路徑以及上級路徑中的文件。

基本指令

目錄和文件相關

1. ls

功能:列出目錄內容
語法ls [選項] [目錄]
常用參數

  • -l:長格式顯示(包含權限、所有者、大小等信息)
  • -a:列出目錄下的所有文件,包括以 . 開頭的隱含文件。
  • -h:以人類可讀格式顯示文件大小,更人性化
  • -t:按修改時間排序
  • -R:遞歸列出子目錄內容
  • -d: 將目錄象文件一樣顯示,而不是顯示其下的文件。 如:ls –d 指定目錄
  • -i: 輸出文件的 i 節點的索引信息。 如 ls –ai 指定文件
  • -k: 以 k 字節的形式表示文件的大小。ls –alk 指定文件
  • -n: 用數字的 UID,GID 代替名稱。
  • -F: 在每個文件名后附上一個字符以說明該文件的類型,“*”表示可執行的普通文件;“/”表示目錄;“@”表示符號鏈接;“|”表示FIFOs;“=”表示套接字(sockets)。(目錄類型識別)
  • -r: 對目錄反向排序。
  • -t:以時間排序。
  • -s: 在l文件名后輸出該文件的大小。(大小排序,如何找到目錄下最大的文件)
  • -1: 一行只輸出一個文件。
    在這里插入圖片描述

2. cd和pwd

cd

語法cd 路徑
路徑可以是相對路徑,也可以是絕對路徑。
功能:改變工作目錄。將當前工作目錄改變到指定的目錄下。

# 直接輸入cd,默認切換到當前用戶的home目錄
# 對于root用戶 則切換到 /root 目錄下
cd 
#返回上級目錄
cd .. 
# 使用絕對路徑
cd /home/changan_memroy/linux/ 
# 使用相對路徑
cd ../day02/
# 進入用戶home目錄  
cd ~ 
cd /home  # 與上一行的寫法等價
# 返回最近訪問目錄
cd - 
  • ~該符號表示當前用戶的home目錄。
  • -該符號表示用戶最近進入的一個目錄。
  • .表示當前目錄。
pwd

語法: pwd
功能:顯示用戶當前所在的目錄
常用選項:無

  • cd配合-~方便地切換目錄。
  • 切換完目錄后使用pwd驗證當前所在目錄。
    在這里插入圖片描述

3. touch

語法:touch [選項]… 文件…
功能:touch命令參數可更改文檔或目錄的日期時間,包括存取時間和更改時間,或者新建一個不存在的文件。
常用選項

  • -a--time=atime--time=access--time=use只更改存取時間。
  • -c--no-create 不建立任何文檔。
  • -d: 使用指定的日期時間,而非現在的時間。
  • -f: 此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。
  • -m: 或--time=mtime--time=modify 只更改變動時間。
  • -r: 把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同。
  • -t: 使用指定的日期時間,而非現在的時間

加上不同的參數,就有不同的用法,但最常用的用法是使用touch來創建文件。例如創建.c.cpp源程序文件或者普通文件,創建別的文件也是如此。

在這里插入圖片描述

4. mkdir

語法mkdir [選項] 路徑名稱
功能:在當前目錄下創建一個名為 dirname 的目錄
常用選項
-p--parents 后面跟一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。(遞歸創建子目錄)

演示如下

在這里插入圖片描述

5. cp

語法cp [選項] 源文件或目錄 目標文件或目錄
功能: 復制文件或目錄
說明: cp指令用于復制文件或目錄。如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經存在的目錄,則它會把前面指定的所有文件或目錄復制到此目錄中。若同時指定多個文件或目錄,而最后的目的地并非一個已存在的目錄,則會出現錯誤信息
常用選項

  • -f--force: 強行復制文件或目錄, 不論目的文件或目錄是否已經存在
  • -i--interactive:拷貝時,若目標目錄下有同名文件,覆蓋文件之前會先詢問用戶是否覆蓋
  • -r: 遞歸處理,將指定目錄下的文件與子目錄一并處理。若源文件或目錄的形態,不屬于目錄或符號鏈接,則一律視為普通文件處理
  • -R--recursive:遞歸處理,將指定目錄下的文件及子目錄一并處理

最常用的選項是-f-r

目標目錄d1中沒有同名文件,因此不需要加-f

在這里插入圖片描述

6. mv

mv命令是move的縮寫,可以用來移動文件或者將文件重命名(move (rename) files),是Linux系統下常用的命令,經常用來備份文件或者目錄。

語法mv [選項] 源文件或目錄 目標文件或目錄
功能: 視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。

  1. 第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標文件名。
  2. 第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。

常用選項
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋
在這里插入圖片描述

移動目錄時覆蓋寫入的兩種特殊情況
  • 目標路徑下有同名目錄,同名目錄不為空時,無法覆蓋。
    在這里插入圖片描述
  • 目標路徑下有同名目錄,為空目錄,直接覆蓋。
    在這里插入圖片描述

7. alias

之前對于ls命令,我們是否會有疑問?為什么ll等價于ls -l
在這里插入圖片描述
這里本質上是命令alias在起作用。

語法alias [選項][名稱[='命令']]
功能:創建或顯示命令別名,用于簡化復雜的命令。
常用選項
? -p:以可被 Shell 重新使用的格式輸出別名(便于保存到配置文件中)。

功能詳解

  1. 定義別名:通過 名稱='命令' 的格式將長命令或常用命令定義為簡短的別名。
    ? 示例:alias ll='ls -l'(輸入 ll 即可執行 ls -l)。
    ? 若命令包含空格或特殊字符,需用引號包裹。

  2. 查看別名
    ? 直接輸入 alias(不加參數)可列出所有已定義的別名。
    ? 輸入 alias 名稱 可查看特定別名的定義(如 alias ll)。

  3. 永久生效
    ? 在 ~/.bashrc~/.zshrc 中寫入別名定義,重啟終端或執行 source ~/.bashrc 后生效。

注意事項
? 使用 unalias 名稱 可刪除臨時別名。
? 若別名與系統命令同名,優先執行別名(用 \命令command 命令 可繞過別名)。

文件查看相關

1. cat

語法cat [選項][文件]
功能: 查看目標文件的內容, 常用于行數短小的文件的查看
常用選項

  • -b:對非空行輸出編號
  • -n: 對輸出的所有行編號
  • -s:不輸出多行空行

2. more

cat會查看整個文件的內容,直接定位到文件的末尾,當遇到大文件時,直接定位到文件的末尾,會導致我們不便查看到文件前面的內容。而more指令可以讓我們從文件第的一行開始,通過Enter來進行向后滾動,逐行依次查看內容。

more缺點是只能從文件開頭向后進行翻頁,無法向前進行查看

語法more [選項][文件]
功能more命令,功能類似 cat
常用選項

  • -n :對輸出的所有行編號
  • q: 退出more

3. less

語法less [參數] 文件
功能

  • less 工具也是對文件或其它輸出進行分頁顯示的工具,應該說是linux正統查看文件內容的工具,功能極其強大。

  • less 的用法比起 more 更加的有彈性。在 more 的時候,我們并沒有辦法向前面翻, 只能往后面看

  • 但若使用了 less 時,就可以使用 [pageup][pagedown] 等按鍵的功能來往前往后翻看文件,更容易用來查看一個文件的內容!

  • 除此之外,在 less 內可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜索。而且less在查看之前不會加載整個文件

選項:以下選項適用于通過less進入文件后在文件內進行搜索,而不是在使用less打開文件時進行搜索。

  • -i 忽略搜索時的大小寫
  • -N 顯示每行的行號
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重復前一個搜索(與 / 或 ? 有關)
  • N:反向重復前一個搜索(與 / 或 ? 有關)
  • q:quit

在這里插入圖片描述
所有選項是在:處進行輸入的。例如向下查找字符串hello,輸入/hello

其他命令也都是在使用less打開文件后再進行輸入的。

因此查看文件使用lesscat,以及通過==管道(下篇介紹)==配合headtail比較多

4. head

headtail 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示檔案的開頭至標準輸出中,而 tail 就是看檔案的結尾。
語法head [參數]... [文件]...
功能
head 用來顯示檔案的開頭至標準輸出中,默認head命令打印其相應文件的開頭10行。
選項

  • -n [行數] :顯示文件的前n
    在這里插入圖片描述

5. tail

tail 命令從指定點開始將文件寫到標準輸出.使用tail命令的-f選項可以方便的查閱正在改變的日志文件,tail -f filename會把filename里最尾部的內容顯示在屏幕上,并且不但刷新,使你看到最新的文件內容.
語法tail [必要參數] [選擇參數] [文件]
功能: 用于顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日志文件。tail默認顯示文件的后10行。
選項

  • -f 循環讀取
  • -n 行數: 顯示行數
    在這里插入圖片描述

總結核心概念

  • "一切皆文件"設計理念貫穿系統設計
  • 命令行操作相比GUI更高效,適合批量處理與自動化
  • 掌握路徑定位與基礎命令組合使用是Linux操作的關鍵基礎

這些命令構成了Linux系統操作的基石,熟練使用將顯著提升工作效率。下篇將講解查找、壓縮解壓等進階命令。

以上就是本文的所有內容了,如果覺得文章寫的不錯,還請留下免費的贊和收藏,也歡迎各位大佬在評論區交流

分享到此結束啦
一鍵三連,好運連連!

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

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

相關文章

OceanBase 用戶問題精選答疑:OceanBase 版本升級解析

背景 此篇博客的源自于OceanBase社區論壇內一位名為皇甫侯的熱心用戶所提的建議,希望向OceanBase的用戶介紹OceanBase的版本升級路徑。本文以一個版本升級為示例,匯總了對用戶而言比較重要的版本升級要點,期望通過這份分享,能讓讀…

Docker Desktop 安裝與使用詳解

目錄 1. 前言2. Docker Desktop 安裝2.1 下載及安裝2.2 登錄 Docker 賬號2.3 進入 Docker Desktop 主界面 3. Docker 版本查看與環境檢查3.1 查看 Docker Desktop 支持的 Docker 和 Kubernetes 版本3.2 檢查 Docker 版本 4. Docker Hub 和常用鏡像管理方式4.1 使用 Docker Hub4…

英文LaTeX中左右引號怎么打

在英文 LaTeX 中,要輸入左右引號,可以使用以下命令: 左雙引號:(兩個反引號)右雙引號:(兩個單引號) 例如: This is a quoted text.這將顯示為: …

推理大模型的后訓練增強技術-Reasoning模型也進化到2.0了,這次居然學會用工具了

論文題目:START: Self-taught Reasoner with Tools 論文鏈接:https://arxiv.org/pdf/2503.04625 論文簡介 Reasoning模型也進化到2.0了,這次居然學會用工具了!? 最近有個叫START的方法,讓大模型也能學著用工具&#…

LeetCode[24]兩兩交換鏈表中的節點

思路: 就對于這種頭節點發生變化的, 我覺得一般都需要一個虛擬頭節點,然后無非就是讓虛擬頭節點的后兩個節點進行交換,即找到要交換的兩個節點的前一個節點,然后每次循環的時候都要記住這點,這道題就很簡單…

13個問題

1. 電橋平衡是什么? 電橋平衡是指在電橋電路中,通過調節電阻或電容等元件,使電橋四個臂的阻抗滿足一定的比例關系,從而使電橋的輸出電壓為零。其原理基于惠斯通電橋:當四個臂的阻抗滿足 R1/R2 R3/R4 時,電…

基于llama.cpp的QwQ32B模型推理

基于llama.cpp的QwQ32B模型推理 llama.cpp項目主頁: https://github.com/ggml-org/llama.cpp# llama.cpp源碼下載 cd /root/lanyun-tmpgit clone https://github.com/ggml-org/llama.cpp#llama.cpp編譯 llama.cpp是個C語言項目,實際調用過程需要先構建項…

如何使用Spring AI提示詞模板PromptTemplate?

如何使用Spring AI提示詞模板PromptTemplate 目錄 如何使用Spring AI提示詞模板PromptTemplate 1、提示詞Prompt介紹 2、Spring Boot集成Spring AI框架 3、提示詞模板PromptTemplate用法 4、開發代碼使用PromptTemplate 5、啟動Springboot工程并驗證 本文章節介紹Prompt…

華為OD機試 - 創建二叉樹(Java 2024 E卷 200分)

題目描述 給定一系列樹狀結構操作的問題,通過 Q 次查詢還原樹結構并輸出結果。題目要求實現一個類 Solution,其方法 recoverTree 需要根據輸入的操作數組 operations 還原樹的結構,并返回樹的根節點。每個操作 operations[i] [height, inde…

Vue3 + Element Plus 圖片加載優化全攻略

如果對你有幫助&#xff0c;請幫忙點個贊 一、為什么需要優化圖片加載&#xff1f; 在Web開發中&#xff0c;未優化的圖片會導致&#xff1a; 首屏加載時間過長&#xff08;LCP指標惡化&#xff09; 不必要的帶寬消耗 低端設備卡頓 用戶流量浪費 Element Plus的<el-im…

Python 基礎知識整理筆記

鬧麻了&#xff0c;因為各種原因&#xff0c;現在需要重新回顧一下Python&#xff0c;話不多說&#xff0c;開始吧 1. Python是解釋型語言 && Python與C代碼執行過程的區別&#xff1a; &#xff08;1&#xff09;C 源碼&#xff08;Source&#xff09;&#xff1a;C的…

Windows Server中的NTP服務器部署(NTP Srver Deployment in Windows Server)

構建穩定內網時間同步&#xff1a;Windows Server中的NTP服務器部署指南 服務簡介 NTP&#xff08;Network Time Protocol&#xff09;服務器是用于同步計算機網絡中各設備時間的服務器。它通過網絡協議與標準時間源&#xff08;如原子鐘、GPS系統等&#xff09;進行時間同步&…

Linux驅動開發實戰之PCIE驅動(一)

以下是針對Linux下PCI設備驅動開發的詳細步驟指南及示例代碼&#xff0c;適合剛入門的小白逐步學習和實踐&#xff1a; 一、開發環境準備 安裝開發工具sudo apt install build-essential linux-headers-$(uname -r)創建項目目錄mkdir pci_driver && cd pci_driver二、…

【 <二> 丹方改良:Spring 時代的 JavaWeb】之 Spring Boot 的自動配置:約定優于配置的設計美學

<前文回顧> 點擊此處查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、Spring…

SourceTree的安裝與使用

SourceTree的安裝與使用 一、前言 作為可視化Git管理工具&#xff0c;SourceTree可以避免我們使用命令進行常規的代碼拉取&#xff0c;更新&#xff0c;合并等操作。 鼠標點點就可以完成代碼管理的工作。所以強烈推薦可視化的工具。不過SourceTree還是有點bug&#xff0c;比…

JMeter 性能測試

Jmeter 用戶手冊 名詞解釋&#xff1a; RPS&#xff1a;每秒請求數-每秒向服務器發送多少請求數&#xff08;一個場景&#xff0c;系統面臨多大的壓力&#xff09; TPS&#xff1a;每秒事務數-每秒能夠處理多少請求/事務數性能評價標準&#xff08;其中的一個核心指標&#x…

Go語言的負載均衡

Go語言的負載均衡 引言 在互聯網快速發展的今天&#xff0c;服務器的壓力越來越大。隨著用戶的增加&#xff0c;單一服務器很難滿足所有請求&#xff0c;導致延遲增加&#xff0c;服務質量下降。負載均衡&#xff0c;作為一種重要的技術手段&#xff0c;能夠有效地分散用戶請…

【Mac 從 0 到 1 保姆級配置教程 09】09. 快速配置終端復用工具 tmux 和 oh-my-tmux

文章目錄 1. 前言2. 安裝 tmux3. 配置 tmux4. 安裝 oh-my-tmux5. 最后6. 參考資料7. 系列教程 Mac 從 0 到 1 保姆級配置教程目錄&#xff0c;點擊即可跳轉對應文章&#xff1a; 【Mac 從 0 到 1 保姆級配置教程 00】 - 教程說明 【Mac 從 0 到 1 保姆級配置教程 01】 - 安裝無…

【每日學點HarmonyOS Next知識】屏幕參數、半模態相關、三集聯動、只顯示部分卡面,自定義繪制

1、HarmonyOS 需要 獲取屏幕 xdpi 與 ydpi 數據&#xff1f; 可以通過display.getDefaultDisplaySync參考鏈接&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5 ohos.display (屏幕屬性) &#xff1a;屏幕屬性提供管理…

Java 大視界 -- 基于 Java 的大數據機器學習模型的遷移學習應用與實踐(129)

&#x1f496;親愛的朋友們&#xff0c;熱烈歡迎來到 青云交的博客&#xff01;能與諸位在此相逢&#xff0c;我倍感榮幸。在這飛速更迭的時代&#xff0c;我們都渴望一方心靈凈土&#xff0c;而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識&#xff0c;也…