五周第四次課
| 管道符,把前面命令輸出的結果交給後面的命令
[root@aiker02 ~]# cat ls.txt | wc -l
6
[root@aiker02 ~]# ls | wc -l
13
ctrl z 暫停一個任務
[root@aiker02 ~]# top top - 23:15:20 up 5 days, 9:23, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 70 total, 2 running, 68 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1883724 total, 478788 free, 72408 used, 1332528 buff/cache KiB Swap: 0 total, 0 free, 0 used. 1612380 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 993 root 20 0 130716 13372 8364 S 0.3 0.7 14:49.25 AliYunDun 1 root 20 0 125140 3648 2440 S 0.0 0.2 1:26.27 systemd [1]+ Stopped top
jobs 查看後臺的任務
[root@aiker02 ~]# jobs
[1]+ Stopped top
bg[id] 把任務調到後臺[root@aiker02 ~]# bg 1<br/>[1]+ top &
fg[id] 把任務調到前臺fg 1
sleep 5 暫停5s
[root@aiker02 ~]# sleep 5
[root@aiker02 ~]#
命令後面加& 直接丟到後臺
[root@aiker02 ~]# top &<br/>[1] 13841
8.7/8.8 shell變量
PATH,HOME,PWD,LOGNAME
env命令
[root@aiker02 ~]# env
XDG_SESSION_ID=54517
HOSTNAME=aiker02
TERM=linux
SHELL=/bin/bash
HISTSIZE=1000
set命令多了很多變量,並且包括用戶自定義的變量[root@aiker02 ~]# set
自定義變量a=1[root@aiker02 ~]# a=1<br/>[root@aiker02 ~]# echo $a<br/>1
註意,變量名和等號之間不能有空格,這可能和你熟悉的所有編程語言都不一樣。同時,變量名的命名須遵循如下規則:
命名只能使用英文字母,數字和下劃線,首個字符不能以數字開頭。
不能使用標點符號。
不能使用bash裏的關鍵字(可用help命令查看保留關鍵字)。
變量類型
運行shell時,會同時存在三種變量:
1) 局部變量 局部變量在腳本或命令中定義,僅在當前shell實例中有效,其他shell啟動的程序不能訪問局部變量。
2) 環境變量 所有的程序,包括shell啟動的程序,都能訪問環境變量,有些程序需要環境變量來保證其正常運行。必要的時候shell腳本也可以定義環境變量。
3) shell變量 shell變量是由shell程序設置的特殊變量。shell變量中有一部分是環境變量,有一部分是局部變量,這些變量保證了shell的正常運行
全局變量export b=2 全局變量有繼承屬性,但上級shell不生效,子shell和下級shell生效
8.9 環境變量配置文件
/etc/profile 用戶環境變量,交互,登錄才執行
/etc/bashrc 用戶不用登錄,執行shell就生效
~/.bashrc 自定義
~/.bash_profile 用戶下
~/.bash_history 命令行歷史
~/.bash_logout 登出執行
修改後如果想立即生效,使用. file 或者 source file**
PS1=‘[\033[01;32m]\u@\h[\033[00m]:[\033[01;36m]\w[\033[00m]\$ ‘ 修改命令行提示符格式
bash_profile和bashrc區別
【.bash_profile 與 .bashrc 的區別】
.bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.
【login shell 與 non-login shell 的區別】
1、當你直接在機器login界面登陸、使用ssh登陸或者su切換用戶登陸時,.bash_profile 會被調用來初始化shell環境
Note:.bash_profile文件默認調用.bashrc文件
.bash_profile中有如下內容
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
2、當你不登陸系統而使用ssh直接在遠端執行命令,.bashrc 會被調用
3、當你已經登陸系統後,每打開一個新的Terminal時,.bashrc 都會被再次調用。
【故】若要配置環境變量之類,最保險是寫在 .bashrc 文件中。因為不管是登陸還是不登陸,該文件總會被調用!
五周第四次課