bash 與bash相關的linux命令

2021-09-28 16:11:30 字數 3880 閱讀 1095

echo 命令一般不需用引號來標記字串。如果字串中有空格,引號等特殊字元,可以用引號將其括起來。否則輸出結果會出問題。

-n 不要在最後自動換行

-e 解析輸出內容中的轉義符。

常用的轉義符

\a :發出警告聲

\c :最後不加上換行符號

\t :tab鍵

\n :換行

從鍵盤或檔案中讀入資訊,將其賦給變數(乙個或多個),直到遇到回車符或檔案結束符為止。

read tmp1

hello i am a superman

echo

$name

hello i am a superman

read tmp1 tmp2

hello i am a superman

echo

$tmp1

hello

echo

$tmp2

i am a superman

// 變數數剩1時,將所有字元賦給最後1個變數

read -p 「提示資訊」 變數名

//先顯示提示資訊,然後將鍵盤入內容賦給變數。

read -n 字元數

//對輸入的字元數進行限制。

read -s

//隱藏輸入字元,用於密碼輸入。

read 變數名 < 檔名

//利用read讀取檔案的第一行內容

顯示檔案內容,建立檔案,顯示控制字元。

配合 > 使用

cat myfile1 myfile2 myfile3 > bigfile

建立新檔案並向其中輸入一些內容;

cat> 1.txt

我從鍵盤輸入abc

cat 1.txt

我從鍵盤輸入abc

在檔案中查詢並顯示包含指定字串的行

-i:查詢時忽略大小寫

-v:反轉查詢,輸出與查詢條件不相符的行

用於改變檔案和目錄的訪問許可權

文字設定法:chmod[who][+

|-|=

][mode] 檔名

操作物件who可是下述字母中的任乙個或者它們的組合

u 表示「使用者(user

)」,即檔案或目錄的所有者

g 表示「同組(group)使用者」,即與檔案屬主有相同組id的所有使用者

o 表示「其他(others)使用者」。

a 表示「所有(all)使用者」。它是系統預設值。

操作符號可以是,+ 新增某個許可權。-取消某個許可權。= 賦予給定許可權並取消其他所有許可權

設定mode 所表示的許可權可用下述字母的任意組合

r 可讀,w 可寫,x 可執行

以空格分開的要改變許可權的檔案列表,支援萬用字元

數字設定法:chmod[mode] 檔名

0:表示沒有許可權

1:表示可執行許可權x。

2:表示可寫許可權w。

4:表示可讀r

chmod 777 filename -rwxrwxrwx

chmod 755 filename -rwxr-xr-x

chmod 644 filename -rw-r--r--

chmod ugo=rwx filename

chmod u=rwx,go=rx filename

chmod u=rw,go=r filename

root@localhost:

~# ls -l sh01.sh

-rw-r--r--

1 root root 132jun 919:

52 sh01.sh

-rw-r

--r--

1 root root 132jun 919:

52 sh01.sh

方法1:文字設定法

root@localhost:

~# chmod u+x sh01.sh

方法1:數字設定法

root@localhost:

~# chmod 744 sh01.sh

du命令

用途:統計目錄及檔案的空間占用情況

格式:du [選項]

... [目錄或檔名]

常用命令選項

-a:統計時包括所有的檔案,而不僅僅只統計目錄

-h:以更易讀的位元組單位(k、m等)顯示資訊

-s:只統計每個引數所占用空間總的大小

zy@zy-virtual-machine:~$ cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

bin:x:2:2:bin:/bin:/usr/sbin/nologin

sys:x:3:3:sys:/dev:/usr/sbin/nologin

欄位1:使用者帳號的名稱

欄位2:使用者密碼字串或者密碼佔位符「x」

欄位3:使用者帳號的uid號

欄位4:所屬基本組帳號的gid號

欄位5:使用者全名字段6:宿主目錄

欄位7:登入shell資訊

zy@zy-virtual-machine:~$ sudo

cat /etc/shadow

[sudo] zy 的密碼:

root:$6

$ssq9e.en$yfzqvlyu.7/kxzhaof5ecaqim1pqxn17tt971twsrknttfvvkalajn.mayt4yunydj6gibixdps1bouj4.4h2.:18011:0:99999:7:::

daemon:*:17937:0:99999:7:::

bin:*:17937:0:99999:7:::

sys:*:17937:0:99999:7:::

欄位1:使用者帳號的名稱

欄位2:加密的密碼字串資訊

欄位3:上次修改密碼的時間

欄位4:密碼的最短有效天數,預設值為0

欄位5:密碼的最長有效天數,預設值為99999

欄位6:提前多少天警告使用者口令將過期,預設值為7

欄位7:在密碼過期之後多少天禁用此使用者

欄位8:帳號失效時間,預設值為空欄位9:保留字段(未使用)

新增使用者帳號

useradd命令

格式:useradd[選項]

... 使用者名稱

-u:指定uid 標記號

-m:自動建立使用者的登入目錄

-g:指定使用者組名(或uid號)

userdel命令

格式:userdel[-r] 使用者名稱

新增-r 選項時,表示連使用者的宿主目錄一併刪除

passed----設定/更改使用者口令

passwd命令

格式:passwd[選項]

... 使用者名稱

普通使用者只能更改自己的密碼

常用命令選項

-d:清空使用者的密碼,使之無需密碼即可登入

-l:鎖定使用者帳號

-s:檢視使用者帳號的狀態(是否被鎖定)

-u:解鎖使用者帳號

組帳號檔案——group、gshadow

/etc/group:儲存組帳號基本資訊

/etc/gshadow:儲存組帳號的密碼資訊

新增、刪除組帳號

groupadd命令

格式:groupadd [-g gid] 組帳號名

groupdel命令

格式:groupdel 組帳號名

Bash變數相關

變數名 只能包含字母 數字和下劃線 bash中變數類別 本地變數 作用範圍僅限當前源程式檔案,僅對當前shell程序有效,對子shell無效 環境變數 作用範圍是當前shell及其子shell 特殊變數 表示上乙個命令的執行狀態返回值 表示引數的個數 表示引數列表 表示引數列表 位置變數 1,2,變...

Linux相關知識之bash

注 相關知識來自 鳥哥的linux私房菜 變數與變數內容用等號 鏈結,如下 myname vbird等號兩邊不用直接用空格符,如下 錯誤事例 name vbird myname vbird tsai變數內容若有空格符可以用雙引號 或單引號 將變數內容結合起來,但 雙引號內的特殊字元如 可以保有原本特...

bash 迴圈與陣列

for name in list do done 列表生成方法 1 seq start step end 2 glob etc rc.d rc3.d k 3 命令 for i in ping c 1 w 1 dev null return done while i le 100 do let i d...