管道符、作业控制、变量、定义全局变量、环境变量

管道符

符号|:管道符,将前面的命令交给后面的命令;

实验1:统计1.txt的段落长度;
cat 1.txt |wc -l

[[email protected] abc]# cat 1.txt |wc -l
2
[[email protected] abc]#

实验2:查看2.txt文件,将文件中包含r的字符串打印出来;
cat 2.txt |grep ‘r‘

[[email protected] abc]# cat 2.txt|grep ‘r‘
r111111
r
r
r
[[email protected] abc]#

作业控制

当运行进程时,可以使它后台暂停(ctrl+z),然后使用bg命令后台活动,使用fg命令恢复它;相当于Windows tab+Alt键;

例如:vim 2.txt 使用ctrl+z暂停

[[email protected] abc]# vi 2.txt
[1]+  已停止               vi 2.txt
[[email protected] abc]#

fg命令:

恢复或切换到前台,多个后台可以使用fg [序列号] 来实现调回;

[[email protected] abc]# fg
vi 2.txt
[[email protected] abc]#

jobs命令:

查询中断作业,后台运行;

[[email protected] abc]# jobs
[1]-  已停止               vim 2.txt
[2]+  已停止               vim 3.txt

bg命令:

后台活动作业,必须在暂停后才能bg切换到后台活动;

[email protected] abc]# jobs
[1]   已停止               vim 2.txt
[2]-  已停止               vim 3.txt
[3]+  已停止               vim a.txt
[[email protected] abc]# bg
[3]+ vim a.txt &
[[email protected] abc]# fg 3
vim a.txt
[[email protected] abc]#

变量

常见的变量:

  • PATH:决定shell在哪些目录下寻找命令和程序;
  • HOME:家目录;
  • PWD:当前目录;
  • LOGNAME:当前用户名称;

env命令:

查看常见变量;

set命令:

查看全部系统以及自己定义变量;

变量名规则:字母、数字、下划线,首位不能数字;
变量值有特殊符号需要用单引号‘@@@’ 字符串
变量的累加使用双引号

实验1:特殊符号变量,必须加单引号;

[[email protected] abc]# a=‘a$bc‘
[[email protected] abc]# echo $a
a$bc
[[email protected] abc]#

实验2:变量的累加,使用双引号才能将$b的变量值显示出来;

[[email protected] abc]# echo $a
a$bc
[[email protected] abc]# echo $b
2
[[email protected] abc]# c="a$b"
[[email protected] abc]# echo $c
a2
[[email protected] abc]#

定义全局变量:

格式:
export [变量名]=[变量值]

[[email protected] abc]# export aaa=123
[[email protected] abc]# echo $aaa
123
[[email protected] abc]#

取消全局变量:

格式:
unset [变量名]

[[email protected] abc]# echo $aaa
123
[[email protected] abc]# unset aaa
[[email protected] abc]# echo $aaa
[[email protected] abc]#

pstree

pstree命令需要安装psmisc包;

yum install psmisc

查看当前所在bash

[[email protected] abc]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
        ├─VGAuthService
        ├─agetty
        ├─auditd───{auditd}
        ├─chronyd
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─firewalld───{firewalld}
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───5*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd───sshd───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─vmtoolsd───{vmtoolsd}
[[email protected] abc]#

进入新bash

bash

[[email protected] abc]# bash
[[email protected] abc]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
        ├─VGAuthService
        ├─agetty
        ├─auditd───{auditd}
        ├─chronyd
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─firewalld───{firewalld}
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───5*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd───sshd───bash───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─vmtoolsd───{vmtoolsd}
[[email protected] abc]#

退出


exit

环境变量

全局的变量(针对所有用户):

  • /etc/profile :用户换机变量、交互、登录才执行;
  • /etc/bashrc : 用户不用登录、执行shell就生效;

用户home变量文件(只针对当前用户):

  • ~/.bashrc:登录或每次打开新的shell时,执行该文件。一般自定义变量写这里;
  • ~/.bash_profile:定义用户个人话路径与房价变量文件每次,当用户登录时,改文件仅仅执行一次;
  • ~/.bash_history :记录历史命令;
  • ~/.bash_logout:退出shell时,执行该文件。可以进行一些清理的工作;

~ 代表家目录

PS1变量

当我们登录系统后,命令的最左边会显示:

[[email protected] abc]#
[[email protected] abc]#

怎样控制这个显示,那么就要说到PS1变量;
PS1变量定义在 /etc/bashrc 文件下面;

[[email protected] abc]# echo $PS1
[\[email protected]\h \W]\$
[[email protected] abc]#
  • [email protected]:代表用户名
  • h:代表hostname
  • W:代表最后一个路径

注意:可将大W改小w 显示绝对完全路径

实验1:修改显示为绝对路径;

[[email protected] abc]# echo $PS1
[\[email protected]\h \W]\$
[[email protected] abc]# PS1=‘[\[email protected]\h \w]\$ ‘
[[email protected] ~/abc]# cd /etc/sysconfig/
[[email protected] /etc/sysconfig]#

原文地址:http://blog.51cto.com/shuzonglu/2060044

时间: 2024-08-29 21:33:11

管道符、作业控制、变量、定义全局变量、环境变量的相关文章

8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件

8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 扩展 bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719 # 8.6 管道符和作业控制 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170816/214503952.png?imageslim) - 管道符的命令就是把前面输出的结果交给后面的命令 ``` [[email protected] 

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/shell变量 8.8 shell变量 8.9 环境变量配置文件

五周第四次课(1月11日)8.6 管道符和作业控制8.7/shell变量8.8 shell变量8.9 环境变量配置文件扩展bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719 简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html 关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command

cmake 常用变量和常用环境变量查表手册

cmake 常用变量和常用环境变量查表手册 一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定义变量的方式: 主要有隐式定义和显式定义两种,前面举了一个隐式定义的例子,就是 PROJECT 指令,他会隐式的定义<projectname>_BINARY_DIR 和<projectname>_SOURCE_DIR 两个变量.显式定义的例子我们前面也提到了,使用 SET 指令,就可以

cmake 常用变量和常用环境变量

cmake 常用变量和常用环境变量 一.cmake 变量引用的方式 前面我们已经提到了,使用${ }进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${ }取值. 二.cmake 自定义变量的方式 主要有隐式定义和显式定义两种,前面举了一个隐式定义的例子,就是 PROJECT 指令,他会隐式的定义"<projectname>_BINARY_DIR "和"<projectname>_SOURCE_DIR "两个变量. 使用 SET

Linux编程 13 (系统环境变量位置, 环境变量持久化)

一.系统环境变量位置 在上章中,知道了如何修改系统环境变量,如PATH变量,以及创建自己的全局环境变量和局部环境变量.这篇学习怎么让环境变量的作用持久化.在此之前,先了解下系统环境变量文件会在哪些位置,当使用bash shell时,bash是如何查找环境变量位置的.下面先来介绍几个文件,这些文件叫启动文件或叫环境文件. bash检查的启动文件(环境文件)取决于你启动bash shell的方式.启动bash shell有3种方式: (1) 登录时的默认登录shell. (2) 交互式shell.

系统环境变量和用户环境变量

环境变量分为系统环境变量和用户环境变量. 你所说的环境变量是指系统环境变量,对所有用户起作用 而用户环境变量只对当前用户起作用. 例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来.而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样. 这个问题在linux下面就相对好理解一些,系统变量都在/etc/profile文件里面,而用户的

PATH环境变量和CLASSPATH环境变量详解

大凡装过JDK的人都知道要安装完成后要设置环境变量,可是为什么要设置环境变量呢?环境变量有什么作用? 1)PATH详解: 计算机安装JDK之后,输入“javac”“java”之类的命令是不能马上被计算机正确执行的,因为计算机不知道到哪里去找这两个命令. 计算机如何查找命令呢?Windows操作系统根据PATH环境变量来查找命令.PATH环境变量的值是一系列路径,Windows操作系统将在这一系列的路径中依次查找命令,如果能找到这个命令,则该命令是可执行的:否则将出现“‘XXX’不是内部命令或外部

Java环境变量和Android环境变量

Java环境变量和Android环境变量: JAVA_HOME D:\setup\Java\jdk1.6.0;D:\setup\Java\jdk1.7.0_55 CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar ANDROID_SDK D:\setup\adt\sdk Path %JAVA_HOME%\bin;%ANDROID_SDK%\platforms;%ANDROID_SDK%\platform-tools; Andro

在配置环境变量时是该用系统环境变量还是用户环境变量?

环境变量分为系统环境变量和用户环境变量. 正常所说的环境变量是指系统环境变量,对所有用户起作用,而用户环境变量只对当前用户起作用,如果此电脑登入了另外个用户账号,那配置之前账号的用户环境变量就对另外个用户账号不起作用. 例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登录,在命令行(cmd)输入java都会有java的帮助信息出来.而如果你在某个用户的环境变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登录时这个变量就和不存在

【Linux】【常见的环境变量 &amp;&amp; 自行创建环境变量】

常见的环境变量: HOME :用户的主目录(即家目录) SHELL :用户在使用的shell解释器名称 HISTSIZE :输出的历史命令记录条数 HISTFILESIZE :保存的历史命令记录条数 MAIL :邮件保存路径 LANG :系统语言.语系名称 RANDOM :生成一个随机数字 PS1 :Bash解释器的提示符 PATH :定义解释器搜索用户执行命令的路径 EDITOR:用户默认的文本编辑器 示例(#表示命令行界面): # echo $SHELL # /bin/bash 自行创建环境