【Linux】基本指令(入門篇)(上)

目錄

前言

1.目錄操作指令

1.1指令

1.2理論

1.2.1文件

?1.2.2目錄與路徑

2.文件操作指令

2.1指令

2.2理論

2.2.1輸出與輸入

2.2.2一切皆文件


前言

這是Linux學習下的第一篇文章,后續Linux的學習也會持續更新分享。

Linux的基本指令是使用Linux操作系統的基礎,一些指令的在使用過程中也會涉及Linux背后的理論知識。指令演示在Centos7.9發行版本,root賬號Xshell操作下進行。


1.目錄操作指令

目錄操作指令主要是對目錄下的查看、移動以及所在路徑的確認,其中對“目錄“和“路徑”的深入認識會在理論補充部分進行詳細了解。

1.1指令

ls 指令

語法:ls? ? [選項]? ? [目錄或文件]

功能:對于?錄,該命令列出該?錄下的所有??錄與?件。對于?件,將列出?件名以及其他信息。

常用選項:

?-a:列出?錄下的所有?件,包括以 . 開頭的隱含?件。

?-l:列出?件的詳細信息列出?件的詳細信息。

Linux系統下的目錄可以理解為Windows系統中的文件夾,ls指令更像是一種指令式的可視化界面,用于查看目錄(文件夾)和文件信息。

舉例:

對于ls -l指令,也將語法可簡化為ll:

對于Linux中指令的選項也可進行合并進行:

其次指令選項的組合寫法只是功能合并,對選項順序并無要求

pwd 指令

語法:pwd

功能:顯示用戶當前所在目錄

常用選項:

?舉例:

其中root就是當前我所在的目錄,/root就是我所在的路徑。

cd 指令

語法:cd [目錄名]

功能:改變?作?錄。將當前?作?錄改變到指定的?錄下。

常用選項:無?

也就是類似Windows中的打開指定目錄。其中的指令舉例部分放到理論補充路徑知識后再進行。

mkdir 指令

語法:mkdir [選項] dirname

功能:在當前?錄下創建?個名為 “dirname”的?錄。

常用選項:無?

mkdir命令可以類比于Windows中新建文件夾的功能。

舉例:

rmdir指令

語法:rmdir dirname

功能:刪除空目錄。

常用選項:無?

rmdir是于mkdir對應的刪除目錄指令,但僅限于刪除空目錄,因此不算常用。

舉例:

1.2理論

1.2.1文件

Linux中的文件可分為目錄文件和普通文件,目錄文件類似與Windows中的文件夾;普通文件類似除文件夾外的其他文件,也可以理解為可寫入數據的文件。

在講解文件前先補充一個創建普通文件的指令:

touch 指令

語法:touch [選項] [文件名]

功能:touch命令可更改?檔或?錄的?期時間,包括存取時間和更改時間,或者新建?個不存在的?件。

常用選項:

-a:僅更改訪問時間

-c:僅更改修改時間

舉例:?

?對于示例中所創建的test.c文件,并沒有去寫入內容,那該文件有沒有內存呢?

要回答這個問題,我們先來了解下文件的組成。在Windows中也去創建一個test.c的空文件

可以看到該文件顯示的是0KB,但“文件所占用內存”這個數據就不占用內存嗎?還有后面顯示的時間、文件類型等肯定也是需要占用內存的。顯然,普通文件包含文件內容和文件屬性(數據源),當文件內容為空時,文件的內存不為空。


再來看另一個場景:在ls指令部分,輸入ls指令與ls -a指令時顯示出來的文件是不同的,ls -a指令下的文件多了一些以.開頭命名的文件,這些文件在尋常指令下是不會顯示的,這些文件也稱為隱藏文件

比如我們創建一個隱藏文件:

可以發現我們創建的.ontsee文件通過ls或者ls -l指令都無法直接看到,這時想要看到隱藏文件就只能用特定選項來看:


?1.2.2目錄與路徑

了解目錄與路徑具體概念前先來了解下隱藏文件最上面的.和..

Linux中.代表的是當前目錄,..代表的是上一級目錄,我們利用cd(移動工作目錄)指令來演示一下:

可以看到當前處于bolog目錄下,當前目錄(.)就是bolog,上一級目錄(..)就是root。

可以看到當要移動到當前目錄時pwd(顯示用戶當前所在目錄)顯示的還是原目錄,而移動到上一級目錄時pwd已經到了root目錄。

但我們一直返回上一級目錄會怎么樣呢?

可以看到從root一直返回上一級目錄時返回到"/"目錄就沒有再上一級目錄了。因此在Linux中"/"目錄也稱之為根目錄

根目錄也可以說是一個總目錄,是整個文件系統的起點和最頂層目錄,所有其他目錄、文件、設備等都從根目錄開始分支出來。談到"根"不免想到數據結構中的樹結構,沒錯,Linux的文件系統就是采用了樹形結構。

"/"就是整個樹形結構的根結點也叫根目錄,其中各各子目錄也就是單個目錄,子目錄下的文件我們也可稱作樹的樹葉。?

其中根目錄下的子目錄也叫做一級目錄,一級目錄的部分重要目錄有著各自的重要功能。如下圖


對于pwd所展示的/,可以成為根目錄,也可以叫做路徑。Linux中的絕對路徑就是從根目錄(/)開始像/root和/root/bolog都是路徑,而除根目錄外的其他"/",稱之為路徑分割符

路徑是描述如何從文件系統的某個點(通常是根目錄或當前目錄)導航到目標文件或目錄的字符串。它由目錄名按層級順序組成,用路徑分割符 / 分隔。路徑同樣也標識著文件的唯一性,相應的,文件的唯一性由路徑來標識

像/root/bolog這樣從根目錄 (/) 開始,完整地描述到達目標文件或目錄的路徑,我們稱之為絕對路徑而對于.和..這樣從當前工作目錄開始,描述到達目標文件或目錄的路徑,我們稱之為相對路徑

而對于像/root這樣的路徑,我們也稱為家目錄,可用符號"~"代替。而對于普通用戶的家目錄則在home目錄下管理:


2.文件操作指令

2.1指令

了解完目錄的增刪查之后,我們再來了解下文件操作相關指令。

rm 指令

語法:rm [選項] [dirname/filename]

功能:刪除目錄或文件

常用選項:

-f:即使文件屬性為只讀,亦直接刪除

-i:刪除前逐一詢問確認

-r:刪除目錄及其下所有文件

之前目錄處的rmdir指令只能刪除空文件,并且更不同的是rmdir只能當前目錄的操作權限所有者才能使用,而rm指令則適合所有使用者,具體權限詳細內容可參考后續文章。

舉例:

rm在root賬戶下每次刪除時會進行刪除確認,確認刪除需要我們輸入y再回車,普通用戶并不影響。若不想讓其再root賬戶下詢問,可加入-f選項。

其次我們在初次使用rm刪除test目錄時并不能直接刪除,需要我們加入-r選項,原因是之前提到的Linux文件系統是一個多叉樹結構,樹在進行遍歷時需要使用遞歸,而rm本身并不帶遞歸,但-r選項則可調用遞歸(recursion)方式。

cp 指令

語法:cd [選項] [源文件或目錄] [目標文件或目錄]

功能:復制文件或目錄

常用選項:

-f 或 --force: 強?復制?件或?錄, 不論?的?件或?錄是否已經存在。
-i 或 --interactive: 覆蓋?件之前先詢問??。
-r: 遞歸處理,將指定?錄下的?件與??錄?并處理。若源?件或?錄的形態,不屬于?錄或符號鏈接,則?律視為普通?件處理。

cd(拷貝)指令常用于復制文件,或進行文件的備份。

舉例:

mv 指令

語法:mv [選項] [源?件或?錄] [?標?件或?錄]

功能:

1.視mv命令中第?個參數類型的不同(是?標?件還是?標?錄),mv命令將?件重命名或將其移??個新的?錄中。
2.當第?個參數類型是?件時,mv命令完成?件重命名,此時,源?件只能有?個(也可以是源?錄名),它將所給的源?件或?錄重命名為給定的?標?件名。
3.當第?個參數是已存在的?錄名稱時,源?件或?錄參數可以有多個,mv命令將各參數指定的源?件均移??標?錄中。

常用選項:

-f :force 強制的意思,如果?標?件已經存在,不會詢問?直接覆蓋
-i :若?標?件 (destination) 已經存在時,就會詢問是否覆蓋!

mv根據目標文件和目錄的不同,可以實現剪貼和重命名功能。

舉例:


2.2理論

2.2.1輸出與輸入

在Linux中,輸入與輸出是有特定指令的,下面來看看Linux下的輸入與輸出。

echo 指令

語法:echo [文本/字符串]

功能:將指定的字符串或變量的值輸出到標準輸出(通常是終端屏幕)。

例如我們輸出一段"Hello Linux":

這里我們輸出了"Hello Linux"字符串,輸出到的地方是Linux系統的終端屏幕,這里的終端屏幕其實也可類比于是一個文件。

那我們可不可以輸出到其他文件呢?這里我們先來補充一個指令

cat 指令
語法: cat [選項] [?件]
功能: 查看?標?件的內容
常?選項:
-b:對?空輸出?編號
-n :對輸出的所有?編號
-s :不輸出多?空?

cat命令可以幫助我們查看目標文件內容。

來看看下面場景:

可以看到echo指令通過>之后不再輸出到默認的終端屏幕,而是輸出到我們指定的test.txt文件,這個過程我們稱之為輸出重定向,輸出重定向的符號就是">",但>每次重定向時會清空之前的文本內容,若不想清空,可以用">>"。

這樣每次重定向時就會在之前文本的下一行輸出內容。

有輸出重定向當然也有輸入重定向,但輸入重定向涉及內容較多,會在后面學習內容進行講解。?

2.2.2一切皆文件

根據上面的輸入與輸出重定向的了解,可以看出Linux中的終端也是一個文件,這時便要引出Linux中的系統本質:Linux下一切皆文件

除了目錄與普通文件外,像輸出的終端屏幕和輸入的終端鍵盤通過輸出和輸入重定向都可以看出是一個文件。除此之外,Linux上執行的指令,以及Xshell所展示的終端頁面都是文件。指令部分的具體驗證內容會放在(下)部分和指令相關指令一起講解。

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

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

相關文章

正向代理與反向代理理解

問: 應用a請求ng,然后ng根據不同請求路徑將請求轉發到不同的服務器,對于應用a來說這個ng是正向代理角色還是反向代理呢? 答: 在這個場景中,Nginx 扮演的是反向代理的角色,而不是正向代理。以下是…

【Kafka】深入理解 Kafka MirrorMaker2 - 實戰篇

文章目錄一、把“家伙事兒”都備齊二、部署其實很簡單三、配置 MirrorMaker2四、修改啟動腳本五、集群啟動與驗證六、這集群“結實”嗎?聊聊它的高可用它沒有“大腦”,但活得很好極限測試:干掉兩個節點會怎樣?寫在最后最近在跟 Ka…

借助AI學習開源代碼git0.7之四update-cache

借助AI學習開源代碼git0.7之四update-cache update-cache.c 主要負責對索引(index),也即緩存(cache),進行增、刪、改操作。現在的高層命令 git add 的部分核心功能就是由這個代碼實現的。 核心功能 該程序的…

【48】MFC入門到精通——MFC 文件讀寫總結 CFile、CStdioFile、CFileDialog

文章目錄1 打開文件1.2 打開文件模式總結2 常用函數2.1 寫文件2.2 讀文件2.3 獲取文件長度3. 文件打開讀寫實力3.1 寫文件 覆蓋寫3.2 文尾追加寫3.3 換行寫4 文件對話框 CFileDialog4.2 文件對話框實例5 CStdioFile 類 讀寫CStingMFC提供了一個文件操作的基類CFile,…

Leetcode 124. 二叉樹中的最大路徑和

遞歸/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode…

MTSC2025參會感悟:手工測試用例的智能化生成

目錄 一、測試用例生成的時代困境與 AI 機遇 1.1 傳統手工測試用例的固有痛點 1.2 AI 時代的測試新挑戰 1.3 智能化轉型的機遇窗口 二、智能用例生成的核心特性與產品功能 2.1 核心特性解析 2.2 四大核心產品功能 功能一:基于 PRD 理解的一鍵生成用例 功能二…

后臺管理系統登錄模塊(雙token的實現思路)

最近在寫后臺管理,這里分享一下我的登錄模塊的實現,我是使用reacttypescript實現的,主要是登錄的邏輯和雙token的處理方式,請求接口的二次封裝aixos1.首先我們需要渲染登錄界面的窗口,這個很簡單就不詳細講解了&#x…

第十四講 | AVL樹實現

AVL樹實現一、AVL的概念二、AVL樹的實現1、AVL樹的結構2、AVL樹的插入(1)、AVL樹插入一個值的大概過程(2)、平衡因子更新更新原則更新停止條件插入結點及更新平衡因子的代碼實現3、旋轉(1)、旋轉的原則&…

《P3398 倉鼠找 sugar》

題目描述小倉鼠的和他的基(mei)友(zi)sugar 住在地下洞穴中,每個節點的編號為 1~n。地下洞穴是一個樹形結構。這一天小倉鼠打算從從他的臥室(a)到餐廳(b),而…

錘子助手插件功能六:啟用攔截消息撤回

錘子助手插件功能六:啟用攔截消息撤回錘子助手插件功能六:啟用攔截消息撤回🛡? 插件簡介 攔截撤回消息,信息不再消失🔧 功能說明?? 使用風險與注意事項🎯 適合人群?? 結語錘子助手插件功能六&#xf…

深度解析:基于EasyX的C++黑白棋AI實現 | 算法核心+圖形化實戰

摘要 本文詳解C黑白棋AI實現,使用EasyX圖形庫打造完整人機對戰系統。涵蓋: 遞歸搜索算法(動態規劃優化) 棋盤狀態評估函數設計 圖形界面與音效集成 勝負判定與用戶交互 附完整可運行代碼資源文件,提供AI難度調節方案…

樹同構(Tree Isomorphism)

樹同構(Tree Isomorphism)?? 是圖論中的一個經典問題,主要研究兩棵樹在結構上是否“相同”或“等價”,即是否存在一種節點的一一對應關系,使得兩棵樹的結構完全一致(不考慮節點的具體標簽或位置&#xff…

分享如何在保證畫質的前提下縮小視頻體積實用方案

大文件在通過互聯網分享或上傳時會遇到很多限制,比如電子郵件附件大小限制、社交媒體平臺的文件大小要求等。壓縮后的視頻文件更小,更容易上傳到網絡、發送給他人或共享在社交平臺上。它是一款無需安裝的視頻壓縮工具,解壓后直接運行&#xf…

SpringBoot 統一功能處理(攔截器、@ControllerAdvice、Spring AOP)

文章目錄攔截器快速入門攔截器詳解攔截路徑攔截器執行流程全局控制器增強機制(ControllerAdvice)統一數據返回格式(ControllerAdvice ResponseBodyAdvice)??全局異常處理機制??(ControllerAdvice ExceptionHandler)全局數據…

建筑墻壁損傷缺陷分割數據集labelme格式7820張20類別

數據集格式:labelme格式(不包含mask文件,僅僅包含jpg圖片和對應的json文件)圖片數量(jpg文件個數):7820標注數量(json文件個數):7820標注類別數:20標注類別名稱:["Graffiti","Bearing","Wets…

圖書管理軟件iOS(iPhone)

圖書管理軟件iOS(iPhone)開發進度表2025/07/19圖書管理軟件開發開始一:圖書管理軟件開發iOS(iPhone)

MySQL配置性能優化

技術文章大綱:MySQL配置性能優化賽 引言 介紹MySQL性能優化的重要性,特別是在高并發、大數據場景下的挑戰。概述MySQL配置優化的核心方向(如內存、查詢、索引等)。引出比賽目標:通過配置調整提升MySQL性能指標&#xf…

uniapp微信小程序 實現swiper與按鈕實現上下聯動

1. 需求:頁面頂部展示n個小圖標。當選中某個圖標時,下方視圖會相應切換;反之,當滑動下方視圖時,頂部選中的圖標也會同步更新。 2. 思路: 上方scroll-view 區域渲染圖標,并且可左右滑動&#xff…

44.sentinel授權規則

授權規則是對請求者的身份做一個判斷,有沒有權限來訪問。 需求:一般網關負責請求的轉發到微服務,可以做身份判斷。但是如果具體某個微服務的訪問地址直接透露給了外部,不是經過網關訪問過來的。那這種就沒有經過網關也就無法進行身份判斷了。這時候就需要sentinel的授權規…

[硬件電路-55]:絕緣柵雙極型晶體管(IGBT)的原理與應用

一、IGBT的原理:MOSFET與BJT的復合創新IGBT(Insulated Gate Bipolar Transistor)是一種復合全控型電壓驅動式功率半導體器件,其核心設計融合了MOSFET(金屬氧化物半導體場效應晶體管)的高輸入阻抗&#xff0…