8.6 管道符和作业控制

| 管道符,把前面命令输出的结果交给后面的命令

[root@aiker02 ~]# cat ls.txt | wc -l
6
[root@aiker02 ~]# ls | wc -l
13

ctrl z 暂停一个任务

[root@aiker02 ~]# top
top - 23:15:20 up 5 days,  9:23,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  70 total,   2 running,  68 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1883724 total,   478788 free,    72408 used,  1332528 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1612380 avail Mem PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                993 root      20   0  130716  13372   8364 S  0.3  0.7  14:49.25 AliYunDun              1 root      20   0  125140   3648   2440 S  0.0  0.2   1:26.27 systemd  [1]+  Stopped                 top   

jobs 查看后台的任务
[root@aiker02 ~]# jobs
[1]+ Stopped top
bg[id] 把任务调到后台
[root@aiker02 ~]# bg 1<br/>[1]+ top &
fg[id] 把任务调到前台
fg 1
sleep 5 暂停5s

[root@aiker02 ~]# sleep 5
[root@aiker02 ~]# 

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

[root@aiker02 ~]# top &<br/>[1] 13841

8.7/8.8 shell变量

PATH,HOME,PWD,LOGNAME

env命令

[root@aiker02 ~]# env
XDG_SESSION_ID=54517
HOSTNAME=aiker02
TERM=linux
SHELL=/bin/bash
HISTSIZE=1000

set命令多了很多变量,并且包括用户自定义的变量
[root@aiker02 ~]# set
自定义变量a=1
[root@aiker02 ~]# a=1<br/>[root@aiker02 ~]# echo $a<br/>1
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。
变量类型

运行shell时,会同时存在三种变量:

1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
全局变量export b=2 全局变量有继承属性,但上级shell不生效,子shell和下级shell生效

8.9 环境变量配置文件

/etc/profile 用户环境变量,交互,登录才执行
/etc/bashrc
用户不用登录,执行shell就生效
~/.bashrc
自定义
~/.bash_profile
用户下
~/.bash_history
命令行历史
~/.bash_logout
登出执行
修改后如果想立即生效,使用. file 或者 source file**

PS1='[\033[01;32m]\u@\h[\033[00m]:[\033[01;36m]\w[\033[00m]\$ ' 修改命令行提示符格式

bash_profile和bashrc区别

【.bash_profile 与 .bashrc 的区别】
.bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.

【login shell 与 non-login shell 的区别】
1、当你直接在机器login界面登陆、使用ssh登陆或者su切换用户登陆时,.bash_profile 会被调用来初始化shell环境
Note:.bash_profile文件默认调用.bashrc文件
.bash_profile中有如下内容
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
2、当你不登陆系统而使用ssh直接在远端执行命令,.bashrc 会被调用
3、当你已经登陆系统后,每打开一个新的Terminal时,.bashrc 都会被再次调用。

【故】若要配置环境变量之类,最保险是写在 .bashrc 文件中。因为不管是登陆还是不登陆,该文件总会被调用!

Linux 系统添加操作记录审计

Linux系统自带的history命令用户有自行删除权限,那怎么设置可以让用户的操作记录实时记录,并保证普通用户无权删除呢?本文教你一招

1.建立文件夹

mkdir -p /usr/local/shellrecord/records/
chmod 777 /usr/local/shellrecord/records/
chmod +t /usr/local/shellrecord/records/

2.vim /etc/profile 在最后添加下面的代码
[root@aiker02 ~]# vim /etc/profile

if [ ! -d  /usr/local/shellrecord/records/${LOGNAME} ]
then
mkdir -p /usr/local/shellrecord/records/${LOGNAME}
chmod 300 /usr/local/shellrecord/records/${LOGNAME}
fi
export HISTORY_FILE="/usr/local/shellrecord/records/${LOGNAME}/bash_history"
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'

转载于:https://blog.51cto.com/235571/2104210

五周第四次课(4月23日)相关推荐

  1. 三周第三次课(12月27日)

    三周第三次课(12月27日) 3.7 su命令 su 切换用户 whoami id su -aming su aming 切换用户,但是没有切换家目录 su - -c "touch /tmp ...

  2. 三周第三次课(11月1日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

    2019独角兽企业重金招聘Python工程师标准>>> 3.7 su命令 su - 用户名 切换用户(加-彻底切换用户包括一些配置文件) 不加 - 的话 还会在root 家目录下 加 ...

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

    3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 su就是切换用户的命令 su - username 切记要使用 - . 我经常使用的时候是不加上-的,这样的话切换的不彻底,尚在之 ...

  4. LINUX基础 第四次课 10月15日

    一.实现在浏览器中输入虚拟机的IP地址,并且能打开它的一个Web界面 1.使用root用户登录虚拟机 2.在终端中输入命令下载httpd: yum -y install httpd 3.出现Compl ...

  5. 六周第四次课(1月18日)

    六周第四次课(1月18日) 复习  扩展 打印某行到某行之间的内容http://ask.apelearn.com/question/559 例如:有个文件test的内容如下: ert fff ** [ ...

  6. Linux20180502 六周第四次课(5月2日)

    六周第四次课(5月2日) 复习  扩展 打印某行到某行之间的内容http://ask.apelearn.com/question/559 sed转换大小写 http://ask.apelearn.co ...

  7. linux五周第三次课(3月7日)笔记

    五周第三次课(3月7日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 搜索看一下有没有这两个shell,不安装. 8.2 命令历史 用过的 ...

  8. Silverlight/Windows8/WPF/WP7/HTML5周学习导读(9月17日-9月23日)

    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(9月17日-9月23日) 本周Silverlight学习资源更新 Silverlight动画设计中对平移动画的一点体会 ...

  9. python周志_Python学习日志9月17日 一周总结

    周一,9月11日 这天写的是过去一周的周总结,我从中找出当天的内容. 这天早晨给电脑折腾装机,早晨基本上没有学习,休息了一个早晨. 下午写的上周总结,完事做mooc爬虫课的作业,<Think P ...

最新文章

  1. cmd指令大全指令_Linux 超全实用指令大全 | CSDN 博文精选
  2. 亚马逊:从零售商向科技公司的质变
  3. 人工智能70年商业变现艰难,新基建能否催生规模化落地?
  4. 6 redhat 查看rtc时间_RTC 月度小报 9 月 | WebRTC M77、RTC大会即将开幕、实时码流加速...
  5. java切面获取reqiest,怎么在webflux切面中获取请求头.
  6. Linux16.04和Windows 10双系统下,解决时间不一致问题
  7. php golang 加密 对接,把php的加密算法转为go语言
  8. 动画效果-基础动画设置(改变大小,改变透明度,翻转,旋转,复原)
  9. 中移4G模块-ML302-OpenCpu开发-串口开发
  10. Membership Leakage in Label-Only Exposures论文解读
  11. 台达ms300变频器使用手册中文_台达ms300变频器说明书.doc
  12. 微信朋友圈装x代码_微信朋友圈装逼教程,微信小程序怎么制作“朋友圈”信息...
  13. 乡土中国思维导图精华版
  14. 126邮箱如何绑定qq邮箱服务器,ecshop使用企业邮箱、qq邮箱和126邮箱如何设置SMTP验证发送邮件...
  15. android logo制作教程视频,Android的APP怎样制作LOGO的尺寸
  16. Chrome源码剖析 上--多线程模型 进程通信 进程模型
  17. php com组件 wps,wps插件开发中com组件权限
  18. 计算机程序设计员三级试题,计算机程序设计员国家职业资格三级(高级)试卷一...
  19. 嵌入式系统求职回忆录757740595
  20. 值得2019年创业的互联网项目 小程序创业月入10万不是梦

热门文章

  1. Loadrunner通过ssh连接linux进行hadoop基准测试
  2. 《妥协的完美主义—优秀产品经理的实践指南(卷一)》一2.4 分工常见的错误...
  3. 词法、语法与语义相关知识
  4. 【Todo】Tomcat与Jetty的比较 以及Tomcat架构的学习
  5. 5款最适合新手的包管理器
  6. Web Form中的Datagrid的自定义分页
  7. Spring Boot 专栏全栈开发实战
  8. 大牛推荐的10本学习 Python 的好书
  9. 解决方案 | office导出为pdf并加密
  10. 服务拆分-服务远程调用