一、初識 Linux 與基本命令

作者:IvanCodes
日期:2025年7月28日
專欄:Linux教程

思維導圖

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

一、Linux 簡介

  • 1.1 什么是 Linux?
    Linux 是一種自由、開源的類Unix操作系統內核,由林納斯·托瓦茲 (Linus Torvalds) 在1991年首次發布。我們通常所說的 “Linux 系統”,指的是基于 Linux 內核并集成了各種軟件和工具操作系統發行版 (Distribution)

  • 1.2 常見的 Linux 發行版
    常見的發行版包括 Debian 系 (如 Debian, Ubuntu, Mint),Red Hat 系 (如 RHEL, CentOS, Fedora),以及 Arch Linux, SUSE Linux 等。

  • 1.3 Linux 的特點
    開源免費安全穩定多用戶多任務強大的命令行,以及“一切皆文件”的設計哲學。

二、Linux 文件系統結構

Linux 文件系統采用樹形結構,所有文件和目錄都始于根目錄 /

重要的目錄及其作用
/ - 根目錄,所有路徑的起點。
/bin - 存放所有用戶可用的基本命令 (如 ls, cp)。
/sbin - 存放僅限系統管理員使用的管理命令 (如 ifconfig)。
/etc - 存放系統和應用配置文件
/home - 普通用戶家目錄
/root - 超級用戶 (root) 的家目錄。
/usr - 用戶安裝的應用程序和文件
/var - 存放經常變化的文件,如日志 (/var/log)
/tmp - 臨時文件目錄。
/dev - 設備文件目錄。
/boot - 系統啟動相關文件 (如內核)。
/proc - 內核和進程信息的虛擬文件系統

三、基本的 Shell 命令

Shell 是一個命令行解釋器,它接收用戶輸入交給操作系統內核執行。Bash最常用的Shell。

3.1 目錄操作命令

  • ls: 列出目錄內容。
  • 語法結構: ls [選項] [目錄路徑]
  • 常用選項:
    -l: 長格式顯示,包含權限、所有者、大小、修改時間等詳細信息。
    -a: 顯示所有文件,包括以 . 開頭的隱藏文件
    -h: 人性化顯示文件大小 (如 KB, MB, GB)。通常與 -l 配合使用。
    -t: 按修改時間排序,最新的在前面。
    -R: 遞歸列出子目錄內容。
    代碼示例:
ls
ls -l /home
ls -alh
ls -lt /var/log

在這里插入圖片描述
在這里插入圖片描述

pwd: 顯示當前工作目錄的絕對路徑
語法結構: pwd
代碼示例:

[root@redhat ~]# pwd
/root

cd: 切換目錄。
語法結構: cd [目錄路徑]
常用用法:
cd /dir: 切換到絕對或相對路徑
cd ..: 切換到上一級目錄。
cd ~cd: 切換到當前用戶的家目錄
cd -: 切換到上一次所在的目錄。
代碼示例:

cd /etc/sysconfig/
cd ..
cd
cd -

在這里插入圖片描述

mkdir: 創建新目錄。
語法結構: mkdir [選項] 目錄名
常用選項:
-p: 遞歸創建。如果要創建的目錄的父目錄不存在,會自動創建。
代碼示例:

mkdir project_a
mkdir -p workspace/code/java

rm: 刪除文件或目錄。
語法結構: rm [選項] 文件或目錄
常用選項:
-f: 強制刪除,不進行任何提示。
-r: 遞歸刪除目錄及其所有內容。
-i: 刪除前進行交互式確認
代碼示例:

rm temp.log
rm -f temp.log
rm -r old_backup
rm -rf /path/to/very/dangerous/dir

3.2 文件操作命令

touch: 創建空文件或更新時間戳。
語法結構: touch 文件名
代碼示例:

touch my_note.txt

cp: 復制文件或目錄。
語法結構: cp [選項] 源 目標
常用選項:
-r: 遞歸復制目錄。
-p: 保留源文件的屬性 (如修改時間、權限)。
代碼示例:

cp file1.txt file1.bak
cp file2.txt /home/user/documents/
cp -r my_app /opt/backup/

mv: 移動重命名文件或目錄。
語法結構: mv 源 目標
代碼示例:

mv old_file.txt new_file.txt
mv large_file.zip /tmp/

cat: 查看文件全部內容
語法結構: cat [選項] 文件名
常用選項:
-n: 顯示行號
代碼示例:

cat /etc/hostname
cat -n /etc/profile

head: 查看文件開頭部分。
語法結構: head [選項] 文件名
常用選項:
-n <行數>: 指定顯示的行數,例如 -n 20 顯示前20行。
代碼示例:

head /var/log/dmesg
head -n 20 /var/log/dmesg

在這里插入圖片描述

tail: 查看文件結尾部分。
語法結構: tail [選項] 文件名
常用選項:
-n <行數>: 指定顯示的行數
-f: 實時跟蹤文件的新增內容 (Follow)。
代碼示例:

tail /var/log/messages
tail -n 100 /var/log/messages
tail -f /var/log/secure

在這里插入圖片描述

3.3 幫助命令

man: 查看命令詳細手冊
語法結構: man 命令名
代碼示例:

man ls

在這里插入圖片描述

--help: 顯示命令簡要幫助
語法結構: 命令名 --help
代碼示例:

cp --help

在這里插入圖片描述

四、常用的快捷鍵

4.1 自動補全與屏幕控制

Tab: 自動補全命令、文件名或路徑,按一次嘗試補全,按兩次列出所有可能選項。
Ctrl + L: 清屏,效果等同于 clear 命令。

4.2 光標移動與編輯

Ctrl + A: 將光標移動到行首
Ctrl + E: 將光標移動到行尾
Ctrl + U: 剪切從光標處到行首的全部內容。
Ctrl + K: 剪切從光標處到行尾的全部內容。
Ctrl + W: 剪切光標前的一個單詞
Ctrl + Y: 粘貼 (Ctrl + U, K, W剪切) 的內容。
Alt + B: 光標向左移動一個單詞。
Alt + F: 光標向右移動一個單詞。

4.3 進程控制

Ctrl + C: 強制中斷當前正在運行的程序。
Ctrl + Z: 暫停 (掛起) 當前前臺運行的程序,并將其放入后臺
Ctrl + D: 輸入文件結束符 (EOF),通常用于退出當前Shell會話或結束某些程序的輸入。

4.4 歷史命令

上/下箭頭: 瀏覽上一個或下一個歷史命令
Ctrl + R: 反向搜索歷史命令,輸入關鍵字即可查找。
!!: 執行上一條命令。
!n: 執行歷史記錄中第n條命令。
!string: 執行最近一次以 “string” 開頭的命令。

五、總結

本章初步介紹了Linux的基本概念、文件系統結構以及最核心命令行操作。熟練掌握這些基礎命令及其常用選項和快捷鍵高效使用Linux系統的第一步


練習題

請在您的Linux環境中完成以下操作,并寫出所使用的命令。

題目:

  1. 在當前用戶的主目錄 (~) 下,創建一個名為 linux_practice 的新目錄。
  2. 進入你剛剛創建的 linux_practice 目錄。
  3. linux_practice 目錄中,創建一個名為 level1 的子目錄,并在 level1 目錄中再創建一個名為 level2 的子目錄 (要求使用一條命令完成)。
  4. linux_practice 目錄中,創建一個名為 notes.txt 的空文件。
  5. notes.txt 文件復制一份,命名為 notes_backup.txt
  6. notes.txt 文件重命名為 study_notes.txt
  7. 查看 study_notes.txt 文件的詳細信息(包括權限、所有者、大小、修改時間等)。
  8. study_notes.txt 文件移動到 level1/level2/ 目錄下。
  9. 不切換目錄,直接列出 level1/level2/ 目錄下的所有文件。
  10. 刪除 linux_practice 目錄及其下的所有內容 (包括子目錄和文件)。

答案與解析:

  1. 創建 linux_practice 目錄:
mkdir ~/linux_practice

解析: mkdir 是創建目錄的命令。~/ 代表當前用戶的主目錄。

  1. 進入 linux_practice 目錄:
cd ~/linux_practice

解析: cd 是切換目錄的命令。

  1. 遞歸創建多級子目錄:
mkdir -p level1/level2

解析: mkdir 命令配合 -p (--parents) 選項可以創建不存在的父目錄,實現一次性創建多級目錄。

  1. 創建空文件:
touch notes.txt

解析: touch 命令用于創建空文件或更新文件時間戳。

  1. 復制文件:
cp notes.txt notes_backup.txt

解析: cp 命令用于復制文件,格式為 cp source destination

  1. 重命名文件:
mv notes.txt study_notes.txt

解析: mv 命令在同一目錄下使用時,效果就是重命名。

  1. 查看文件詳細信息:
ls -l study_notes.txt

解析: ls 是列出命令,-l (--long) 選項使其以長格式(詳細信息)顯示。

  1. 移動文件:
mv study_notes.txt level1/level2/

解析: mv 命令將文件移動到指定的目標目錄。

  1. 不切換目錄列出子目錄內容:
ls -l level1/level2/

解析: ls 命令可以接受一個路徑作為參數,來列出該路徑下的內容,而不需要先 cd 過去。

  1. 遞歸刪除目錄:
rm -rf ~/linux_practice

解析: rm 是刪除命令。-r (--recursive) 選項用于刪除目錄及其內容。-f (--force) 選項用于強制刪除,不進行任何提示。此命令非常危險,使用前務必確認路徑是否正確!

rm -r ~/linux_practice # 會逐個文件提示確認

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

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

相關文章

解決angular與jetty websocket 每30s自動斷連的問題

背景:前端:angular 12,websocket接口由lib.dom.d.ts提供后端:java,websocket接口由jetty 12提供問題現象:前端連上server后,每隔30s就會斷開,由于長時間空閑,會導致webso…

【機器學習深度學習】模型私有化部署與微調訓練:賦能特定問題處理能力

目錄 前言 一、私有化部署的背景:通用能力 ≠ 企業實用 暴露問題 二、微調訓練的核心目的 2.1 動作一:私有化部署(Private Deployment) 2.2 動作二:領域微調(Domain Fine-Tuning) 2.3 微…

Seq2Seq學習筆記

Seq2Seq模型概述Seq2Seq(Sequence-to-Sequence)是一種基于深度學習的序列生成模型,主要用于處理輸入和輸出均為序列的任務,如機器翻譯、文本摘要、對話生成等。其核心思想是將可變長度的輸入序列映射為另一個可變長度的輸出序列。…

react useId

useId useId 是 React 18 引入的一個內置 Hook,用于生成唯一且穩定的 ID , 主要用于,解決在客戶端和服務器端渲染(SSR)時,動態生成 ID 可能導致的沖突問題; 特別適合用于,需要關聯 H…

排水管網實時監測筑牢城市安全防線

排水管網的實時監測工作,強調其對于保障城市安全的重要作用。“排水管網”明確了具體的關注對象,它是城市基礎設施的重要組成部分,承擔著雨水、污水排放等關鍵功能。“實時監測”突出了監測的及時性和持續性,意味著能夠隨時獲取排…

SZU大學物理實驗報告|電位差計

寫在前面:博文里放圖片,主要省去了對文檔的排版時間,實驗還是要自己做的,反正都要去實驗室上課,順帶鍛煉下動手能力。有些結果是實驗手寫的,所以看不到,有結果的可以對下結果差的不太多就行&…

RoPE簡單解析

文章目錄簡介拆解一些tricks簡介 因為RoPE的優異性能,其已成為各種大模型中位置編碼的首選,包括多模態模型;在一些多模態模型或視頻理解模型中,甚至會用到多維度RoPE。雖然RoPE已廣泛應用,之前也看了不少針對其原理解…

windows 獲取 APK 文件的包名和啟動 Activity 名稱

使用 aapt 命令確保環境變量配置正確:首先需要確保你的系統環境變量中包含了 Android SDK 的 build-tools 目錄路徑。這是因為 aapt 工具位于該目錄下。運行命令: 打開命令提示符(CMD),然后輸入以下命令來查看 APK 的詳…

【Mac版】Linux 入門命令行快捷鍵+聯想記憶

Linux Mac 用戶終端命令行快捷鍵 符號速查全解作為一個剛接觸 Linux 和終端的 macOS 用戶,常常被命令行的各種快捷鍵和符號弄得頭暈腦脹,本文將帶你系統地掌握命令行中最常用的快捷鍵和符號,并通過邏輯聯想幫助你輕松記住每一個組合。一、基…

AUTOSAR Mcal Dio - 模塊介紹 + EB配置工具介紹

文章目錄1. 模塊簡介2. 主要功能3. 縮略語4. API接口5. 功能介紹5.1. ChannelGroup5.2. Dio_MaskedWritePort6. 序列圖6.1.讀GPIO電平6.2. 設置GPIO電平7. EB 工具配置7.1.General7.2.DioPort8. 參考資料1. 模塊簡介 Dio,全稱“Digital Input Output”。Dio模塊&am…

ICT模擬零件測試方法--晶體管測試

ICT模擬零件測試方法–晶體管測試 文章目錄ICT模擬零件測試方法--晶體管測試晶體管測試晶體管測試配置晶體管測試配置晶體管測量選項晶體管測試 i3070 在線測試軟件為每個晶體管提供兩種測試: 使用二極管測試對晶體管的兩個 PN 結進行測試。這是檢查設備存在的快速…

AI算法實現解析-C++實例

基于C++實現的AI 以下是基于C++實現的AI/機器學習相關示例,涵蓋基礎算法、計算機視覺、自然語言處理等領域,適合不同階段的學習者參考: 基礎機器學習算法 線性回歸 使用梯度下降法預測連續值,核心公式: 損失函數: 邏輯回歸 二分類問題實現,Sigmoid函數: K-Means…

亞馬遜云科技實戰架構:構建可擴展、高效率、無服務器應用

對于今天的開發者、架構師和技術愛好者而言,云計算早已超越了簡單的“虛擬機租賃”或“服務器托管”階段。它已經演化為一套豐富、強大且精密的工具集,能夠以前所未有的方式設計、部署和擴展應用程序。真正的云原生思維,是掌握并運用多種架構…

論文閱讀:《無約束多目標優化的遺傳算法,群體和進化計算》

前言 提醒: 文章內容為方便作者自己后日復習與查閱而進行的書寫與發布,其中引用內容都會使用鏈接表明出處(如有侵權問題,請及時聯系)。 其中內容多為一次書寫,缺少檢查與訂正,如有問題或其他拓展…

嵌入式單片機中位帶操作控制與實現

STM32 單片機的SRAM有兩個區支持位帶(bit-band)操作。 那么,什么是位帶,位帶操作的原理是怎樣的呢? 今天來梳理一下這個知識點。 在介紹位帶操作之前,先看一看 ARM Crotext-M3 的存儲器映射。 CM3 的地址空間是 4GB, 程序可以在代碼區,內部 SRAM 區以及外部 RAM 區中執…

考研初試專業分146!上岸新疆大學!信號與系統考研經驗,通信考研小馬哥。

信號與系統專業課分數146,希望以下的經驗能夠幫助到正在努力學習的學弟學妹們更好的學習專業課。本人是從四月份開始學習專業課,當時我覺得專業課應該要盡早開始越拖到后期學習壓力越大,所以在周邊同學還在只學習公共課的時候我就開始了專業課…

負載均衡算法中的加權隨機算法

import org.apache.commons.lang3.tuple.Pair;import java.util.Arrays; import java.util.List; import java.util.concurrent.ThreadLocalRandom; import java.util.stream.Collectors;/*** 加權隨機,nacos*/ public class RouterWeightRandom {/**** param list [{"a&q…

AI時代SEO關鍵詞優化策略

內容概要 在人工智能(AI)技術深度融入數字營銷的背景下,搜索引擎優化(SEO)的關鍵詞優化策略正經歷一場智能變革,這不僅重塑了傳統研究方式,還為企業帶來了全新的競爭機遇。本文將從AI時代SEO的變…

復矩陣與共軛轉置矩陣乘積及其平方根矩陣

設 是一個 的復數矩陣,其共軛轉置矩陣(Hermitian 共軛)記為 (即 ),則矩陣 ( )和 ( )的性質如下文所述。1. Hermitian 性(自共軛性&#x…

Vue 框架 學習筆記

作為初學者對于Vue框架的學習筆記 總結了Vue框架的核心知識點,包括:1. 基礎概念:漸進式框架、兩種使用方式、Vue實例創建流程、模板語法和響應式特性。2. 常用指令:詳細介紹了v-html、v-show/v-if、v-for、v-on、v-bind、v-model等…