转自:http://www.wallcopper.com/linux/588.html

在shell环境下常常用到  “-” 符号,有些用途大家都耳熟能详,可有些乍一看可能还反应不过来。这篇文章写的算是比较全的了,拿过来分享下。

连字符:年轻人称之为dash,年长者称之为minus,英文名称hyphen(连字符),minus sign(减号),或虚线

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

1,为应用程序指定参数。

如ps -aux,tar -zxf test.tar

2.一个减号和两个减号

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

例如:tar -xvf ×××

两个减号后面跟的参数必须是多字符参数,一个“–”只能跟一个参数。

例如:tar –version

3 表示上一级工作目录。如cd -

cd -

4 普通用户切换到root

su -相当于su – root

5、通过ssh传送文本

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

6、表示标准输出流。如tar -cvf – /home | tar -xvf -

tar -cvf – /home 把/home压缩后,打印在stdout上

| 管道,即前一命令的输出为后一命令输入

tar -xvf - 从stdin读取内容,并在当前目录解压

复制的例子

tar cf – access.log |tar xf – -C /opt

7、纯粹是演示 ‘-’

grep -xvf a b 可以写成

cat a | grep -xvf – b

8、

脚本中可以这样在crontab里添加一个任务

{ crontab -l; echo “* * * * * /bin/date >> /tmp/log” ; } | crontab -

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

cat – file <<

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

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

11、例子, 在当前我要打包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) 就是第二条语句的输入 这种情况下我们可以用 “-” 来取代这个输出输入 直接执行如下语句就ok了 tar -cvf – /var/log | zip -r log.zip - 意思就是 第一条语句不再输入到1个具体文件,而输出到stdout中, 而作为第二条件的标准输入(stdin), 而stdin 和 stdout都可以用“-”来取代。 这样的话就不会有中间文件生成了~

linux 管道 减号,linux shell环境减号”-”的用途相关推荐

  1. linux+管道+分段,Linux中shell基础、重定向、管道符、环境变量

    原标题:Linux中shell基础.重定向.管道符.环境变量 1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核 ...

  2. linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  3. linux自定义和使用 shell 环境(一)

    概述 学习自定义 Linux bash shell 环境来满足用户需求.学习: · 修改全局和用户配置文件 · 在登录或生成新 shell 时设置环境变量 · 为常用命令序列创建 bash 函数 ·  ...

  4. Linux系统 熟练掌握 shell环境变量

     熟练掌握 shell环境变量      shell就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用.      shell支持具有字符串值的变量.shel ...

  5. 更改Linux用户的登录shell环境

    使用普通用户zhangrong登录系统,并将自己的登录的shell改为tcsh. 设置了新的登录shell后,将在该用户下次登录系统时生效. root用户可以直接通过修改"/etc/pass ...

  6. linux 管道交互,Linux C:具有独立读写命名管道的“交互式会话”?

    我正在尝试使用"使用命名管道的进程间通信简介 - 使用命名管道的全双工通信",link;特别是fd_server.c(包括如下供参考)Linux C:具有独立读写命名管道的&quo ...

  7. linux 管道 top,linux IPC总结——管道

    管道 管道是unix ipc的最古老形式,是一种在内存中的特殊文件,只能在具有公共祖先的进程之间使用(即父子进程,兄弟进程). 管道由pipe函数创建 #include int pipe(int fd ...

  8. linux crontab环境变量,Linux下crontab内环境变量与Shell环境变量的关系【转】

    crontab,总是不会缺省的从用户profile文件中读取环境变量参数 经常导致在手工执行某个脚本时是成功的,但是到crontab中试图执行时就会报错. 解决办法如下: 方法一:在shell文件中获 ...

  9. Linux系统管理16:shell

    ​ shell是允许用户输入命令的界面,linux中最常用的交互式shell是Bash. 一.什么是shell ​ shell就是用户和操作系统内核之间的接口,起着协调用户和系统的一致性和在用户与系统 ...

  10. Windows轻松实现linux shell环境:gitforwindows

    Windows缺少shell命令支持 用过Linux服务器分析数据的小伙伴,一定对Linux强大Shell命令所折服,经常会感觉windows缺少这些命令而感觉不方便. 还有想学习Linux Shel ...

最新文章

  1. FPGA篇(九)关于ASCII码
  2. mysql单列索引和多列索引_浅谈MySQL索引优化
  3. 操作系统【逻辑空间、物理空间与页表大小的关系】【分页地址映射(方法+例题)】
  4. sqlite 的几点见解
  5. mysql 触发器 二进制_Mysql 二进制日志格式 对存储过程,函数,触发器,事件的记录方式的影响...
  6. ESP32 开发之旅② Arduino For ESP32说明
  7. Android Studio编码问题
  8. IOS程序之发送短信代码实现
  9. Atitit 数据处理查询 中的异常标准化草案 jpa jdbc hb  oql规范attilax总结
  10. 旧电脑再次起飞 分享一次联想Thinkpad X230黑苹果的完整过程
  11. solidworks工程图模板为什么不能存为slddrt格式
  12. Delmia做一些二次开发,实现虚拟场景漫游
  13. 计算机表格排版,你必须要知道的excel排版技巧
  14. 机房服务器搬迁验收文档,idc机房服务器搬迁之后的准备工作和应对
  15. 【文章导读】什么是旁道攻击?Meltdown Redux英特尔漏洞(MDS攻击);KAISER:从用户空间隐藏内核(KAISER);Meltdown/Spectre分析
  16. 微信屏蔽网址解决办法 微信QQ已经被屏蔽的域名怎么做跳转
  17. 【数据统计】— 峰度、偏度、点估计、区间估计、矩估计、最小二乘估计
  18. i7台式电脑配置推荐_专业设计师电脑配置推荐 i7-7700配K2200组装台式电脑配置及报价...
  19. php个框架的优缺点,PHP主流框架优缺点分析
  20. BZOJ3693:圆桌会议(Hall定理)

热门文章

  1. Iterator中的 FailFast FailSafe【学习笔记】
  2. gps显示服务器离线,GPS离线的几大原因分析及解决方法
  3. 加速计(重力感应功能)的使用
  4. python tif转jpg_怎样把TIF转化为JPG图片格式
  5. 光纤信号服务器,485转光纤的两种方式
  6. 【深度学习】初次接触
  7. 工商银行支付接口开发Java
  8. u盘重置后计算机不显示了,u盘在电脑上不显示了如何恢复
  9. 微信公众号关注自动回复,关键词自动回复,一个PHP文件就可以搞定!
  10. java.lang.NoClassDefFoundError: org/apache/hive/service/cli/thrift/TCLIService$Iface