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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了64,管道符,控制命令,变量相关的知识,希望对你有一定的参考价值。

管道符

注:管道符 就是 把上一个命令 的结果 丢给下一个命令来执行显示出来
如下:

案例一

[[email protected] /]# cat 1.txt | wc -l
19
[[email protected] /]#

案例二

[[email protected] /]# 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
[[email protected] /]#

控制命令

案例一:暂停一个命令

[[email protected] /]# 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
[[email protected] /]#
注:使用cat + z 为暂停

案例二:查看后台执行的命令

[[email protected] /]# jobs
[1]+ 已停止 yum install -y nfs
[[email protected] /]

知识小提示: bg 【id】 把程序 放到后台执行 fg [把命令] 放到前台执行 命令后面 加一个& 就是直接把丢到后台执行

变量

变量这个名词非常牛逼的,说白了 就把A的内容让B包含在里面。

案例一:如何查看系统变量

可以通过 set 可以查看系统预设的变量,env 命令可以查看全部变量

案例二:自定义变量

[[email protected] ~]# BBBBB=11111
[[email protected] ~]# set |grep BBBBB
BBBBB=11111
[[email protected] ~]#

注:
1、设定变量的格式为 “a=b”, 其中a为变量名,b为变量的内容,等号两边不能有空格;
2、变量名只能由英、数字以及下划线组成,而且不能以数字开头;
3、当变量内容带有特殊字符(如空格)时,需要加上单引号;
4、如果是带有命令的话 需要使用反引号\
特殊情况:

案例三:全局变量

[[email protected] ~]# export B=2222
[[email protected] ~]#
注:前面加一个命令 export 即可 全局变量了

案例四:取消变量

unset 变量名

知识小提示:

export声明变量后,切换到其他终端就失效了,如果需要时刻生效,则需要把变量加入到/etc/profile中

如果在当前shell中运行bash命令,则会进入一个新的shell,这个shell就是原来shell的子shell。可以用pstree命令查看。(安装pstree命令:yum install -y psmisc)pstree命令会把linux系统中的所有进程以树形结构显示出来。

[[email protected] ~]# 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}]
[[email protected] ~]#

变量配置文件

环境变量配置文件分为:
系统环境变量配置文件

用户环境变量配置文件。

系统级别的配置文件:如下

/etc/profile :这个文件预设了几个重要的变量,例如PATH, USER, LOGNAME, MAIL, INPUTRC, HOSTNAME, HISTSIZE, umask等等。
/etc/bashrc :这个文件主要预设umask以及PS1。这个PS1就是我们在敲命令时,前面那串字符了,例如我的linux系统PS1就是 [[email protected] ~]#, 我们不妨看一下PS1的值:
[[email protected] ~]# echo $PS1
[\[email protected]\h \W]\$
[[email protected] ~]#
\u 就是用户, \h 主机名, \W 则是当前目录,\$ 就是那个 ‘#’ 了,如果是普通用户则显示为 ‘$’。

用户环境变量配置文件(在用户家目录下):如下

.ash_profile :定义了用户的个人化路径与环境变量的文件名称。每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。
.bashrc :该文件包含专用于你的shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。例如你可以将用户自定义的alias或者自定义变量写到这个文件中。
.bash_history :记录命令历史用的。
.bash_logout :当退出shell时,会执行该文件。可以把一些清理的工作放到这个文件中。

以上是关于64,管道符,控制命令,变量的主要内容,如果未能解决你的问题,请参考以下文章

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

管道符,作业控制,变量以及变量配置文件

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

8.6-8.9 管道符和作业控制shell变量,环境变量

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

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