日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

管道符和作业控制 shell变量 环境变量配置文件

發布時間:2025/4/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 管道符和作业控制 shell变量 环境变量配置文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

管道符? |

用于將前一個指令的輸出作為后一個指令的輸入

[root@pantinglinux ]# cat 1.txt | wc -l
2
[root@pantinglinux ]# cat 1.txt
1.txt
2.txt

[root@pantinglinux ]# find ./ -type f | wc -l
37

作業控制

當運行進程時,按ctrl+z使它暫停,然后使用fg命令恢復,或者利用bg命令使它到后臺運行。ctrl+c可以使它終止。

[root@pantinglinux ]# vim 1.txt

[1]+ 已停止 vim 1.txt

[root@pantinglinux ]# fg? ? 調到前臺來

[root@pantinglinux ]# vim aa.txt

[2]+ 已停止 vim aa.txt
[root@pantinglinux ]# jobs
[1]- 已停止 vim 1.txt
[2]+ 已停止 vim aa.txt

[root@pantinglinux ]# fg 2? ?前臺調用2,aa.txt

[root@pantinglinux ]# bg 2? ?后臺調用2
[2]+ vim aa.txt &
[root@pantinglinux ]# jobs
[1]- 已停止 vim 1.txt
[2]+ 已停止 vim aa.txt

[root@pantinglinux ]# fg 2? ? :q退出
vim aa.txt
[root@pantinglinux ]# jobs
[1]+ 已停止 vim 1.txt

[root@pantinglinux ]# sleep 1000? ? ?睡眠1000秒
^Z
[1]+ 已停止 sleep 1000? ? ? ? ? ? ? ? ? ? ? ctrl+z暫停
[root@pantinglinux ]# jobs
[1]+ 已停止 sleep 1000
[root@pantinglinux ]# sleep 200? ? ? ?睡眠200秒
^Z                ?ctrl+z暫停
[2]+ 已停止 sleep 200
[root@pantinglinux ]# jobs? ? ? ? ? ? ?
[1]- 已停止 sleep 1000
[2]+ 已停止 sleep 200
[root@pantinglinux ]# fg? ? ? ? ? ? ? ? ? ? ?前臺調用最后一個任務? ?sleep 200
sleep 200
^Z? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 然后暫停
[2]+ 已停止 sleep 200
[root@pantinglinux ]# bg 1? ? ? ? ? ? ? ? ? 后臺運行sleep 1000
[1]- sleep 1000 &
[root@pantinglinux ]# jobs? ? ? ? ? ? ? ? ??
[1]- 運行中 sleep 1000 &
[2]+ 已停止 sleep 200

[root@pantinglinux ]# fg 1
sleep 1000
^C
[root@pantinglinux ]# fg 2
sleep 200
[root@pantinglinux ]# ^C
[root@pantinglinux ]# jobs

[root@pantinglinux ]# sleep 100 &? ? ?sleep 100命令直接丟到后臺運行
[1] 2632
[root@pantinglinux ]# jobs
[1]+ 運行中 sleep 100 &

?

env命令

可以列出系統預設的全部系統變量

[root@pantinglinux ]# env? ? ? 只列出了部分
XDG_SESSION_ID=1
HOSTNAME=lizhipeng01
SELINUX_ROLE_REQUESTED=
TERM=xterm
SHELL=/bin/bash
HISTSIZE=5000
SSH_CLIENT=192.168.5.1 3399 22
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/0
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:

?

?

HOSTNAME:表示主機名

SHELL:表示當前用戶的shell類型

HISTSIZE:表示歷史記錄數

MAIL:表示當前用戶的郵件存放目錄

PATH:該變量決定了shell將到哪些目錄中尋找命令或程序

PWD:表示當前目錄

LANG:與語言相關的環境變量

HOME:表示當前用戶的家目錄

LOGNAME:表示當前用戶的登錄名

?

set命令
和env命令類似,可以輸出環境變量。set命令不僅可以顯示系統預設的變量,也可以顯示用戶自定義的變量。

[root@pantinglinux ]# myname=Lizhipeng
[root@pantinglinux ]# echo $myname
Lizhipeng
[root@pantinglinux ]# set |grep myname
myname=Lizhipeng

但是這個自定義變量只能在當前shell中生效

[root@pantinglinux ]# name=li
[root@pantinglinux ]# echo $name
li
[root@pantinglinux ]# bash
[root@pantinglinux ]# echo $name

[root@pantinglinux ]# exit
exit
[root@pantinglinux ]# echo $name
li

使用bash命令可以再打開一個shell,此時先前設置的name變量已經不存在了,退出當前的shell回到原來的shell,name變量還在。如果想讓設置的環境變量一直有效,可以有兩種方法。

1.允許系統內所有用戶登錄后都能使用該變量。具體做法:在/etc/profile文件的最后一行加入export name=li,然后運行 source /etc/profile就能生效了。再運行bash命令或者切換到其他賬戶就能看到效果

[root@pantinglinux ]# vi /etc/profile
[root@pantinglinux ]# source /etc/profile
[root@pantinglinux ]# echo $name
li
[root@pantinglinux ]# bash
[root@pantinglinux ]# echo $name
li

[root@pantinglinux ]# su - lizhipeng
上一次登錄:二 12月 26 07:11:46 CST 2017從 192.168.5.1pts/0 上
[lizhipeng@lizhipeng01 ~]$ echo $name
li

2.僅允許當前用戶使用該變量。具體操作方法:在用戶主目錄下的.bashrc文件的最后一行加入export name=li2,然后source .bashrc就能生效了。source命令的作用是將目前設定的配置刷新,即不用注銷再登錄也能生效。

[root@pantinglinux ]# vi .bashrc
[root@pantinglinux ]# echo $name? ? ? ?沒有生效,因為沒有source
li
[root@pantinglinux ]# source .bashrc
[root@pantinglinux ]# echo $name? ? ? ? 生效了
li2
[root@pantinglinux ]# su - lizhipeng
上一次登錄:四 1月 11 04:49:12 CST 2018pts/0 上
[root@pantinglinux ~]$ echo $name
li

變量定義規則

1.設定變量的格式為a=b,其中a為變量名,b為變量的內容,等號兩邊不能有空格;

2.變量名只能由字母、數字以及下劃線組成,而且不能以數字開頭。

3.當變量內容帶有特殊字符(如空格)時,需要加上單引號

[root@pantinglinux ]# name='li ju'
[root@pantinglinux ]# echo $name
li ju
[root@pantinglinux ]# name="li's"? ? ? ? ? ?當變量內容中本身帶有單引號,這是需要加雙引號
[root@pantinglinux ]# echo $name
li's

[root@pantinglinux ]# name=`pwd`? ? ? ? ?如果變量內容中需要用到其他命令,運行結果則可以使用反引號
[root@pantinglinux ]# echo $name
/root

[root@pantinglinux ]# name="$name"AAA? ? ? 變量累積,加的是雙引號
[root@pantinglinux ]# echo $name
/rootAAA

[root@pantinglinux ]# name='$name'AAA? ? ? ? 加的是單引號,里面的特殊字符全部失去其本身的作用
[root@pantinglinux ]# echo $name
$nameAAA

系統環境變量與個人環境變量的配置文件

/etc/profile:這個文件預設了幾個重要的變量,例如PATH、USER、LOGNAME、MAIL、INPUTRC、HOSTNAME、HISTSIZE、umask等

/etc/bashrc:預設umask以及PS1。PS1就是我們輸入命令時前面的那串字符

[root@pantinglinux ]# echo $PS1
[\u@\h \W]\$

\u指用戶,\h指主機名,\W指當前目錄,\$指字符#(如果是普通用戶,則顯示$)

.bash_profile:該文件定義了用戶的個人化路徑與環境變量的文件名稱。每個用戶都可使用該文件輸入專屬于自己的shell信息,當用戶登錄時,該文件僅僅執行一次。

.bashrc:該文件包含專屬于自己的shell的bash信息,當登錄或每次打開新的shell時,該文件會被讀取。

.bash_history:該文件用于記錄命令歷史。

.bash_logout:當退出shell時,會執行該文件。

[root@pantinglinux ]# echo $PS2
>
[root@pantinglinux ]# for i in `seq 1 10`
> do
> echo $i
> done

轉載于:https://www.cnblogs.com/pta188/p/8925675.html

總結

以上是生活随笔為你收集整理的管道符和作业控制 shell变量 环境变量配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。