linux系统对大小写和空格,Linux学习-标准输入输出

标准输入输出重定向——Linux下任何一个命令的执行,他都会经过下图所示的流程:

50428569e0fd185d777cc4c902df53d6.png

目录

三种I/O设备

把I/O重定向入文件

tr

使用管道链接命令

实际案例

一、I/O设备Linux提供了三种I/O设备:

标准输入(STDIN)-0默认接受来自键盘的输入

标准输出(STDOUT)-1默认输出到终端窗口

标准错误(STDERR)-2默认输出到终端窗口操作符号:

1> 或者 >正确输出到文件

2>错误输出到文件

>覆盖

2>>追加

文件不存在:>和>>都可以创建新文件

文件存在:> 覆盖   >> 追加

set -C禁止覆盖,但可追加

>|+文件名强制覆盖

set +C允许覆盖

&>全部输出文件

2>&1把错误的转成正确的

1>&2把正确的转成错误的

()合并多个程序的输出

例如:(cal 2007;cal 2008) > all.texttr 转换字符

例如:

tr  abcd 123将a转换成1,b转换成2,cd转换成3

tr  abc 1234将a转换成1,b转换成2,c转换成3,4无效

tr -t abcd 123将a->1,b->2,c->3,d无效

tr -d a将a字符串删除

echo hello 123 world | tr -cd 0-9只有留下0-9,将输入文本中不在补集中的所有字符全部删除(有点绕)

cdcd238160ff0a612393ebdcfed8b772.png

tr -s ab将多个连续的a和b转换成一个a和b

tr a [:punct:] 会报错< 输入重定向

tr -d abd < /etc/fstab删除fstab文件中所有abc的任意字符

cat > file然后输入内容,Ctrl+d离开   变相的一种输入方式

cat > file3.txt < /etc/fstab将fstab的内容复制到file3.txt

d2fc5194e801c6e7e8a430f3d6910c56.png<< 终止词******多用在脚本中******

cat > file4.txt << EOF

3f2f3164255382248b120ef4a7011813.png

| 管道--将前边的输出的正确结果传递给下一条命令执行

可以利用2>&1 |将错误结果也能传递给管道

less翻页查看输出

ls -l /etc | less

mail -s "主题" +用户名--电子邮件发送给指定用户

用户lisi发送主题为test,内容为hello world 的邮件给用户zhanshan,结果图如下:

d905812931698777fd892c530ce059c8.png

和管道符结合使用:

echo hello world | mail -s "test" +username

案例:

1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

cat /etc/issue |tr a-z A-Z > /tmp/issue.out

tr a-z A-z < /etc/issue > /tmp/issue.out

2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中

who | tr [a-z] [A-Z] > /tmp/who.out

3、一个linux用户给root发邮件,要求邮件标题为”help”,邮件正文如下:

Hello, I am 用户名,The system version is here,please help me tocheck it ,thanks+操作系统版本信息

echo -e Hello,I am `whoami`,The system version is here,Please help me to check it,Thanks."\n"`cat /etc/redhat-    release` | mail -s help root

4、将/root/下文件列表,显示成一行,并文件名之间用空格隔开

ls -1 /root/ |tr "\n" " "

5、计算1+2+3+..+99+100的总和

echo {1..100} |tr " " + |bc

6、处理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格

echo "xt.,l 1 jr#hat-releasemn 2 c*/fe 3 uz 4" | tr -cd [:digit:][:blank:]

7、将PATH变量每个目录显示在独立的一行

echo $PATH |tr : "\n"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值