第二篇:shell基礎命令(部分)

来源:https://www.cnblogs.com/panrongfeng/archive/2018/08/09/9448916.html
-Advertisement-
Play Games

[TOC] 一、shell命令規則 linux命令的格式 命令 [選項] [參數] 舉例: 命令這一部分肯定是存在 選項和參數不一定存在,可有可無。 選項和參數取決於你使用該命令實現的具體目的。 選項是以" "來指明的 命令、選項、參數之間是以空格來隔開的,一個或多個空格都視為1個空格。 如:ls ...


目錄

一、shell命令規則

linux命令的格式

命令   [選項]  [參數]

舉例:

>> ls
>> ls -l
>> ls -l /home
  • 命令這一部分肯定是存在
  • 選項和參數不一定存在,可有可無。
    • 選項和參數取決於你使用該命令實現的具體目的。
  • 選項是以"-"來指明的
  • 命令、選項、參數之間是以空格來隔開的,一個或多個空格都視為1個空格。
    • 如:ls -l /home與ls -l /home的目的是一樣的
  • 完成linux命令輸入後,按下enter鍵,即可執行該命令

二、基礎命令詳解(部分)

ls :列出目錄內容

  • 常用的選項
    • -l(long的縮寫),顯示目錄下文件的更詳細的信息(文件許可權、文件最後修改時間、文件大小)
    • -a(all的縮寫),顯示了隱藏文件
    • -h(human-able的縮寫),將文件大小以K(KB)、M(MB)、G(GB)來表示

mkdir : 創建目錄

  • 常用的選項
    • -p(parents的縮寫),連續創建多級目錄(父目錄和子目錄),如果父目錄不存在,則需要加入-p參數。
  • 舉例

    >> mkdir dir0                    //創建了dir0這個目錄
    >> mkdir -p  dir1/dir2       //創建了dir1(父目錄)和dir2(子目錄)

rmdir :刪除目錄

rmdir 目錄名

註意:rmdir不能刪除非空目錄(非空目錄:該目錄下麵有子目錄或者文件)

touch:新建文件

  • 舉例
```shell
>> touch file1  //在當前目錄新建名為file1的文件
```
  • 註意事項

    • 同一目錄無法創建同名的文件
    • linux的文件名是區分大小寫的,如file1和File1是不同文件。(這一點跟windows不同)

mv:修改文件(目錄)名、移動路徑

  • 舉例

    #mv  舊文件名   新文件名    ====>修改文件名
    >> mv file1 filea  //將當前目錄的文件file1改名為filea
    # mv  舊目錄名   新目錄名   ====>修改目錄名
    >> mv dir1 dira    //將當前目錄下的目錄dir1改為dira(註意一定是當前目錄下)
    
    #mv  文件名     目錄名      ====>移動路徑
    >> mv filea dira   //將當前目錄下filea移動到dira子目錄  

cp:複製文件(目錄)

  • 常用的選項
    • -i(interactive(交互)的縮寫),刪除文件(目錄)之前,要求你確認是否同意刪除
    • r(recursive(遞歸)的縮寫),遞歸刪除指定目錄下的子目錄和文件
    • f(force(強制)的縮寫),強制刪除
  • 舉例

    cp -r dira dirb  //複製dira目錄下的所有內容到dirb
    cp -i file2 dira  //如果dira目錄下麵有同名的file2,會讓你二次確認

cat 查看文件內容

  • 常用的選項
    • -n : 顯示內容併在內容前顯示行號
  • 舉例:不同形式的查看

    cat file1          //將file1的內容列印到標準輸出中(預設標準標準輸出指向終端)
    cat file1 file2    //將file1和file2的內容串聯並依次全部列印到標準輸出中
    cat -n file1       //顯示內容併在內容前顯示行號

清除屏幕

  • clear : 刷新屏幕,保留歷史命令操作記錄;此命令本質上只是讓終端向後翻一頁,當向上滾動滑鼠時,還是可以看到之前命令的操作記錄
  • reset:重新初始化屏幕,清除歷史命令操作記錄

man

  • 說明:

    main有9冊內容,上圖為9冊內容的側重點

    man ls          //預設使用第1冊
    man 2 ls        //選擇使用第2冊(這樣的格式選擇其他幾冊)

進階命令

find:

​ 作用: 查找符合條件的文件

​ 格式: find 目錄名 選項 查找條件

  • 常用的選項:

    • -name: 表示以名字來查找文件
    • -mtime: 表示查找最近幾天(幾個小時)之內(之前)有變動的文件
  • 舉例:

    //舉例1:
    >> find /work/001_linux_basic/dira/  -name "test1.txt"
     /*
      說明:
        a)/work/001_linux_basic/dira/指明瞭查找的路徑
      b)-name表明以名字來查找文件
      c)"test1.txt",就指明查找名為test1.txt的文件
    */
    
    //舉例2:   
    >> find /work/001_linux_basic/dira/  -name "*.txt"
    /*
      說明:* 通配符的意思,表示查找該目錄下說有.txt文件
    */
    
    //舉例3:
    >> find  -name "*.txt" //如果沒有指定查找目錄,則為當前目錄。
    >> find      
    //舉例4: 
    >> find /home -mtime -2 //查找/home目錄下兩天內有變動的文件

grep:

目的:使用grep命令來查找文件中符合條件的字元串
格式:grep  [選項][查找模式]     "字元串"    [文件名]
  • 常用的選項:

    • r(recursive):遞歸查找
    • n(number):顯示目標位置的行號
    • -w : 全字匹配
  • 舉例:

    //舉例1
    >> grep -n "aaa" test_a.txt //在文件中查找"aaa" 有顯示
    
    //舉例2
    >> grep -rn "aaa" ./ 
    >> grep -rn "aaa" *  //跟上述一個意思,在這目錄里查找”aaa"
    
    //舉例3:
    >> grep -wn "aaa" a.txt 
    /*
      只會找aaa的內容,若是”aaabba" 也不算全字匹配 aaa basd 這樣算
    */

壓縮/解壓縮(gzip、‘bzip2、tar)

壓縮的概念
1)壓縮的目的:
在網路傳遞文件時,可以先將文件壓縮,然後傳遞壓縮後的文件,從而減少網路帶寬。
接受者接受文件後,解壓即可。

​ 2)壓縮的類型
有損壓縮、無損壓縮。
a)有損壓縮:
如mp4視頻文件,即使壓縮過程中,減少了很多幀的數據,對觀看者而言,也沒有影響。當然mp3音樂文件也是有損壓縮。
b)無損壓縮:
如普通文件的壓縮,為了保證信息的正確傳遞,不希望文件經過壓縮或解壓後,出現問題。

單個文件的壓縮(解壓)使用gzip 和bzip2
多個文件和目錄使用tar

gzip

  • 常用的選項:

    1) -l(list) 列出壓縮文件的內容

    查看
    gzip -l 壓縮文件名
    比如:gzip -l pwd.1.gz

    2)-k(keep) 在壓縮或解壓時,保留輸入文件;

    解壓
    gzip -kd 壓縮文件名
    比如:gzip -kd pwd.1.gz
    該壓縮文件是以.gz結尾的單個文件

    3)-d(decompress) 將壓縮文件進行解壓縮

    壓縮
    gzip -k 源文件名
    比如:gzip -k mypwd.1
    得到了一個.gz結尾的壓縮文件

    4) 實測(CentOS7)無-k選項;只有-c 表示保留原文件

    壓縮: gzip -c a.txt > a.txt.gz

    解壓 : gzip -cd a.txt.gz > a.txt

  • 註意事項:

    • 如果gzip不加任何選項,此時為壓縮,壓縮完該文件會生成尾碼為.gz的壓縮文件,並刪除原有的文件,所以說,推薦使用gzip -k(c) 來壓縮源文件。

    • 相同的文件內容,如果文件名不同,壓縮後的大小也不同。

    • gzip只能壓縮單個文件,不能壓縮目錄。

bzip2

​ 註意:若是Linux版本中預設是無安裝bzip2的,請執行(先進入root用戶)>>yum -y install bzip2

  • 常用的選項:

    1)-k(keep) 在壓縮或解壓時,保留輸入文件;

    解壓
    bzip2 -kd 壓縮文件名
    比如:bzip2 -kd pwd.1.bz2
    該壓縮文件是以.gz結尾的單個文件

    2)-d(decompress) 將壓縮文件進行解壓縮

    壓縮
    bzip2 -k 源文件名
    比如:bzip2 -k mypwd.1
    得到了一個.bz2結尾的壓縮文件

  • 註意事項:

    1)如果bzip2不加任何選項,此時為壓縮,壓縮完該文件會生成尾碼為.bz2的壓縮文件,並刪除原有的文件所以說,推薦使用bzip2 -k 來壓縮源文件。
    2)bzip2只能壓縮單個文件,不能壓縮目錄。

bizp2 和 gzip 比較

​ 單個文件的壓縮使用gzip或bzip2,壓縮有兩個參數:1)壓縮時間 2)壓縮比
一般情況下,小文件使用gzip來壓縮,大文件使用bzip2來壓縮。

tar

gzip、bizp2只能對一個文件進行壓縮,而不能對多個文件和目錄進行壓縮, 所以需要tar來對多個目錄、文件進行打包和壓縮。

  • 常用的選項:

    • -c(create) 表示創建用來生成文件包
    • -x:表示提取,從文件包中提取文件
    • -t可以查看壓縮的文件。
    • -z使用gzip方式進行處理,它與”c“結合就表示壓縮,與”x“結合就表示解壓縮。
    • -j使用bzip2方式進行處理,它與”c“結合就表示壓縮,與”x“結合就表示解壓縮。
    • -v(verbose)詳細報告tar處理的信息
    • -f(file)表示文件,後面接著一個文件名。
    • -C <指定目錄> 解壓到指定目錄
  • 舉例:

    註意:
    tar -czvf與tar czvf是一樣的效果,所以說,後面統一取消-。

    //舉例1:
      //壓縮  tar -czvf   壓縮文件名   目錄名
        >> tar czvf dira.tar.gz  dira
    
    //舉例2:
      //查看 tar tvf   壓縮文件名
      >>tar tvf dira.tar.gz
    
    //舉例3:
      //解壓
      //tar xzvf 壓縮文件名
      //tar xzvf 壓縮文件名  -C  指定目錄
      >>tar xzvf dira.tar.gz                   //解壓到當前目錄
      >>tar xzvf dira.tar.gz   -C  /home/book   //解壓到/home/book

    上述例子使用tar打包、gzip壓縮;若是tar打包、bzip2壓縮 z 改成 j就可以了



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、TIMER輸出PWM基本概念 脈衝寬度調製(PWM),是英文“Pulse Width Modulation”的縮寫,簡稱脈寬調製,是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術。簡單一點,就是對脈衝寬度的控制。一般用來控制步進電機的速度等等。 STM32的定時器除了TIM6和T ...
  • 第1章 定時任務 1.1 什麼是定時任務 相當於鬧鐘每天叫你起床 設定一個時間去做某件事 1.2 系統定時任務 [root@zeq ~]# ll -d /etc/cron* drwxr-xr-x. 2 root root 4096 Jul 10 18:24 /etc/cron.d drwxr-xr- ...
  • 通過兩伺服器通訊問題引入物理層的討論,物理層主要承擔比特流傳輸的職責。 ...
  • 1、STM32的Timer簡介 STM32中一共有11個定時器,其中2個高級控制定時器,4個普通定時器和2個基本定時器,以及2個看門狗定時器和1個系統嘀嗒定時器。 其中系統嘀嗒定時器是前文中所描述的SysTick,看門狗定時器以後再詳細研究。今天主要是研究剩下的8個定時器。 定時器 計數器解析度 計 ...
  • 剛知道有虛擬機的時候為了那啥(咳咳),花了好幾天的時間裝了很多的操作系統,像什麼os x、kali、red hat、以前的win7什麼的,甚至還有一個Android的虛擬機……扯偏了,然後最近學習到了Linux的知識,於是想起了虛擬機里好久沒碰過的ubantu,然而悲催的是當初設置的密碼忘記了,so ...
  • 基本操作 1. 安裝 2. 生成SSH KEY :先 ,在這個目錄下輸入 ,一直回車就可以了,這個時候就會出現id_rsd.pub公鑰和id_rsa私鑰,然後 ,把這個公鑰複製到對應的碼雲平臺或者是github上,配置SSH Key 3. 基本命令 | git config | git init | ...
  • 當你新登錄一個主機,過著管理一個主機,這時候你就需要這些命令來進行查看了: 1. w : Show who is logged on and what they are doing. w [options] user [...] 常用命令: w -h --no-header w -u --no-cu ...
  • 打開“開始”菜單。要執行此操作,請單擊屏幕左下角的Windows徽標或⊞ Win按鍵。 在Windows 8上,您將滑鼠游標懸停在屏幕的右上角,然後單擊放大鏡圖標。 在Windows 8上,您將滑鼠游標懸停在屏幕的右上角,然後單擊放大鏡圖標。 鍵入Firewall到開始。這樣做會顯示一個匹配程式列表 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...