五周第四次课(4月23日)
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日)相关推荐
- 三周第三次课(12月27日)
三周第三次课(12月27日) 3.7 su命令 su 切换用户 whoami id su -aming su aming 切换用户,但是没有切换家目录 su - -c "touch /tmp ...
- 三周第三次课(11月1日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录
2019独角兽企业重金招聘Python工程师标准>>> 3.7 su命令 su - 用户名 切换用户(加-彻底切换用户包括一些配置文件) 不加 - 的话 还会在root 家目录下 加 ...
- Linu20180415三周第三次课(4月4日)
3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 su就是切换用户的命令 su - username 切记要使用 - . 我经常使用的时候是不加上-的,这样的话切换的不彻底,尚在之 ...
- LINUX基础 第四次课 10月15日
一.实现在浏览器中输入虚拟机的IP地址,并且能打开它的一个Web界面 1.使用root用户登录虚拟机 2.在终端中输入命令下载httpd: yum -y install httpd 3.出现Compl ...
- 六周第四次课(1月18日)
六周第四次课(1月18日) 复习 扩展 打印某行到某行之间的内容http://ask.apelearn.com/question/559 例如:有个文件test的内容如下: ert fff ** [ ...
- Linux20180502 六周第四次课(5月2日)
六周第四次课(5月2日) 复习 扩展 打印某行到某行之间的内容http://ask.apelearn.com/question/559 sed转换大小写 http://ask.apelearn.co ...
- linux五周第三次课(3月7日)笔记
五周第三次课(3月7日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 搜索看一下有没有这两个shell,不安装. 8.2 命令历史 用过的 ...
- Silverlight/Windows8/WPF/WP7/HTML5周学习导读(9月17日-9月23日)
Silverlight/Windows8/WPF/WP7/HTML5周学习导读(9月17日-9月23日) 本周Silverlight学习资源更新 Silverlight动画设计中对平移动画的一点体会 ...
- python周志_Python学习日志9月17日 一周总结
周一,9月11日 这天写的是过去一周的周总结,我从中找出当天的内容. 这天早晨给电脑折腾装机,早晨基本上没有学习,休息了一个早晨. 下午写的上周总结,完事做mooc爬虫课的作业,<Think P ...
最新文章
- Kettle transformation 操作内容快速查询
- gearman python 实例
- hoj 1072 活动安排问题
- 从服务器上自动更新系统补丁
- 解决pip安装模块报错Cannot fetch index base URL http://pypi.python.org/simple/
- ios 旋转加载gif_iOS 中gif图的显示
- 终于等到了scilab 5.1.1
- web小知识与问题串烧(html,css,js)
- 最长重复子串_3. 无重复字符的最长子串
- php 有趣的php 封装,封装PHP常用的操作类
- [模板] 线筛欧拉函数
- CSS:transform
- 不要老谈“设计模式”
- w ndows7旗舰版网卡驱动,Win7网卡驱动64位离线安装包 免费版
- Centos 设置开机自动启动脚本
- Python numpy.testing.assert_warns函数方法的使用
- Java计算标会(会子)利率
- CTFshow_萌新(密码)
- vue项目中使用地址选择插件v-distpicker,省市区三级联动选择
- localtime和localtime_r
热门文章
- 一步步开始集中管理[为企业部署Windows Server 2008系列五] 推荐
- Nis服务器主从安装配置
- Loadrunner通过ssh连接linux进行hadoop基准测试
- symantec 5220牛刀小试系列(二)
- C# Stream 和 byte[] 之间的转换(文件流的应用)
- eclipse打开当前文件所在文件夹
- Linux 2.6内核中新的锁机制--RCU [转]
- Grid++Report问题集!
- pd 生成mysql语句_PDMan + Navicat Premium + MySQL 数据库设计和工具
- java数据结构 队列_Java数据结构之队列