1. 程式人生 > >64,管道符,控制命令,變量

64,管道符,控制命令,變量

名詞 bash命令 mgr rsyslog ftp hist 命令歷史 hostname rep

管道符

註:管道符 就是 把上一個命令 的結果 丟給下一個命令來執行顯示出來
如下:

案例一

[root@localhost /]# cat 1.txt | wc -l
19
[root@localhost /]#

案例二

[root@localhost /]# cat 1.txt | grep 1
bin:x:1:1:bin:/bin:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
[root@localhost /]#

控制命令

案例一:暫停一個命令

[root@localhost /]# yum install -y nfs
已加載插件:fastestmirror
Repository epel is listed more than once in the configuration
Repository epel-debuginfo is listed more than once in the configuration

Repository epel-source is listed more than once in the configuration
Loading mirror speeds from cached hostfile
^Z
[1]+ 已停止 yum install -y nfs
[root@localhost /]#
註:使用cat + z 為暫停

案例二:查看後臺執行的命令

[root@localhost /]# jobs
[1]+ 已停止 yum install -y nfs
[root@localhost /]

知識小提示: bg 【id】 把程序 放到後臺執行 fg [把命令] 放到前臺執行 命令後面 加一個& 就是直接把丟到後臺執行

變量

變量這個名詞非常牛逼的,說白了 就把A的內容讓B包含在裏面。

案例一:如何查看系統變量

可以通過 set 可以查看系統預設的變量,env 命令可以查看全部變量

案例二:自定義變量

[root@localhost ~]# BBBBB=11111
[root@localhost ~]# set |grep BBBBB
BBBBB=11111
[root@localhost ~]#

註:
1、設定變量的格式為 “a=b”, 其中a為變量名,b為變量的內容,等號兩邊不能有空格;
2、變量名只能由英、數字以及下劃線組成,而且不能以數字開頭;
3、當變量內容帶有特殊字符(如空格)時,需要加上單引號;
4、如果是帶有命令的話 需要使用反引號\
特殊情況:

案例三:全局變量

[root@localhost ~]# export B=2222
[root@localhost ~]#
註:前面加一個命令 export 即可 全局變量了

案例四:取消變量

unset 變量名

知識小提示:

export聲明變量後,切換到其他終端就失效了,如果需要時刻生效,則需要把變量加入到/etc/profile中

如果在當前shell中運行bash命令,則會進入一個新的shell,這個shell就是原來shell的子shell。可以用pstree命令查看。(安裝pstree命令:yum install -y psmisc)pstree命令會把linux系統中的所有進程以樹形結構顯示出來。

[root@localhost ~]# pstree
systemd─┬─NetworkManager───2[{NetworkManager}]
├─agetty
├─auditd───{auditd}
├─avahi-daemon───avahi-daemon
├─crond
├─dbus-daemon───{dbus-daemon}
├─firewalld───{firewalld}
├─iprdump
├─iprinit
├─iprupdate
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─polkitd───5
[{polkitd}]
├─rsyslogd───2[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4
[{tuned}]
[root@localhost ~]#

變量配置文件

環境變量配置文件分為:
系統環境變量配置文件

用戶環境變量配置文件。

系統級別的配置文件:如下

/etc/profile :這個文件預設了幾個重要的變量,例如PATH, USER, LOGNAME, MAIL, INPUTRC, HOSTNAME, HISTSIZE, umask等等。
/etc/bashrc :這個文件主要預設umask以及PS1。這個PS1就是我們在敲命令時,前面那串字符了,例如我的linux系統PS1就是 [root@localhost ~]#, 我們不妨看一下PS1的值:
[root@localhost ~]# echo $PS1
[\u@\h \W]\$
[root@localhost ~]#
\u 就是用戶, \h 主機名, \W 則是當前目錄,\$ 就是那個 ‘#’ 了,如果是普通用戶則顯示為 ‘$’。

用戶環境變量配置文件(在用戶家目錄下):如下

.ash_profile :定義了用戶的個人化路徑與環境變量的文件名稱。每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次。
.bashrc :該文件包含專用於你的shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。例如你可以將用戶自定義的alias或者自定義變量寫到這個文件中。
.bash_history :記錄命令歷史用的。
.bash_logout :當退出shell時,會執行該文件。可以把一些清理的工作放到這個文件中。

64,管道符,控制命令,變量