Linux:基本指令與內涵理解

1.文件操作指令

1.1 ls

ls指令用于查看指定層級文件夾下的文件或文件夾

基本格式:ls (選項) (查看層級)

其中選項處不寫就默認是顯示文件名,查看層級默認是當前層級

選項1: -l

作用:將查找文件的詳細信息顯示出來

我們看到這里有些是以d開頭的,有些是-開頭的。

用d帶頭的是目錄(文件夾), - 開頭的是普通文件

選項2: -a

作用:將隱藏的文件顯示出來(隱藏文件前面有一個' . ')

選項3:-d

作用:將目錄名字顯示出來,而不顯示其下面的文件

這里我們的t1文件夾(目錄)有一個test.c文件,正常來說我們會將t1中的文件test.c顯示出來,使用-d選項后,我們就只顯示目錄本身

1.2pwd

?作用:顯示用戶當前所在的目錄層級

格式:pwd

這表示我們現在在一個普通用戶的根目錄下

1.3cd 與whoami

作用:用于進入不同的目錄中

格式: cd (目錄名)

目錄名可以用絕對路徑,也可以用相對路徑

其中絕對路徑是從/根目錄開始定位的,相對路徑是從當前目錄開始定位的

絕對路徑:

這里我們cd后面跟的就是絕對路徑,是從根目錄開始定位的

相對路徑:

這里我們進入的就是當前目錄的上一級目錄,..表示上一級,.表示當前級,/后面接文件表示進入該文件

特殊目錄名:~

我們用cd ~可以快速進入到家目錄,而家目錄就是用whoami指令查找到的目錄層級位置

我們用whoami指令查找到家目錄是Ubuntu,然后cd ~就跳轉到了Ubuntu為止

特殊用法: -

可以進入上一次訪問的路徑


補充:對于linux與Windows系統的目錄結構的理解(系統皆文件)

兩個系統的結構都是樹狀結構,也就是多叉樹結構。

對于葉子結點:一定是空目錄或文件

對于非葉子節點:一定是目錄

linux:

絕對路徑具有唯一性:因為每個文件只有一個直接上級目錄,這種定位準確且直觀,但是如果我們的樹狀結構層級很深,那么絕對路徑就會顯得很麻煩,此時我們就應該使用相對路徑

接下來我們使用相對路徑從t1位置跳轉到test位置

原本我們在t1目錄中,然后我們..進入上一級目錄ubuntu,再/test進入test中

需要注意的是,從當前目錄到某個文件的相對路徑也是唯一的

Windows:

我們可以把此電腦當成一個根目錄文件夾,而本地磁盤c,d,e可以當成是文件夾

我們都知道,在進入系統桌面時我們需要登錄賬號,而這個登錄其實就是進入用戶文件夾,而admin就是Windows系統中的一個管理員用戶的賬號,還可以創建其他的普通用戶。

而桌面其實也是一個user中的文件夾,只是用圖形化界面顯示而已

1.4touch與stat

?我們知道文件是由文件屬性和文件內容構成的,對文件的操作分為內容操作和屬性操作

stat指令

可以查看文件的更多屬性

這里我們先看其中三個屬性

1.Access 最新訪問時間 2.Modify 內容修改時間 3.Change 最新變動時間

我們可以用不同的選項更改這三個時間

用touch再操作一次已有文件:三個時間都更新為這次操作的時間

用touch -a :修改access和change

用touch -m: 修改modify和change

用touch -c:修改三個時間

touch指令

作用1:更改文件的存取或更改時間,這是對文件的屬性的操作

作用2:創建;一個新文件

我們可以看到這里新建了一個newtext文件

1.5mkdir與tree

(1)mkdir

作用:創建新的目錄

格式:mkdir (選項)新目錄名

這里我們用mkdir在ubuntu目錄下創建一個新目錄newdir,然后進入到該新目錄中

選項1:-p

作用:創建一連串的目錄

這里我們原本是沒有目錄存在的,后面利用-p選項實現了一次創建多個連續目錄

(2)tree

作用:利用樹狀圖的形式將我們當前目錄下的子文件和子目錄顯示出來

格式:tree 目錄名(默認當前目錄)

不過tree不是默認安裝的指令,如果要使用還需要聯網用指令安裝,具體的指令可以用大模型搜索問一下

1.6rmdir,rm,alias

?(1)rmdir

作用:刪除目錄

格式:rmdir 目錄名

原本當前目錄中有一個t3目錄,我們利用rmdir刪除t3目錄

(2)rm

作用:刪除目錄或文件

格式:rm (選項)目錄/文件名

刪除文件:

刪除文件的時候可以隨意刪除,但是默認情況下(沒給特定選項),它無法刪除目錄

默認情況無法刪除目錄:

選項1:-r

作用:遞歸的刪除該目錄及該目錄的所有子目錄與子文件

格式:rm -r 目錄名

加了-r之后我們就可以實現對目錄以及目錄的子目錄、文件的刪除

選項2:-i

作用:讓系統每次執行訪問或刪除操作前對我們進行指令確認

格式: rm -i 目錄名

這里我們加了-i之后,系統提示我們是否需要刪除t3.txt,我們輸入y表示yes,輸入n表示no

作為普通用戶,我們的刪除一般是不會彈出確認提示的

不過如果我們是root賬號登錄,任何刪除指令都會問我們進行確認

此時如果我們確認需要刪除,但是刪除的層級又太深,就需要輸入很多次y,很繁瑣,所以我們還有一個選項可以去除指令確認步驟,直接刪除

選項3:-f

作用:免除指令確認步驟,直接執行對應指令

格式:rm -f 目錄名

由于ubuntu系統不建議使用root賬號,所以這里我們其實是使用普通賬號進行操作,僅供參考代碼。


思考:我們使用-r可以刪除一連串的目錄或文件,那么我們可不可以將-r和-i選項結合使用,實現刪除鏈路上的指定文件呢?

這里我們前兩行指令確認是訪問指令,我們同意進入t1/t2,第三行指令詢問我們是否刪除delete.txt,我們選擇y,然后后面的t2和t1刪除指令我們選擇n。這樣子我們就實現了只刪除delete.txt的操作了。


補充:alias

作用:給某個指令取別名

格式:alias 別名=‘原名’

其實涉及指令結合的時候我們可以不用-r -i這樣分開來書寫,而是直接-ri

目的:當出現選項和文件名繁多的時候簡化指令書寫,提高可讀性

實現原理:利用了alias指令對原本復雜的名字取別名

注意:別名,=,原名之間不能加空格


思考:我們是否可以一次性建立多個文件,然后又一次性刪除多個文件呢?

創建多個文件的格式:touch 文件名{編號1..編號n}.文件屬性(.c/.txt)

刪除的格式:rm 文件名{編號1..編號n}.文件屬性(.c/.txt)

1.7指令手冊man

?作用:查找對應指令的作用

格式:man (選項:手冊編號)指令名

輸入完指令后按回車鍵進入手冊

退出手冊按q字母鍵

手冊編號:在選項位置輸入不同的數字就會查找對應指令在該編號手冊的信息

手冊編號有多個,其中

1:普通指令

2:系統調用

3:庫函數

4:。。。。

一個指令可能會在多個手冊中同時存在,并記載著他的不同作用

1.8which

?作用:查找指令所處的目錄
格式:which 指令名

eg:查找ls的目錄

這里我們看到ls所處的目錄是user路徑下的bin文件夾中,在該文件夾中的可執行程序其實就是指令,我們自己也可以寫一個程序放進bin文件夾中,放進去后我們的程序編譯后的名字就是一個我們自己實現指令了,可以在linux中當成指令使用,不過平時不要圖方便亂加指令進去污染指令庫


對指令格式的理解:我們平時如果要執行一個程序,第一步就是找到這個程序的位置,然后才能執行命令,但是為什么指令可以直接輸入指令名,而不需要查找指令程序的位置?

這是因為我們有一個默認的指令位置:user/bin,所有指令都存在這個默認目錄下,所以我們可以直接使用指令

而安裝軟件其實也就是從網絡上下載到bin目錄下

1.9cp

作用:將對應文件或目錄復制到目標目錄或文件中

格式:cp (選項)文件、目錄? ? 目標文件、目錄

這里我們原本test.txt是和test目錄同級的,然后我們用cp指令把test.txt復制到了test文件夾中,從而test目錄中也有了test.txt

我們這里同樣也可以用相對路徑實現,如果我們還需要更改名字,我們可以在后面加個/然后寫個新文件名

2.linux中一切皆文件

?我們在linux的顯示器上輸出數據相當于是將數據輸入到顯示器文件中,而從鍵盤中讀取數據相當于從鍵盤文件中獲取數據。

我們用echo命令來加深這個理解

echo的作用:將指定信息寫入顯示器文件中

格式: echo 文件/目錄、字符串等信息?

1.輸出重定向:>

作用:將原本應該寫在顯示器文件中的數據寫在另一個文件或目錄中(先清空再寫入)

格式:echo(也可以是任意寫入信息到顯示器的指令,比如ls) 信息>目錄/文件

這里我們就把原本應該寫在顯示器上的信息重定向給了log.txt

2.追加重定向:>>

作用:將原本應該寫在顯示器文件中的數據追加到另一個文件或目錄中(不用先清空)

格式:寫入內容在顯示器的指令 >>指定文件

3.清空指定文件/新建文件

格式:>文件名

若對應文件不存在,他還可以新建一個這個文件

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

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

相關文章

SpaceSync智能排班:重構未來辦公空間的神經中樞

文心智能體平臺可免費使用DeepSeek 滿血版啦,使用DeepSeek模型創建并提交智能體,即有機會瓜分萬元獎金!有這等好事還不快沖! 文心智能體官網:文心智能體平臺AgentBuilder | 想象即現實 本片文章為作者參加文心智能體平…

flutter dio庫 源碼賞析

1. factory函數 //調用factory構造方法后,實際返回的是Dio的子類 Dio dio Dio();abstract class Dio {factory Dio([BaseOptions? options]) > createDio(options); } 2. CancelToken 作用:取消操作 CancelToken cancelToken CancelToken();//監聽取消 ca…

RGV調度算法

1、基于時間窗 https://wenku.baidu.com/view/470e9fd8b4360b4c2e3f5727a5e9856a57122693.html?_wkts_1741880736197&bdQuery%E7%8E%AF%E7%A9%BF%E8%B0%83%E5%BA%A6%E7%AE%97%E6%B3%95 2.2019年MathorCup高校數學建模挑戰賽B題 2019-mathorcupB題-環形穿梭機調度模型&a…

基于CATIA VBA與Python的自動化音樂生成技術對比研究

在工程軟件二次開發領域,CATIA 也可以許多另類的玩法。通過CATIA自帶的VBA可以演奏歌曲,但實際效果往往差強人意。為了進一步優化實際演奏效果,本文以自動生成林宥嘉《說謊》鋼琴前奏旋律為案例,探討兩種語言在多媒體控制領域的技…

最大數位置(信息學奧賽一本通-2038)

【題目描述】 輸入n個整數,存放在數組a[1]至a[n]中,輸出最大數所在位置(n≤1000)。 【輸入】 第一行,數的個數n; 第二行,n個正整數,每個數在232?1之內。 【輸出】 最大數所在位置。 【輸入樣例】 5 67 43 90 78 32 【輸出樣例】 …

【AIGC】OpenAI 集成 Langchain 操作實戰使用詳解

目錄 一、前言 二、前置準備 2.1 安裝 Langchain必須的依賴 2.1.1 python環境 2.1.2 langchain openai 環境 2.1.3 準備一個apikey 2.1.4 langchain 核心組件 三、Langchain 各組件使用 3.1 Chat models組件 3.1.1 Invocation 使用 3.1.1.1 結果解析 3.2 提示詞模板…

【C#學習筆記04】深入掌握C語言格式化輸出

引言 ??printf()??函數不僅可以將數據輸出到控制臺,還可以通過格式化字符串靈活地控制輸出的格式。??printf()???函數的使用規則,包括標志說明、字段寬度、轉換精度、長度修飾、轉換說明、轉義字符和返回結果等內容。 1. ??printf()??函數…

python-leetcode-定長子串中元音的最大數目

1456. 定長子串中元音的最大數目 - 力扣(LeetCode) 可以使用 滑動窗口 方法來解決這個問題。步驟如下: 初始化:計算前 k 個字符中元音字母的個數,作為初始窗口的值。滑動窗口:遍歷字符串,每次右…

藍橋真題講解

第一題 題目鏈接 0貪吃蛇長度 - 藍橋云課 題目解析 題意:數#個數和個數再加上首尾 代碼原理 略 代碼編寫 略 填空題技巧 眼看手數 當然并不是真的一個一個數,我們需要借助一些工具,不過各位小伙伴們放心,我們借助的工具…

【C++ 函數模板】—— 模板參數推導、實例化策略與編譯優化

歡迎來到ZyyOvO的博客?,一個關于探索技術的角落,記錄學習的點滴📖,分享實用的技巧🛠?,偶爾還有一些奇思妙想💡 本文由ZyyOvO原創??,感謝支持??!請尊重原創&#x1…

Java基礎入門流程控制全解析:分支、循環與隨機數實戰

引言 流程控制是編程語言的核心邏輯結構,決定了程序的執行順序與邏輯判斷能力。本文以 分支結構、循環結構 和 隨機數生成 為核心,結合代碼示例與底層原理,全面解析Java中流程控制的應用場景與實戰技巧。 一、分支結構 1. if分支 作用&am…

Redis 數據持久化之RDB

Redis數據持久化策略 持久化策略之RDB RDB:在指定的時間間隔,執行數據集的時間點快照。 實現類似照片記錄效果的方式,就是把某一時刻的數據和狀態以文件的形式寫到磁盤上,也就是讀快照。這樣一來即使故障宕機,快照文件也不會丟失&…

數據分析與AI丨AI Fabric:數據和人工智能架構的未來

AI Fabric 架構是模塊化、可擴展且面向未來的,是現代商業環境中企業實現卓越的關鍵。 在當今商業環境中,數據分析和人工智能領域發展可謂日新月異。幾乎每天都有新興技術誕生,新的應用場景不斷涌現,前沿探索持續拓展。可遺憾的是&…

MyBatis - XML 操作動態 SQL

目錄 1. 前言 2. 動態插入 2.1 if 標簽 2.2 trim 標簽 2.2.1 注解完成動態 SQL 3. 動態查詢 3.1 添加 1 1 3.2 where 標簽 4. 動態更新 4.1 set 標簽 5. foreach 標簽 6. sql 標簽 & include 標簽 1. 前言 之前博文所講的 MyBatis SQL 操作, 都必須按照注解或…

【最佳實踐】Go 責任鏈模式實現參數校驗

這里我們使用責任鏈模式來創建一個參數校驗的示例。在這個示例中,我們將實現一個簡單的責任鏈來校驗不同的參數條件。這種模式允許我們將多個校驗步驟串聯在一起,以便可以在不同的條件下進行靈活的校驗。 設計思路 接口定義 (Validator) 目的&#xff1…

深入理解Tomcat:Java Web服務器的安裝與配置

大家好!今天我們來聊聊Java Web開發中最重要的工具之一——Apache Tomcat。Tomcat是一個開源的Java Servlet容器和Web服務器,它是運行Java Web應用程序的核心環境。無論是開發、測試還是部署Java Web應用,Tomcat都是不可或缺的工具。本文將詳…

小程序酒店:如何實現智能預訂與在線支付?

在移動互聯網快速發展的今天,酒店行業面臨著前所未有的機遇與挑戰。用戶需求日益多樣化,市場競爭愈發激烈,傳統酒店預訂方式已經難以滿足現代消費者的需求。而小程序作為一種輕量化、便捷化的移動應用形式,正在成為酒店行業數字化轉型的重要工具。通過小程序開發,酒店可以…

C#實現AES-CBC加密工具類(含完整源碼及使用教程)

一、AES-CBC加密應用場景 AES(Advanced Encryption Standard)作為全球公認的安全加密標準,廣泛使用在以下場景: API通信加密:保護HTTP接口傳輸的敏感數據(如身份令牌、支付信息)文件安全存儲&…

docker-compose部署MongoDB分片集群

前言 MongoDB 使用 keyFile 進行 節點間身份驗證,我們需要先創建一個 keyFile 并確保所有副本集的節點使用相同的 keyFile。 openssl rand -base64 756 > mongo-keyfile chmod 400 mongo-keyfiledocker-compose部署分片集群 無密碼方式 # docker-compose-mongodb.yml s…

3-003:在 MySQL 中建索引時需要注意哪些事項?

在 MySQL 中創建索引時,需要注意以下事項,以確保索引高效且合理: 1. 選擇合適的索引類型 主鍵索引(PRIMARY KEY):每個表只能有一個,默認是聚簇索引。唯一索引(UNIQUE)&…