【Linux】shell腳本的常用命令

目錄

簡介

一.設置主機名稱

1.1通過文件修改

1.2通過命令修改

二.網絡管理命令nmcli

2.1查看網卡

2.2設置網卡

三.簡單處理字符

3.1seq打印連續字符

3.2printf,echo打印字符

3.3sort排序

3.4uniq冗余處理?

3.5cut對字符的截取

四.xargs輸入轉參


簡介

以下命令都是在編寫shell腳本常用的命令

一.設置主機名稱

1.1通過文件修改--/etc/hostname

#通過配置文件來修改主機名
[root@localhost ~]# vim /etc/hostname
[root@localhost ~]# cat /etc/hostname
fjwyyy.org
[root@localhost ~]# hostnamectlStatic hostname: fjwyyy.org

1.2通過命令修改

#通過命令直接修改主機名
[root@fjwyyy ~]# hostnamectl hostname FJWYYY
[root@fjwyyy ~]# hostnamectlStatic hostname: FJWYYY


二.網絡管理命令nmcli

2.1查看網卡


[root@FJWYYY ~]# nmcli device show ens160
[root@FJWYYY ~]# nmcli device status
[root@FJWYYY ~]# nmcli connection show
[root@FJWYYY ~]# nmcli connection show ens160

2.2設置網卡

#沒有網卡時添加靜態網卡
nmcli connection add type ethernet con-name test \
ifname ens160 ipv4.method manual \
ipv4.addresses 192.168.81.100/24        

#更改網卡信息
nmcli connection modify test ipv4.addresses 192.168.81.100/24


三.簡單處理字符

3.1seq打印連續字符

seq 1 5            
seq 1 2 5            #設置步長為2
seq -f "%03g" 1 3    #將格式設置為00x來打印
seq -f "%02g" 1 3    #將格式設置為02來打印
seq 5 -2 1           #將步長設置為-2,實現反向打印

seq 1 10 > test
tac test

3.2printf,echo打印字符

printf與echo的區別是,echo是linux內置的命令功能齊全

printf "helo world"
printf "hello world\n"         #\n換行
printf "hello\tworld\n"        #\t制表符
printf "3%%\n"                 #%%打印%
printf "%.0f" "3.1415926"      #"%.0f" 打印整數
printf "%.1f" "3.1415926"      #"%.1f" 打印浮點數
printf "%.2f\n" "3.1415926"

echo "hello world"
echo -n "hello world"       # 取消換行輸出
echo -e "hello\tworld"        #-e 實現轉義
echo -e  "\r"
echo -e "\033[33mhello fjw\033"    #設置shell字符顏色
echo -e "\033[34mhello fjw\033[0m"    #設置單次輸出shell字符顏色

3.3sort排序

先生成測試文件

[root@localhost ~]# sort -n test            # -n 對數字進行排序
[root@localhost ~]# sort -rn test           # -r 對數字進行倒敘
[root@localhost ~]# sort -un test           # -u 去重復
[root@localhost ~]# sort -n test -o fjw     # -o 將排序后的結果輸出到文件中
[root@localhost ~]# cat fjw
[root@localhost ~]# sort -n -t ":" -k 2 test2    #-t 指定分隔符  -k 指定列數

3.4uniq冗余處理?

要對文本先排序后冗余
[root@localhost ~]# sort -n test3 | uniq -c    
[root@localhost ~]# sort -n test3 | uniq -d
[root@localhost ~]# sort -n test3 | uniq -u

3.5cut對字符的截取

[root@localhost ~]# cut -d : -f 1 test4
[root@localhost ~]# cut -d : -f 1,5 test4
[root@localhost ~]# cut -d : -f 1-3 test4
[root@localhost ~]# cut -d : -f -3 test4
[root@localhost ~]# cut -d : -f 5- test4
-d 指定分隔符 -f 指定顯示的列數 

[root@localhost ~]# cut -c 1-4 test4
[root@localhost ~]# cut -c 1-10 test4


四.xargs輸入轉參

xargs 命令作用是將標準輸入數據轉換成命令行參數,能夠處理管道或者標準輸入并將其轉換成特定命令 的命令參數

4.1將輸入通過管道xargs進行轉參

[root@localhost ~]# seq 1 5 | xargs touch
[root@localhost ~]# seq 1 5 | xargs xargs rm -rf

4.2修改輸出行數與個數

#將多行輸入轉單行輸出
[root@localhost ~]# xargs < test5
#指定每行輸出個數
[root@localhost ~]# xargs -n 3 < test5

4.3指定分隔符來去掉分隔符

#指定分隔符
[root@localhost ~]# echo "abc:abc:abc" | xargs -d :
[root@localhost ~]# echo "abc:abc:abc" | xargs -d a

4.4使用字符代表接受值進行批量處理

#用字符代替接受值
[root@localhost mnt]# ls * | xargs -Ifjw cp fjw /media/fjw.bak
[root@localhost mnt]# ls /media/
file1.bak  file2.bak  file3.bak  file4.bak  file5.bak[root@localhost mnt]# ls * | xargs -pIhaha mv haha /media/haha.bak #-p參數用于提示用戶是否確認操作
mv file1 /media/file1.bak?...y
mv file2 /media/file2.bak?...y
mv file3 /media/file3.bak?...y
mv file4 /media/file4.bak?...n
mv file5 /media/file5.bak?...y[root@localhost mnt]# echo | xargs -r cp file file.bak

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

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

相關文章

解決訪問網站提示“405 很抱歉,由于您訪問的URL有可能對網站造成安全威脅,您的訪問被阻斷”問題

一、問題描述 本來前幾天都可以正常訪問的網站&#xff0c;但是今天當我們訪問網站的時候會顯示“405 很抱歉&#xff0c;由于您訪問的URL有可能對網站造成安全威脅&#xff0c;您的訪問被阻斷。您的請求ID是&#xff1a;XXXX”&#xff0c;而不能正常的訪問網站&#xff0c;如…

頁面輸入數據的表格字段(如 Web 表單或表格控件)與后臺數據庫進行交互時常用的兩種方式

“從頁面輸入數據的表格字段(如 Web 表單或表格控件)在與后臺數據庫進行交互時,常用的有兩種方式:” ?? 兩種方式(操作調用數據庫、綁定數據) ?? 方式1:前端代碼提交數據到后端,再由后端調用數據庫 ?? 原理和邏輯: 用戶在頁面上(比如輸入表單、表格)輸入數據…

非阻塞套接字編程詳解

阻塞與非阻塞套接字對比 傳統阻塞式套接字編程使用ServerSocket和Socket類時,關鍵方法如connect()、accept()、read()、write()都會導致調用線程阻塞,直到操作完成。這種模式存在兩個主要問題: 客戶端線程在等待數據時會被完全阻塞服務端需要為每個客戶端連接創建獨立線程,…

電子電路:初步認識CMOS技術

CMOS&#xff08;Complementary Metal-Oxide-Semiconductor&#xff0c;互補金屬氧化物半導體&#xff09;是一種半導體技術&#xff0c;廣泛應用于集成電路&#xff08;IC&#xff09;的設計和制造中。以下是關于CMOS的詳細說明&#xff1a; 1. 基本概念 技術原理&#xff1a…

【11408學習記錄】考研英語寫作提分秘籍:2013真題邀請信精講+萬能模板套用技巧

邀請信 英語寫作2013年考研英語&#xff08;一&#xff09;真題小作文題目分析寫作思路第一段&#xff1a;第二段&#xff1a;錦囊妙句1&#xff1a;錦囊妙句2&#xff1a;錦囊妙句3&#xff1a;錦囊妙句5&#xff1a;錦囊妙句6&#xff1a;錦囊妙句9&#xff1a;錦囊妙句14&am…

Java 注解與反射(超詳細!!!)

Java 注解與反射&#xff08;超詳細&#xff01;&#xff01;&#xff01;&#xff09; 文章目錄 Java 注解與反射&#xff08;超詳細&#xff01;&#xff01;&#xff01;&#xff09;1.注解1.1內置注解1.1.1 SuppressWarnings注解用法 1.2 元注解1.3自定義注解 2.反射2.1 反…

用nz-tabel寫一個合并表格

用nz-tabel寫一個合并表格 <nz-table #basicTable [nzData]"tableSearchStatus.dataList" nzBordered><thead><tr><th>班級</th><th>姓名</th><th>年齡</th><th>電話</th></tr></thead&…

第6章 放大電路的反饋

本章基本要求 會判&#xff1a;判斷電路中有無反饋及反饋的性質 會算&#xff1a;估算深度負反饋條件下的放大倍數 會引&#xff1a;根據需求引入合適的反饋 會判振消振&#xff1a;判斷電路是否能穩定工作&#xff0c;會消除自激振蕩。 6.1 反饋的概念及判斷 一、反饋的…

ansible template 文件中如果包含{{}} 等非ansible 變量處理

在 Ansible 模板中&#xff0c;如果你的 Python 腳本里有大量 {}、f""、或者其他 Jinja 會誤解析的語法&#xff0c;就需要用 {% raw %}…{% endraw %} 把它們包起來&#xff0c;只在需要替換變量的那一行單獨“放行”。例如&#xff1a; {% raw %} #!/usr/bin/env …

STM32G4 電機外設篇(一) GPIO+UART

目錄 一、STM32G4 電機外設篇&#xff08;一&#xff09; GPIOUART1 GPIO1.1 STM32CUBEMX 配置以及Keil代碼1.2 代碼和實驗現象 2 UART2.1 STM32CUBEMX 配置以及Keil代碼2.2 代碼和實驗現象 附學習參考網址歡迎大家有問題評論交流 (* ^ ω ^) 一、STM32G4 電機外設篇&#xff0…

Kotlin 中集合遍歷有哪幾種方式?

1 for-in 循環&#xff08;最常用&#xff09; val list listOf("A", "B", "C") for (item in list) {print("$item ") }// A B C 2 forEach 高階函數 val list listOf("A", "B", "C") list.forEac…

尚硅谷redis7 99 springboot整合redis之連接集群

6381宕機&#xff0c;手動shutdown后在redis中&#xff0c;634自動上位變成master結點。 但是在springboot中卻沒有動態感知道redisCluster的最新集群消息&#xff0c;所以找不到我們要檢索的數據。原因是&#xff1a;SpringBoot 2.X版本,Redis默認的連接池采用 Lettuce&#…

AI 的早期萌芽?用 Swift 演繹約翰·康威的「生命游戲」

文章目錄 摘要描述題解答案題解代碼分析示例測試及結果時間復雜度空間復雜度總結 摘要 你有沒有想過&#xff0c;能不能通過簡單的規則模擬出生與死亡&#xff1f;「生命游戲」正是這樣一種充滿魅力的數學模擬系統。這篇文章我們來聊聊它的規則到底有多神奇&#xff0c;并用 S…

web ui自動化工具playwright

playwright是微軟開源的一款web ui自動化工具&#xff0c;該工具有很多亮點&#xff0c;解決以前困擾web UI自動化測試的很多難點。這篇博客將介紹playwright主要特點。 playwright支持錄制減少了編寫成本 如果要使用playwright的錄制功能&#xff0c;有兩種途徑&#xff0c;途…

移動安全Android——客戶端靜態安全

一、反編譯保護 測試工具 Jadx GitHub - skylot/jadx: Dex to Java decompiler PKID [下載]PKID-APP查殼工具-Android安全-看雪-安全社區|安全招聘|kanxue.com 測試流程 &#xff08;1&#xff09;通過Jadx對客戶端APK文件進行反編譯&#xff0c;觀察是否進行代碼混淆 &…

04-redis-分布式鎖-edisson

1 基本概念 百度百科&#xff1a;控制分布式系統之間同步訪問共享資源方式。 在分布式系統中&#xff0c;常常需要協調他們的動作。如果不同的系統或是同一個系統的不同主機之間共享了一個或一組資源&#xff0c;那么訪問這些資源的時候&#xff0c;往往需要互斥來防止…

cf每日刷題

目錄 String&#xff08;800&#xff09; Skibidus and Amogu&#xff08;800&#xff09; Apples in Boxes&#xff08;1100&#xff09; String&#xff08;800&#xff09; https://codeforces.com/problemset/problem/2062/A #include <iostream> #include <…

AWS WebRTC:獲取ICE服務地址(part 1)

建立WebRTC連接的第二步是獲取ICE服務地址。 ICE全稱&#xff1a;Interactive Connectivity Establishment&#xff0c;建立互動連接。 ICE 服務地址&#xff0c;主要是 TURN 和 STUN 服務器的地址&#xff0c;用于 WebRTC 在 NAT 網絡環境中協商建立連接。 上代碼&#xff…

Python興趣匹配算法:從理論到實戰的進階指南

目錄 一、興趣匹配算法的技術棧解析 1. 基礎特征匹配階段 2. 向量空間模型階段 3. 深度學習階段 二、工程化實踐關鍵技術 1. 特征工程體系 2. 相似度計算優化 三、典型應用場景實現 1. 社交好友推薦系統 2. 電商商品推薦系統 四、性能優化與挑戰應對 1. 計算性能優…

【C語言】講解 程序分配的區域(新手)

目錄 代碼區 數據區 堆區 棧區 常量區 重點比較一下堆區與 棧區 總結&#xff1a; 前言&#xff1a; C語言程序的內存分配區域是理解其運行機制的重要部分。根據提供的多條證據&#xff0c;我們可以總結出C語言程序在運行時主要涉及以下五個關鍵內存區域&#xff1a; 代…