shell的一些学习笔记

今天开始学习Shell脚本,以尽量短的时间内把《shell 脚本学习指南》给啃完。

 下面的就是一些关于学习时的一些记录了。

who          可以告诉你系统中有哪些人登录。

who | wc -l   可以统计有多少人登录了。  wc -l 是统计行数, | 是管道的意思,是把who 的输出作为wc 的输入。

wc -l /home/cl/test.c   统计test.c文件中的内容行数。

下面就是把上面的管道变成一个独立的命令

 

cat > nusers    //建立文件,使用cat复制终端的输入

who | wc -l 程序的内容

^D              Ctrl+d 表示end-of-file

chmod 777 nusers 让文件拥有执行的权限

./nusers      执行测试

 

 

cat nusers 显示文件内容。

 

Shell变量名称的开头是一个字母或下划线符号,后面可以接任意长度的字母、数字或下划线符号,变量赋值的方式为:先写变量名称,紧接着=字符,最后是新值,中间没有任何空格。当你想取出Shell变量的值时,需在变量名称前面加上$字符。当所赋予的值内含空格时,请加上引号:

所以如果要输出now     is test   (now 与 is 中间有多个空格)

如果直接用echo now     is test    则输出now is test,空格取消了,只剩下一个了,所以要加引号。

echo -n "now     is test"   -n 表示省略结尾的换行符。

 

printf "hello world /n" 要显示的输出换行符

printf "%s %s " hello world

 

I/O重定向就是你通过与终端交互,或是在Shell脚本里设置,重新安排从哪里输入或输出到哪里。

 

以< 改变标准输入

以>改变标准输出

以>>附加到文件

以 | 建立管道

 

tr 命令:

一:去除重复出现的字符

tr -s "[a-z][A-Z]"

二:删除空行

tr -s '/n'

三:大写到小写

tr "[a-z]" "[A-Z]"

四:删除指定字符

tr -cs "[a-z][A-Z]" '/n'    把非a-z和A-Z的字符转化为'/n'

tr详细用法见我的博客tr命令详细用法

 

两个特殊文件:

/dev/null与/dev/tty

/dev/null,传送到此文件的数据都会被系统丢掉。

/dev/tty,当程序打开此文件时,unix会自动将它重定向一个终端。

stty(set tty)命令来控制终端的各种设置。

stty -echo 关闭自动打印输入字符的功能

stty echo  打开自动打印输入字符的功能

grep -r 'test' /home/cl  查找/home/cl目录下所有文件中是否包含test字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值