- 浏览: 818052 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
yuhanwm910731:
我现在需要实现复选(非级联选择)的树形下拉菜单,麻烦发给我一份 ...
extjs3.X支持树型的下拉控件 -
shine1200:
“所以咱们现在设置的虚拟路径“/message/upload/ ...
weblogic虚拟路径的配置和使用(2) -
icefireforest:
Fangrn 写道jx_dream 写道楼主,我最近在做树形下 ...
extjs3.X支持树型的下拉控件 -
cloudfile:
谢谢分享!
c++库c#调用开发时需要注意的一点 -
xuweilinbegin:
我也要一份哦:xuweilin15353@163.com,谢谢 ...
extjs3.X支持树型的下拉控件
1重定向
1.1 重定向符号
> 输出重定向到一个文件或设备 覆盖原来的文件
>! 输出重定向到一个文件或设备 强制覆盖原来的文件
>> 输出重定向到一个文件或设备 追加原来的文件
< 输入重定向到一个程序
1.2标准错误重定向符号
2> 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 b-shell
2>> 将一个标准错误输出重定向到一个文件或设备 追加到原来的文件
2>&1 将一个标准错误输出重定向到标准输出 注释:1 可能就是代表 标准输出
>& 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 c-shell
|& 将一个标准错误 管道 输送 到另一个命令作为输入
1.3命令重导向示例
在 bash 命令执行的过程中,主要有三种输出入的状况,分别是:
1. 标准输入;代码为 0 ;或称为 stdin ;使用的方式为 <
2. 标准输出:代码为 1 ;或称为 stdout;使用的方式为 1>
3. 错误输出:代码为 2 ;或称为 stderr;使用的方式为 2>
[test @test test]# ls -al > list.txt
将显示的结果输出到 list.txt 文件中,若该文件以存在则予以取代!
[test @test test]# ls -al >> list.txt
将显示的结果累加到 list.txt 文件中,该文件为累加的,旧数据保留!
[test @test test]# ls -al 1> list.txt 2> list.err
将显示的数据,正确的输出到 list.txt 错误的数据输出到 list.err
[test @test test]# ls -al 1> list.txt 2>&1
将显示的数据,不论正确或错误均输出到 list.txt 当中!错误与正确文件输出到同一个文件中,则必须以上面的方法来写!不能写成其它格式!
[test @test test]# ls -al 1> list.txt 2> /dev/null
将显示的数据,正确的输出到 list.txt 错误的数据则予以丢弃! /dev/null ,可以说成是黑洞装置。
1.4为何要使用命令输出重导向
• 当屏幕输出的信息很重要,而且我们需要将他存下来的时候;
• 背景执行中的程序,不希望他干扰屏幕正常的输出结果时;
• 一些系统的例行命令(例如写在 /etc/crontab 中的文件)的执行结果,希望他可以存下来时;
• 一些执行命令,我们已经知道他可能的错误讯息,所以想以『 2> /dev/null 』将他丢掉时;
• 错误讯息与正确讯息需要分别输出时。
2 管线命令 ( pipe )
就如同前面所说的, bash 命令执行的时候有输出的数据会出现,那么如果这群数据必需要经过几道手续之后才能得到我们所想要的格式,应该如何来设定?这就牵涉到管线命令的问题了( pipe ),管线命令使用的是『 | 』。
例子:简单的管线命令
假设我们要读取 last 这个指令中,那个 root 登入的『次数』应该怎么作?
那么我所进行的步骤是:
1. 执行 last ,将所有这个月的所有人登入数据取出来;
2. 使用 grep 将上面的输出数据(stdout)当中的 root 撷取出来,其它的不要;
3. 使用 wc 这个可以计算行数的指令将上一步的数据计算行数!
由于 last 的输出是一行代表一次登入,所以只要计算几行就代表登入几次的意思,经由上面三个步骤,将 last
数据逐步的筛选,就可以得到我们的数据了!整个命令可以写成如下: [test @test bin]# last | grep root | wc
-l
这个管线命令『 | 』仅能处理经由前面一个指令传来的正确信息,也就是standard output ( STDOUT ) 的信息,对于 stdandard error 并没有直接处理的能力。
2.1基本的管线命令指令介绍
• cut
语法:[root @test /root ]# cut -d "分隔字符" [-cf] fields
参数说明:
-d :后面接的是用来分隔的字符,预设是『空格符』
-c :后面接的是『第几个字符』
-f :后面接的是第几个区块?
范例:[root @test /root]# cat /etc/passwd | cut -d ":" -f 1
将 passwd 这个文件里面,每一行里头的 : 用来作为分隔号,而列出第一个区块!也就是姓名所在啦!
[root @test /root]# last | cut -c1-20
将 last 之后的数据,每一行的 1-20 个字符取出来!
• sort
语法:[root @test /root ]# sort [-t 分隔符] [(+起始)(-结束)] [-nru]
参数说明:
-t 分隔符:使用分隔符来隔开不同区间,预设是 tab
+start -end:由第 start 区间排序到 end 区间
-n :使用『纯数字』排序(否则就会以文字型态来排序)
-r :反向排序
-u :相同出现的一行,只列出一次!
范例:[root @test /root]# cat /etc/passwd | sort将列出来的个人账号排序!
[root @test /root]# cat /etc/passwd | sort -t: +2n将个人账号中,以使用者 ID 来排序(以 : 来分隔,第三个为 ID ,但第一个代号为 0 之故)
[root @test /root]# cat /etc/passwd | sort -t: +2nr反相排序啰!
• wc
语法:[root @test /root ]# wc [-lmw]
参数说明:
-l :多少行
-m :多少字符
-w :多少字
范例:[root @test /root]# cat /etc/passwd | wc -l这个文件里头有多少行?
[root @test /root]# cat /etc/passwd | wc -w这个文件里头有多少字!?
• uniq这个指令用来将『重复的行删除掉只显示一个』
语法:[root @test /root ]# uniq
范例:[root @test /root]# last | cut -d" " -f1 | sort | uniq
• tee命令重定向到文件的同时将数据显示在屏幕上
语法:[root @test /root ]# last | tee last.list | cut -d " " -f1
范例:[root @test /root]# last | tee last.list | cut -d " " -f1
• tr
语法:[root @test /root ]# tr [-ds] SET1
参数说明:
-d :删除 SET1 这个字符串
-s :取代掉重复的字符!
范例:[root @test /root]# last | tr '[a-z]' '[A-Z]' <==将小写改成大写
[root @test /root]# cat /etc/passwd | tr -d : <== : 这个符号在 /etc/passwd 中不见了!
[root @test /root]# cat /home/test/dostxt | tr -d '\r' > dostxt-noM
• split
语法:[root @test /root ]# split [-bl] 输入文件 输出文件前导字符
参数说明:
-b :以文件 size 来分
-l :以行数来分
范例:[root @test /root]# split -l 5 /etc/passwd test <==会产生 testaa, testab, testac... 等等的文件
说明:在 Linux 底下就简单的多了!你要将文件分割的话,那么就使用 -b size 来将一个分割的文件限制其大小,如果是行数的话,那么就使用 -l line 来分割!
管线命令在 bash 的连续的处理程序中是相当重要的!另外,在 log file 的分析当中也是相当重要的一环。
管道输送到一个命令的标准输入可以使用标准输入参数”-“ 进行更仔细的控制.如cat命令的示例
eg: sort mylist | more
sort mylist | cat –n | lpr
pwd | cat – mylist | lpr
发表评论
-
提供IT系统运维支持、系统优化方案
2012-10-26 14:46 6提供IT系统运维支持、系统优化方案,有多个运维实施经验。 ... -
搭建mpi并行运算中遇到的问题与解决方案
2010-11-28 18:21 4869搭建mpi并行运算中遇到的问题与解决方案 1,[roo ... -
linux bash(2)
2010-11-10 22:29 1670十二、输入输出重定 ... -
linux bash(1)
2010-11-10 22:22 1492一、LINUX操作系统的基本结构 1 kernel、 ... -
LINUX系统高级应用
2010-11-10 16:18 1306【过滤大log文件】 #!/bin/bash ... -
【转载】ossec主机入侵检查系统架设
2010-09-30 09:51 1320一.OSSEC简要介绍: OSSEC 是一款开源的入 ... -
Linux多路径的使用及介绍
2010-09-25 08:37 1682多路径(multi-path)软件的介绍 普通的电脑主机都是 ... -
服务器出现broken pipe ,connection reset解决方法
2010-08-24 17:34 2925linux下webloigc经常出现broken pipe ... -
ELF文件病毒的分析和编写(转)
2010-08-11 09:46 3111这个文章是从网上搜来的,转来转去也不知道睡是原版的了,所以很抱 ... -
linux下容量不同硬盘的复制
2010-07-28 19:44 2408可以用parted magic光盘来实现 1.用part ... -
Linux 如何加快 dd 命令备份的速度呢
2010-07-28 19:36 2238增加块大小 dd if=.. of=.. bs=128k -
提供j2ee中间件优化方案和实施
2010-05-11 09:04 384提供j2ee中间件安装优化方案和实施,提供oracle等数据库 ... -
从bind安装到配置全过程.所有linux平台都支持,带注释
2010-04-26 22:11 2530从安装到配置.不会架设DNS的人来.不是RPM安装的. ... -
apache前台代理分发 weblogic集群报错:错误模块 libhttpd.dll,错误地址 0x0001c0a2 解析以及解决方案
2010-04-14 22:28 35022003的报错:错误应用 程序 Apache.exe,版本 ... -
apache 启动httpd.exe 报错 Could not reliably determine the server's fully qualified
2010-04-14 20:35 2379前言:apache虽然能运行,但是看见error.log中 ... -
AIX下比较两个目录文件并同步数据,供参考
2010-03-25 13:06 1785#!/usr/bin/ksh # Compare the t ... -
check 系统账号密码是否过期shell脚本
2010-03-25 12:37 1422自己写的check aix系统用户密码是否过期的shell 脚 ... -
apache日志自动切割
2010-03-24 09:36 2208前几天给国家地震台 ... -
Remounting filesystem read-only硬盘只读,悲剧
2010-03-02 16:36 11578Dec 6 00:06:36 backup kernel: ... -
解决挂载盘柜出现“EXT3-fs error filesystem read-only”
2010-03-02 16:35 4799昨天发现盘柜上的逻辑卷只能读,不能写!,查看盘柜管理页面,无错 ...
相关推荐
Linux中重定向及管道(ubuntu 终端命令).txt
在Linux系统中,I/O重定向和管道是两种重要的进程间通信(IPC)方式,它们允许我们改变程序的标准输入、输出和错误流,或者在不同的进程中传递数据。本实验主要涵盖了这两个主题,通过编写和运行C语言程序来实践。 ...
- **处理顺序**:在I/O重定向中,标准输出和标准错误输出的管道会优先准备,然后再从标准输入读取数据。 - **管道** (`|`):允许上一个命令的标准输出作为下一个命令的标准输入。 - **tee命令**:可以在不影响原本I/...
在Linux操作系统中,重定向和管道符是两个非常重要的概念,它们极大地增强了命令行界面的灵活性和功能性。让我们深入探讨这两个主题。 **一、标准输入输出** 在Linux中,每个命令或程序都有三个标准流:标准输入...
Linux系统重定向及管道符(作者:千锋教育-磊哥)
拓展:管道和重定向 Linux文件系统 系统及其他命令 vi编辑器 磁盘分区管理 拓展:重定向 输出重定向 功能:将一个命令的输出重定向到一个文件中,而不是屏幕显示。 输出重定向符:> 、>> 例如:将last命令的输出结果...
### Linux操作之输入输出重定向和管道 #### 标准输入输出与错误处理 在Linux或Unix环境下,标准输入(`stdin`)、标准输出(`stdout`)以及标准错误输出(`stderr`)是非常重要的概念。这三个流通常与控制终端关联...
Linux中的重定向是操作系统命令行中非常重要的功能,它允许用户改变命令的标准输入、标准输出和标准错误输出的位置。重定向可以将数据从文件、设备或另一个命令中导入或导出。在Linux shell中,我们可以使用特殊的...
在某些情况下,管道中的 `-` 符号可以用来代表标准输入或标准输出。例如: ```bash cat - | grep "pattern" ``` 这里,`cat -` 表示从标准输入读取数据,`grep` 命令则用于搜索特定模式。 ##### 3.3 tee命令 `...
管道与IO重定向在Linux系统中的应用 管道(Pipeline)是一种机制,允许用户将一个命令的输出作为另一个命令的输入,从而实现了命令之间的数据传输。在Linux系统中,管道是通过竖线符号(|)来实现的。例如,命令`ls...
在实际使用中,这些重定向技巧可以结合其他命令进行复杂的流程控制,比如管道(|)、逻辑运算符(&&, ||)等,实现数据的高效处理和管理。例如,你可以将一个命令的输出作为另一个命令的输入,或者将错误信息和正常...
Linux 系统管理中,归档及压缩、重定向与管道操作、find 精确查找、vim 高级使用等知识点是非常重要的。下面将详细介绍这些知识点。 1. 归档及压缩 归档及压缩是 Linux 系统管理中非常重要的一部分。tar 命令是 ...
在Linux世界中,掌握输入输出重定向和管道命令是提高命令行操作效率的关键。vim编辑器虽然不直接涉及这些操作,但在使用vim之外的shell环境中,它们是非常实用的工具。 输入输出重定向允许我们将命令的输入和输出从...
在Linux操作系统中,掌握重定向和管道符是网络管理员日常工作中不可或缺的技能。这两个功能强大的工具可以帮助用户更高效地管理和处理命令输出。 首先,我们来深入理解输入输出重定向。输入重定向允许我们将数据源...
熟练掌握Shell中的变量、重定向和管道操作对于提高工作效率至关重要。接下来,我们将详细探讨这些概念及其应用。 #### 变量定义与引用 **定义变量:** ```sh 变量名=变量值 ``` 在Shell脚本中定义变量非常简单,...
Linux 管道符与重定向是 Linux 系统中两种重要的机制,分别用于控制命令的输入/输出和重定向输出到文件。Linux 命令的输入通常来自键盘,但也可以来自文件,而输出通常到监视器或屏幕上。Linux 计算环境使用重定向...
在本实验作业中,我们将深入学习Linux操作系统中的系统调用,并通过实践掌握重定向、管道、多进程以及多线程编程技术。下面将详细阐述这些知识点。 1. Linux系统调用: Linux系统调用是用户程序与操作系统内核交互...
本章主要讨论的是Linux中的重定向管道(Redirection and Pipeline)这一核心概念,它是Linux命令行交互式操作的重要组成部分,允许用户灵活地控制输入输出以及进程间的通信。 首先,我们来看重定向(Redirection)...
在本实验报告中,我们将深入探讨“北邮Linux开发环境”的相关知识,特别是Shell管道(Pipe)和重定向(Redirection)功能的实现,以及如何利用这些工具生成TCP活动状况报告。这一实验属于北京邮电大学计算机科学与...