【技術積累】Linux中的命令行【理論篇】【一】

来源:https://www.cnblogs.com/yyyyfly1/archive/2023/07/30/17591599.html
-Advertisement-
Play Games

博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ...


7z命令

命令介紹

7z命令是Linux系統中的一個壓縮和解壓縮工具,它可以用來創建、壓縮和解壓縮7z格式的文件。7z是一種高壓縮率的文件格式,通常比其他常見的壓縮格式(如zip和gzip)具有更高的壓縮率。

命令安裝

在 Linux 中輸入以下命令安裝 7-Zip。

# Ubuntu 系統
apt-get update
apt-get install p7zip-full -y

# CentOS   
sudo yum install epel-release
yum install p7zip p7zip-plugins

命令說明

使用方法: 7z <命令> [<開關>...] <archive_name> [<file_names>...]

<命令>
  a : 添加文件到存檔
  b : 基準測試
  d : 從存檔中刪除文件
  e:從檔案中提取文件(不使用目錄名)。
  h:計算文件的哈希值
  i : 顯示支持的格式信息
  l : 列出檔案的內容
  rn : 重命名檔案中的文件
  t : 測試檔案的完整性
  u : 更新檔案中的文件
  x : 提取完整路徑的文件

<開關>
  --:停止開關解析
  @listfile : 設置包含文件名的列表文件的路徑
  -ai[r[-|0]]{@listfile|!wildcard} : 包括歸檔文件
  -ax[r[-|0]]{@listfile|!wildcard} : 排除檔案。
  -ao{a|s|t|u} : 設置覆寫模式
  -an : 禁用檔案名稱欄位
  -bb[0-3] : 設置輸出日誌級別
  -bd : 禁用進度指示器
  -bs{o|e|p}{0|1|2}:設置輸出/錯誤/進度行的輸出流
  -bt : 顯示執行時間統計
  -i[r[-|0]]{@listfile|!通配符} : 包括文件名
  -m{Parameters} : 設置壓縮方法
  -mmt[N] : 設置CPU線程的數量
  -mx[N] : 設置壓縮級別: -mx1 (最快) ... -mx9 (超強)
  -o{Directory} : 設置輸出目錄
  -p{Password} : 設置密碼
  -r[-|0] : 重新搜索子目錄
  -sa{a|e|s} : 設置存檔名稱模式
  -scc{UTF-8|WIN|DOS}:設置控制台輸入/輸出的字元集。
  -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}}:設置列表文件的字元集。
  -scrc[CRC32|CRC64|SHA1|SHA256|*] :為x、e、h命令設置哈希函數。
  -sdel : 壓縮後刪除文件
  -seml[.] : 通過電子郵件發送檔案
  -sfx[{name}] : 創建SFX檔案
  -si[{name}] : 從stdin讀取數據
  -slp : 設置大型頁面模式
  -slt : 顯示l(List)命令的技術信息
  -snh : 將硬鏈接存儲為鏈接
  -snl : 將符號鏈接存儲為鏈接
  -sni : 存儲NT安全信息
  -sns[-] : 存儲NTFS備用流
  -so : 向stdout寫數據
  -spd : 禁用文件名的通配符匹配
  -spe : 消除提取命令中根文件夾的重覆。
  -spf : 使用完全合格的文件路徑
  -ssc[-] : 設置敏感的大小寫模式
  -ssw : 壓縮共用文件
  -stl : 從最近修改的文件設置存檔時間戳
  -stm{HexMask} : 設置CPU線程親和力掩碼(十六進位數字)。
  -stx{Type} : 排除存檔類型
  -t{Type} : 設置存檔的類型
  -u[-][p#][q#][r#][x#][y#][z#] [!newArchiveName] : 更新選項
  -v{大小}[b|k|m|g] : 創建捲冊
  -w[{path}] : 指定工作目錄。空的路徑意味著一個臨時目錄
  -x[r[-|0]]{@listfile|!wildcard} : 排除文件名。
  -y : 假設所有的查詢都是肯定的

ab命令

命令介紹

ab是ApacheBench的縮寫,是一個用於測試HTTP伺服器性能的工具。它是Apache HTTP伺服器的一部分,可以通過命令行在Linux系統中使用。

ab工具可以模擬多個併發用戶向目標伺服器發送請求,並記錄伺服器的響應時間、吞吐量等性能指標。它可以幫助開發人員和系統管理員評估伺服器的性能瓶頸,找出系統的瓶頸所在,併進行性能優化。

命令安裝

若系統未安裝,使用以下命令安裝

# Ubuntu
sudo apt-get install apache2-utils

# Centos
yum install httpd-tools

ab命令 是一個測試你 Apache http 伺服器的工具,你可以通過這個工具,指定一個單位時間內向 apache 發出的請求數量來看看你的 Apache 和機器配合的性能如何。

命令說明

語法

ab [ -A auth-username:password ] [ -c concurrency ] [ -C cookie-name=value
] [ -d ] [ -e csv-file ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [
-i  ]  [  -k  ]  [  -n  requests  ] [ -p POST-file ] [ -P proxy-auth-user‐
name:password ] [ -q ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type  ]
[  -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port]
]  [  -y  <tr>-attributes  ]  [  -z   <td>-attributes   ]   [http://]host‐
name[:port]/path

選項

-A auth-username:password
      #  支持基本的驗證證書,用戶名和密碼之間使用"冒號"                    :
      # 分隔開,ab將以明文方式傳送過去.不管伺服器是不是需要
      # ,也就是說你的伺服器需要支持401認證.

-c concurrency
      # 同時向伺服器端發送的請求數目,預設狀態下是一次 只執行一個http請求.

-C cookie-name=value
      # Add a Cookie: line to the request. The argument is typically in the
      # form of a name=value pair. This field is repeatable.

-d    #  Do not display  the  "percentage  served  within  XX  [ms]  table".
      # (legacy support).

-e csv-file
      # Write  a  Comma  separated value (CSV) file which contains for each
      # percentage (from 1% to 100%) the time (in milli seconds) it took to
      # serve  that percentage of the requests. This is usually more useful
      # than the 'gnuplot' file; as the results are already 'binned'.

-g gnuplot-file
      # Write all measured values out as a 'gnuplot' or TSV  (Tab  separate
      # values)  file.  This file can easily be imported into packages like
      # Gnuplot, IDL, Mathematica, Igor or even Excell. The labels  are  on
      # the first line of the file.
-h    # 顯示使用說明
-H custom-header
      # 向請求包追加附加的標題字串.此參數應該是有效的標題         行(header
      # line)形式,通常使用冒號":"來分隔有效配對 (valid  pair)例如  'Accept-
      # Encoding: zip/zop;8 bit';

-i    # 使用一個 http 頭(HEAD) 來替換 GET方法.不可以摻入POST 方法

-k    #  允許http      KeepAlive      ;也就是說執行多個請求在一個      http
      # 會話當中,預設是不允許的也就是no KeepAlive啦;)

-n requests
      # 執行一次測試會話的時候所發出的請求數目,預設是執行一個單一的請求
      # 當然了這樣的測試結果也就沒什麼意義了

-p POST-file
      # 測試程式也就是ab,將向Apache server發送帶有HTTP POST 的請求.

-P proxy-auth-username:password
      # 當需要通過代理測試一臺 HTTP 伺服器的時候而你的代理
      # 又需要用戶名密碼驗證,這時你可以使用這個選項,同樣
      # 用戶名與密碼之間使用冒號":"分隔開,ab將之以明文的方式
      # 發送出去,當然,前提是你的代理是處於407認證狀態的

-q    #  When processing more than 150 requests, ab outputs a progress count
      # on  stderr  every  10% or 100 requests or so. The -q flag will sup‐
      # press these messages.

-s    #  When compiled in (ab -h will show you) use the SSL protected  https
      # rather  than  the  http  protocol. This feature is experimental and
      # very rudimentary. You probably do not want to use it.

-S    #  Do not display the median and standard deviation values,  nor  dis‐
      # play  the  warning/error  messages  when the average and median are
      # more than one or two times the standard deviation  apart.  And  de‐
      # fault to the min/avg/max values. (legacy support).

-t timelimit
      #  設置測試的時間的長短,使用這個選項ab將自動設置
      # 測試請求會話數目為50000,然後以你設置的時間為
      # 固定周期.預設狀態下是沒有時限的,也就是直到完成
      # 你所設置的請求數目為止.

-T content-type
      # 內容類型標頭,使用在POST數據的時候.

-v verbosity
      # 設置冗餘級別,4級列印出每個請求標頭的詳細信息,
      # 3級列印出回應代碼(例如,404,200),2級列印出警告 信息和指示消息

-V    # 顯示版本號並且退出
-w    # 列印輸出結果到HTML表中. 預設的表是兩列n行白底黑框

-x <table>-attributes
      # 使用字串來描述表的屬性,該屬性字串應該插入到<table 這裡 >

-X proxy[:port]
      # Use a proxy server for the requests.

-y <tr>-attributes
      # 用於生成html表格每行的屬性名 (<tr>)

-z <td>-attributes
      # 用於生成html表格每列的屬性名 (<td>)

accept命令

命令介紹

在Linux中,accept命令用於接受一個傳入的網路連接。它通常與socket編程一起使用,用於創建一個伺服器程式,以偵聽並接受客戶端的連接請求。

命令說明

accept命令的語法如下:

選項:

-a:顯示連接的詳細信息,包括用戶ID、遠程主機名、遠程IP地址等。
-d:啟用調試模式,顯示更多的調試輸出信息。
-r:拒絕連接請求。

文件描述符:
- 一個整數值,表示要接受連接的套接字文件描述符。

accept命令的工作原理如下:
1. 創建一個套接字,並將其綁定到一個特定的IP地址和埠號上。
2. 使用listen函數將套接字設置為監聽狀態,等待客戶端的連接請求。
3. 使用accept函數接受客戶端的連接請求,並返回一個新的套接字文件描述符,用於與客戶端進行通信。
4. 使用新的套接字文件描述符進行數據傳輸。

accept命令的使用示例:

上述命令將以調試模式運行accept命令,並使用文件描述符3接受傳入的連接。

需要註意的是,accept命令本身並不是一個獨立的命令,而是一個用於演示和測試網路編程的工具。在實際的生產環境中,我們通常使用編程語言提供的socket庫來實現網路連接的接受和處理。

ack命令

命令介紹

ack命令是一個用於在Linux系統中搜索文件內容的工具。它是grep命令的替代品,具有更快的搜索速度和更友好的輸出格式。

命令安裝

若系統未安裝,使用以下命令安裝

# Ubuntu
sudo apt-get install apache2-utils

# Centos
yum install httpd-tools

命令說明

以下是ack命令的一些常用選項和用法:

1. 基本用法:

ack [選項] 搜索模式 [文件/目錄]

2. 選項:

-i:忽略大小寫
-w:只匹配整個單詞
-c:只顯示匹配的行數
-l:只顯示包含匹配的文件名
-r:遞歸搜索子目錄
-n:顯示匹配的行號
-v:反向匹配,只顯示不包含搜索模式的行
-o:只顯示匹配的部分
-g:指定搜索模式的文件類型(例如:--perl、--python)

3.ack命令還支持一些高級用法,如使用正則表達式進行搜索、自定義搜索模式文件等。可以通過man ack命令查看完整的幫助文檔。

總結:ack命令是一個功能強大的文件內容搜索工具,它可以快速地在Linux系統中搜索文件內容,並提供了豐富的選項和用法,方便用戶根據需求進行定製化的搜索操作。

在黑夜裡夢想著光,心中覆蓋悲傷,在悲傷里忍受孤獨,空守一絲溫暖。 我的淚水是無底深海,對你的愛已無言,相信無盡的力量,那是真愛永在。 我的信仰是無底深海,澎湃著心中火焰,燃燒無盡的力量,那是忠誠永在。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # Java 多態 # 1. 多態 ## 方法或對象具有多種形態。是面向對象的三大特征之一,多態是建立在封裝、繼承基礎之上的 # 2. 多態的實現: ## 方法的重載中,使用不同的形參調用方法體現出了多態 ## 方法的重寫中,使用父類或子類的對象調用方法體現出了多態 ## 對象的多態: ## 對象的 ...
  • QAction 類表示用戶命令的一種抽象,包括命令文本、圖標、命令觸發後要執行的代碼。菜單、工具欄按鈕往往存在相同的功能,將這些命令獨立抽出來,放到 QAction 以象上,可避免編寫重覆的代碼。比如“文件”菜單下有“保存”命令,工具欄上也會有“保存”按鈕。因此,創建一個表示“保存”的 QActio ...
  • > 以前學校上C語言課程都是使用VC++6.0上課,這個學期為了複習一遍C語言,而且自己經常使用VSCode開發前端項目,所以為了方便。這裡把需要的環境和插件配置在這裡介紹一下。 ### Windows環境下安裝C語言編譯器 MinGW-W64 GCCC的下載地址為:https://sourcefo ...
  • # 簡介 ### 按鍵 按鍵是輸入設備,一般來說,按鍵在沒有按下的時候是高電平;當按鍵按下的時候,為低電平。 在***DE2-70 User Manual***中 > Each switch provides a high logic level (3.3 volts) when it is not ...
  • IntelliJ IDEA的遠程開發功能,可以將編譯和運行等消耗資源任務放在伺服器上執行,降低本地電腦負載,但是體驗上和之前的IDEA操作保持一致,破舊的老機器也能煥發青春 ...
  • # Unity UGUI的Outline(描邊)組件的介紹及使用 ## 1. 什麼是Outline(描邊)組件? Outline(描邊)組件是Unity UGUI中的一種特效組件,用於給UI元素添加描邊效果。通過設置描邊的顏色、寬度和模糊程度,可以使UI元素在視覺上更加突出。 ## 2. Outli ...
  • # rsync教程、rsync+inotify實時同步 ## rsync介紹 英文全稱為Remote synchronization服務軟體 rsync是一個linux應用程式,可以實現**全量**以及**增量**的**本地**或者是**遠程**的**數據同步(拷貝)備份** 使用快速增量備份工具` ...
  • 一、問題描述: 在待機或正常使用過程中,時不時遇到桌面無響應的情況,但滑鼠正常移動。網路上大致給出以下幾種處理思路: 1.移除拓展塢,集線器2.打開設備管理器,通用串列匯流排控制器,對裡面每個設備的:“允許電腦關閉此設備以節約電源”,把勾去除3.通過命令徹底卸載小組件4.更換無線網卡驅動 本問題實際 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...