日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shell编程常用命令

發布時間:2025/7/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell编程常用命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

shell:簡單、易用、高效,是一個內置的腳本,不需下載

什么是腳本:一條一條命令的堆積

shell?是一個程序,一般都是放在/bin或者/user/bin目錄下,當前?Linux?系統可用的?Shell?都記錄在/etc/shells文件中。/etc/shells是一個純文本文件,你可以在圖形界面下打開它,也可以使用?cat?命令查看它。

在現代的?Linux?上,sh?已經被?bash?代替,/bin/sh往往是指向/bin/bash的符號鏈接。?所謂的符號鏈接就是軟連接。

如果你希望查看當前?Linux?的默認?Shell,那么可以輸出?SHELL?環境變量。

書寫shell腳本

vim 自定義(做到見名知意).sh#!/bin/bash 指定解釋器類型,如何查看解釋器類型,echo $SHELL命令命令

執行shell腳本的三種方法

第一種:正規方式:添加可執行權,我們可以先查看我們編寫的shell腳本,它是沒有執行權的,那么我們要賦予它執行權

chmod +x 腳本

然后執行shell腳本

./ 腳本

如果不加./直接輸入腳本可不可以執行呢,是不可以的,因為root的路徑沒有寫入$PATH這個里面。

只要執行

vim /etc/profile.d/自定義名字.sh

export PATH=/root:$PATH

而后同步

source /etc/profile.d/自定義.sh

再去直接執行腳本的名字即可成功

第二種

直接用bash解釋器去執行shell腳本。當前終端會新生成一個子?bash 去執行腳本。

第三種

source 腳本

source filename 與 bash filename 及./filename執行腳本的區別

當shell腳本具有可執行權限時,用bash filename與./filename執行腳本是沒有區別得。

./filename

是因為當前目錄沒有在PATH中,所以”.”是用來表示當前目錄的。

source filename

這個命令其實只是簡單地讀取腳本里面的語句依次在當前shell里面執行,沒有建立新的子shell。那么腳本里面所有新建、改變變量的語句都會保存在當前shell里面。

bash filename

重新建立一個子shell,在子shell中執行腳本里面的語句,該子shell繼承父shell的環境變量,但子shell新建的、改變的變量不會被帶回父shell。

什么是子shell:

利用pstree查看。

第一個bash就是父,第二個就是子,第三個也是子,第二對于第三個而言,是第三個的父。

shell編程常用命令

grep:過濾 結合 wc? -c? -w? -l??

表示不區分大小寫,將你填加的選項的大小寫都篩選出來

-i

比如

echo “this is Is Sm”| grep –i "i"

它將i的大寫小寫都用紅顏色標注了出來

你n后頭跟什么篩選的字符,那么含有此字符的所在行會被曬選出來,并顯示行號。

-n

比如:我想查看/etc/passwd 這個文件含有數字7的是哪幾行

cat /etc/passwd | grep -n 7

只打印匹配的內容

-o

比如:我想查看/etc/passwd 這個文件含有的數字7。

cat /etc/passwd | grep –o 7

只打印每個文件匹配的行數

-c

比如:我想查看/etc/passwd 這個文件含有的數字7的有幾行。

cat /etc/passwd | grep –c 7

打印匹配的前幾行

-B(before)

打印匹配的后幾行

-A(after)

打印匹配的前后幾行

-C

打印不匹配的行

-v

打印空白行

^$ 空格

cut:cut 命令從文件的每一行剪切字節、字符和字段并將這些字節、字符和字段寫至標準輸出。

如果不指定 File 參數,cut?命令將讀取標準輸入。必須指定?-b、-c?或?-f?標志之一。

定點分割截取

-c

比如說

echo "this is ken"| cut -c 4

那么顯示的結果是s,意思是你使用-c后,后面數字跟幾,它就把這段話中的第幾個字符給你截取輸出到屏幕上來。也可以指定幾到幾,比如第一個到第四個。那就是this。

兩個結合使用,d為選參照物(選定的參照物),f為定點(以參照物開始的第幾列),兩者結合截取輸出

-d -f

比如

echo "root/ok/pl/cd/ed"| cut -d "/" -f2

意思是說,參照物選擇的是/,2是以第一個/開始的第二列

$RANDOM是生成隨機數

結合md5sum加密

$RANDOM | md5sum | cut 1-6

sort:排序

可直接用來排序,它是從小到大排序。按照數字的第一個的大小排序。

sort

根據數值大小進行排序

-n

從數值的最大到最小排序

-r

uniq:去除重復的行(相鄰且相同,認定為重復)

在行首用數字表示該行出現了多少次

-c

僅僅顯示那些沒有出現重復過的行

-u

tr:轉換或轉出文件中的字符

指定字符,并刪除

-d

轉載于:https://www.cnblogs.com/shuaiyin/p/10916865.html

總結

以上是生活随笔為你收集整理的Shell编程常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。