Linux大棚命令記錄

2022-06-17 18:18:12 字數 4416 閱讀 5199

檢視系統支援的shell: cat  /etc/shells

檢視當前系統用的shell: echo $shell

從bash切換到zsh: 先yum安裝,然後 chsh -s /bin/zsh ,退出重新登入即可(chsh -s 實際上是修改了/etc/passwd檔案)

env和export顯示的環境變數

set和declare顯示的環境變數和自定義變數

指定path變數: export path=$path:/home/roc

有export則指定的是環境變數,沒有export 的是指定自定義變數

在子程序中自定義變數無效的

從鍵盤輸入自帶提示語:read -p "please input your name and place:"

echo "welcome $reply"  $reply變數輸出結果

#!/bin/bash

if read -t 5 -p "please input your name and place:" name

then

echo "welcome $name"

else

echo "sorry,too slow"

fiexit 0  #用-t設定超時時間,在read語句後面新增變數來接受輸入

if read -s -p "please input your name and place:" name    # -s用來輸入密碼

exec 3< c.txt

count=0

while read -u 3 var

do let count=$count+1

echo "line $count:$var"

done

echo "finished"

echo "line no is $count" #從檔案讀入

#!/bin/bash

count=0

cat c.txt | while read line

do echo "line $count:$line"

let count=$count+1

done

echo "finiished"

echo "line no is $count"

exit 0  #這種方法的結果是返回1 ,因為管道的兩邊一般需要新建程序,當執行完while後,新程序結束,當指令碼執行結束後,輸出的count是原來程序中的count,而不是while中的count了

#!/bin/bash

count=0

while read line

dolet count=count+1

echo "line $count:$line"

done< c.txt

echo "finished"

echo "line no is $count"    #使用重定向技術可以避免像上乙個指令碼在迴圈中又新建變數的問題

./a.out &:用ctrl+c的話照樣執行,但是斷開遠端終端就停止,nohup ./a.out:按ctrl+c會停止,但是關了終端仍然執行

nohup ./a.out &  :ctrl+c和關閉終端都可以執行,類似於守護程序

alias vi='vim'  #如果起的別名和原來的命令重複則shelll預設使用別名,如果想使用原來的命令則通過/bin/vi這樣的形式使用

#!/bin/bash --login 用這行代替/bin/bash可以使用系統中的別名,加上--login的作用是使shell稱為乙個login shell,可以讀取使用者的profile和rc檔案

!15 #開啟history命令後執行需要的命令

防止密碼被儲存到history的方法: 

export histcontrol=ignorespace 

輸入重要命令功能的時候在前面加乙個空格

在輸入命令前輸入export=histingnore=*

在輸入命令結束後再次輸入exprot=histingnore=

xargs #將echo作為自己的標準輸入,eg: echo a.txt | cat #則會讀取a.txt的內容

file -i a.txt #a.txt: text/plain; charset=us-ascii  

find / -maxdepth 1 #搜尋深度為1

find . -type f -a -name "aa" # 查詢檔案,檔名為aa

du -sh #列出當前資料夾的佔用量

du -ah # 列出每個檔案和資料夾的使用量

du -ah | sort -hr #列出大檔案

du顯示的是乙個blok的大小,ls顯示的是實際大小

echo的用法: 

單引號無視所有特殊字元,所有字元都是普通的字元

雙引號識別 $  \  和`

grep用法

grep -n root /etc/passwd # 將含有root的行找出來並加上行號

grep查詢前和後相鄰行:

after1行 :grep -a 1 root /etc/passwd

before1行: grep -b 1 root /etc/passwd

前後1 行: grep -c 1 root /etc/passwd

不區分大小寫: grep -i "aa" /etc/passwd

找詞: grep  -w "bin"  /etc/passwd

egrep '^root | bash$' /etc/passwd

sed命令用法:

head -n /etc/passwd | sed 's/:.*$//' #替換冒號後面的值

cat /etc/passwd | sed -n '10,20p' # 列印10到20行的內容

cat /etc/passwd | sed '/^[r]/s/o/aa/g'  # 把r開頭的行中的o替換為aa     

# /aa/s/bb/cc/g  匹配檔案中帶有aa的行,並且將所有bb替換成cc

cat mytext.txt | sed 's/bei/&2008/'  # &為在後面拼接 eg: beijing ----bei2008jing

cat mytext.txt | sed 'y/ei/ie/' #將beijing替換成biejing

sed '/200[4-6]/w new.txt' mytext.txt #把篩選結果寫入新的檔案中

awk用法:

awk 'nr%2==0 ' input.txt # 列印奇數行

awk '' input.txt test.txt  #兩個檔案一起輸出

awk 'nr=fnr&&fnr==1 nr>fnr&&fnr==8 ' my,txt test.txt #將第乙個檔案的第一行資料和第二個檔案的第八行資料還有檔名輸出

cut的用法:

who | cut -b 3 # 獲取每行的第三個位元組

who | cut -b 8,3-5 # 獲取每行第八,三到五個位元組,順序按照文字的順序,所以和3-5,8等價

cat /etc/passwd | head -n 5 | cut -d : -f 1 # -d:指定分隔符 -d:指定第乙個域

cat /etc/passwd | head -n 5 | cut -d : -f 1-2 # -d:指定分隔符 -d:指定第一到第二個域

cat /etc/passwd | head -n 5 | cut -d : -f 1-2 # -d:指定分隔符 -d:開頭到第二個域

cat test.txt | cut -d ' ' -f 1 # 以空格為分隔符

split -b 400m a.txt # 拆分成400mb的檔案

cat xaa xab > a.txt # 合併檔案

md5sum b.txt # 檢查合併後的檔案是否完整

split -b 400m a.tx b_   #指定字首的拆分

split -b 400m  -d a.tx b_   #-d 指定數字的拆分

split -d -10 c.txt bb_ # -10:指定每10行拆分

md5sum b.txt # 檢查合併後的檔案是否完整

sort用法:

-u:消除重複

-r:倒序

sort -r number.txt -o number.txt # 儲存到原檔案

-n: 按照數值來排序而不是ascii碼

vim用法:

%s/abc/xyz/g  # 全文替換字串abc為xyz

%s/\([0-9]\-[0-9]\-[0-9]\\)/'\1'/g   # 把2001-01-01 變成 '2001-01-01'

des解密:

openssl enc -des3 -d  -in passwd.des3 -out passwd.txt  

des加密:

openssl enc -des3 -k 123 -in mysed.txt -out passwd.des3  #123為密碼

《Linux大棚命令百篇下》網路篇的總結

c 指定數量,在windows下會自動停止,linux下會一直ping下去 q 簡短報告 s 指定每次ping的資料報大小,最大為65507kb t 指定生存時間,即路由器跳數 i 指定每次ping的間隔,預設為1秒一些單詞 mdev mean deviation 衡量網速的穩定性,越大越不穩定 i...

linux命令記錄

檔案拷貝 cp ri a b,將a資料夾下的所有檔案拷貝到b資料夾下 cp r 原始檔 目的檔案,引數r是指連同原始檔中的子目錄一起拷貝 使用者 useradd,新增使用者 passwd 使用者名稱,輸入密碼 su,切換使用者,切換到root sudo,普通使用者可以執行root才能執行的命令,環境...

linux命令記錄

1.多檔案內容的查詢替換 sed i s oldstring newstring g grep oldstring rl dir 2.tcpdump 網路抓包 tcpdump xns0 i any udp tcp port i 指定網絡卡 upd tcp 協議 port 指定埠 其他具體選型參考 m...