Linux指令(3):

1. cal指令:

我們的cal指令有日歷的意思

看上面,我們輸入一個cal指令,可以查看當前月的日歷,

我們給cal指令后面加上 - 3,他就會顯示這個月為中間的三個月的日歷,但是-4 不行,-5 也不行。只能 - 3。

我們也可以是給他后面加上2025,他會顯示出整年的日歷,

當然其他的年份也是可以看到的:

2. find指令:

find指令是我們用來在我們的樹狀結構中查找文件用的。

比如看上面,我們想在家目錄里面查找名為test.c的文件,他就會給我們所有路徑下有test.c的文件。

我們看這個,這個*表示的是通配符,表示可以是任意的內容,但是后面的結尾必須是.c結尾

所以我們就會看到所有.c結尾的文件。

查找的方式我們就是

find 后面跟上路徑,然后再跟上 -name 再跟上我們要查的文件就可以了。

我們說,Linux下一切皆是文件,所以我們敲出的指令也是文件。

看我們上面的圖片:我們的指令的本質:是Linux系統下固定目錄下的可執行文件。(這個固定目錄是usr/bin)。

所以我們不用怕這個指令,它本質上就是在我們的usr/bin/目錄下存在的二進制文件罷了。(這個二進制文件和我們自己編寫的C語言代碼沒有什么區別)。

所以我們上面學習的指令的目錄都是我們的usr/bin/,

3. which指令:

Linux除了給了我們可以用來查找文件的指令find,也提供給了我們一個專門用來搜指令的指令which指令,

which這個指令會給我們顯示我們要查的這個指令他的全路徑,

我們看上面的圖片:我們使用which指令,查看我們之前學習過的指令,我們得到結果,都是再usr/bin/路徑下的文件。

所以:

我們說我們的which是專門用來搜索我們的指定的命令的,你使用find也可以搜索,我們說find可以搜文件,我們的指令就是文件。

4. file指令:

file命令是用來查看一個文件詳細類型的,

我們看上面的圖片:我們查看各種文件,我們用紅筆圈出來的executable表示這個文件是一個二進制可執行文件,

5. alisa指令:

alisa指令可以給我們的指令取別名:

我們來看上面的圖片:我們給我們的ls -a -l指令取一個新的名字zhangsan,,然后后面我們想要使用ls -a -l指令的時候,我們就可以直接使用zhangsan就可以。

當我們不想要zhangsan這個別名的時候:

我們直接把空賦給zhangsan,這時候zhangsan這個別名就指代不了我們的指令了。

注意:

在我們的Linux下,我們執行指令會優先執行我們的別名:

我們再看上面的圖片:

我們給我們的指令取上別名,我們剛才說我們的指令是我們的Linux目錄下的可執行文件。存在于磁盤上的。

那我們的別名是不是呢?我們ls 后面跟上固定目錄試一下,不行,

別名我們現在不推薦使用,當我們對Linux比較熟了,這時候我們可以使用別名,

6. grep指令:

grep指令是用來進行一個文本處理的命令;這是一個行文本過濾工具;

它可以根據一個關鍵詞,把一個大文本當中包含該關鍵詞的行,以行為單位,把行過濾出來。

我們看下面的圖片:

看上面,我們之前學習了管道,最開始是cat后面跟上管道,表示我們要cat查看文件內容,我們就可以把hello.txt文件里面的前2100行的后100行提取出來,然后我們現在學習了grep,我們就可以再加上一個管道,提取這些數據的包含有‘8’的行。

我們看上面的圖片,上面我們已經知道了,現在我們假如有了新的需求,我們現在的要求是把含有關鍵字’8‘的行不顯示出來,其他不含有關鍵字’8‘的行顯示出來。

看我們上面的圖片,我們使用一個 -v就可以解決,這個v的意思就是reverse,表示逆轉。

我們繼續看:看上面的圖片,我們后面改成 -n的話,我們的結果就會加上一個行號,表示他是第幾行的,(要注意,這里grep給你的行編號,他是在grep的視角上看他收到了多少內容,我們的前面的管道并起來給到我們的grep的時候就是十行數據,所以)。

然后我們改成 -nv的時候,這時候就是沒有含有關鍵字’8‘的行都被成列出來

還有就是:我們的grep對我們的這個大小寫是比較敏感的。

但是如果我們不想要讓他對大小寫敏感的話,我們可以加上 -ni,這時候我們看上面的圖片:原本我們過濾Hello的時候,我們就只能找到Hello,大小寫區分開,然后我們加上 -ni的時候,這時候我們打上Hello,這時候所有hello不論大小寫這時候就都出來了。

我們上面的是加了 -n的,其實不一定非要加上 -n,-i 就可以表示你要忽略大小寫。

這三個東西怎么交叉都可以:

我們看這個,三個一起拼湊到一起,表示我們帶上行號并且忽略大小寫,并且有關鍵字的行我們都不要。(順序不要緊,可以自由的匹配)

那么什么是我們的grep的主要用途呢?

比如當我們查看日志的時候,日志的話內容很多,有時候我們已經知道我們要查詢的文件的文件名了,這時候我們就可以直接使用管道加上grep ’關鍵字‘ ,這時候我們就可以直接過濾出我們的文件。

7. top指令:

我們的window環境下,我們的電腦里,我們都有一個任務管理器,我們可以通過任務管理器發現那些進程,什么東西正在運行,,

在我們的Linux環境下,top指令就扮演了任務管理器的角色。

比如我們看這個,這個指令就表示把我們的任務管理器打開并且每隔一秒刷新一次,然后刷新5次后結束。

然后這個指令就表示我們的任務管理器每隔5秒就刷新一次,總共刷新5次。

下面我們來講最后一批命令,打包壓縮命令:

8. zip指令和unzip指令:

我們看上面的圖片:

我們現在想要打包lesson5,我們準備把整個目錄進行打包。

我們來看上面的圖片:我們打包我們的lesson5成為lesson5.zip文件,打包的話不影響我們的原文件,這時候我們ll查看當前目錄下的文件,發現了我們的lesson5.zip文件。

然后我們剛才新建了一個目錄test,現在我們把我們打包的文件放到test里面,這時候再cd進入到test里面,然后ll查看,我們就發現了我們剛才打包壓縮的壓縮包lesson5.zip文件,

然后我們現在看,這時候我們就要對我們的壓縮包進行解壓才能得到我們要的文件。

我們就unzip指令后面跟上我們的壓縮包,然后ll查看當前目錄下的文件,這時候我們就發現了解壓出了我們的文件lesson5。

但是我們tree一下當前目錄(. 表示當前目錄),然后我們發現我們解壓的lesson5里面什么都沒有

那這是為什么呢?我們只把目錄打包了,里面的文件都沒有打包。

因為我們的目錄是樹狀的,如果我們想要把整個目錄打包的話,我們就要遞歸的進行打包壓縮。

上面的打包方式是我們打包壓縮單個文件的時候使用的方式。

我們看這個上面的,當我們遞歸式的進行打包壓縮的時候,這時候就可以了。

然后我們繼續往下看:

注意:我們剛才已經刪除了test文件的內容,這時候我們再把壓縮包移動到test文件里面然后進入到test文件內部。

然后這時候我們再對我們的壓縮包進行解壓,unzip指令后面跟上壓縮包就行,就會得到我們的lesson5。

這時候的這個lesson5就是我們的lesson5了。

看上面是我們的兩個指令,我們的zip是把后者壓縮成前者。普通文件直接打包壓縮,目錄的話要加上 -r,遞歸式的打包壓縮。

rm * -rf指令的話,含義是把當前目錄下的所有的文件刪除掉。

我們剛才解壓我們的壓縮包的時候,默認的都是解壓到我們的當前目錄下,但是我們也可以解壓到其他的目錄上,

我們看這個:

看上面的圖片,我們還是先把lesson5進行打包壓縮,然后

我們插敘一個東西:

我們的windows和Linux是可以互傳東西的,我們需要先在Linux中安裝上我們的工具就可以,

具體的場景就是:我們可以在我們的Linux環境下打包壓縮我們的文件,然后把壓縮包傳到我們的windows環境下進行解壓得到我們的文件。

從我們的Linux環境下傳文件到我們的windows環境下使用指令sz + 文件/壓縮包就可以。

然后如果你想把你本地的文件上傳到Linux環境下的時候,直接拖拽到Linux環境的面板就可以了

9. tar指令:

我們的zip結尾的打包壓縮的文件在Linux環境中會使用,但是不是最主流的,我們的Linux環境下最主流的打包壓縮我們可以學習下tar指令;

我們看上面的圖片:我們tar指令建立壓縮包,czf,c表示創造文件,z表示具有壓縮屬性,f表示指明對應文件。

然后我們來看解壓:

我們的解壓的指令,我們把c變成x就好了,x是解開指令

我們記住這兩個就行了,上面是壓縮文件,下面是解壓文件。

我們繼續說:

我們說我們解壓壓縮包默認的是會解壓到當前目錄下的,那我們能不能解壓到其他的目錄下呢?

我們先rm * -rf 清空我們的test目錄,然后執行我們的指令:

看我們上面的圖片:我們解壓指令的后面我們跟上一個 -C,然后后面跟上指定的目錄。

我們就解壓到指定的目錄了。

幾個重要熱鍵:

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

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

相關文章

MLS平滑濾波

1.前言 最近在學習,因此查閱相關資料,該怎么表述感覺有些困難 2.代碼 2.1代碼1 使用全局坐標系 參考:python點云移動最小二乘法(Moving Least Squares)平滑_移動最小二乘法python-CSDN博客 def Moving_Least_Squares_Smoothing_v1_expla…

華為2288H V5服務器閃紅燈 無法開機案例

廣東某客戶1臺華為2288H V5服務器,由于單位外圍電力維修導致服務器有過一次異常斷電。結果來電之后發現服務器無法開機,開機面板上有個紅色心跳指示燈, 工程師到客戶現場后通過192.168.2.100登陸到2288H V5服務器的BMC管理口,打算…

SRIO入門之官方例程仿真驗證

仿真SRIO事務時序仿真之前先完成下面兩步操作:1.Vivado軟件版本2020.1,創建好工程及SRIO的IP核2.右鍵綜合化的IP核,然后選擇打開IP示例工程直接運行仿真分別將request和response兩個模塊添加到仿真窗口進行查看運行1000us左右就可以看到信號動…

CMake進階: 使用FetchContent方法基于gTest的C++單元測試

目錄 1.前言 2.FetchContent詳解 2.1.FetchContent簡介 2.2.FetchContent_Declare 2.2.1.簡介 2.2.2.關鍵特性 2.2.3.常見示例 2.3.FetchContent_MakeAvailable 2.3.1.簡介 2.3.2.核心功能與工作流程 2.3.3.示例用法 2.3.4.關鍵特性 2.3.5.常見問題與解決方案 3.…

亞馬遜廣告投放:如何減少無效曝光提高ROI

“為什么廣告花費高但轉化率低?”“如何判斷關鍵詞是否值得繼續投放?”“曝光量暴漲但訂單沒增加怎么辦?”“ACOS居高不下該如何優化?”“手動廣告和自動廣告的預算怎么分配?”如果你也在為這些問題頭疼,說…

Ethereum:擁抱開源,OpenZeppelin 未來的兩大基石 Relayers 與 Monitor

不知道大家是否注意到,OpenZeppelin 正在經歷一次重大的戰略轉型。他們決定在 2026 年 7 月 1 日正式關閉其廣受好評的 SaaS 平臺——Defender,并將重心全面轉向開源工具的建設。 這一舉動在社區引發了廣泛的討論,也標志著 OpenZeppelin 希望…

HFSS許可監控與分析

在電磁仿真領域,HFSS(High Frequency Structure Simulator)因其卓越的性能和廣泛的應用而受到用戶的青睞。然而,隨著企業和研究機構對HFSS使用需求的不斷增長,如何有效監控和分析HFSS許可證的使用情況,以確…

【前端:Html】--1.3.基礎語法

目錄 1.Html--文件路徑 2.Html--頭部元素 2.1.head元素 2.2.title元素 2.3.style元素 2.4.link元素 2.5.meta元素 2.6.script元素 2.7.base 3.Html--布局技巧 3.1.CSS Float 浮動布局 3.2.CSS Flexbox 布局 3.3.CSS Grid 網格布局 3.Html--響應式web設計 3.1.設…

Java 中 Nd4j 中的 INDArray 經過 reshape 之后數據丟失(rank = 0)

問題: 數據經過: INDArray inputArray Nd4j.create(input); // 將整個輸入數組轉換為 INDArray INDArray accs inputArray.get(NDArrayIndex.interval(0, imuNum * 3)).reshape(imuNum, 3, 1); // 加速度部分 INDArray oris inputArray.get(NDArrayIn…

正點原子阿波羅STM32F429IGT6移植zephyr rtos(四)---在獨立的應用工程里使用MPU6050

硬件平臺:正點原子阿波羅STM32F429IGT6 zephyr版本:Zephyr version 4.2.0 開發環境:wsl ubuntu 24.4 前景提要: 正點原子阿波羅STM32F429IGT6移植zephyr rtos(三)---創建一個獨立的應用工程-CSDN博客 一.修…

SAP_MMFI模塊-質保金標準解決方案詳解

一、業務背景 在許多企業的采購業務中,尤其是設備采購、工程項目或關鍵物料供應,通常會與供應商約定一筆質保金(或稱保留金)。這筆款項在貨物交付驗收后并不會立即支付,而是會被扣留一段時間(如一年),作為供應商產品質量的保證。 核心業務痛點: 在沒有系統化管理的…

Stanford CS336 assignment1 | Byte-Pair Encoding (BPE) Tokenizer

BPE一、 BPETrain1、 unicode standard and unicode encoding2、 子詞分詞(subword tokenization)3、 BPE的訓練a、 Vocabulary initializationb、 Pre-tokenizationc、 Compute BPE merges4、 train_BPE更多實現上的細節二、 BPETokenizerinit函數from_filesencodedecodeencod…

RockAI 的破壁之戰:Yan 架構如何啃下“端側煉丹”硬骨頭?

過去兩年,AI 模型的發展敘事幾乎被兩大陣營主導:無所不能的云端模型與充滿想象的端側模型。行業曾描繪一個誘人藍圖:隨著輕量化模型能力的提升,AI 終將擺脫云端束縛,在每個人的設備上實現永不離線的貼身智能。然而&…

交叉驗證:原理、作用與在機器學習流程中的位置

交叉驗證(Cross-Validation)是機器學習中評估模型性能、選擇最優參數和防止過擬合的核心技術。它在整個機器學習流程中扮演著關鍵角色。一、為什么需要交叉驗證?1. 解決訓練/測試劃分的局限性??問題??:隨機單次劃分訓練集/測試…

js怎么判斷一個未申明的變量?

在 JavaScript 中,判斷一個變量是否未聲明(未定義)需要特別注意,因為直接訪問未聲明的變量會拋出 ReferenceError 錯誤。 最安全的方式是使用 typeof 操作符,因為它對未聲明的變量操作時不會報錯,而是返回 …

C++進階-封裝紅黑樹模擬實現map和set(難度較高)

目錄 1.預備知識 2.初步代碼 3.對紅黑樹實現的代碼進行改造 4.對map和set的改造 5.對RBTree::insert的改造 6.對RBTree::Find函數的改造 7.實現iterator(最重要) 8.實現const_iterator 9.完成set和map的key不能修改 10.實現map的operator[] 11.代碼匯總 12.總結 1.預…

安裝MySQL可視化管理工具DBeaver教程

系統(kelin)上安裝MySQL可視化管理工具DBeaver教程 背景說明 在國產操作系統麒麟(基于Debian/Ubuntu)環境下,MySQL數據庫管理常依賴命令行,效率較低且不便于直觀操作。借助 DBeaver 這類跨平臺的圖形化數據…

非機動車亂停放識別準確率↑37%:陌訊多特征融合算法實戰解析

一、行業痛點:非機動車治理的技術瓶頸根據《2023 城市靜態交通治理報告》顯示,國內一線城市非機動車亂停放占用人行道比例超 60%,傳統監控方案存在三大技術難點:遮擋干擾:共享單車與私人電動車堆疊導致目標完整性缺失&…

Eclipse 安裝插件指南

Eclipse 安裝插件指南 引言 Eclipse 是一款強大的集成開發環境(IDE),廣泛應用于Java、C/C++、PHP等多種編程語言。為了提高開發效率,Eclipse 支持通過插件來擴展其功能。本文將詳細介紹如何在Eclipse中安裝插件,幫助您快速提升開發體驗。 插件概述 Eclipse 插件是用于…

區塊鏈 和 一致性哈希的結合

怎么結合呢? 我們先來回顧一下一致性哈希代碼實現里面的結構 // Consistent holds the information about the members of the consistent hash circle. type Consistent struct {mu sync.RWMutex // 讀寫鎖,用于保護并發訪問共享數據config Con…