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

管道符、shell变量、配置文件

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-8-24 09:19:01 | 显示全部楼层 |阅读模式
管道符和作业控制
  | 把一个文件的输出作为后面的输入
  cat 1.txt |wc -l ;
  [root@localhost ~]# cat 2.txt |wc -l
  2
  cat 1.txt |grep 'aaa'
  [root@localhost ~]# cat 2.txt |grep '1' //过滤出含有字符串‘1’的行
  11
  ctrl z 暂停一个任务
  [root@localhost ~]# vi 1.txt
  [1]+  已停止               vi 1.txt
  jobs查看后台停止的任务
  [root@localhost ~]# jobs
  [1]+  已停止               vi 1.txt
  bg[id]把任务调到后台并运行
  [root@localhost ~]# vmstat 1
  执行ctrl+z
  [root@localhost ~]# jobs
  [root@localhost ~]# bg 1 //命令在屏幕显示,仍然可以执行其他命令
  [root@localhost ~]# fg 1 //命令在屏幕显示,执行其他命令不显示
  Ctrl+c中断当前进程
  [root@localhost ~]# jobs
  [root@localhost ~]# sleep 1000
  ^Z
  [1]+  已停止               sleep 1000
  [root@localhost ~]# bg 1
  [1]+ sleep 1000 &
  [root@localhost ~]# jobs
  [1]+  运行中               sleep 1000 &
  [root@localhost ~]# sleep 200
  ^Z
  [2]+  已停止               sleep 200
  [root@localhost ~]# jobs
  [1]-  运行中               sleep 1000 &
  [2]+  已停止               sleep 200
  [root@localhost ~]# bg 2
  [2]+ sleep 200 &
  [root@localhost ~]# jobs
  [1]-  运行中               sleep 1000 &
  [2]+  运行中               sleep 200 &
  fg[id]把任务调到前台
  [root@localhost ~]# fg 1
  vi 1.txt
  命令后面加&直接丢到后台
  [root@localhost ~]# sleep 30 &  //一次性丢到后台运行
  [3] 2497
  [root@localhost ~]# jobs
  [2]-  运行中               sleep 200 &
  [3]+  运行中               sleep 30 &
shell变量
  PATH,HOME,PWD,LOGNAME
  env命令
  [root@localhost ~]# env  //获取变量(系统变量通常都是大写的英文字母)
  XDG_SESSION_ID=1
  HOSTNAME=localhost.localdomain
  TERM=xterm
  SHELL=/bin/bash
  HISTSIZE=6000
  set命令多了很多变量,并且包括用户自定义的变量
  [root@localhost ~]# set  //系统变量和用户自定义的变量
  自定义变量a=1
  [root@localhost ~]# a=111
  [root@localhost ~]# echo $a
  111
  [root@localhost ~]# set |grep '111'  //自定义变量出现在set里
  _=111
  a=111
  变量名规则:字母、数字下划线,首位不能为数字
  变量值有特殊符号时需要用单引号括起来
  [root@localhost ~]# a='a b c'
  [root@localhost ~]# echo $a
  a b c
  [root@localhost ~]# c="a$bc" //加双引号$会被系统当作指定变量的
  [root@localhost ~]# echo $c
  a
  [root@localhost ~]# c='a$bc'
  [root@localhost ~]# echo $c
  a$bc
  变量的累加
  [root@localhost ~]# a=1
  [root@localhost ~]# b=2
  [root@localhost ~]# echo $a$b
  12
  [root@localhost ~]# a='$abc2' //单引号里的$会被系统认为只是个符号
  [root@localhost ~]# echo $a$b
  $abc22
  [root@localhost ~]# d=b”$b"b
  [root@localhost ~]# echo $d
  b2b
  全局变量export b=2
  [root@localhost ~]# w
  22:44:03 up  1:10,  2 users,  load average: 0.00, 0.01, 0.05
  USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
  root     pts/0     21:33    3.00s  0.26s  0.00s w
  root     pts/1     21:38    1:04m  0.08s  0.04s -bash
  [root@localhost ~]# echo $SSH_TTY  //查看自己在哪个tty终端下面
  /dev/pts/0
  [root@localhost ~]# lsx=linux  //非全局变量
  [root@localhost ~]# echo $lsx
  Linux
  [root@localhost ~]# bash  //子shell
  [root@localhost ~]# echo $lsx //结果为空
  [root@localhost ~]# yum install -y psmisc  //安装pstree命令
  [root@localhost ~]# export lsx=linux //定义全局变量(向下面的子shell有效),在其他终端是不生效的
  [root@localhost ~]# bash //子shell
  [root@localhost ~]# echo $lsx
  linux
  unset变量名
  [root@localhost ~]# a=1
  [root@localhost ~]# echo $a
  1
  [root@localhost ~]# unset a //取消变量
  [root@localhost ~]# echo $a //结果为空
环境变量配置文件
  /etc/profile(系统层) 用户环境变量,交互,登录才执行
  预设了几个重要的变量。PATH、USER、LOGNAME、MAIL、HOSTNAME、HISTSIZE、umask.
  /etc/bashrc (系统层)用户不用登录,执行shell就生效
  预设umask、PS1
  [root@localhost ~]# echo $PS1
  [\u@\h \W]\$
  //\u指用户、\h指主机名、\W当前目录、\$指字符#(普通用户显示)$
  [root@localhost ~]# PS1='[\u@\h \w]\$'
  [root@localhost ~]#cd /etc/sysconfig/
  [root@localhost /etc/sysconfig]#
  [root@localhost /etc/sysconfig]#PS1='{\u@\h \w}\$'
  {root@localhost /etc/sysconfig}#
  ~/.bashrc(用户层)
  该文件包含了专属于自己的shell的bash信息,当登录和每次打开新的shell时,该文件会被读取。如:可以将用户自定义的别名和变量写到这里
  ~/.bash_profile
  该文件定义了用户的个人化路径与环境变量的文件名称。每个用户都可使用该文件输入属于自己的shell信息,当用户登录时,该文件只执行一次
  ~/.bash_history
  该文件用于记录历史命令
  ~/.bash_logout
  当退出shell时,会执行该文件。可以将一些清理的工作放到这里
  PS1='[\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]]\$ '
  PS2..


运维网声明 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.yunweiku.com/thread-555798-1-1.html 上篇帖子: linux shell编程学习笔记(8)shell函数 下篇帖子: shell基础之管道符和变量
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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