1. 程式人生 > >二十四、管道符和作業控制、shell變量、環境變量配置文件

二十四、管道符和作業控制、shell變量、環境變量配置文件

管道符和作業控制 shell變量 環境變量配置文件

二十四、管道符和作業控制、shell變量、環境變量配置文件
一、管道符和作業控制
管道符:| 表示把前面文件輸出的內容傳遞給後面的命令。
|grep:過濾,指定關鍵詞的命令。|grep ’aaa‘。
作業控制
Ctrl+z:暫停一個任務。等於把當前任務放在了後臺,使用fg命令再調回任務裏。fg:前臺,foreground。bg:後臺,將任務調到後臺去運行。示例:

vim /etc/passwd

[1]+ 已停止 vim /etc/passwd
可以停止多個任務,被暫停的任務會有編號。
想調回哪個就fg 1或者fg 2。fg+編號即可。不加編號就會執行最後一個任務。
jobs命令:把停止的任務列出來。

sleep命令:暫停指定的時間。時間長度,後面可接 s、m、h 或 d,其中 s 為秒,m 為 分鐘,h 為小時,d 為日數。

sleep 1000

^Z
[1]+ 已停止 sleep 1000

sleep 1250

^Z
[2]+ 已停止 sleep 1250

jobs

[1]- 已停止 sleep 1000
[2]+ 已停止 sleep 1250

bg 2

[2]+ sleep 1250 &

jobs

[1]+ 已停止 sleep 1000
[2]- 運行中 sleep 1250 &

&:後面加此符號,直接將命令丟到後臺。

sleep 1000 &

[1] 1253

jobs

[1]+ 運行中 sleep 1000 &
在當前終端後臺運行的命令,在另外一個終端是看不到的,但是可以看到進程。
二、shell變量
變量:PATH,HOME,PWD,LOGNAME
env命令:列出系統預設的全部系統變量,系統的變量一般都是大寫的英文字母。示例:

env 列出來的裏面就有這些系統變量。

XDG_SESSION_ID=1
HOSTNAME=yaowei-01
SELINUX_ROLE_REQUESTED=
TERM=xterm
SHELL=/bin/bash

HISTSIZE=5000
SSH_CLIENT=192.168.93.1 64290 22
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/0
USER=root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=zh_CN.UTF-8 EN為英文,CH為中文,UTF-8是字符編碼。
SELINUX_LEVEL_REQUESTED=
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=192.168.93.1 64290 192.168.93.130 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIMEDIR=/run/user/0
=/usr/bin/env
set命令:輸出環境變量。不僅可以查看系統預設的環境變量,還可以查看到用戶自定義的環境變量。
變量名規則:字母、數字下劃線、首位不能為數字。
變量值有特殊符號時需要用單引號括起來。
例如a=‘a b c‘ 帶空格的字符,就需要用單引號括起來。否則就不會生效。雙引號也可以,但是有些特殊符號就會被系統當做是一個標記,就不會生效,比如$符號。
變量的累加

a=1

b=2

echo $a$b

12

a=‘a$bc‘

echo $a$b

a$bc2

c="a$bc"

echo $c

a 此處$bc就沒有識別出來

c="a$b"c 所以要將a$b分開括起來,此處就不能用單引號,它會認為$是一個符號。

echo $c

a2c 前面設置了b=2
多個變量相互疊加的時候可以用雙引號把每個括起來。# c=a"$b"c
全局變量 export b=2
export 變量名=變量值,該命令就是聲明一下這個變量。
前面設置的變量實際上是屬於本地,僅僅在終端下生效,使用export一次就能變成全局變量。在這個shell下就能一直生效,在別的終端就不生效了。
取消一個變量:unset後跟變量的名字
三、環境變量配置文件
兩個維度:系統層次,用戶層次。
系統層次:就是/etc下的文件。
/etc/profile:用戶環境變量,交互,登錄才執行。
/etc/bashrc:用戶不用登錄,執行shell就生效。
用戶層次:用戶家目錄下的文件。~/.bashrc
~/.bash_logout:用來定義用戶退出時所需要做的操作。

二十四、管道符和作業控制、shell變量、環境變量配置文件