本文共 3191 字,大约阅读时间需要 10 分钟。
一、管道符和作业控制
管道符 |:表示把一个文件的输出的内容传递给后面的命令grep :用来过滤指定关键词的命令运用实例:[root@linux-01 ~]# ls |wc -l //列出当前目录下有多少行8[root@linux-01 ~]# find ./ -type f //列出当前目录下的所有文件./.bash_logout./.bash_profile./.bashrc./.cshrc./.tcshrc./.bash_history./.ssh/known_hosts./.ssh/authorized_keys./anaconda-ks.cfg.1./2.txt./11.txt./.lesshst./1.txt./1.txt.zip./.viminfo./3.txt./4.txt[root@linux-01 ~]# find ./ -type f |wc -l //可以使用管道符来查看文件数量17Ctrl+z快捷键:把当前任务临时暂停下
fg n命令(foreground 前台的缩写):把刚暂停的当前任务重新启动,调用回来,n代表ID号,如调用暂停ID为1的进程,可以使用 #fg 1来进行调用jobs :把停止的任务列出来bg n命令(background后台的缩写):把任务丢到后台并运行,n代表ID号,如#bg 1,把进程1丢到后台并运行#sleep 100 & 命令:指把sleep 100这一条命令丢到后台并运行,命令+&的格式#ps aux |grep sleep //查看sleep进程二、Shell变量
#env //查看系统内置环境变量#set //不仅查看系统内置变量,还可以查看用户自定义变量[root@linux-01 ~]# a=111 //自定义环境变量,例如a=111[root@linux-01 ~]# echo $a111#set |grep 111 //使用set命令查看自定义变量111变量名规则:字母、数字、下划线,首位不能是数字变量值有特殊符号是需要用单引号括起来,例如:#a='a b c
[root@linux-01 ~]# a='a b c'[root@linux-01 ~]# echo $aa b c'变量的累加:例如变量a b累加[root@linux-01 ~]# a=1[root@linux-01 ~]# b=2[root@linux-01 ~]# echo $a$b12[root@linux-01 ~]# c="a$bc" //被识别为$bc
[root@linux-01 ~]# echo $ca[root@linux-01 ~]# c="a$b"c //需要把$b和c分开写,变量复杂的时候用单引号或双引号[root@linux-01 ~]# echo $ca2c[root@linux-01 ~]# c=a"$b"c //赋值中有复杂变量使用双引号引起来
[root@linux-01 ~]# echo $ca2cw 命令:查看当前登录系统的用户
[root@linux-01 ~]# w //查看当前登录系统的用户 22:20:03 up 24 min, 2 users, load average: 0.00, 0.01, 0.06USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 192.168.238.1 21:56 3.00s 0.22s 0.06s wroot pts/1 192.168.238.1 22:19 6.00s 0.06s 0.06s -bash[root@linux-01 ~]# echo $SSH_TTY //可以查看哪个是自己登录的用户/dev/pts/0定义全局变量: 格式如:export b=2
[root@linux-01 ~]# export hll=linux 定义全局变量hll=linux[root@linux-01 ~]# echo $hlllinux[root@linux-01 ~]# bash //新打开一个子shell,直接运行#bash,echo $hll还是可以输出linux,这就是全局变量 [root@linux-01 ~]# echo $hlllinux系统中没有pstree命令,可以使用# yum install psmisc #using psmisc package for pstree安装
pstree命令可以直观查看目录结构,可以看到pstree在新的bash中运行,echo $hll,同样生效,这就是全局变量,全局变量是向下生效的,与平行的bash不生效的unset 自定义变量名 //取消自定义变量
#bash //进入一个新的子shell三、环境变量配置文件
环境变量配置文件/etc/profile 和 /etc/bashrc属于系统层次的,一般不要进行修改;可以修改用户家目录下的~/.bashrc ~/.bash_profile 这些属于用户层次的,可以对单个用户进行设置[root@linux-01 ~]# vim .bash_profile //编辑家目录下的.bash_profile
[root@linux-01 ~]# source .bash_profile 或者#. .bash_profile //编辑完之后需要让配置文件立马生效,可以使用source 或者 . ,这里的.和source效果一样,都是加载配置文件配置~/.bash_logout文件中可以定义让某个用户退出登录时删除它的命令历史,可以在这个配置文件中放一条删除历史命令的命令
关于PS1
PS1可以在[root@linux-01 ~] //从左到右,依次是当前用户,@,主机名,当前所在目录[root@linux-01 ~]# cd /etc/sysconfig/network-scripts/[root@linux-01 network-scripts]# echo $PS1[\u@\h \W]\$ // \u就是user,\h就是hostname,\W就是当前目录#PS1='[\u@\h \w]\$' //如果将W改为小写的w,那么它就会显示绝对路径实例:[root@linux-01 network-scripts]# PS1='[\u@\h \w]\$' //将W改为小写的w[root@linux-01 /etc/sysconfig/network-scripts]# //就会显示成绝对路径的[root@linux-01 /etc/sysconfig/network-scripts]#PS1='<\u@\h \w> \$' //可以修改[ ]为< >
<root@linux-01 /etc/sysconfig/network-scripts> # //修改之后原来[ ]就变为了<>$符号,root用户是#,其他普通用户是$[root@linux-01 network-scripts]#PS1='[\033[01;32m]\u@\h[\033[00m]:[\033[01; 36m]\w[033[00m]\$] ' //修改颜色PS2:进入到MySQL中需要进入mysql的小终端,就进入到PS2[root@linux-01 network-scripts]#echo $PS2转载于:https://blog.51cto.com/13669226/2107063