Linux云計算訓練營筆記day05(Rocky Linux中的命令:管道操作 |、wc、find、vim)

管道操作 |
作用: 將前面命令的輸出,傳遞給后面命令,作為后面命令的參數

head -3 /etc/passwd | tail -1 ?取第三行
head -8 /etc/passwd | tail -3 | cat -n ?取6 7 8行
ifconfig | head -2 | tail -1 ?只查看IP地址
ifconfig | grep 192 ?過濾192的ip地址

wc是一個統計工具,可以統計文件中的行數,單詞數,字符數,字節數,以及最長行的長度,分析日志文件
wc 選項 ?文件?
echo hello world > a.txt ?把hello world寫入a.txt中
echo hello >> a.txt ? ? ?把hello追加到a.txt中
選項:
-w 單詞數 ?wc -w a.txt ? ?3個單詞
-l 文件的行數 wc -l a.txt ?2行
? ? ? ? ? ? ?cat /etc/passwd | wc -l 45行
? ? ? ? ? ? ?ls ?/opt | wc -l 2行
? ? ? ? ? ? ?ls | wc -l 查看當前的文件或者目錄有多少個
-m 字符數 wc -m a.txt ?18個字符 ?單詞15個 空格算1個 換行\n算1個,一共有2個
在a.txt中輸入一個中文字符,-c 字節數 wc -c a.txt ?一個漢字是三個字節
? ?UTF-8 編碼 通常使用 3 個字節來表示
? ?GBK 通常使用 2 個字節來表示
L 最長行的長度 ? wc -L a.txt ?11個(hello world)不涉及換行

Linux中大多數的配置文件都是以#開頭,這個叫注釋
顯示配置文件有效信息(去除注釋 以#開頭, 去除空行 ^$ )
grep -v ^# /etc/login.defs | grep -v ^$ ?| cat -n > a.txt

把/root/.bashrc配置文件中的有效信息保存到gongli.txt中
grep -v ^# /root/.bashrc | grep -v ^$ > gongli.txt

練習:
1)創建目錄 /study/nsd01
? mkdir -p ?/study/nsd01
2)在 /study/nsd01 創建文件abc.txt,利用echo 寫入內容 abc.tedu.cn
? echo ?abc.tedu.cn > abc.txt
3)將/study/nsd01/abc.txt 文件復制到/opt目錄下,同時改名為test.txt
? cp /study/nsd01/abc.txt ?/opt/test.txt
4)使用vim修改文件/etc/hostname,刪除原來內容,寫入www.sina.com
? echo ?www.sina.com > /etc/hostname
5)將/etc/passwd,/etc/hostname,/etc/hosts同時拷貝到/study/nsd01?
? cp /etc/passwd /etc/hostname /etc/hosts /study/nsd01?
6)將文件/study/nsd01/hostname 重命名為host.txt
? mv /study/nsd01/hostname ?/study/nsd01/host.txt
7)把目錄/boot內容中以vm開頭的數據復制到/root/vm目錄下(自己創建vm目錄)
? mkdir /root/vm
? cp /boot/vm* /root/vm
8)將/home 目錄復制到/root/vm目錄下
? cp -r ?/home ?/root/vm
9)創建/root/boothome與/root/usrsbin目錄
? mkdir ?/root/boothome ?/root/usrsbin
10)打包/boot和/home這兩個文件夾,壓縮包名字為boothome.tar.gz?
? ?tar -czf ?boothome.tar.gz ?/boot ?/home
11)打包/usr/sbin目錄,壓縮包名字為usrsbin.tar.bz2?
? ?tar -cjf usrsbin.tar.bz2 /usr/sbin
12)解壓boothome.tar.gz到/study/nsd01
? ?tar -xf ?boothome.tar.gz ?-C /study/nsd01

find 精確查找
find ?目錄 ?條件
條件
-type ?類型 (f 文件 ?d目錄 l快捷方式)
?? ?find ?/boot ?-type d
?? ??
?? ?touch ?/opt/a.txt
?? ?touch ?/opt/b.txt
?? ?mkdir ?/opt/nsd
?? ?find ?/opt ?-type f

-name 名字
find /etc -name "passwd"
find /etc -name "*tab"
find /etc -name "*tab" | cat -n
find /etc -name "*.conf"
find /etc -name "*.conf" | wc -l

find /root -name ".*" ? 查找隱藏數據

兩個條件一起使用:
mkdir /mnt/cbd01
mkdir /mnt/cbd02
touch /mnt/cbd03.txt
find /mnt -name "cbd*"
find /mnt -name "cbd*" -type d ? ? 兩個必須都滿足
find /mnt -name "cbd*" -type f ? ? 兩個必須都滿足
find /mnt -name "cbd*" -o -type f ?兩個滿足其中一個

-size ?大小 ?+ -
ls -lh /boot
find ?/boot -size +1M ? ? 大于1M的數據
find ?/boot -size +1M -size -10M ? ?1M到10M之間的數據

-user 用戶名,按照數據的所有者
find /home -user nsd ?普通用戶的名字

-mtime ?修改時間(所有的時間都是過去時間)
+90 ?90天之前修改過的數據
-10 ?最近10天之內修改過的數據

/var 存放經常變化的數據,日志文件
find /var -mtime +90 ?三個月之前的數據

-newermt ?在此時間之后
! -newermt 在此時間之前 , 不寫年月日則表示今天

find ?/var -newermt '2025-5-8 15:28:50'
find ?/var -newermt '2025-5-8 10:30:50' ! -newermt '12:30:50'

find高級使用
處理find找到的數據,每查找一個就傳遞一次

find [范圍] ?[條件] ?-exec ?處理命令 {} \;
-exec 額外操作的開始
{} ? ?前面find查找的結果
\; ? ?額外操作的結束

find ?/boot -size +10M -exec cp {} /opt \;
find ?/boot -size +10M -exec ls -lh {} \;
兩個條件聯合使用
mkdir /root/mytab
find ?/etc -name "*tab" -type f -exec cp {} /root/mytab \;

案例:
利用find查找,數據的所有者為student,并且必須是文件,把他們拷貝到/root/findfiles目錄中
useradd ?student ? ? 添加student用戶
mkdir ?/root/findfiles
find / -user student -type f -exec cp {} /root/findfiles \;

/proc: 內存的數據,不占用硬盤空間?

紅帽RHCSA題目:
1.查找屬于 jacques 用戶所屬文件,并拷貝到/root/findfiles 目錄
useradd ?jacques ? ? 添加student用戶
mkdir ?/root/findfiles
find / -user jacques -type f -exec cp {} /root/findfiles \;

2.查找文件 /usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行。將所有這些行的副本按原始順序放在文件 /root/list 中。/root/list 不得包含空行且所有行必須是 /usr/share/xml/iso-codes/iso_639_3.xml 中原始行的確切副本
grep ng ?/usr/share/xml/iso-codes/iso_639_3.xml > /root/list

3.創建一個名為/root/backup.tar.bz2的tar存檔,其應包含/usr/local的tar存檔,其應包含/usr/local的內容。該tar存檔使用bzip2進行壓縮。
tar ?-cjf ?/root/backup.tar.bz2 ?/usr/local

vim 文本編輯器
cp ?/etc/passwd user
vim user
命令模式
? ?yy 復制一行 ?p粘貼
? ?10yy復制十行 ?
? ?dd ?刪除1行
? ?10dd ?刪除10行
? ?G 跳轉到末尾
? ?gg 跳轉到首行

? ?/a 查找字符串a
? ? ? n ?跳到下一個結果
? ? ? N ?跳到上一個結果
? ?u 撤銷
? ?ctrl +r 取消上一次撤銷
? ?ZZ ?保存修改并退出
插入模式
? ?自己隨便寫東西
末行模式
? ?:set nu 顯示行號
? ?:set nonu 關閉行號
? ?:set ai 啟用縮進
? ?:set noai 關閉自動縮進

?

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

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

相關文章

動態規劃:最長遞增子序列

給定一個數組,求最長遞增子序列的長度,就是要求我們求出一個序列中最長的上升子序列的長度,最長上升子序列的定義就是從原序列中按照孫旭去除一些數字,這些數字是逐漸增大的。 *定義dp[i]表示以第i個元素結尾的最長上升子序列的長度。 *初始…

湖北理元理律師事務所:債務優化如何實現還款與生活的平衡?

債務壓力往往讓債務人陷入“還款還是生存”的兩難選擇。湖北理元理律師事務所通過案例實踐發現,科學規劃的核心在于平衡法律義務與基本生活保障,而非單純追求債務縮減。本文結合實務經驗,解析債務優化的可行路徑。 剛性需求優先:…

重力場模型、球諧函數以及重力異常

地球重力場有兩種表達方法: 1、拉普拉斯(Laplace)方法,將重力場展開為球諧級數。 2、斯托克斯(Stokes)方法,根據地球的總質量和旋轉角速度計算。 本篇主要說第一種方法,該方法將地…

MySQL的視圖

一、MySQL視圖的介紹和作用 MySQL視圖,加油兄弟們,孰能生巧,完整代碼在最后!!! 視圖是一個虛擬的表,并不是真是存在的,視圖其實并沒有真實的數據,他只是根據一個sql語句…

Scala與Go的異同教程

當瑞士軍刀遇到電鋸:Scala vs Go的相愛相殺之旅 各位準備禿頭的程序猿們(放心,用Go和Scala不會加重你的發際線問題),今天我們來聊聊編程界的"冰與火之歌"——Scala和Go的異同。準備好瓜子飲料,我…

SaaS場快訂平臺項目說明【持續更新】

一、項目介紹 SaaS場快訂平臺是一個高效、便捷的體育場館在線預訂平臺。本項目采用SaaS方式開發,用戶不需要安裝軟件,直接通過互聯網訪問在線程序即可使用。本項目主要構建了一個體育館預訂系統,項目的功能主要包括:用戶注冊與登…

linux中常用的命令(三)

目錄 1- ls(查看當前目錄下的內容) 2- pwd (查看當前所在的文件夾) 3- cd [目錄名](切換文件夾) 4- touch [文件名] (如果文件不存在,新建文件) 5- mkdir[目錄名] (創建目錄) 6-rm[文件名]&…

使用Simulink開發Autosar Nvm存儲邏輯

文章目錄 前言Autosar Nvm接口設計模型及接口生成代碼及arxmlRTE接口mappingRTE代碼分析總結 前言 之前介紹過Simulink開發Dem故障觸發邏輯,本文接著介紹另外一個常用的功能-Nvm存儲的實現。 Autosar Nvm接口 Autosar Nvm中一般在上電初始化的時調用Nvm_ReadAll獲…

Java—— 泛型詳解

泛型概述 泛型是JDK5中引入的特性&#xff0c;可以在編譯階段約束操作的數據類型&#xff0c;并進行檢查。 泛型的格式&#xff1a;<數據類型> 注意&#xff1a;泛型只能支持引用數據類型。 泛型的好處 沒有泛型的時候&#xff0c;可以往集合中添加任意類型的數據&#x…

通俗的橋接模式

橋接模式&#xff08;Bridge Pattern&#xff09; 就像一座橋&#xff0c;把兩個原本獨立變化的東西連接起來&#xff0c;讓它們可以各自自由變化&#xff0c;互不干擾。簡單來說&#xff0c;就是 “把抽象和實現分開&#xff0c;用組合代替繼承”。 一句話理解橋接模式 假設你…

【現代深度學習技術】注意力機制04:Bahdanau注意力

【作者主頁】Francek Chen 【專欄介紹】 ? ? ?PyTorch深度學習 ? ? ? 深度學習 (DL, Deep Learning) 特指基于深層神經網絡模型和方法的機器學習。它是在統計機器學習、人工神經網絡等算法模型基礎上&#xff0c;結合當代大數據和大算力的發展而發展出來的。深度學習最重…

爬蟲學習————開始

&#x1f33f;自動化的思想 任何領域的發展原因————“不斷追求生產方式的改革&#xff0c;即使得付出與耗費精力越來愈少&#xff0c;而收獲最大化”。由此&#xff0c;創造出方法和設備來提升效率。 如新聞的5W原則直接讓思考過程規范化、流程化。或者前端框架/后端輪子的…

每天五分鐘機器學習:KTT條件

本文重點 在前面的課程中,我們學習了拉格朗日乘數法求解等式約束下函數極值,如果約束不是等式而是不等式呢?此時就需要KTT條件出手了,KTT條件是拉格朗日乘數法的推廣。KTT條件不僅統一了等式約束與不等式約束的優化問題求解范式,KTT條件給出了這類問題取得極值的一階必要…

leetcode0829. 連續整數求和-hard

1 題目&#xff1a; 連續整數求和 官方標定難度&#xff1a;難 給定一個正整數 n&#xff0c;返回 連續正整數滿足所有數字之和為 n 的組數 。 示例 1: 輸入: n 5 輸出: 2 解釋: 5 2 3&#xff0c;共有兩組連續整數([5],[2,3])求和后為 5。 示例 2: 輸入: n 9 輸出: …

window 顯示驅動開發-線性伸縮空間段

線性伸縮空間段類似于線性內存空間段。 但是&#xff0c;伸縮空間段只是地址空間&#xff0c;不能容納位。 若要保存位&#xff0c;必須分配系統內存頁&#xff0c;并且必須重定向地址空間范圍以引用這些頁面。 內核模式顯示微型端口驅動程序&#xff08;KMD&#xff09;必須實…

Cadence 高速系統設計流程及工具使用三

5.8 約束規則的應用 5.8.1 層次化約束關系 在應用約束規則之前&#xff0c;我們首先要了解這些約束規則是如何作用在 Cadence 設計對象上的。Cadence 中對設計對象的劃分和概念&#xff0c;如表 5-11 所示。 在 Cadence 系統中&#xff0c;把設計對象按層次進行了劃分&#…

ScaleTransition 是 Flutter 中的一個動畫組件,用于實現縮放動畫效果。

ScaleTransition 是 Flutter 中的一個動畫組件&#xff0c;用于實現縮放動畫效果。它允許你對子組件進行動態的縮放變換&#xff0c;從而實現平滑的動畫效果。ScaleTransition 通常與 AnimationController 和 Tween 一起使用&#xff0c;以控制動畫的開始、結束和過渡效果。 基…

深入解析:如何基于開源p-net快速開發Profinet從站服務

一、Profinet協議與軟協議棧技術解析 1.1 工業通信的"高速公路" Profinet作為工業以太網協議三巨頭之一,采用IEEE 802.3標準實現實時通信,具有: 實時分級:支持RT(實時)和IRT(等時實時)通信模式拓撲靈活:支持星型、樹型、環型等多種網絡結構對象模型:基于…

m個n維向量組中m,n的含義與空間的關系

向量的維度與空間的關系&#xff1a; 一個向量的維度由其分量個數決定&#xff0c;例如 ( n ) 個分量的向量屬于 Rn空間 。 向量組張成空間的維度&#xff1a; 當向量組有 ( m ) 個線性無關的 ( n ) 維向量時&#xff1a; 若 ( m < n )&#xff1a; 這些向量張成的是 Rn中的…

excel大表導入數據庫

前文介紹了數據量較小的excel表導入數據庫的方法&#xff0c;在數據量較大的情況下就不太適合了&#xff0c;一個是因為mysql命令的執行串長度有限制&#xff0c;二是node-xlsx這個模塊加載excel文件是整個文件全部加載到內存&#xff0c;在excel文件較大和可用內存受限的場景就…