Chinaunix首页 | 论坛 | 博客
  • 博客访问: 547580
  • 博文数量: 201
  • 博客积分: 7734
  • 博客等级: 少将
  • 技术积分: 1994
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-09 19:18
文章分类

全部博文(201)

文章存档

2011年(28)

2010年(173)

分类: LINUX

2010-06-13 09:47:08

一、变量
1>本地变量(只在本地和本shell的环境下有效)下次启动后无效。
Ex:#A=123
#echo $A
2>环境变量(当前用户下可以在子shell中调用)下次启动后无效。
Ex:#export A
#bash
#echo $A
3>用户环境变量
vim .bashrc 对于一个用户持续有效
4>全局环境变量
vim /etc/profile 所有用户持续有效。

二、快捷键
1>Ctrl-a光标快速移动到行首
2>Ctrl-e光标快速移动到行尾
3>Ctrl-u删除光标所在处至行首的内容
4>Ctrl-k删除光标所在处至行尾的内容
5>chrl-左右箭头 单词间移动
6>Ctrl-Shift-t 创建新窗口
7>Ctrl-Pgup/PgDn窗口间切换
8>Ctrl-shift-c复制
9>Chrl-shift-v粘贴

三、脚本

四、I/O
1>STDIN 标准的输入 默认键盘
2>STDOUT标准的输出 默认是终端
3>STDERR错误输出 默认是终端
a.> 输出重定向 将正确的信息输入到文件当中去
b.2>错误输出重定向 将错误的信息输入到文件当中去
c.&>将以上两者均导入至同一文件
d.>>追加 在文件中追加入。
e.2>&1 将错误的信息当作标准来输出
Ex:
$ find /etc -name passwd > find.out
$ find /etc -name passwd 2> /dev/null (/dev/null代表空设备,即将错误的信息忽略)
$ find /etc -name passwd > find.out 2> find.err 同时将正确、错误的信息输入到两个文件中
五、Redirecting STDOUT to a Program(Piping)管道
语法:command1 | command2 | command3 ... etc
将前面一条命令执行的结果作为后一条命令的输入
Ex:# ls -l /etc/ |lpr 将etc目录的内容打印出来
# ls -l /etc | less
# ps axo %cpu,%mem,pid,comm |tee cpu.1 |sort -r |tee cpu.2 |head -n 11 |tee cpu.3 |nl |tee cpu.4 |mail -s "cpu" redhat

@# ()将两条不相干的命令整合在一起

六、输入重定向 <
tr 'A-z' 'a-z' < .bash_profile >

<<将多次输入的结果一次输出
cat > server.repo <
七、for loop 循环语句
for NAME in joe jane djulie
do
ADDRESS="$NAME@example.com"
MESSAGE='Projects are due today!'
echo $MESSAGE | mail -s Reminder $ADDRESS
done

EX1: 系统要建10个帐户 admin1~admin10 且密码均设为password

for num in $(seq 1 10)
do
USER=admin$num
useradd $USER
echo password |passwd --stdin $USER
done

EX2:测试局域网内192.168.0.1~192.168.0.20的主机是否通畅。

for n in {1..20};do
host=192.168.0.$n
ping -c2 $host $> /dev/null
if [ $? = 0]; then
echo "$host is UP"
else
echo "$host is DOWN"
fi
done

作业:将系统中所有.txt的文件改为.doc

for file in $(find / -name "*.txt")
do
mv $file $(file%.txt).doc
done
阅读(327) | 评论(0) | 转发(0) |
0

上一篇:RH033 UNIT6笔记

下一篇:RH033 UNIT8笔记

给主人留下些什么吧!~~