【Linux】基本指令詳解(三) 指令本質、三個查找指令、打包壓縮、重要熱鍵、linux體系結構、命令行解釋器

文章目錄

  • date指令
  • cal指令
  • find指令(指令本質也是文件)
  • which指令
  • file指令
  • whereis指令
  • alias指令
  • grep指令
  • top指令
  • 打包和壓縮指令
    • zip/unzip指令
      • 關于rzsz(linux與windows互傳 )
    • tar指令
      • linux機器之間互傳
  • bc指令
  • uname指令(查看linux機器體系結構)
  • 幾個重要的熱鍵
    • [Tab]按鍵
    • [Ctrl]+c按鍵
    • [Ctrl]+r按鍵
  • 小技巧:!(重復上一個執行命令)
  • shutdown指令
  • shell命令以及運行原理
    • 命令行解釋器
    • bash


date指令

date直接輸出顯示當前linux系統時間:

在這里插入圖片描述

如果我們想把它轉化為年月日時分秒需要借助以下格式:

在這里插入圖片描述

對應關系如下:

Y 年
m 月
d 日
H 時
M 分
S 秒

這里小編補充一點,date +%s還可以獲取時間戳:
在這里插入圖片描述

Unix時間戳(英?為Unix epoch, Unix time, POSIX time 或 Unix timestamp)是從1970年1?1?(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒。 時間戳本質是一個單調遞增的計數器。
date指令還可以將時間戳轉化為我們看得懂的年月日時分秒,需要加 -d ,具體指令如下:
在這里插入圖片描述

cal指令

(calendar)
它可以顯示今天所在月的日歷信息,-3 可以查看上一月當前月和下一月的日歷信息。加年份還可以查看整年的日歷信息。

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

find指令(指令本質也是文件)

人如其名,這是一條查找指令,樣例如下:

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

通配符:它可以匹配任意長度的任意字符。
這里小編補充一個理論:我們見到的大部分指令本質是可執行文件
下面這個操作可以證明這個觀點,find指令可以查找普通文件,那指令本質也是文件那按理來說也可通過find指令找到,下面我們就從根目錄里來查找指令文件:

在這里插入圖片描述

原來指令真的是文件,并且都存在/usr/bin路徑目錄下,所以指令就是linux系統的固定目錄下的可執行文件。
所以這也解釋了我們要運行自己寫的可執行程序時要在前面指定當前路徑(./),因為執行可執行程序之前需要先找到這個程序文件,而系統默認只會去/usr/bin目錄下找。

which指令

which指令專門用來搜索linux系統指定的命令,它會直接到/usr/bin目錄下搜索,所以which指令等價于 find
/usr/bin -name xxx。

在這里插入圖片描述

file指令

該指令用來辨識文件類型。

在這里插入圖片描述

whereis指令

用來查找程序的源、二進制文件或手冊。
它的介于find的which之間的一條查找指令,find可以指定任意路徑下搜索,which是只在/usr/bin路徑下搜索,而whereis會在以下路徑下搜索:

在這里插入圖片描述

alias指令

(別名)
該指令可以為指令取別名,功能類似我們C++認識的引用。

在這里插入圖片描述

系統執行指令時有優先順序,執行命令時會優先搜索別名并執行,若不存在別名再去真正存放可執行文件的路徑/usr/bin下找。(別名是shell層面的一種快捷方式,只存在內存中(內存級文件),關閉當前shell對話,我們自己起的別名和系統本身的別名就會失效,系統里的別名在系統重新啟動時會自動重新生成)
下面我舉一個例子來加深理解:

在這里插入圖片描述

grep指令

這是一條文本過濾指令,把文本中包含‘搜索字符串’內容的行打印出來,樣例如下:

在這里插入圖片描述

-v 選項,反向選擇,把文本中不包含‘搜索字符串’內容的行打印出來:

在這里插入圖片描述

-n 選項,打印行號,下面的例子一共會打印20行,grep會過濾掉與之要求不符的行。

在這里插入圖片描述

因為grep指令是大小寫敏感的,所以還有一個忽略大小寫的選項 -i

在這里插入圖片描述

top指令

該指令類似于windows的任務管理器,可以查看linux下各種任務占用情況,內存等信息:

在這里插入圖片描述

相比top,還有top的升級版工具,小編把它們的下載指令也拿過來了:
htop:
CentOS:yum install htop
Ubuntu:apt-get install htop
atop:
CentOS:yum install atop
Ubuntu:apt-get install atop

top指令還有兩個選項,因為任務管理器是一直在變化的,所以我們可以控制它的刷新時間間隔和刷新次數。
-d 刷新時間間隔
-n 刷新次數

在這里插入圖片描述

打包和壓縮指令

打包壓縮本身不是目的,是為了將文件資源更好的網絡傳輸,提高效率。除此之外,我們在網絡上下載資源也是以打包壓縮的形式存在的,所以打包壓縮也可以提升下載資源的效率。打包壓縮,解壓解包需要由傳輸方計算機和接受方計算機來執行,所以本質就是消耗本地算力來提升數據傳送時的效率。

zip/unzip指令

如何打包壓縮:
壓縮有不同的壓縮算法,不同的壓縮算法壓縮文件后會形成不同格式的文件,linux系統中,有許多特定格式的壓縮文件。

可以打包壓縮一個目錄及其子目錄,也可以打包壓縮一個單獨的文件,當然,要打包壓縮目錄也需要遞歸式的打包壓縮,所以需要加一個選項 -r,以下是打包壓縮并解壓目錄test_mulu的樣例:
(解壓時把待壓縮目錄放到test目錄下是一個好習慣,因為不知道會解壓出多少文件,這樣操作不會影響其他文件)

在這里插入圖片描述

我們上面解壓文件是默認解壓到當前路徑的,我們還可以加選項 -d 解壓到指定路徑:
在這里插入圖片描述

關于rzsz(linux與windows互傳 )

這個?具?于 windows 機器和遠端的 Linux 機器通過 XShell 傳輸?件. 安裝完畢之后可以通過拖拽的?式將?件上傳過去.
rz: 將windows文件發送到linux
sz:將linux文件發送到windows
將windows文件發送到linux 可以直接拖拽實現。
樣例:當我們輸入以下指令后,windows桌面上就會有一個test_mulu.zip的壓縮文件。

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

tar指令

我們上面的zip/unzip并不是linux上主流的打包壓縮方式,linux下大部分壓縮文件格式都是.tgz格式,以tar指令來實現的。
tar指令有許多選項,不過不用都記住,實際我們只會用到其中的三個,并且是組合它們當成整體使用。
-c :建??個新的壓縮?件(create 的意思);
-x :解開?個壓縮?件的參數指令!
-t :查看 tarfile ??的?件!
-z :打包的同時還要壓縮
-j :是否同時具有 bzip2 的屬性?亦即是否需要? bzip2 壓縮?
-v :壓縮的過程中顯??件!這個常?,但不建議?在背景執?過程!
-f :使?文檔名,請留意,在 f 之后要?即接文檔名喔!不要再加參數!
-C : 解壓到指定?錄
在打包壓縮時一般我們把czf當成一個整體一起用,如果你想看壓縮的過程,還可以加上v。
如果要解壓就加上選項xzf
這里的選項帶不帶-都可以,但是有些操作系統平臺不支持帶-。
所以tar指令不用想的太復雜,記住以下格式就行了:

在這里插入圖片描述

tar指令和zip/unzip一樣,解壓都是默認解壓到當前目錄,要解壓到指定目錄需要選項-C:
在這里插入圖片描述

linux機器之間互傳

樣例如下:

在這里插入圖片描述

發送端格式如下:要注意公網ip前面有@ 后面有:

在這里插入圖片描述

bc指令

bc命令可以很?便的進?浮點運算,主要和管道結合使用:

在這里插入圖片描述

uname指令(查看linux機器體系結構)

該指令可以?來獲取電腦和操作系統的相關信息。
這里有一道面試題:如何查看linux機器體系結構,其實就是問的CPU架構,要回答這個問題就需要uname指令:
-a選項顯示計算機所有信息
-r選項顯示計算機的內核版本和架構

在這里插入圖片描述

小編再補充一個查系統版本的指令:

在這里插入圖片描述

幾個重要的熱鍵

[Tab]按鍵

它具有『命令補全』和『檔案補?』的功能。
比如輸入whi tab兩下:

在這里插入圖片描述

輸入whic tab一下:

在這里插入圖片描述

因為只有which指令的前四個字母是whic,所以系統幫我們自動補全了。

[Ctrl]+c按鍵

讓當前的程序『停掉』,它是我們將來在命令行中進行容錯處理的熱鍵。(在vim下ctrl+c程序會崩潰)

[Ctrl]+r按鍵

它可以搜索歷史命令,搜索出來以后按回車命令就會開始執行。

小技巧:!(重復上一個執行命令)

當我們有某個命令需要大量重復執行時,就可以用到!+ 需要重復執行命令的首字母,這里執行的是當前所在位置上一個以該字母開頭的指令。

在這里插入圖片描述

shutdown指令

這是一條關機指令,小編就不演示了。
常?選項如下:
-h:將系統的服務停掉后,?即關機。
-r:在將系統的服務停掉之后就重新啟動
-t:-t 后?加秒數,亦即『過?秒后關機』的意思

shell命令以及運行原理

我們上面介紹了無數多個指令,那現在有個問題擺在我們面前,這些指令究竟是怎么運行的?要想知道答案,我們要先從操作系統聊起,其實我們口中所說的操作系統分為兩個層面:
廣義操作系統:操作系統內核(kernel)+外殼程序(比如linux的Shell命令行,windows的圖形化界面)+系統自帶的必要的應用軟件(如windows的ppt,word)
狹義操作系統:操作系統內核 接下來我們來達成一下共識,以后小編所說的操作系統都是指的操作系統內核。 我們普通人一般不適合和linux內核打交道,因為非常復雜并且需要非常專業的理論知識。所以往往會在linux內核之上包裝一層軟件層,也就是操作系統的外殼程序,在linux下我們一般把它稱為shell外殼。
這個外殼程序就是溝通用戶和內核的橋梁,它通常會對用戶行為進行解析,把解析結果交給內核,內核執行完在將結果經過外殼交給用戶。
這個外殼程序的在linux的具體體現就是我們見到的命令行(命令行是用戶與操作系統進行交互的一種界面),所以我們平時敲的指令都是由命令行來接受并解析再交給內核的。
補充:命令行解釋器的功能一般不會由shell親自來做,而是交給它派生的子進程來做,因為如果內核認為shell傳遞過來的指令有風險,有可能會將shell干掉,那如果是由子進程來做的話沒了一個子進程shell還可以派生更多的子進程。

命令行解釋器

我們來總結一下,這個外殼程序官方叫做命令行解釋器(command interpreter),命令行解釋器也被稱之為shell,它的核心功能如下:
一、是將使?者的命令翻譯給核?(kernel)處理,同時,將核?的處理結果翻譯給使?者。
二、當用戶提出非法請求時,外殼會將請求攔住,終止訪問內核,相當于變相的保護了內核。

bash

命令行解釋器是一個統稱,在linux系統中有許多命令行解釋器,而其中的bash是最主要的命令行解釋器,我們每次登陸操作系統后系統都會為我們新起一個bash程序,它本質也是一個可執行文件,只不過它是個死循環,他會不斷的讀取用戶數組的指令并對指令做解析。

在這里插入圖片描述
以上就是小編分享的全部內容了,如果覺得不錯還請留下免費的關注和收藏
如果有建議歡迎通過評論區或私信留言,感謝您的大力支持。
一鍵三連好運連連哦~~

在這里插入圖片描述

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

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

相關文章

MSTP 多生成樹協議

MSTP 多生成樹協議 STP/RSTP 的局限性 所有 vlan 共享一顆生成樹無法實現不同 vlan 在多條 Trunk 鏈路上的分擔 二層鏈路負載均衡STP/RSTP 的局限——次優二層路徑**次優二層路徑(Suboptimal Layer 2 Path) 是指: ** 數據幀在交換網絡中傳輸時…

Shell腳本-tee工具

一、前言在 Linux/Unix 系統中,tee 是一個非常實用的命令行工具,它可以幫助我們 同時將命令的輸出打印到終端,并寫入文件。這種“雙路輸出”機制在腳本調試、日志記錄、自動化任務中非常有用。無論是做日志分析、腳本調試,還是編寫…

走進Linux的世界:Linux基本指令(三)

嘿,各位技術潮人!好久不見甚是想念。生活就像一場奇妙冒險,而編程就是那把超酷的萬能鑰匙。此刻,陽光灑在鍵盤上,靈感在指尖跳躍,讓我們拋開一切束縛,給平淡日子加點料,注入滿滿的pa…

跨域詳解與解決方案:從理論到實踐的全面指南

目錄 1. 跨域是什么?為什么它讓人頭禿? 為什么跨域問題讓人抓狂? 跨域的本質 2. 跨域的罪魁禍首:同源策略與CORS 同源策略的來龍去脈 CORS:跨域的“通行證” 3. JSONP:古老但依然有用的跨域“黑科技” JSONP的原理 JSONP的優缺點 4. 代理服務器:跨域的“中間人…

深入詳解:決策樹在輔助診斷系統與臨床決策支持中的應用及實現細節

?? 博主簡介:CSDN博客專家、CSDN平臺優質創作者,高級開發工程師,數學專業,10年以上C/C++, C#,Java等多種編程語言開發經驗,擁有高級工程師證書;擅長C/C++、C#等開發語言,熟悉Java常用開發技術,能熟練應用常用數據庫SQL server,Oracle,mysql,postgresql等進行開發應用…

【詳細筆記】兩類曲線積分轉換

文章目錄參考教程一兩類曲線積分的聯系參數方程曲線的切線方向余弦參考教程2兩類曲線積分之間的關系物理意義解釋證明思路參考教程一 3分鐘幫你搞定兩類曲線積分之間的聯系(弧長和坐標) 兩類曲線積分的聯系 設平面曲線LLL上的第二類曲線積分∫LPdxQdy…

【成品設計】基于STM32F429的云端電子相冊

V1《基于STM32F429的云端電子相冊》 V1硬件框圖:V1功能說明: 支持 softAP 配網。支持 HTTPS 客戶端的 GET\POST 請求支持文件系統用于圖片的存儲。支持 LVGL 自定義 GUI。日歷功能。STM32F429文件系統LVGLRGB LCD屏幕。屏幕尺寸480*480. 首次開機交互&am…

網絡安全隔離技術解析:從網閘到光閘的進化之路

目錄 一、網絡安全隔離技術體系 1.1 網絡安全隔離技術發展歷程 1.2 隔離技術分類矩陣 1.3 核心隔離原理對比 二、網閘技術深度解析 2.1 GAP架構剖析(Guarded Access Point System 安全隔離與信息交換系統) 2.2 技術演進路線 三、光閘技術突破創新…

初識 二叉樹

目錄樹什么是二叉樹二叉樹的五種狀態滿二叉樹完全二叉樹二叉排序樹平衡二叉樹二叉樹的遍歷B3642 二叉樹的遍歷P1305 新二叉樹二叉樹的深度P4913 【深基16.例3】二叉樹深度相關例題訓練:二叉樹問題樹 這是樹(拍攝于鄭州輕工業大學,第一次鄭州輕…

(1)Windows環境下安裝Oracle

概述:Oracle數據庫是一種網絡上的數據庫, 它在網絡上支持多用戶, 支持服務器/客戶機等部署(或配置)。服務器與客戶機是軟件概念:它們與計算機硬件不存在一一對應的關系. 即:同一臺計算機既可以充當服務器又可以充當客戶機,或者一臺計算機只充當服務器或只…

工業數據集成中間件工具OPC Router詳細介紹

一、產品概述 OPC Router 是 Software Toolbox 旗下的一款面向工業數據集成與自動化的數據中間件工具,專注于實現各類工業系統之間的數據交互和自動化流程編排。它通過模塊化的插件機制,打通 PLC、ERP、MES、數據庫、MQTT、REST API 等不同系統之間的數…

消息隊列 2.RabbitMQ的基本概念與使用

RabbitMQ 是一款基于 AMQP(Advanced Message Queuing Protocol)協議的開源消息中間件,主要用于實現分布式系統中的消息傳遞,支持異步通信、系統解耦、流量削峰等場景。在 Java 生態中,RabbitMQ 被廣泛應用,…

【web安全】SQL注入與認證繞過

目錄 一、SQL注入漏洞 1.1 基礎注入原理 1.2 實用注入Payload分類 邏輯繞過型 注釋截斷型 聯合查詢型 常見的萬能密碼-CSDN博客 二、登錄繞過實戰技巧 2.1 基礎繞過手法 2.2 高級繞過技巧 編碼繞過 多重注釋 參數污染 三、密碼重置漏洞利用 3.1 常見漏洞模式 3…

Python適配器模式詳解:讓不兼容的接口協同工作

一、模式定義與核心思想 適配器模式(Adapter Pattern) 是一種結構型設計模式,它通過創建一個中間層(適配器),將不兼容的接口轉換為客戶端期望的接口。就像現實中的電源適配器,讓不同國家的插頭…

微信小程序列表數據上拉加載,下拉刷新

1.上拉加載數據,數據 下一頁數據 前面的數據([...this.data.list, ...data.records)2.當用戶上拉加載過快時,會不停的調用接口,需要節流閥isLoading3.上拉加載到最后一頁的判斷,isFinish// pages/list.js…

【樹上倍增 LCA DFS 前綴和】P10391 [藍橋杯 2024 省 A] 零食采購|普及+

本文涉及知識點 C算法:前綴和、前綴乘積、前綴異或的原理、源碼及測試用例 包括課程視頻 CDFS 樹上倍增 LCA P10391 [藍橋杯 2024 省 A] 零食采購 題目描述 小藍準備去星際旅行,出發前想在本星系采購一些零食,星系內有 nnn 顆星球&#x…

PDF發票批量打印工具哪個好?高效打印發票的實用工具推薦

開小超市這幾年,每月要打幾十張進貨發票做賬,以前打印時總犯愁:有的發票 PDF 太大,打出來字小得看不清;有的又太窄,白白浪費半張紙。試過手動調整,每張都要改縮放比例,累不說&#x…

4G模塊 A7680通過MQTT協議連接到華為云

命令說明 基礎AT指令 ATi顯示產品的標志信息 ATCIMI查詢IMSI ATCICCID從SIM卡讀取ICCID ATCGSN查詢產品序列號 ATCPIN查詢卡狀態 ATCSQ查詢信號強度 ATCGATT查詢當前PS域狀態 ATCREG查詢GPRS注冊狀態 ATCEREG查詢4G注冊狀態 ATCGPADDR查詢PDP地址 ATCMGF選擇短信格式 ATCMGS發…

大模型詞表設計與作用解析

幾乎所有大型語言模型(LLM)都有自己獨立的詞表(Vocabulary)。這是模型設計和訓練過程中的核心組件之一。以下是關于詞表的關鍵點: 1. 詞表的作用 分詞基礎:詞表定義了模型如何將輸入文本拆分成基本單元&…

(一)Eshop(異常處理中間件/grpc)

文章目錄項目地址一、異常處理1.1 自定異常1.2 自定義異常處理中間件1.3 注冊中間件二、grpc服務2.1 創建protos1. 打折的protos2. 設置grpc server3. program配置服務4. docker-compose2.2 CRUD1. 查詢2.3 測試1. 發起查詢請求三、grpc服務消費3.1 創建client1. 添加服務2. 選…