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...