Linux:减号(-)详解

时间:2023-03-09 03:36:32
Linux:减号(-)详解

减号(-)

代表标准输出/标准输入, 视命令而定. “-”代替stdin和stdout的用法

为应用程序指定参数

ps -aux

tar -zxf test.tar

一个减号和两个减号

一个减号后面跟的参数必须是单字符参数,可以多个参数写在同一个减号后面。

ls -l

两个减号后面跟的参数必须是多字符参数

--help

表示上一级工作目录

cd -

普通用户切换到root

su -
相当于
su – root

通过ssh传送文本

cat id_rsa.pub |ssh -p322 root@172.10.1.105 ‘cat – >> ~/.ssh/authorized_keys’

在文件头添加一行,也可以这样玩

cat – file <<<“line num ″

只取一列并与另一文件做diff

awk ‘{ print $ }’ a | diff – b

在当前我要打包1个文件夹 /var/log/ 到当前目录下,并用zip压缩

分步执行

tar -cvf log.tar /var/log/
zip -r log.tar.zip log.tar
rm -rf log.tar

写成一条语句

tar -cvf log.tar /var/log/ && zip -r log.tar.zip log.tar && rm -rf log.tar

第一条语句的输出(log.tar) 是第二条语句的输入
用 “-” 来取代这个输出输入

tar -cvf – /var/log | zip -r log.zip -

第一条语句不再输入到1个具体文件,而输出到stdout中, 而作为第二条件的标准输入(stdin), 而stdin 和 stdout都可以用“-”来取代。