Linux命令基礎完結篇

用戶權限修改

chmod修改文件權限

文字設定法

  • u:所有者
  • g:所屬組
  • o:其他人
  • a:所有
  • +:添加權限
  • -:刪除權限
  • =:賦予權限

在這里插入圖片描述

數字設定法

  • r:4
  • w:2
  • x:1
  • 每一組權限:0~7

在這里插入圖片描述

  • 舉例:

在這里插入圖片描述

添加新用戶和新用戶組

  • 添加新用戶:

    sudo adduser 新用戶名
    
  • 查看用戶:

    • /home目錄下,多出新用戶的宿主目錄。
    • 在 /etc/passwd 文檔的末尾,新增新用戶相關信息。
    • 在 /etc/group 文檔中,新增用戶組相關信息。
  • 刪除用戶

    sudo deluser 用戶名
    
    • 在 /etc/passwd 文件中,會對應刪除相應用戶數據。

    • 在 /etc/passwd 文件中,會對應刪除相應用戶組數據。

    • /home目錄下,新用戶的宿主目錄不會自動被刪除,可以使用

      sudo rm -rf
      
  • 擴展:

    • 添加用戶組:

      sudo addgroup 組名
      
    • 刪除用戶組:

      sudo delgroup 組名
      

修改文件所有者和所屬組

修改所有者:

語法:

sudo chown 用戶名 文件名

修改所屬組:

語法:

sudo chgrp 用戶組名 文件名

一次性修改所有者和所屬組

語法:

sudo chown 用戶名:組名 文件名

查找和過濾

find

語法:find 搜索路徑(絕對、相對)參數 條件

find參數:

  • -name:按文件名搜索
    • 通配符“*”:匹配0~N個任意字符。
    • 通配符“?”:匹配1個任意字符。

在這里插入圖片描述

  • -type:按Linux文件類型搜索

    • 搜索普通文件,使用 f 。

      find ./ -type f
      
    • 搜索除普通文件之外的文件,按7中Linux文件類型。

      find /tmp -type s #搜索套接字文件
      find /dev -type c #搜索字符設備文件
      find ./ -type p #搜索管道文件
      
  • -size:按文件大小搜索

  • 注意事項:

    • 取范圍時,要有兩個 -size參數。

    • k必須小寫,M,G大寫。

      find ./ -size +3M -size -5M
      find ./ -size +3k -size -5k
      
  • 混合多個參數搜索:

    find ~/ -name "*2015.jpg" -size +1k -size -2M
    
  • -maxdepth:指定搜索層級深度

    find ~/ -maxdepth 4 -name "*2015.jpg" -size +1k -size -2M
    
  • -exec:將find搜索的結果,指定給某一個其他命令執行。

    • 語法:find 命令 -exec shell命令 {} ;

      find ~/ -maxdepth 4 -name "*2015.jpg" -size +1k -size -2M -exec ls -lh {} \;
      
    • 語法:find 命令 -ok shell命令 {} ; 會在執行命令時詢問

  • “|”結合 xargs 實現將find搜索的結果,指定給某一個其他命令執行。

    find ~/ -maxdepth 4 -name "*2015.jpg" -size +1k -size -2M  | xargs ls -lh 
    
    • ? 如果創建了帶有特殊字符的文件,再進行檢索需要修改 find 搜索結果集的分割條件。

      1. 創建帶有空格的文件:

        在這里插入圖片描述

      2. 使用 find | xargs 搜索,報錯。

        在這里插入圖片描述

      3. 解決:修改 find 搜索結果集的分割條件。 -print0

        find ./ -type f -print0 | xargs -0 ls -l;
        

        在這里插入圖片描述

grep

按文件內容搜索

  • 語法:grep -r “關鍵字” 搜索目錄位置

    grep -r "love" ./
    
    • -n:顯示所在行行號。

    • -i:忽略大小寫。

      grep -r "LOVE" ./ -n -i
      

壓縮和解壓縮

Linux 操作系統中,默認支持的壓縮格式:gzip、bzip2。默認這兩種壓縮格式只能壓縮單個文件,不支持打包。壓縮后源文件消失。

在 Linux/unix 中壓縮、解壓縮,借助 tar 命令完成。tar 的作用是“打包”。

壓縮

  • 格式:

    tar zcvf 壓縮包名.tar.gz 壓縮原材料
    tar jcvf 壓縮包名.tar.bz2 壓縮原材料
    
    • z:使用 gzip 壓縮格式。
    • j:使用bzip2壓縮格式。
    • c:創建壓縮包。
    • v:顯示壓縮過程。
    • f:用來指定壓縮包包名。f 必須是最后一個參數,后面緊跟壓縮包名稱。

在這里插入圖片描述

解壓縮

  • 格式:

    tar zxvf 壓縮包名.tar.gz 
    tar jcvf 壓縮包名.tar.bz2
    
    • x:解壓縮。

    • 直接解壓縮到當前目錄

      在這里插入圖片描述

    • 解壓縮到指定目錄,使用參數 -C:

    • tar zxvf 壓縮包名.tar.gz 壓縮原材料 -C 目錄

vim編輯器

vim的三種工作模式

  • 命令模式:
    • 進入 vim/vi 后自動處于的一種模式。
    • 在此種模式下。用戶鍵入的所有內容都被當做命令看到。
  • 編輯模式
    • 編寫代碼。
  • 末行模式
    • 在此種模式下,鍵入的指令都被當做末行命令。

在這里插入圖片描述

切換編輯模式

  • i:改變工作模式為編輯模式,向光標 插入數據。

  • a:改變工作模式為編輯模式,向光標 插入數據。

  • o:改變工作模式為編輯模式,向光標所在行的 下一行 插入數據。

  • I(大i):改變工作模式為編輯模式,向光標所在行的 行首 插入數據。

  • A:改變工作模式為編輯模式,向光標所在行的 行尾 插入數據。

  • O:改變工作模式為編輯模式,向光標所在行的 上一行 插入數據。

  • s:改變工作模式為編輯模式,刪除光標所選字符。

  • S:改變工作模式為編輯模式,刪除光標所在行。

保存和退出

  • 命令模式:
    • ZZ
  • 末行模式:
    • w:保存
    • q:退出
    • q!:強制退出
    • x:保存、退出

光標移動

  • hjkl:左下上右
  • G:文件的末行
  • gg:文件的首行
  • gg=G:自動排版(縮進對齊)
  • 0:不改變工作模式,將光標移動至本行行首。
  • $:不改變工作模式,將光標移動至本行行尾。
  • NG:不改變工作模式,跳轉至第N行。
  • 末行模式,跳轉至指定行:
    • :N回車,跳轉到第N行。

撤銷、反撤銷

  • 撤銷:命令模式下 u
  • 反撤銷:ctrl -r

復制、粘貼

  • 單行復制:
    • 光標移動至待復制行,放在任意字符上,按 yy 復制本行,移動光標至目標位置,p 向下粘,P 向上粘。
  • 多行復制:
    • 光標移動至待復制多行的首行任意字符上,按 Nyy 復制多行,移動光標至目標位置,p 向下粘,P 向上粘。
  • 片段復制:
    • 光標移動至待復制區域的首個字符上,先按 v ,再按 hjkl ,移動光標,選中待復制區域,按 y 復制,p 向后粘,P 向前粘。
  • 復制一個單詞:
    • 光標移動至待復制單詞首字符上,按 yw 復制一個單詞,移動光標至目標位置,p 向后粘,P 向前粘。

剪切、刪除

vim 中剪切不粘貼就是刪除。

  • 單行剪切:
    • 光標移動至待剪切行,放在任意字符上,按 dd 剪切本行,移動光標至目標位置,p 向下粘,P 向上粘。
  • 多行剪切:
    • 光標移動至待剪切多行的首行任意字符上,按 Ndd 剪切多行,移動光標至目標位置,p 向下粘,P 向上粘。
  • 片段剪切:
    • 光標移動至待剪切區域的首個字符上,先按 v ,再按 hjkl ,移動光標,選中待剪切區域,按 d 剪切,p 向后粘,P 向前粘。
  • 剪切一個單詞:
    • 光標移動至待剪切單詞首字符上,按 dw 剪切一個單詞,移動光標至目標位置,p 向后粘,P 向前粘。

查找、替換

查找

  • 想象一個關鍵詞,在文件中查找。
    • 命令模式下,輸入“/”,按 n 查找下一個。
  • 看到一個關鍵詞,查找在文件后續出現的位置。
    • 將光標放在任意字符上:
      • 使用 * 向后查找。
      • 使用 # 向前查找。

替換

  • 單行替換

    • 將光標置于待替換行的任意位置,進入末行模式

      #:s/舊字符串/新字符 
      #只能替換首個
      #想替換全部,使用 /g
      #:s/舊字符串/新字符/g 
      #舉例:
      :s/append/add/g
      
  • 通篇替換

    #:%s/舊字符串/新字符/g 
    #舉例:
    :%s/append/add/g
    
  • 多行替換

    #:起始行號,終止行號s/舊字符串/新字符/g
    #舉例:
    :173,180s/append/add/g
    

分屏

  • 橫屏分:

    • sp:直接將當前文件劃分為兩個屏幕。
    • sp 新文件名:將新文件和現有文件,在同一個 vim 中打開。
  • 豎屏分:

    • vsp
    • vsp 新文件名
  • 切換:ctrl + ww

  • 退出:

    • 在哪個分屏窗口執行,q 或 wq,就退出哪個窗口。
    • wqall,可以一次性退出所有窗口。
      /add/g
  • 通篇替換

    #:%s/舊字符串/新字符/g 
    #舉例:
    :%s/append/add/g
    
  • 多行替換

    #:起始行號,終止行號s/舊字符串/新字符/g
    #舉例:
    :173,180s/append/add/g
    

分屏

  • 橫屏分:
    • sp:直接將當前文件劃分為兩個屏幕。
    • sp 新文件名:將新文件和現有文件,在同一個 vim 中打開。
  • 豎屏分:
    • vsp
    • vsp 新文件名
  • 切換:ctrl + ww
  • 退出:
    • 在哪個分屏窗口執行,q 或 wq,就退出哪個窗口。
    • wqall,可以一次性退出所有窗口。

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

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

相關文章

高效互聯,ModbusTCP轉EtherCAT網關賦能新能源電纜智能制造

在新能源汽車快速發展的背景下,新能源電纜作為關鍵組件,需滿足耐高低溫、阻燃、耐老化等嚴苛要求,這對生產線的工藝與設備提出了更高標準。為提升制造效率,某領先設備制造商創新采用**ModbusTCP轉EtherCAT網關**技術,實…

Java_多線程_生產者消費者模型_互斥鎖,阻塞隊列

生產者消費者模型(Producer-Consumer Model)是計算機科學中一個經典的并發編程模型,用于解決多線程/多進程環境下的協作問題。 基本概念 生產者:負責生成數據或任務的實體 消費者:負責處理數據或執行任務的實體 緩沖區:生產者與消…

Vue3實現視頻播放彈窗組件,支持全屏播放,音量控制,進度條自定義樣式,適配瀏覽器小窗播放,視頻大小自適配,緩沖loading,代碼復制即用

效果圖組件所需VUE3代碼<template><div class"video-dialog" :class"fullScreen && video-dialog-full-screen"><el-dialogv-model"props.visible"draggable:show-close"false"title""centeralign-c…

LLM層歸一化:γβ與均值方差的協同奧秘

LLM層歸一化參數均值和方差;縮放和平移參數是什么 層歸一化(Layer Normalization,LN)是深度學習中用于穩定神經網絡訓練的一種歸一化技術 均值和方差參數用于對輸入數據進行標準化處理,即將輸入數據轉換為均值為0、方差為1的標準正態分布 縮放因子γ\gammaγ:標準化后…

智慧場景:定制開發開源AI智能名片S2B2C商城小程序賦能零售新體驗

摘要&#xff1a;智慧場景作為零售行業創新發展的關鍵載體&#xff0c;正深刻改變著消費者的生活方式。本文聚焦智慧零售模式下智慧場景的構建&#xff0c;以定制開發開源AI智能名片S2B2C商城小程序為切入點&#xff0c;深入探討其在零售企業選址布局、商業模式創新、經營理念轉…

QML WorkerScript

WorkerScript是QML中實現多線程編程的關鍵組件&#xff0c;它允許開發者將耗時操作移至后臺線程執行&#xff0c;避免阻塞主UI線程&#xff0c;從而提升應用響應速度和用戶體驗。本文將全面介紹WorkerScript的核心機制、使用方法和最佳實踐。WorkerScript核心機制WorkerScript通…

銳浪報表 Grid++Report 表頭表尾的隱藏

設計銳浪表格的模板時&#xff0c;可以通過設計多個表頭、表尾&#xff0c;表頭、表尾中放入打印控件&#xff0c;可以打印相關的數據。在真實打印時&#xff0c;可以通過打印時讓表頭、表尾隱藏或顯示&#xff0c;實現用戶的表格樣式。一、表頭的指定1、 表頭可以多個&#xf…

低速信號設計之 QSPI 篇

一、引言? 在服務器技術不斷演進的當下,對高效、穩定的數據存儲和傳輸需求日益增長。QSPI(Quad Serial Peripheral Interface)總線作為一種高速、串行的外圍設備接口,在服務器領域中發揮著關鍵作用。它為服務器中的各類存儲設備及部分外圍芯片與主處理器之間提供了快速可…

別只知道暴力循環!我從用戶名校驗功能中領悟到的高效字符集判斷法(1684. 統計一致字符串的數目)

別只知道暴力循環&#xff01;我從用戶名校驗功能中領悟到的高效字符集判斷法 &#x1f60e; 大家好&#xff0c;日常開發中&#xff0c;我們經常會遇到一些看似不起眼&#xff0c;卻能成為性能瓶頸的小模塊。今天&#xff0c;我想和大家分享一個我親身經歷的故事&#xff0c;…

力扣面試150題--在排序數組中查找元素的第一個和最后一個位置

Day 85 題目描述思路 當 nums[mid] < target 時&#xff0c;說明目標值在右側&#xff0c;移動左指針 left mid 1 當 nums[mid] > target 時&#xff0c;說明目標值可能在當前位置或左側&#xff0c;移動右指針 right mid - 1 循環結束后&#xff0c;left 指針會指向第…

C++實戰:人臉識別7大核心實例

計算機視覺實例應用 基于C++的人臉識別實例 以下是一些基于C++的人臉識別實例的示例和實現方法,涵蓋了多種技術和庫的應用。這些例子可以幫助開發者快速上手并實現人臉識別功能。 OpenCV 基礎人臉檢測 使用OpenCV的預訓練模型進行人臉檢測是入門級示例。OpenCV自帶Haar級聯…

Uniapp中使用vue3語法

在setup語法糖中調用uniapp的頁面生命周期 <script setup>import { onShow } from "dcloudio/uni-app"onShow(() > {//hanlder...}) </script>vue2混入在vue3中建議使用組合式API 新建baseHook.js import { ref } from "vue"; export fu…

C++vector(2)

2.vector深度剖析及模擬實現 2.1std::vector的核心框架接口的模擬實現bit::vector vector的模擬實現 2.2 使用memcpy拷貝問題 假設模擬實現的vector中的reserve接口中&#xff0c;使用memcpy進行的拷貝&#xff0c;以下代碼會發生什么問題&#xff1f; int main() {gxl::ve…

IPSec VPN -- 野蠻模式

一、野蠻模式簡介野蠻模式VPN是指IPsec VPN中IKE協商采用野蠻模式&#xff08;Aggressive Mode&#xff09;的虛擬專用網絡。它是IKE第一階段協商的一種方式&#xff0c;與主模式相對&#xff0c;具有協商速度快但安全性稍低的特點。以下是具體介紹&#xff1a;1、工作原理&…

rk3588開發板使用硬件編碼處理視頻

開發板默認下載的ffmpeg是通用版&#xff0c;無法調用rk3588的硬件編碼器&#xff0c;視頻編碼效率低。 nyanmisaka開發了用于jellyfin的ffmpeg&#xff0c;支持rk3588硬件編碼器&#xff0c;編譯方法&#xff1a; https://github.com/nyanmisaka/ffmpeg-rockchip/wiki/Compil…

`neutron router-gateway-set` 操作失敗的可能原因及解決方案

根據提供的錯誤信息和搜索結果&#xff0c;neutron router-gateway-set 操作失敗的可能原因及解決方案如下&#xff1a;一、常見錯誤原因數據庫字符集配置問題&#xff08;中文名支持&#xff09; 表現&#xff1a;若路由器名稱包含中文字符&#xff0c;可能因數據庫字符集非UT…

(一)ZooKeeper 發展歷史

?博客主頁&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客內容》&#xff1a;.NET、Java.測試開發、Python、Android、Go、Node、Android前端小程序等相關領域知識 &#x1f4e2;博客專欄&#xff1a; https://blog.csdn.net/m0_63815035/cat…

OpenCV快速入門之CV寶典

文章目錄OpenCV的基礎應用一、OpenCV簡介&#xff1a;1.1 OpenCV 優勢1.2 OpenCV-Python二、環境安裝2.1 環境導入三、圖像表示3.1 顏色空間&#xff08;Color Space&#xff09;3.2 具體說明3.3 圖像在計算機中的表示四、基本圖像操作4.1 創建窗口**1. 核心窗口行為控制**cv.W…

LangChain4j 兩種類型API

LangChain4j operates on two levels of abstraction: &#xfeff;LangChain4j 提供了兩種類型API抽象Low level. At this level, you have the most freedom and access to all the low-level components such as ChatModel, UserMessage, AiMessage, EmbeddingStore, Embedd…

CLI 與 IDE 編碼代理比較:提升開發效率的兩種路徑

引言 在當今快速發展的軟件開發領域&#xff0c;人工智能編碼助手已成為開發者工具箱中不可或缺的一部分。根據行業報告&#xff0c;使用AI編碼助手可以將開發速度提高55%以上&#xff0c;同時顯著提升代碼質量。目前市場上主要有兩種類型的編碼代理&#xff1a;集成在IDE中的代…