重定向与管道

----------小命令大作为

>:重定向标准输入出定向命令

用的最多的就是向某个文件中写入内容

[root@localhost ~]# echo "Hello,world">1.txt

[root@localhost ~]# cat 1.txt

Hello,world

把某个命令的结果重定向到某个文件中

[root@localhost ~]# cat /etc/passwd >2.txt

[root@localhost ~]# cat 2.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin

avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

abrt:x:173:173::/etc/abrt:/sbin/nologin

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

>>:追加标准输出重定向

[root@localhost ~]# echo "王鹏健,java高级工程师" >> 1.txt

[root@localhost ~]# cat 1.txt

Hello,world

王鹏健,java高级工程师

如果不用追加重定向的话就会将文件原来的内容替换掉,如

[root@localhost ~]# echo "马强,在北京" >1.txt

[root@localhost ~]# cat 1.txt

马强,在北京

[root@localhost ~]#

2>:重定向错误标准输出

如果命令有错误,也会执行命令,并将错误信息输出在文本里面,如:

[root@localhost ~]# ls /etc/pas 2> 1.txt

[root@localhost ~]# cat 1.txt

ls: cannot access /etc/pas: No such file or directory

[root@localhost ~]#

2>>:追加重定向错误标准输出

将命令错误信息追加到文本里面

[root@localhost ~]# echo "马强,在北京" >1.txt

[root@localhost ~]# ls /etc/pas 2>>1.txt

[root@localhost ~]# cat 1.txt

马强,在北京

ls: cannot access /etc/pas: No such file or directory

&>:将重定向标准输出或者错误重定向到同一文件夹内

错误输出

[root@localhost ~]# ls /var2 &> 1.txt

[root@localhost ~]# cat 1.txt

ls: cannot access /var2: No such file or directory

[root@localhost ~]#

正确输出

[root@localhost ~]# ls /var &> 1.txt

[root@localhost ~]# cat 1.txt

account

cache

crash

cvs

db

empty

games

gdm

lib

local

lock

log

mail

nis

opt

preserve

run

spool

tmp

www

yp

[root@localhost ~]#

<:输入重定向

可以将结果作为另一个命令的使用,如

将/etc/passwd 文件里面的内容全部转换成大写

tr ‘a-z’ ‘A-Z’ </etc/passwd

[root@localhost ~]# tr 'a-z' 'A-Z' </etc/passwd

ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH

BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN

DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN

ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN

LP:X:4:7:LP:/VAR/SPOOL/LPD:/SBIN/NOLOGIN

SYNC:X:5:0:SYNC:/SBIN:/BIN/SYNC

SHUTDOWN:X:6:0:SHUTDOWN:/SBIN:/SBIN/SHUTDOWN

HALT:X:7:0:HALT:/SBIN:/SBIN/HALT

MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN

UUCP:X:10:14:UUCP:/VAR/SPOOL/UUCP:/SBIN/NOLOGIN

OPERATOR:X:11:0:OPERATOR:/ROOT:/SBIN/NOLOGIN

GAMES:X:12:100:GAMES:/USR/GAMES:/SBIN/NOLOGIN

GOPHER:X:13:30:GOPHER:/VAR/GOPHER:/SBIN/NOLOGIN

FTP:X:14:50:FTP USER:/VAR/FTP:/SBIN/NOLOGIN

NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN

DBUS:X:81:81:SYSTEM MESSAGE BUS:/:/SBIN/NOLOGIN

USBMUXD:X:113:113:USBMUXD USER:/:/SBIN/NOLOGIN

VCSA:X:69:69:VIRTUAL CONSOLE MEMORY OWNER:/DEV:/SBIN/NOLOGIN

RTKIT:X:499:497:REALTIMEKIT:/PROC:/SBIN/NOLOGIN

AVAHI-AUTOIPD:X:170:170:AVAHI IPV4LL STACK:/VAR/LIB/AVAHI-AUTOIPD:/SBIN/NOLOGIN

ABRT:X:173:173::/ETC/ABRT:/SBIN/NOLOGIN

HALDAEMON:X:68:68:HAL DAEMON:/:/SBIN/NOLOGIN

GDM:X:42:42::/VAR/LIB/GDM:/SBIN/NOLOGIN

<<:在当前目录下产生文档,如

[root@localhost ~]# cat >> 1.txt << end

> 马强在北京,王鹏健是高级JAVA工程师

> 乔四是高级硬件工程师

> end

[root@localhost ~]# cat 1.txt

马强在北京,王鹏健是高级JAVA工程师

乔四是高级硬件工程师

‘|’ 管道符号,可以将前面命令输出的结果作为后面命令的输入

命令1|命令2|命令3|

如:显示出/eyc/passwd 文件中的第一位

cat /etc/passwd |cut -d: -f1

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

uucp

operator

games

gopher

ftp

nobody

dbus

usbmuxd

vcsa

rtkit

avahi-autoipd

abrt

haldaemon

并将返回的结果按照字母表顺序进行排序

[root@localhost ~]# cat /etc/passwd |cut -d: -f1| sort -n

abrt

adm

apache

avahi-autoipd

bin

daemon

dbus

ftp

games

gdm

gopher

haldaemon

halt

lp

mail

mailnull

mysql

nobody

ntp

operator

postfix

pulse

root

rtkit

saslauth

shutdown

smmsp

sshd

sync

tcpdump

usbmuxd

uucp

vcsa

www

再把输出结果以大写字母方式显示:

[root@localhost ~]# cat /etc/passwd |cut -d: -f1| sort -n| tr 'a-z' 'A-Z'

ABRT

ADM

APACHE

AVAHI-AUTOIPD

BIN

DAEMON

DBUS

FTP

GAMES

GDM

GOPHER

HALDAEMON

HALT

LP

MAIL

MAILNULL

MYSQL

NOBODY

NTP

OPERATOR

POSTFIX

PULSE

ROOT

RTKIT

SASLAUTH

SHUTDOWN

SMMSP

SSHD

SYNC

TCPDUMP

USBMUXD

UUCP

VCSA

WWW

[root@localhost ~]#

获取/etc/passwd 文件中的第10行

[root@localhost ~]# head -10 /etc/passwd |tail -1

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

获取/etc/passwd 文件中的倒数第8行,

21 abrt:x:173:173::/etc/abrt:/sbin/nologin

22 haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

23 gdm:x:42:42::/var/lib/gdm:/sbin/nologin

24 ntp:x:38:38::/etc/ntp:/sbin/nologin

25 apache:x:48:48:Apache:/var/www:/sbin/nologin

26 saslauth:x:498:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin

27 postfix:x:89:89::/var/spool/postfix:/sbin/nologin

28 pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin

29 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

30 tcpdump:x:72:72::/:/sbin/nologin

31 mysql:x:500:500:mysq:/home/mysql:/bin/bash

32 www:x:501:501::/home/www:/bin/false

33 mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

34 smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

[root@localhost ~]# tail -8 /etc/passwd |head -1

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

[root@localhost ~]#

linux ‘|’ 与重定向 实例详解的更多相关文章

  1. Linux的Cgroup<实例详解>

    为什么要有cgroup Linux系统中经常有个需求就是希望能限制某个或者某些进程的分配资源.也就是能完成一组容器的概念,在这个容器中,有分配好的特定比例的cpu时间,IO时间,可用内存大小等.于是就 ...

  2. Linux sed命令实例详解

    简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...

  3. linux基础-磁盘阵列(RAID)实例详解

    磁盘阵列(RAID)实例详解 raid技术分类 软raid技术 硬raid技术 Raid和lvm的区别 为什么选择用raid RAID详解 RAID-0 RAID-1 RAID-5 Raid-10 R ...

  4. Linux下rz命令使用的实例详解

    Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,下面将通过几个实例来给大家详细介绍下Linux下rz命令的用法,一起来学习下吧. rz命令可以批量上传文件,当然也可上传单 ...

  5. Linux计划任务Crontab实例详解教程

    说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...

  6. Linux备份数据库,mysqldump命令实例详解

    mysqldump是mysql数据库中备份工具,用于将MYSQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中. 语法: mysqldump (选项) 选项: --add-drop-ta ...

  7. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

  8. [转帖]Linux:cut命令详解

    Linux:cut命令详解 https://www.cnblogs.com/Spiro-K/p/6361646.html cut -f cut -f -d cut -c1- 这三个命令好像最常见, 记 ...

  9. Linux定时任务Crontab命令详解_转

    转自:Linux定时任务Crontab命令详解 (部分修改) linux 定时系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服 ...

随机推荐

  1. anjularjs常用的内置方法

    1.$apply anjularjs通过$apply方法去执行脏检查,及时告诉model绑定变量更新. 示例:定义一个date变量显示在页面上,它的控制器是firstCtrl,这个date变量有一个时 ...

  2. 《 spring mvc 》学习计划

    第一章:1月1日-1月2日 第二章:1月3日 第三章:1月4日 第四章:1月5日 第五章:1月6日-1月7日 第六章:1月8日 第七章:1月9日 第八章:1月10日 第九章:1月11日-1月12日 第 ...

  3. GPS部标平台的架构设计(三) 基于struts+spring+hibernate+ibatis+quartz+mina框架开发GPS平台

    注意,此版本是2014年研发的基于Spring2.5和Struts2的版本,此版本的源码仍然销售,但已不再提供源码升级的服务,因为目前我们开发的主流新版本是2015-2016年近一年推出的基于spri ...

  4. 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

    http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...

  5. js隐式转换

    JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object.object是引用类型,其它的五种是基本类型或者是原始类型.我们可 ...

  6. c3p0连接池]

    <c3p0-config> <!-- 默认配置 --> <default-config> <property name="jdbcUrl" ...

  7. Windows Phone 十八、加速计

    加速度传感器 手机的加速度传感器工作时是通过 x.y.z 三个轴的偏移来计算的 在代码基本的 API 主要集中在 Accelerometer 类型中 主要是使用该类型的对象捕获 ReadingChan ...

  8. 用于svn添加当前目录下所有未追踪的文件,和删除所有手动删除的文件的脚本

    由于要经常用到类似与 git 中的 git add --all 这种操作,但是发现svn中并不支持类似的操作. 虽然可以使用 wildcard 进行匹配,但是 wildcard是在shell中进行匹配 ...

  9. python装饰器通俗易懂的解释!

    1.python装饰器 刚刚接触python的装饰器,简直懵逼了,直接不懂什么意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍资料,猜有点点开始明白了.总结了一下解释得比较好的,通俗易懂的来说 ...

  10. 测试 Prism 语法高亮

    测试 Prism 对 C 语言的语法高亮 #include <stdio.h> #include "math.h" int main(void) { long int ...