`
fly_sky_why
  • 浏览: 7766 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

开发人员需要熟知的常用Linux命令之一:重定向操作符

阅读更多
转载:http://blog.csdn.net/sfdev/archive/2008/07/29/2729680.aspx
记得以前整理过一份常用Linux命令清单,但现在怎么找也找不到了,只能再整理一份了;

作为一个开发人员我们登陆linux可能做的一些事情有:svn更新代码、发布应用、linux服务器之间传输文件、直接在服务器上查找修改文件等;以下将罗列一些常用的命令清单,当然只是各个命令中最常见的一些用法,如果要看全部的参数以及功能,可以求助于help或者man;

最常见的cd ll ls ~ . cat rm mkdir cp mv du df就不多介绍了;

su :在各用户之间切换,注意su admin与su - admin的区别,前者不会重新加载admin用户的环境变量,而后者会重新加载;

tail :查看文件尾部的信息,一般配合-f -nXX参数使用,代表查看文件最后XX行,且跟随文件,也即如果文件发生变化,则变化部分自动显示;

ifconfig :用来查看本机IP地址,位于/sbin/目录下,默认不在环境变量中;高级功能是可以变更IP地址等;

w :查看当前服务器中有哪些登陆用户,以及他们的来源IP,登陆时间等;

uptime :查看当前系统运行情况,比如运行时间,最近1、5、15分钟内的平均load;

top :动态显示当前系统运行情况,类似于windows的任务管理器;

kill killall :强制关闭某个进程,一般配合-9使用,意思是立即杀掉而不是等待应用自动关闭;

diff :比较两个文件的异同,显示的信息是两者不同之处,具体到某行;

wget curl :抓取制定URL的页面信息,前者生成文件,后者直接在控制台打印;

tracert :跟踪某个IP的路由情况,在解决一些网络问题时有用;

netstat :查看当前系统被占用的端口信息,一般配合|grep使用,查看某个特定端口是否被占用;

nohup & :指定应用在后台执行;前者当用户退出secureCRT时应用照常运行,而后者只在用户未退出secureCRT时有效,退出后进程失效;这点在我们执行一个需要耗时很长的脚本时非常有用;

> >> < :输入信息到目标,或者从目标读取录入信息;>表示直接覆盖,而>>表示追加;

下面重点介绍下由此展开的重定向操作符,比如我们经常看到这样的语句:mysh > mylog.txt 2>&1是什么意思?

重定向操作符可以用来将命令输入和输出数据流从默认位置重定向到其他位置,其输入或输出数据流的位置称为句柄;常见的句柄有三种,当然句柄可以自行扩展,一般的OS都提供类似的功能:
句柄 句柄代号 句柄描述
STDIN 0 键盘输入
STDOUT 1 输出信息到提示符窗口
STDERR 2 输出错误信息到提示符窗口

默认的 < 重定向输入操作符是 0,而默认的 > 重定向输出操作符是 1。键入 < 或 > 操作符之后,必须指定数据的读写位置,可以是文件名或其他现有的句柄。
要指定重定向到现有句柄,请使用与 & 字符,后面接要重定向的句柄号(即 &句柄号)。
例如,下面的命令可以将句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT):2>&1
下表列出了可用于重定向输入和输出数据流的操作符:
重定向操作符 功能描述
> 将命令输出写入文件或设备,而不是命令提示符或句柄
< 从文件而不是从键盘或句柄读入命令输入
>> 将命令输出添加到文件末尾而不删除文件中已有的信息
>& 将一个句柄的输出写入到另一个句柄的输入中
<& 从一个句柄读取输入并将其写入到另一个句柄输出中
| 从一个命令中读取输出并将其写入另一个命令的输入中;也称为管道操作符

现在我们回过头来看看上面的那条语句mysh > mylog.txt 2>&1就可明白:

> mylog.txt意思是将标准输出重定向到mylog.txt,等价于mysh 1> mylog.txt;

2 >& 1 意思是将错误输出重定向到句柄1标准输出;综合起来就是mysh命令执行过程中产生的标准输出和错误输出都会被重定向到mylog.txt中;

重定向的功能十分强大,有兴趣的可以去尝试各种不同的组合,看看前后位置变下会有什么结果?

某些时候我们可能并不希望记录什么标准输出或者是错误输出,那可以用mysh >null 2>null或者mysh >/dev/null 2>/dev/null
分享到:
评论

相关推荐

    嵌入式Linux应用程序开发详解(完整版-第1-12章).pdf

    对于嵌入式Linux开发人员而言,需要掌握Linux操作系统的基本知识和操作技能,包括能够独立安装Linux操作系统,熟练使用Linux系统的基本命令,认识Linux系统的启动过程,以及能够独立安装软件和设置环境变量。...

    Linux常用命令简介

    在Linux操作系统中,掌握常用命令是日常操作的基础。本文将详细介绍几个重要的Linux命令,包括`su`、`pwd`、`cd`、`ls`、`find`、`tar`、`gzip`、`mkdir`、`cp`、`rm`和`mv`,这些都是新手和有经验的用户都应熟知的...

    Linux入门教程.doc

    Linux,作为全球最受欢迎的开源操作系统之一,其发展历程源自于对自由、开放理念的追求。上世纪70年代,UNIX作为主流操作系统因其高昂的价格而受限,激发了一位被称为“牛人”的开发者构想出一个完全开放的系统——...

    Linux 整理笔记

    Linux是世界上最古老的操作系统之一,其历史可以追溯到1969年,由肯·汤普森和丹尼斯·里奇在贝尔实验室为AT&T公司开发的Unix系统。随着时间的推移,不同公司和组织对Unix进行了不同的发展和创新。例如,IBM推出了...

    Linux下关于网络编程

    随着时间的推移,Linux已经成为最流行的操作系统之一,不仅用于个人电脑,还广泛应用于服务器、嵌入式系统等领域。尽管Linux不是Unix,但它继承了Unix的核心思想和技术特点,并在此基础上不断创新和发展。 #### 三...

    自己动手打造嵌入式Linux软硬件开发环境

    尽管最初他只是出于个人兴趣,并未期望这一项目能发展成为像GNU那样的大型开源项目,但随着时间的发展,Linus的这一“爱好”最终演变成了我们今天所熟知的Linux操作系统。 Linux自诞生之日起便以其开放的源代码吸引...

    linux入门教程(发展史,学习方法,linux的安装和系统的基本命令的使用)

    Linux,作为一种开源、免费的操作系统,自1991年Linus Torvalds发布第一个内核版本以来,已经发展成为全球范围内广泛使用的操作系统之一。它不仅在个人电脑领域有着广泛的运用,更是在嵌入式系统、服务器、云计算等...

    LINUX教程之2-linux简介

    Linux教程之2:Linux简介 Linux,一个自由和开放源代码的操作系统内核,由芬兰的林纳斯·托瓦兹(Linus Torvalds)在1991年首次发布。Linux内核与各种免费软件组件相结合,形成了我们熟知的各种Linux发行版,如...

    嵌入式Linux系统开发技术详解-基于ARM 第11章

    Busybox是一个集成了许多常用命令的软件集合,它为嵌入式Linux系统提供了一个精简且功能强大的环境。Busybox能够将数十个甚至上百个最常用的Linux命令和工具整合进一个单一的可执行文件中,极大地节省了存储空间,...

    年度十佳Linux技巧汇总

    - **五大非常见 Linux 命令**:除了常见的 Linux 命令外,还有许多功能强大的命令不为人所熟知。本文档列出了五个不常见的但非常有用的 Linux 命令,并解释了它们的用途。 - **Linux 正则表达式技术指南**:正则...

    DOS命令大全常用Dos命令

    在计算机操作系统的历史上,DOS(Disk Operating System)是一个经典的命令行界面,它以其简洁而强大的功能被广大用户所熟知。即便在图形化界面普及的今天,了解和掌握一些基本的DOS命令仍然非常有用,尤其是在系统...

    linux云计算常用单词和语句汇总

    不仅覆盖了虚拟化技术、操作系统管理、网络安全配置等多个方面,而且提供了实际操作中常用的命令和术语,为学习Linux云计算课程和从事相关工作的人员提供了极大的便利,帮助他们提升工作效率和沟通能力。

    Linux概述基本命令.docx

    Linux操作系统是一种广泛使用的开源操作系统,由林纳斯·托瓦兹于1991年基于Minix系统开始开发。Linux的设计灵感来源于Unix,但它遵循的是GNU项目的精神,旨在创建一个完全自由且可自由分发的操作系统。Linux的核心...

    Linux.zip linux使用说明ppt

    1. **权限管理**:Linux采用rwx(读、写、执行)权限模型,通过chmod命令可以改变文件和目录的权限。 2. **进程管理**:使用ps查看进程,kill或pkill结束进程,nohup或screen确保命令在后台持续运行。 3. **网络配置...

    Slackware Linux Essentials (PDF)

    - **开发环境**:对于需要一个稳定且可定制的操作系统作为开发平台的开发者来说,Slackware是一个不错的选择。 - **服务器部署**:由于其高稳定性和安全性,Slackware常被用作服务器操作系统,特别是在需要高度可靠...

    常用dos命令,dos基础学习

    ### 常用DOS命令与基础知识详解 #### DOS概述 DOS,全称为Disk Operating System,即磁盘操作系统,是一种广泛应用于个人计算机的操作系统。虽然随着Windows等图形界面操作系统的普及,DOS逐渐淡出人们的视线,但...

Global site tag (gtag.js) - Google Analytics