Linux20180423五周第四次课(4月23日)

五周第四次课(4月23日)

8.6 管道符和作业控制
8.7/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-environment-variables.html

管道符和作业控制

管道府就是将前面输出传递给后面的命令

比如

cat 1.txt | wc -l
cat 1.txt |grep 'aaa'

这个就是将前面的内容传给后面的wc命令去查看多少line

用法比较灵活,比如ls |wc -l 可以查看当前目录下有多少文件

作业控制

作业就是当前的操作

ctrl z 就是暂停一个工作

比如 sleep 100 忽然就停了 这个时候可以ctrl z 停止

然后有一个命令交做 bg 后台操作 fg 前台显示操作

可以看到 首先是被停止了 然后bg 到后台运行了 查看目前的工作 jobs可以看到还在运行

bg fg如果不加id号的话,就是默认最后一个

shell变量

env 查看系统变量,通常都是大写字母

set不仅仅是系统变量还有自定义变量,如果自己自定义了变量,在这里就可以查看到。echo命令可以查看变量的值

注意单引号和双引号的区别,单引号不会解析变量的内容

set | less 把set的结果传到less命令中

也找到了a=111 这个自定义的变量

变量名命名规则

- 字母,数字,下划线可以,首位不能是数字

- 变量值有特殊符号的时候,如果想显示特殊符号就用单引号引起来。

单引号会将原样输出而双引号会将变量值输出

全局变量

w可以看到当前登陆的用户和tty终端

echo $SSH_TTY可以查看当前本机使用的tty

如果不同的tty下创建的变量,是不能互相访问的

所以可以从上面看出 TTY0创建$A变量的值 TTY2是无法访问到的

如果是一个TTY下创建的新的bash下的bash也是无法访问上一级bash的变量的,这种变量叫做本地变量 local

想把变量变成全局变量,需要使用export 变量=值 才行

export A 这个时候所有下层的bash就可以访问到父级和爷级的变量了,但是反之如果子辈或孙辈创建的变量,父辈或者爷爷辈是不能访问的,也就是全局变量是自上而下,而非自下而上

export 变量=值

取消变量 unset 变量名 记得变量名不包括$

环境变量的配置文件

配置文件要从两个层面理解,一个是系统层面,就是一旦改动了全部的用户都受影响。另一个是用户层面,就是只是对当前用户生效。

系统层面

etc/profile 用户环境变量,交互,登陆才执行

etc/bashrc 用户不用登陆,执行shell生效

用户层面 用户家目录下 所谓的/. 这个点的作用就是source命令的作用,就是让这个文件生效。但是不能执行这个文件。(调用顺序 .bash_profile---->.bashrc----->/etc/bashrc)

~/.bashrc  系统/用户执行shell脚本的时候启用。不一定需要用户登陆。 这个文件里又会调用/etc/bashrc这个文件

~/.bash_profile 用户登陆时候加载 有一些相关的设定都可以在用户的这个文件里定义 当然这样定义的话只是针对当前用户

这里面会自动加载调用 .bashrc

~/.bash_history

~/.bash_logout 定义用户退出的时候的操作。比如每次用户退出的时候删除所有的操作历史,就可以把这个命令放到这个文件里。

profile 和 bashrc的文件区别是 profile是用户登陆的时候自动加载profile文件, 然后调用bashrc。bashrc是执行shell脚本的时候调用bashrc里的配置。

$PS1变量,指的就是用户登录后命令行左侧显示的信息。

u 用户 h hostname W 最后一层 当然也可以改

当我们登陆的时候,shell界面的左边会显示出一串东西。

第一个是当前用户

第二个是@

第三个是hostname

第四个所在目录的最后一个层级目录

如果把PS1变量的值改了换可以看看 比如W换成w

或者去掉方括号

也可以加颜色

PS2是用在另一个shell终端里面的。mysql命令行使用的就是PS2

原文地址:http://blog.51cto.com/13691454/2106840

时间: 2024-11-10 00:45:49

Linux20180423五周第四次课(4月23日)的相关文章

Linux学习笔记第三周第四次课(2月8日)

4.1 df命令 df,report file system disk space usage汇报文件系统磁盘空间使用情况: df命令格式:df [选项] df -a:all 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统. df -h:human readable以容易理解的格式输出文件系统大小,例如124KB.345MB.46GB. df -i:inodes 显示i节点使用情况. df -m:以MB为单位显示文件系统使用情况: df -t:type 显示各指定类型的文件系统

Linux20180416三周第四次课(4月9日)

4.1 df命令4.2 du命令4.3/4.4 磁盘分区扩展学习 parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html df命令 df - report file system disk space usage tmpfs说明文件系统是临时文件系统 dev/shm是内存,通常是物理内存的一半 df -h 比较友好的观看模式 -m 是以MB为单位的 -i 是查看inodes的个数和使用情况.inodes是在格式化的过程中创建的

五周第四次课(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

三周第三次课(12月27日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

三周第三次课(12月27日)3.7 su命令3.8 sudo命令3.9 限制root远程登录 su命令: 用户和工作组管理: su命令用于切换当前用户身份到其他用户身份, 变更时须输入所要变更的用户帐号与密码. 语法: su(选项)(参数) 选项: -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份: -f或--fast:适用于csh与tsch,使shell不用去读取启动文件: -l或--login:改变身份时,也同时变更工作目录,以及HOME,SHE

五周第四次课(3月8日)

8.6 管道符和作业控制8.7/8.8 shell变量8.9 环境变量配置文件  8.6 管道符和作业控制 管道符| 将前一个指令的输出作为后一个指令的输入. #cat 1.txt |wc -l [[email protected] ~]# cat 1.txt |wc -l 统计行数 2 [[email protected] ~]# ls 1.txt  1.xtx  2.txt  3.txt  4.txt  a_(2).txt  AA.txt  anaconda-ks.cfg  anaconda

Linux学习笔记第五周第四次课(3月8日)

8.6 管道符和作业控制 管道符|,前面命令的结果给到后面命令处理: fg把任务调到前台:bg丢到后台并运行: #vmstat 1不停的显示系统的状态 sleep 1000暂停1000秒 8.7/8.8 shell变量 PATH环境变量: #env获取到系统变量,系统内置: #set查看系统及用户变量 有特殊符号的要用单引号: 全局变量,其他连接的用户也可以查看到这个变量:其他用户看不到: #w查看当前主机连接的用户信息: pstree命令安装,#yum install psmisc 全局变量设

2018.4.21 五周第四次课(shell特殊符号,cut截取等命令)

shell特殊符号_cut命令 概念:cut命令用来截取某一个字段 格式:cut -d '分割字符' [-cf] n,这里的n是数字,该命令选项有如下几个: - d 后面跟分割字符,分割字符要用单引号括起来 - c 后面接的是第几个字符 - f 后面接的是第几个区块 cut命令用法如下 [[email protected] do]# cat /etc/passwd |head -2root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/no

Linux学习笔记第三周第三次课(2月7日)

3.7 su命令 root用户切换到普通用户命令,su: 完全彻底切换 - ,连环境变量,家目录也切换,命令为#su - aming: 查看当前登陆用户,命令为#whoami: 查看当前目录,命令为#pwd: 查看用户UID,GID,组,家目录,用户shell目录,命令为#id: 切换用户,环境变量和家目录没切换,命令为#su aming: 退出切换的用户,命令为#exit: 当前用户下,不切换到aming用户,使用aming账号,执行touch命令,#su - -c "touch /tmp/a

Linu20180415三周第三次课(4月4日)

3.7 su命令3.8 sudo命令3.9 限制root远程登录 su就是切换用户的命令 su - username 切记要使用 - . 我经常使用的时候是不加上-的,这样的话切换的不彻底,尚在之前用户的家目录下 可以采用 whoami来查看当前用户 -c 选项可以用来不登入用户,但是使用该用户来执行命令 su - -c "touch /tmp/3.33333" hello如下图所示 是否还记得 useradd -M user 是建立用户但是不生成家目录? 这样虽然可以切换到这个用户但