网站运营
位置:首页>> 网站运营>> 详解Linux重定向用法

详解Linux重定向用法

作者:良许  发布时间:2022-04-01 13:20:01 

标签:Linux,重定向,用法

相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,就不可避免的需要较多的鼠标与键盘的操作,就会比较繁琐。那么有没有可以省掉这些繁琐操作的复制粘贴的方法呢?

答案是肯定的,那就是重定向。重定向是一种高效的方法,无需大量的鼠标与键盘操作就可以完成数据的转移。重定向可以分为输入重定向以及输出重定向这两种类型。由于所有程序都有输入或者输出,因此输入和输出的重定向是任何编程语言或脚本语言都自带的功能。

每当你与计算机交互时,重定向就必然会发生。学会使用重定向,不仅可以让你与计算机更好地交互,还可以提高你的工作效率,因此,请让良许为你讲解 Linux 系统中重定向的常见用法:

Linux 中的数据流

谈到 Linux 的重定向,就不得不提以下这3种数据流:

  • 输入信息会从 stdin 中读取(标准输入,通常是键盘或鼠标)。

  • 输出信息会被输出到 stdout (标准输出,一个文本文件或者数据流)。

  • 错误信息会被输出到 stderr。

了解了这些数据流的存在,在你使用 Shell 时,你就可以更好地控制数据的流向了。

在 Linux 系统中,标准输入,标准输出以及标准错误都作为文件存在。你可以在 /dev 目录下看到它们:


$ ls /dev/std*
/dev/stderr /dev/stdin /dev/stdout

重定向输出

在 Linux 系统中,使用 > 字符表示重定向输出。例如,将 ls 命令的输出重定向到一个文件中:


$ ls > list.txt

执行以上命令后,屏幕上并不会显示 ls 命令的输出信息,因为输出信息已经被重定向至 list.txt 文件中了。

除此之外,重定向还有许多用途,它还可以用于复制文件的内容,而且不限于复制文本文件,二进制文件也可以复制:


$ cat image.png > picture.png

如果你想要将一个文件的内容复制到另一个文件的末尾,你只需将 > 字符换成 >> 字符串即可,像这样:


$ cat lxlinux >> alvi

重定向输入

与重定向输出相反,重定向输入使用的是 < 字符。

输入重定向可以将输入信息重定向至命令中作为参数使用。该功能可能比较少用,但是,当命令需要一个参数列表时,而这些参数都存在一个文件中,然后你想快速地将它们从文件中复制粘贴到终端,这时这个功能就能派上用场了。

例如,package.list 里记录了你需要安装的包的列表,而你想要快速地安装所有的包,只需执行以下这一条命令,就能一次性安装 package.list 里的所有包:


$ sudo dnf install $(<package.list)

输入重定向的常见用法是 Here-document (简称 Here-doc) 以及 Here-string 。

Here-doc 将输入的文本块重定向至标准输入流,直至遇到特殊的文件结束标记符为止(文件结束标记符可以是任意的唯一的字符串,但大部分人都默认使用 EOF)。

你可以尝试在终端输入以下命令(直到第二个 EOF 字符串结束):


$ cat << EOF
> alvin
> lxlinux.net
> EOF

预期的输出应该是这样的:

alvin
lxlinux.net

Here-doc 是 Bash 脚本编写者们将多行文本转储到文件或屏幕上的常用技巧。

Here-string 与 Here-doc 相似,但是它只有一个字符串,或者几个被引号括起来的字符串:


$ cat <<< alvin
alvin
$ cat <<< "alvin lxlinux.net"
alvin lxlinux.net

重定向错误信息

错误信息默认会进入叫 stderr 的流,使用 2> 可以对其进行重定向。例如,将错误信息重定向到名为 output.log 的文件中:


$ ls /nope 2> output.log

重定向数据至 /dev/null

就像标准输入、标准输出以及标准错误一样,在 Linux 文件系统中,空,也存在一个文件与之对应,它叫做 null ,放在 /dev 目录下。为了方便读,人们经常省略斜杠,直接把他读作 dev null 。

/dev/null 并不保存数据,被写入 /dev/null 的数据最终都会丢失,就像被丢进虚空中一样。因此,你可以使用重定向将不需要的数据输送到 /dev/null 。例如,find 命令的输出往往很冗长,而且在搜索文件时还经常会报告权限冲突的错误,像这样:


$ find ~ -type f
/home/seth/actual.file
find: `/home/seth/foggy': Permission denied
find: `/home/seth/groggy': Permission denied
find: `/home/seth/soggy': Permission denied
/home/seth/zzz.file

这时,你就可以将错误信息重定向到 /dev/null ,以过滤掉不必要的信息,像这样:


$ find ~ -type f 2> /dev/null
/home/seth/actual.file
/home/seth/zzz.file

善用重定向

在 Bash 中,重定向是转移数据的一种高效方法。你可能并不会总是使用重定向,但是学会如何使用重定向,在你需要的时候可以让你省掉许多不必要的复制粘贴操作,因此也节省了许多操作鼠标与键盘的时间。请不要执着于复制粘贴了,使用重定向可以提高你的工作效率,难道,它不香吗?

来源:104.116.116.112.58.47.47.111.115.46.53.49.99.116.111.46.99.111.109.47.97.114.116.47.50.48.50.48.48.55.47.54.50.50.48.51.50.46.104.116.109.

0
投稿

猜你喜欢

  • 免费开源博客程序wordpress正式发布wordpress 3.2版本,并同时发布了中文版本。目前官方下载地址已经替换为wordpress
  • 网页游戏联合运营 引领站长盈利新方向8月6日,老牌社区软件提供商动网进军网页游戏领域,推出了“泡泡玩”联合运营平台,将网页游戏以联合运营的方
  • 今天,我们很高兴地告诉大家 Google(谷歌)发布了针对中文用户的谷歌视频搜索。通过谷歌视频搜索,大家可以方便地搜索众多的中文视频,找到自
  • 怎么临时性地改变 MAC 地址?你可以在 Linux 运行的时候改变 MAC 地址。需要注意的是当 MAC 地址转换的那一会时间,你的网络会
  • 碰到CC攻击请把下面的代码放做成conn.asp,原理大家可以自己研究<% DimfsoObject DimtsObject dimf
  • Google adsense终于改进了广告打开方式了,由原理的同一窗口打开改为新窗口打开,就像当初google搜索页面的窗口打开方式变化一样
  • 这篇文章是VMware虚拟机的数据恢复的一个案例,虽然整个VMware虚拟机的数据恢复过程只需要三步,但是前后的问题分析和经验总结值得您借鉴
  • 例如:文章分页问题,每个版本都存在问题但一直也没能很好的解决,随着官方最新的版本dede v5.6的发布,但升级后发现文章分页全部变成竖排了
  • 无论是对普通网络冲浪者还是网站管理员来说,Google都是目前世界范围内最受欢迎的搜索引擎。它每天处理的搜索请求高达1.5亿次,几乎占全球所
  • 大家在转移国内域名到Godaddy主机时,要注意使用的邮箱,建议最好使用国外服务商的邮箱hotmail或gmail之类的,不要使用国内的邮箱
  • 一、Alarm! Disaster is Fall……糟糕的事情总是在人们最不想它出现的时候出现。这天,那台4400的服务器,就这样忽然死亡
  • Firefox 3 Final 很可能会在下个月发布。很多 Firefox fans 都已按耐不住,不断的到Mozilla FTP上寻找这个
  • 1、经常规律性的更新文章2、确保服务器工作正常3、使页面尽量简洁,确保打开速度快4、检查内部链接结构,去除死链接和重复链接5、尽量多从正规和
  • .htaccess文件(或者”分布式配置文件”提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,
  • 作为站长,您对论坛中会员的积分消费一定很熟悉。当会员对积分的需求增大,通过发帖、上传附件等增加积分的活动不能满足时,他还可以通过支付宝购买积
  • Linux系统的Swap分区,即交换分区,通常也称为虚拟内存,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存
  • 中国电信最近对于Google若干服务(Google工具栏、Google拼音、Google Picasa等)的屏蔽是一个很特别的屏蔽,因为这些
  • 二、防病毒系统1、安装McAfeeuvscanforlinuxMcAfeeuvscanforlinux虽然是试用,但是没有什么限制,可以升级
  • 当 VPS 出现问题的时候,就需要和 VPS 服务商联系,希望能尽快解决问题。这里涉及到一个如何和 VPS 服务商沟通的问题。其实沟通是一门
  • 电脑辐射会渗透皮肤激活黑色素母细胞,促使黑色素生成以抵挡辐射,如不适当清洁和防护会导致黑色素沉积或老死在皮肤内不易代谢出使得皮肤容易长斑,肤
手机版 网站运营 asp之家 www.aspxhome.com