Shell 命令--echo tr ls--总结自《Linux Shell 脚本攻略》

(一)echo是用于终端打印的基本命令。

在默认情况下,echo在每次调用后回添加一个换行符

1)在echo中转义换行符 -e

例如:$ echo -e "1\t2\t3"

2)  打印彩色输出

a) 打印彩色文本,颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
echo -e "\e[1;31m This is  red text \e[0m" \e[1;31将颜色设为红色,\e[0m将颜色重新设置回
b) 设置彩色背景 颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
echo  -e "\e[1;42m Green Background \e[0m" 

3)不换行 -n

#!/bin/sh
<pre>#filename: 1
echo -n "please input a value:"
read value
echo "what you input is:" $value
 

(二)tr 可以对来自标准输入(stdin)的字符进行替换、删除和压缩

调用格式: tr [ options ] set1 set2  将来自stdin的输入字符从set1 映射到set2,并将其输出写入stdout。set1和set2是字符类或字符集。如果两个字符集的长度不相等,那么set2会不断重负其最后一个字符,直到长度与set1相同。如果set2的长度大于set1,那么在set2中超出set1长度的那部分字符则全部被忽略。
例如 :将输入字符由大写转换成小写 $ echo "HELLO WHO IS THIS" | tr 'A-Z' 'a-z'

1)用tr删除字符 tr  -d '[ set1 ]' #只使用set1,不适用set2

例如 :echo "Hello 123 world 456" | tr -d '0-9' 结果:Hello world

2)字符集补集 -c

最典型的用法是从输入文本中将不在补集中的所欲字符全部删除。例如: $ echo hello 1 char 2 next 4 | tr -d -c '0-9 \n' 结果 1 2 4

3)压缩字符 -s选项可以压缩输入中重复的字符 tr -s '[ set ]'

例如: $ echo "GNU is             not                UNIX. Recu rsive           right ?" | tr -s ' '

tr另一个用途将文件中的数字列表进行相加 $ cat sum.txt 1 2 3 4 5 $ cat sum.txt | echo $ [ $ ( tr '\n' '+') 0 ] 15 在上面的命令中,tr用来将'\n’替换成'+',因此我们得到了字符串“1+2+3+4+5+”,但是在字符串的尾部多了一个操作符+,为了抵消多出来的操作符,我们再追加一个0 $[ operation ] 执行算术运算

4)字符类 tr [ : class : ] [ : class : ] 

alnum:字母和数字
alpha :字母
cntrl:控制(非打印)字符
digit:数字
graph:图形字符
lower:小写字母
print:可打印字符
punct:标点符号
space:空白字符
upper:大写字母
xdigit:十六进制字符
例如 : tr '[:lower:] '[:upper:]'

(三)命令ls

1)-l可以列出文件的详细信息 

#第一列是权限 第八列是文件名
-rw-r--r-- 1 yu None  102400 九月  4 19:14 data.file
-rw-r--r-- 1 yu None      19 九月 10 08:54 file.txt
drwxr-xr-x+ 1 yu None       0 九月 11 15:25 directory
第一列输出文件的权限。其中第一个字母的对应关系如下所示:
-普通文件
d目录
c字符设备
b块设备
字母 l符号链接
s套接字
p管道
剩下的部分可以划分为三组,每组3个字符。第一组的三个字符对应用户权限,第二组对应用户组权限,第三组对应其他用户组权限。
文件的rwx:r 读权限 w 修改权限 x 执行权限,即运行该文件的权限
目录的rwx: r 允许读取目录中文件和子目录的列表;w 允许在目录中创建或删除文件或目录; x 指明是否可以访问目录中的文件和子目录
例如:要打印当前目录下各文件的权限和文件名 $ ls -l | awk  '{ print $1 " : " $8 }'

2)-a显示所有文件,包含隐藏文件

ls -a /home/用户名

3)-t按时间顺序排列文件


4)-i显示inode数

5)-d显示目录信息,不显示文件


6)-r 使用 ls 指令来列出目录内容时,其所显示的名称预设是按照阿拉伯数字、英文字母大小写来做排序,而当您加上 "-r" 参数后,便会=反向做排序。

ls -ltr命令显示最近修改的文件

7)-u依照档案的存取时间做排序。此参数若与 -lt 一起使用,会依档案的存取时间做排序 (时间栏位是显示存取时间),如只与 -l 搭配使用,则会依档案名称来做排序 (时间栏位还是会显示存取时间)。

8)-ld 列出文件夹权限 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值