Linux中重定向输出的学习

时间:2023年08月13日

/

来源:初九

/

编辑:本站小编

收藏本文

下载本文

下面是小编整理的Linux中重定向输出的学习,本文共10篇,希望对大家有所帮助。本文原稿由网友“初九”提供。

篇1:Linux中重定向输出的学习

在这里,重定向可以做如下理解:

原来的输出方式好比是向一个水池(屏幕)中放水的水龙头,水就是要输出的内容

当把水龙头转接到不是水池的桶(文件)中时,就是重定向输出了,

linux中的输出方式主要有:

标准输出的两种方式:

STDOUT 标准输出

STDERR 标准错误

屏幕的输出可以被重定向,使得原来应该输出到屏幕上的内容被重定向到其他的地方,

比如说是文件:

格式:命令 操作 文件名

e.g.ls /etc -l 1>ls.txt 2>err.txt

其中:

命令还是原来操作的命令,所有的已知有输出命令都是可以的。

操作是输出的类型,有

1>一类,STDOUT

2>二类,STDERR

&>所有(包括1类和2类消息)注意此时输出中如果有错误信息,会首先输出,无论先执行的是1类还是2类输出

>如果不加数字(类型)默认的是标准输出,即1

它所执行的操作是首先将重定向到的文件进行删除,

注意这一点,是附加append还是要通过临时文件来写入

文件名就是要被重定向到的地方,当原路径中已有此文件就会被覆盖,没有则生成。

如果想原文件中的内容不被覆盖而是在后面进行追加(写在后面)那么就可以使用如下的操作

1>>同 >>

2>>

&>>

追加模式时如果被重定向的输出有标准输出和标准错误输出,那么

e.g. ls /etc /wrongdir 1>>ls.txt 2>>err.txt

ls /etc /wrongdor 1>>ls.txt 2>>ls.txt

不过我在ubuntu12.04中试过后看到使用&>>也是可以的。

当某类输出被重定向后,该类输出便不会在屏幕上显示

当标准输出和标准错误输出同时存在的时候,根据操作的种类决定重定向内容和重定向的文件。

head 命令:从头看

tail 命令:从尾看

后面可以加上参数进行处理:

e.g. cat 5.txt | head -n5 察看前5行的内容

cat 5.txt | head -n 10 |tail -n 7 察看4,5,6,7,8,9,10共7行内容用这种方法可以快速截取某大文件中的某一段

cat 5.txt | head -n 10 |tail -n 7 >result.txt

-------------------------------------

grep 利用正则表达式 达到字符匹配的效果,

-i (case-insensitive) 中的关键开关 表示忽略大小写的差异

-n 打印出搜到的内容所在的行号 配合vim使用的话,可用vim +行号数字 路径

-v 排除掉给定的东西,给出剩下的东西verse

cat filename |grep ^# -v |grep -v ^$

cat filename |gerp -Ev '^(#|$)'--------------注意正则表达式的写法

以上的两种写法是一致的

-A数字 after 在A之后的数字行的内容

-B数字 before 在B之前的数字行的内容

---------------------------------------

cut命令 按照制定的内容将内容进行切割,相当于split函数

-d (delimiter) 制定分割的分隔符 默认的是Tab e.g. cut -d: #以:进行切割

-f 制定要打印的列 cut -d: -f 1

-c 按照字符进行切割 echo “weuhi-qiege-sdfijo”|cut -c 7-11 #切割qiege

----------------------------------------

sort命令 对内容进行排序

如果直接用sort命令而不制定按照的内容的格式进行排序,那么默认按照的方式是字符的字典顺序

-n 开关,对内容进行排序,排序格式按照的内容是数字 默认是升序

-r (reverse)降顺

-t c使用c作为字段分隔符

-k x对字段x排序 sort -t: -k 3 按照:进行分割后按照第三列进行分割

-----------------------------------------

uniq命令

将相邻的两行相同的内容进行移除

-c 用来统计重复的个数

cat num.txt | sort |uniq -c 用于统计文本中出现的内容

-----------------------------------------

文本分析工具

wc 对文本进行计数

-l 行数统计

-w 单词数统计

-c 字节统计

-m 字符统计(不显示)

-----------------------------------------

文本分析 对比文件

diff 对文本进行对比分析 输出保存到一个文件中,称呼其为“补丁文件”

使用时使用 -u作为“统一”格式的diff 适用于补丁文件,便于以后用patch命令进行打补丁

diff filename1 filename2

出现结果就是两者文件的不同 显示的是两个文件中的不同

filename1为左文件 < 原文件

filename2为右文件 >新文件

-----------------------------------------

patch 对文件进行大补丁

复制所作的改变到其他文件中,使用-b自动备份要改变的文件

diff -u foo.conf-broken foo.conf-works >foo.patch

patch -b foo.conf-broken< p=“”>

----------------------------------------

tr traslate 翻译转换

----------------------------------------

命令sed(stream editor)全文替换

但是其编辑的内容只是流的编辑,当然可以替换的内容重定向到文件

sed ‘s/search/replace/’将要找的内容(search)换成要替换成的内容(replace)

其中/是定界符 还可以是@ #等

g 全局开关,使得如果一行中出现多个要被替换的内容时可以全部被替换

i 忽略大小写

d 删除

命令前添加 m,n表示对[m,n]行区间的内容执行sed '87,93s/search/replace/'命令

m=87 n=93

sed '/cat/,/dog/s/search/replace'

遇到cat直到dog的内容被替换掉 [cat,dog]

-----------------------------------------

sed -e '表达式1' -e '表达式2' -e '表达式3'

-e开关用法 用一次sed可以执行多个表达式

-f开关用法 将命令的表达式写到文件中,然后用sed -f myrule.txt来执行

篇2:英语学习方法:英语输出学习

主动使用英语的主动英语输出:

Well I think I know what confectionery is. Well confectionery is all the sweet snack foods, such as sugar candies, chocolates,chewing gum and ice cream.These are all confectionery.

这段文章:Sugar confectionery:

Sugar confections include sweet, sugar-based foods, which are usually eaten as snack food. This includes sugar candies, chocolates, candied fruits and nuts, chewing gum, and sometimes ice cream不就是“英语使用的语言环境”吗?

在这个“英语环境”下,你表达Well I think I know what confectionery is. Well confectionery is all the sweet snack foods, such as sugar candies, chocolates,chewing gum and ice cream.These are all confectionery不就是“使用英语”吗?

你这么做,你的英语不就是“学以致用”,以“(主动)使用英语”的方式学习英语,边学边用,边用边学,而脱离了“学用脱节”,以“使用中文”的方式学习英语了吗?

你做不到这样“自己跟自己说英语”?你不坚持这么做下去,你怎么知道你不能?

我们再来一段英语让你对比和体验,让你终于明白一个“道理”(原来英语“高手们”的脑子里是这样运转的):

Cotton candy is a form of sugar we make by spinning the sugar in a spinning machine at high speed.

Machine-spun cotton candy was invented in 1897 by the dentist William Morrison and confectioner John C. Wharton and first introduced to a wide audience at the 1904 World's Fair as “Fairy Floss” with great success.

篇3:在word中创建PDF输出

从Word中创建PDF文档与保存文件一样轻松,事实上,这就是您要做的。单击word2007左上角的“MS Office按钮”,然后单击“另存为”右侧的三角,选择单击“PDF或XPS”。

在“作为PDF或XPS发布”“另存为”对话框中,设置“保存类型”为PDF(* .pdf)。键入文件名称(如果对建议名称不满意的话)。如果想预览生成的PDF文件,则单击勾选“发布后打开文件”。此文件会被默认的PDF阅读器打开,

注意,在“标准”与“最小”文件大小之间选择。通常在屏幕上显示时,图形的分辨率不需要高于当前屏幕的DPI(通常是96),但是对于打印质量来说,适当高一些分辨率是必要的。如果文档不需要打印,那么为了节省存储空间可以选择“最小”大小。然而,比较两个结果以确保它们没有令人不可接受的质量差异也是个好建议。

单击“选项”按钮查看附加设置。一般会发现“符合ISO 19005-1标准(PDF/A)(1)”选项所生成的文件比位图文本选项大很多(通常大80%)。同时,保真度也更高。注意,使用ISO选项会使“文档属性”选项变为灰色。选择所需要的其他选项,单击“确定”按钮,然后在“作为PDF或XPS发布”的“另存为”对话框中单击“保存”按钮。

篇4:CorelDraw中如何输出打印PostScript文件

问:CorelDraw如何输出打印PostScript文件?

答:用CorelDRAW 把CDR文件打成PostScript文件,不仅提高输出的速度,还可以避免因输出公司没有其中的某些字体而造成的麻烦,因此推荐制作人员自己打好PostScript文件再送去输出公司进行输出。

首先,我们要先安装一种叫Linotronic530的虚拟打印机,用添加打印机的面板添加。添加完,就打开Corel DRAW并打开要打印的CDR文件,按下打印键,在打印面板中选择Linotronic530打印机,并按下旁边的属性键,选择纸张?自定义纸张(如果稿件尺寸长大于457mm而宽小于457mm,请选择“纵向”),自定义纸张的长宽即是原稿(菲林)的尺寸加25mm选择打印机的分辨率2540dpi,

在打印机面板中按下“选项”将预览图下面的左起第1~6的按钮按下,剩最后两个。

并在预览图旁边的“选项”页面点选,将网频设为175lpi(原稿若有大面积渐变的情况下可选256-lpi,得到更高的输出质量),跟着按下面的“PostScript首选项”,将“使用PostScript第二级特性”选上回到刚才的上一步,按下“分色”页面,将“打印分色”项、“总是加印黑色”项选上(在原稿中凡是小于100%k的灰都要加1%的CMYK)。

搞定以上的设置,按下确定按钮,CorelDRAW 就会弹出对话框叫你输入要创建的PostScript文件的名字,写上名字就开始创建了,所用时间和文件的大小有关。

篇5:关于中望CAD图形输出研究

随着国家知识产权保护政策的深入和国外软件公司查处盗版软件力度的不断加大,CAD软件的正版化是必须面对的事实,我们应尽快采取正版化措施,中国人自主开发的CAD软件中望CAD,完全兼容目前普遍使用的Auto CAD。

在编写教材时,需要将中望DWG的图形插入到WORD等文字处理软件中, 我们对中望CAD图输出的各种方法,进行了分析比较,研究,下面简介有关中望CAD图输出的几个问题。

1.向WORD中直接插入中望DWG图形

这是一种最简单的办法,就是用鼠标选定要拷贝的图形,再到Word中。

下面举例说明:

(1)启动Microsoft Word和中望CAD。

(2)在中望CAD中打开图形文件,对其进行修改和编辑,作成自己需要的图形。

(3)按Ctrl+C,复制到剪贴板,提示选择对象时,用构造选择集的方法去选择对象。

(4)切换到Microsoft Word,将光标放在适应的位置上,Ctrl+V粘贴到Word中。

(5)调节图形的位置和大小。

(6)注意,如果使用的是Microsoft Word97,最好在粘粘后选择图形,击右键,弹出快捷菜单。从菜单中选择设置图片格式,然后选择位置选签,取消“浮于文字上方”选项。这样,以后的图片就不太可能变成大红叉了。

上述方法是利用Windows操作系统的对象链接嵌入功能,将中望DWG的图形复制粘贴到WORD中,优点是随时可以双击粘贴过来的图形,在中望CAD中对其进行修改和编辑。

对于WORD中的DWG图形,如果直接通过打印机打印,效果是不错的,但如果对于教材等出版物,线条却太细,与周边的字体看起来不协调。另外这种方法的缺点是分辨率有限,生成的文件容量过大。

2.将中望DWG的图输出成WMF格式文件

为了克服上述方法的缺点,我们采用输出WMF文件的方法。在中望CAD中,从文件下拉菜单中选择输出,将文件输出成WFM格式,单击保存,提示选择对象时,用构造选择集的方法去选择对象, 输出保存为一个WFM格式的文件。切换到WORD,将光标放在适当的位置上,从插入菜单中选择插入图片,然后选择来自文件,将刚保存的WMF文件插入。也可以用ACDsee打开WMF文件,再Ctrl+C, 在WORD文档中粘入。

采用这种方法,优点是文件体积大小减少,与上面第1种拷贝粘贴图形的方法相比,只有其四分之一左右。缺点是不可以双击图形在中望CAD中对其进行修改和编辑,如果要修改图形,就要在中望CAD中修改原DWG图形文件,然后重新生成WFM文件。

下面举例说明该用法:

(1)启动Microsoft Word和中望CAD。

(2)在中望CAD中打开图形文件,从“文件”下拉菜单中选择“输出”,将文件输出成WMF格式,

(3)单击“保存”,提示选择对象时,用构造选择集的方法去选择对象。

(4)切换到Microsoft Word,将光标放在适当的位置上,从插入菜单中选择插入图片,然后选择“来自文件”,将刚保存的WMF文件插入。

(5)调节图形的位置和大小。

3.插入图形的问题及解决

3.1.改变插入到WORD中的中望DWG图形的底色

无论是采用对象链接嵌入还是插入WMF文件的方法,输出图像的颜色通常也是与屏幕显示完全相同,平常使用的屏幕黑底色也一起放到图上了,即中望 CAD操作界面中的黑底白字效果,这可能与我们所需要的实际效果不同。因此首先控制输出图像的背景,一般情况下应改变图形屏幕的底色为白色。

这时我们可以使用“工具”菜单下的“选项”命令,在弹出的“选项”对话框中,选择“显示”选项卡,单击“颜色”按钮,在弹出的“颜色选项”窗口中,直接点击“颜色”中的白色或其它颜色后按两次回车,窗口背景颜色即发生变化。输出图像的颜色与实际绘图颜色完全一致。

3.2.初学者另一经常出现的问题时,要插入WMF文件时,找不到该文件,这种错误,有可能是未注意到WMF文件存盘的位置,另一个最易出现的毛病是根本就没有生成WMF文件。因为在中望CAD操作中,输出WMF文件,文件名,保存位置,点保存,这个运作操作实际上还未作完成,还要再选定生成WMF 文件的图形,而一般人的操作习惯是点击保存就完了,这种易出毛病的习惯在Auto CAD中也是一样的。这里特别给大家予以提出,请务必清醒,看命令区的提示。 .3. 保证输出图像的清晰度

我们知道,中望CAD中图形显示比例较大时,圆和圆弧看起来由若干直线段组成,这虽然不影响打印结果,但在输出图像时,输出结果将与屏幕显示完全一致,因此,若发现有圆或圆弧显示为折线段时,应在输出图像前使用viewres命令,并且选2000以上,使圆和圆弧看起来尽量光滑逼真。

3.4.无论是采用对象链接嵌入或插入WMF文件的方法将中望DWG的图形合并到WORD中,都会发现,除了我们选择的对象外,还有很多多余的空白,这是因为除了选择的对象外,中望CAD实际上是连图形窗口都一并输入了,解决的方法是在输出前,将图形调整到尽可能大,即在中望CAD中分别执行Z和 E命令,图形占满屏幕,再执行复制到剪贴板或输出成WMF文件操作。

3.5.将未设置线宽的中望CAD图直接插入到Word中,那么打印后图形中的线条会非常细,很多人采取绘图时改用多义线的办法来处理,其实用颜色来设置不同的线宽较好。也可以在对象特性对话框中将线宽改为适当的值,同时在输出时一定要将线宽开关打开。

根据以上方法,一般可以使插入到Word中的图形得到满意的结果。

篇6:命令的排列/任务调度/替换/文件名匹配/输出重定向Unix系统

#ls -a ; du -hs #ls -a bogusdir du -hs #make dep make clean make bzImage make modules make modules_install make install #gqview #ls -a ; du -hs #ls -a bogusdir du -hs #make dep make clean make bzImage make modules make modules_install make

#ls -a ; du -hs      #ls -a bogusdir && du -hs

#make dep && make clean && make bzImage && make modules && make modules_install && make install

#gqview &

#ls -a ; du -hs      #ls -a bogusdir && du -hs

#make dep && make clean && make bzImage && make modules && make modules_install && make install

#gqview &

#jobs

[1]+ Running gqview &

#gqview

[2]+ Stopped gqview

#bg

[2]+ gqview &

#command &>/dev/null &

#locate README.mouse

#less $(locate README.mouse)

#pidof rob

567

#kill 567

#kill `pidof rob`

#rm *.bak

#rm *[!6]*.bak

#ls *.????

#rm *[!4]?.*

#ls [13]*

#ls *[3-8]?.*

#rm !*

rm

rm: too few arguments

#find . -name [1-9]* -print

find: paths must precede expression

#find . -name '[1-9]*' -print

./346.bak

./124.bak

./583.bak

./311.bak~

#ls \\!*  或者 ls '!'*

!56.bak

#ls -l │ less

#rpm -qa │ grep ^x │ less

#ls >dirlist

#sort < dirlist >sdirlist

#ls │ sort >sdirlist

#echo “string” >>file

#command < file1 >file1

#command < file1 >>file1

原文转自:www.ltesting.net

篇7:英语阅读学习:需要“英语输入”和“英语输出”

英语阅读(学习)需要“英语输入”和“英语输出”。

而不是“中文输入”、“中文输出”。

“输出”即“英语使用的语言环境”。而这个所谓的“英语使用的语言环境”一般人又仅仅理解为“和别人,或老外说英语”。这种对“英语使用的环境”的理解过于狭隘了。

Sugar confectionery:

Sugar confections include sweet, sugar-based foods, which are usually eaten as snack food. This includes sugar candies, chocolates, candied fruits and nuts, chewing gum, and sometimes ice cream.

大多数学英语的人在这里读到这么好、这么漂亮的英语,都是处于一种“使用中文”又是“被动输入中文信息”的状态,而没有“主动使用英语”并“主动输出”的行为。也就是只有URead(而且是用中文Read),没有UTalk,难怪英语学了多年,一点进步没有。

使用中文被动输入中文信息:

Sugar confectionery:

Sugar confections include sweet, sugar-based foods, which are usually eaten as snack food. This includes sugar candies, chocolates, candied fruits and nuts, chewing gum, and sometimes ice cream.

“中文输入信息”演示:

sugar(糖)confectionery(这个生词什么意思?)

Sugar (糖)confections(什么意思?) include(包括) sweet(甜的), sugar-based(基于糖的) foods(食品), which are usually eaten as snack food(通常做为零食来吃). This includes (包括)sugar candies(糖果), chocolates(巧克力), candied fruits (糖水果)and nuts(什么东东?), chewing gum(口香糖), and sometimes ice cream(有时冰淇淋).

这种“使用中文”的语言输入,能把英语学好?就算是能,也是一种“事倍功半”的学习模式,也就是一个人学了十年英语还处于小学水平的表现。

篇8:shell脚本中取消重定向的方法实例

这篇文章主要介绍了shell脚本中取消重定向的方法实例,本文直接给出代码实例,需要的朋友可以参考下

在上一篇关于shell编程的例子中,有讲到把shell脚本进行扩展之后重定向到一个文件中,以便进行查看和调试www.jb51.net/article/62435.htm,但是,若是有另一种情况:只是在某些地方进行重定向,而其他地方不进行重定向。那么我们就来修改一下上一篇中的例子来进行这种需求的满足:

代码如下:

#!/bin/bash

function setlogfile

{

if ! [ -z “$1” ]; then

echo “logfilename is not empty!” >>kthh

exec 3>&1

exec 4>&2

exec 2>>$1

exec 1>>$1

fi

}

num1=$1

logfile=$2

execlogfile=$3

setlogfile ${execlogfile}

set -x

if [ $num1 -eq 0 ]; then

echo “num1 is 0”>>${logfile}

elif [ $num1 -ge 0 ]; then

echo “num1 is grate 0”>>${logfile}

else

echo “num1 is less 0”>>${logfile}

fi

exec 2>&4

exec 1>&3

if [ $num1 -eq 0 ]; then

echo “num1 is 0 again”>>${logfile}

fi

在函数setlogfile中添加了exec 3>&1;exec 4>&2这两句,而其中,3、1、4、2都是表示文件描述符,1是标准输出,也即是STDOUT,2是标准错误输出,即是STDERR,1和2本来是输出在显示器上的,而3、4是表示两个文件描述符,可理解成是两个保存1和2的临时变量, 3>&1表示把文件描述符1的赋值给文件描述符3,也可以理解为是把文件描述符1(当前标准输出)的规则保存到了文件描述符3中,这时再把1的输出重定向到文件中,在下面的shell程序中,我们又使用了1>&3这就表示是把保存在文件描述符3中的原标准输出的规则重新赋值给文件描述符1,原来标准输出的规则是输出到显示器上,而不是输出到一个文件中,

这就是整个重定向和取消重定向还原的过程。2和4也是一样的道理。

闲话少说,先看运行结果:

代码如下:

[root@UFO shellprogram]# ./testexecutelog.sh 0 msglog execlog

+ exec

+ ‘[‘ 0 -eq 0 ‘]‘

+ echo ‘num1 is 0 again‘

[root@UFO shellprogram]# cat execlog

+ ‘[‘ 0 -eq 0 ‘]‘

+ echo ‘num1 is 0‘

+ exec

看到结果了吗??? 没看到么??? 那就仔细看了,^_^

篇9:linux中nginx 301重定向跳转方法linux操作系统

linux中nginx 301重定向跳转方法总结,有需要的朋友可参考一下,

第一种情况:访问aaaaaaa站定向到bbbbbbbbbbb站

代码如下复制代码•server {

•server_naaaaaaame www.aaaaaaa.com ;

•rewrite ^(.*) www.bbbbbbbbbbb.com$1 permaaaaaaanent;

•}

第二种情况:不是访问aaaaaaa站的全部重定向到指定页面

代码如下复制代码•server {

•server_naaaaaaame www.aaaaaaa.com;

•if ($host != ‘aaaaaaa.com’ )

•{ rewrite ^/(.*)$ www.bbbbbbbbbbb.com/$1 permaaaaaaanent; }}

如果写在第一个server段 使用IP访问时也将被重定向

第三种带WWW或者不带WWW之间的跳转

代码如下复制代码

•server

•{

•server_naaaaaaame c.net

•rewrite ^/(.*)$ www.c.net/$1 permaaaaaaanent;

•}

下面是nginx的规则跳转:

首先一、得在你的域名管理里面定义 c.com和www.c.com指向你的主机ip地址,我们可以使用nslookup命令测试:直接输入 nslookup c.com和nslookup www.c.com 都有指向ip的A记录即可,

第二、我们才能在nginx里面配置rewrite规则。打开 nginx.conf文件

找到你的server配置段:【以下是我的server配置段】

代码如下复制代码server

{

listen 80;

server_name www.c.com c.com;

if ($host != ‘www.c.com’ ) {

rewrite ^/(.*)$ www.c.com/$1 permanent;

}

这样就是用户直接访问c.com直接跳转的www.c.com。即让不带www的域名跳转到带www的域名。

三、我们可以是多个二级域名、三级域名都可以随意跳转、或者让它们都跳转到blog.c.com这个域名

同意添加如下语句即可:

代码如下复制代码server

{

listen 80;

server_name blog.c.com wgkgood.gicp.net;

if ($host = ‘wgkgood.gicp.net’ ) {

rewrite ^/(.*)$ blog.c.com/$1 permanent;

}

篇10:Wordpress中Feed输出格式丢失的解决方法

我的博客从去年某一天开始就莫名其妙的丢失Feed输出格式,我一直都不太清楚,直到有一天一个朋友特意在博客文章下面留言我才发现,竟然格式都没了,然后我觉得也莫名其妙的,怎么格式丢了呢,原来是好好的呀。我一直怀疑是程序问题,所以暂时也没有管,

前一阵子升级到了从2.6升级到了2.7,发现问题依旧,我就奇怪了。然后就在网上开始找相关的处理方法,最后终于找到了,原来竟然是后台设置的问题。进行如下操作:【后台>设置>阅读】把”Feed中每篇文章,显示”设置成”全部文字”即可”。

本文来自:blog.d8in.com/posts/310.html

将文件格式化并输出

VFP编程:VFP报表输出

学习中的座右铭

重定向命令在安全方面的应用

从生活中学习写作

下载Linux中重定向输出的学习(整理10篇)
Linux中重定向输出的学习.doc
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
点击下载本文文档