设为首页 收藏本站
查看: 1250|回复: 0

linux的shell基础介绍(2)

[复制链接]

尚未签到

发表于 2018-8-20 13:57:39 | 显示全部楼层 |阅读模式
  8.6 管道符和作业控制:
  1、cat 1.txt |wc -l ; cat 1.txt |grep 'aaa'
  2、ctrl z 暂停一个任务
  3、jobs查看后台的任务
  4、bg[id]把任务调到后台
  5、fg[id]把任务调到前台
  6、命令后面加&直接丢到后台
  管道符的作用:把前面命令输出的结果交给后面的命令。
  示例:
[root@aminglinux-01 ~]# ls  
111  1_heard.txt.bak  1.txt      234    3.txt  aming2      anaconda-ks.cfg  bb.txt
  
123  1_sorft.txt.bak  1.txt.bak  2.txt  456    aminglinux  a.txt
  
[root@aminglinux-01 ~]# ls |wc -l
  
16
  
[root@aminglinux-01 ~]# find ./ -type f
  
./.bash_logout
  
./.bash_profile
  
./.bashrc
  
./.cshrc
  
./.tcshrc
  
./.bash_history
  
./.ssh/authorized_keys
  
./anaconda-ks.cfg
  
./2.txt
  
./3.txt
  
./1_heard.txt.bak
  
./1_sorft.txt.bak
  
./1.txt.bak
  
./安诺云智平台介绍(PPT模板).pptx
  
./.viminfo
  
./1.txt
  
./a.txt
  
./bb.txt
  
[root@aminglinux-01 ~]# find ./ -type f |wc -l     //加管道符计算前面有多少行命令。
  
18
  8.7/8.8 shell变量:
  1、PATH,HOME,PWD,LOGNAME   //系统变量(可使用echo查看,如echo $PATH)
  2、env命令                       //查看系统环境变量信息
  3、 set命令多了很多变量,并且包括用户自定义的变量   //shell脚本
  4、 自定义变量a=1 ,示例:
[root@aminglinux-01 ~]# a=111  
[root@aminglinux-01 ~]# echo $a
  
111
  5、变量名规则:字母、数字下划线,首位不能为数字。示例:
[root@aminglinux-01 ~]# a1=2  
[root@aminglinux-01 ~]# echo $a1
  
2
  
[root@aminglinux-01 ~]# a_1=3
  
[root@aminglinux-01 ~]# echo $a_1
  
3
  
[root@aminglinux-01 ~]# _a1=4
  
[root@aminglinux-01 ~]# echo $_a1
  
4
  
[root@aminglinux-01 ~]# 1aa=2
  
-bash: 1aa=2: 未找到命令
  
[root@aminglinux-01 ~]# 2aa=3
  
-bash: 2aa=3: 未找到命令
  6、 变量值有特殊符号时需要用单引号括起来,示例:
[root@aminglinux-01 ~]# a='a b c'  
[root@aminglinux-01 ~]# echo $a
  
a b c
  
[root@aminglinux-01 ~]# a="a$bc"
  
[root@aminglinux-01 ~]# echo $a
  
a
  
[root@aminglinux-01 ~]# a='a$bc'
  
[root@aminglinux-01 ~]# echo $a
  
a$bc
  7、 变量的累加,示例:
[root@aminglinux-01 ~]# a=1  
[root@aminglinux-01 ~]# b=2
  
[root@aminglinux-01 ~]# echo $a$b
  
12
  
[root@aminglinux-01 ~]# a='a$bc'
  
[root@aminglinux-01 ~]# echo $a$b
  
a$bc2
  
[root@aminglinux-01 ~]# c="a$b"c       //当多个变量叠加的时候,用双影号把变量影起来。
  
[root@aminglinux-01 ~]# echo $c
  
a2c
  8、 全局变量export b=2
[root@aminglinux-01 ~]# aming=linux          //在本地定义一个变量,仅在本终端上生效  
[root@aminglinux-01 ~]# echo $aming
  
linux
  
[root@aminglinux-01 ~]# export aming=linux   //创建一个全局变量
  
[root@aminglinux-01 ~]# bash                 //打开一个子shell  ,shell就是一个进程。
  
[root@aminglinux-01 ~]# echo $aming
  
linux
  
[root@aminglinux-01 ~]# pstree   //以树状图的方式展现进程之间的派生关系,显示效果比较直观
  9、 unset变量,关闭一个变量,示例如下:
[root@aminglinux-01 ~]# echo $aming  
linux
  
[root@aminglinux-01 ~]# unset aming
  
[root@aminglinux-01 ~]# echo $aming
  扩展:
  1、查看当前用户在哪个TTY下,示例:
[root@aminglinux-01 ~]# w  
19:13:35 up 1 day,  1:14,  2 users,  load average: 0.00, 0.01, 0.05
  
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
  
root     pts/0    192.168.4.84     18:27    7.00s  0.21s  0.03s w
  
root     pts/1    192.168.4.84     19:13    6.00s  0.05s  0.05s -bash
  
[root@aminglinux-01 ~]# echo $SSH_TTY
  
/dev/pts/0
  8.9 环境变量配置文件:
  1、系统层次etc下面,用户登录加载使用,一般不要动:
  /etc/profile 用户环境变量,交互,登录才执行
  2、用户层次,在用户家目录下,用户执行shell脚本的时候生效,一般不要动:
  /etc/bashrc //用户不用登录,执行shell就生效
  ~/.bashrc               //执行shell脚本时的配置文件
  ~/.bash_profile         //用户登录时自动加载配置文件
  ~/.bash_history      //记录命令历史的文件
  ~/.bash_logout     //用来定义用户退出时需要做的操作
  备注:每个用户下都会有两个隐藏文件,这两种文件的区别在于用户登录时自动加载profile,而profile也会自动调用bashrc,bashrc是执行shell脚本的时候,用户不用登录,就会自动执行shell脚本,只要执行shell脚本,就会调用bashrc里面的配置文件。
[root@aminglinux-01 ~]# vim .bash_profile  
[root@aminglinux-01 ~]#source .bash_profile   //source执行加载这个文件命令
  
[root@aminglinux-01 ~]#. .bash_profile         //.与source命令一样作用
  
[root@aminglinux-01 ~]# vim .bashrc
  3、PS1='[\u@\h \W]\$'           //改变用户行显示方式的环境变量
  4、PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '   //改变用户行的字体颜色
DSC0000.png




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-554350-1-1.html 上篇帖子: shell中数组的基本使用 下篇帖子: shell之路--mysql主从自动部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表