博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
五周第四次课(11月16日) 8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件...
阅读量:7040 次
发布时间:2019-06-28

本文共 1778 字,大约阅读时间需要 5 分钟。

hot3.png

  • 8.6 管道符和作业控制

管道符(|)表示把前面命令输出的结果传递给后面的命令处理

cat 1.txt |wc -l   查看1.txt文件 并查看行数,数量

cat 1.txt |grep ‘aaa’       查看1.txt文件, 并过滤出带有aaa 的文件内容

ctrl z  暂停一个任务

jobs查看后台的任务

214358_LwwR_3708811.png

bg【任务id】 把任务调到后台    持续输出的命令在后台运行的标志,你还可以打命令, 

fg【任务id】把任务调到前台  单打fg 会先从下

214405_70cR_3708811.png

命令后面加&直接丢到后台运行

214410_5HTw_3708811.png

sleep  1000 暂停 休眠一千秒

 

  • 8.7 shell变量(上) (下)

PATH,HOME.PWD.LOGNAME  变量

PATH 系统内置的变量

env 命令   通过该命令可以查看系统常用的环境变量名字(都是大写的英文字母)

214432_s2hJ_3708811.png

set命令同样会查看变量,不同的是可以查看系统的变量也包括用户自定义的变量

214442_yLVV_3708811.png

自定义变量 a=111     这就是用户自定义的变量  在env里面 是不显示自定义变量的

214446_gGNd_3708811.png

214449_WH4s_3708811.png

变量名规则:字母,数字下划线,首位不能为数字

214458_mJZi_3708811.png

变量值有特殊符号时需要用单引号括起来,用双引号也行,不过不建议,如果里面有个$ 或者其他特殊符号是没法脱义

列子 a b c  里面带空格

214501_zspm_3708811.png

214506_ENS6_3708811.png

变量的累加  同时显示两个变量,或者在值里面使用变量,可以用双引号括起来就可以了

214512_bu4L_3708811.png

或者在值里面使用变量,可以用双引号括起来就可以了,就会认为变量名的值

214516_kqfA_3708811.png

214520_tWoW_3708811.png

214528_cMlP_3708811.png

全局变量export b=2     只在子shell生效,打开bash 就是打开一个子shell

w可以查看当前几个用户登录系统 

214534_YGBV_3708811.png

怎么查看自己当前的用户是哪个,通过echo $SSH_TTY  查看 当前是哪个

214538_oAYh_3708811.png

在pts/1 上定义一个变量

214551_qRNN_3708811.png

你在另一个终端 pts/2  使用该命令 是没有在pts/1上设置的变量

214556_exyP_3708811.png

在pts/1上进入一个子shell  也是没有之前自定义的变量的  shell 其实就等于一个进程,在打开一个shell 等于进入另一个终端

214603_9b9K_3708811.png

214609_yAAT_3708811.png

通过远程登录 sshd 登录 通过sshd获得了一个bash,然后在这个终端下运行了一个bash(子shell)

214614_VOgs_3708811.png

这种变量称为 非全局变量

是在进入子shell  都会生效。

通过exprot命令 使之可以在子shell下 可以生效,指针对一个shell。只会在当前shell往下,不会往上生效

214620_3WMQ_3708811.png

unset 变量名   取消变量。

214626_hg5b_3708811.png

 

8.9 环境变量配置文件

分两个维度,

1系统层次,  etc下面的文件   

2用户层次, 用户家目录下的.bash,每个用户都会有

系统层次平时不要去编辑,可以去编辑用户家目录下的(只针对该用户生效,如果需要全局生效,加载到etc下的配置文件)

/etc/profile  用户环境变量,交互,登录才执行(登录后才加载到)

/etc/bashrc 用户不用登录,执行shell就生效 (系统执行一个shell的时候)

~/.bashrc

~/.bash_profile     会自动调用.bashrc   bashrc又会自动调用etc/.bashrc

~/.bash_history    命令历史

~/.bash_logout     用来定义用户退出的时候需要做的一些操作。(比如退出的时候要删除命令历史,在logout里面写就可以)

 

开头的点跟source命令是同一个作用意思, 加载的意思

214638_RDxc_3708811.png

~/.bash_profile     会自动调用.bashrc   bashrc又会自动调用etc/.bashrc

profile与bashrc 两种区别在于profile在用户登录的时候,它就会自动加载profile(加载了profile,就会自动调用bashrc)bashrc是执行shell脚本的时候就会自动调用bashrc的配置

 

ps1 是在etc/bashrc定义的

214647_2qx2_3708811.png

214653_k66w_3708811.png

登录系统后 命令左边的一串字符串

214700_epBH_3708811.png

214704_RtQE_3708811.png

 

u 用户  h 主机名  W目录的最后一个目录

214710_1NRb_3708811.png

改成小写w  变成绝对路径

214715_DkhY_3708811.png

改括号

普通用户是$  root用户是# 显示。

ps1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[033[01;36m\]w\[033[00m\]\$  使用可以显示颜色

 

ps2  用在另外一种环境里面的 进入MySQL

转载于:https://my.oschina.net/u/3708811/blog/1575856

你可能感兴趣的文章
Linux下搭建LAMP环境
查看>>
华为交换机配置方法
查看>>
Linux下实行计划任务介绍
查看>>
LWUIT + ChartComponent实现折线表
查看>>
iptables example
查看>>
JavaScript 在页面上的位置
查看>>
52、组播Multicast之IGMP
查看>>
4.VMware View 4.6安装与部署-view composer
查看>>
mysql的备份与恢复
查看>>
mysql主从配置
查看>>
Android生命周期图文介绍
查看>>
初涉 Git 心得
查看>>
私有VLAN知识点
查看>>
android 应用安装完成界面打广告
查看>>
Shell 脚本介绍
查看>>
Open×××的服务器端和客户端搭建(二)
查看>>
Redis 键(key)相关的命令及其它命令的查看地址
查看>>
vm虚拟机怎么访问本地硬盘
查看>>
Bootstrap3 排版-页面主体
查看>>
JAVA面向对象-----成员内部类访问细节
查看>>