Linux常用命令的特殊用法

cat命令

##显示并标记行号
cat -n test

##显示内容,只对非空白行标行号
cat -b test

##对多个空白行进行处理,如果有多行空白行,只显示一行空白行
cat -s test

在每行末尾放置一个$符号,用于清楚地显示具体的每行结尾

cat -e test

将文件从后往前翻转

tac test

实例

输入重定向

cat test.sh
#!/bin/sh
HOSTS=${HOSTS:$1}  #如果$HOST为空,则设置HOSTS变量的值为$1

while read -p "host to check " hostname
do
	if [ -z "$hostname" ];then
		echo "quitting due to blank input "
		break
	fi
	ping -c1 -w1 $hostname > /dev/null 2>&1
	
	if [ $? -eq 0 ];then
		echo "contact made with $hostname"
	else
		echo "Failed to make contact with $hostname"
	fi
done < $HOSTS

here文档

cat test01.sh  语法正确
cat <<EOF
how 
are 
you doing
now 
EOF

	
cat test02.sh  语法正确
cat <<-EOF
how 
are 
you doing
now 
	EOF
	

cat test03.sh 语法错误
cat <<EOF
how 
are 
you doing
now 
	EOF

echo命令

不换行输出

echo -n

$echo -n "123"
$echo "456"


最终输出 
123456
而不是
123
456

输出的时候解析特殊字符

echo -e

若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
a 发出警告声;
 删除前一个字符;
c 最后不加上换行符号;
f 换行但光标仍旧停留在原来的位置;
换行且光标移至行首;
光标移至行首,但不换行;
插入tab;
v 与f相同;
插入字符;

$echo -e "a
dddd" //自动换行
a
dddd	
原文地址:https://www.cnblogs.com/yldf/p/11900072.html