关于输入输出和重定向:

默认情况下标准I/O的输入为键盘,输出为显示屏。输入和输出可以通过符号‘>’进行重定向。

例如可以通过命令:$>newfile

来创建一个新文件(如果newfile早已存在,则会将其清空),除此之外还可以通过touch命令创建一个空文件。向一个文件中输入一些内容,可以这么写:$ echo something > filename,在文件尾部添加一些内容:$echo something >> filename。

在Linux中标准文件有特定的代码表示:

比如命令:$echo $num| bc 2>/dev/null

就是把该命令产生的错误信息重定向输入到文件/dev/null中(默认情况下,产生的标准错误也是输出到屏幕的)。

还例如:$echo $str|grep "\.">/dev/null 2>&1

把该命令产生的标准输出重定向输出到文件/dev/null中,而把该命令产生的错误信息重定向输出到显示屏上(这种&用法是不是有点象C语言里面的取地址?)

touch命令

创建一个新的空文件,或者更改已存在文件的修改时间。

例子:$touchfilename

如果该文件不存在,则创建一个空的文件,反之将该文件的修改时间改为系统的当前时间。

例子2:$touch -d 20130828 filename

将该文件的修改时间改为20130828。

cat命令

以文本形式显示文件的内容。

3个有用的参数:-n -b -s

-n:给输出的文本的行数进行编号(在命令行中看代码很有用)

-b:也是给行数编号,只是滤掉空白行不编号。

-s:如果文本中有多个空白行,则合并为一个空白行(所以加-s参数后,还是会有空行,不像加-b参数)

cat命令可以和重定向符一起使用,例如cat file1.txt >>file2.txt,将一个文本文件添加到第二个文本文件尾部。Cat> filename,清空文件。

sort命令

排序,接受一段文本,一般按行排序。

默认情况下,指定关键字都是按照字典顺序排序,默认分割符为Tab或者空格。

参数:

-r:逆向排序,默认从小到大。

-n:按数值排序,默认数字将按字符串比较大小。

-t:制定分割符,默认为Tab或者空格。

-k:指定作为关键字的区域,例如 -k 2.5,3.9的含义是从第二个域的第五个自字符到第三个域的第九个字符中间所有的字符作为排序的字符串,所以-k参数的格式为:

-k [域.字符序号,域.字符序号]

注意:这里默认从1开始计数,而不是0。

其实老版Unix的sort命令,貌似比这个还要复杂。

uniq命令

比较相邻的行,如果相邻行重复,则只显示一行。

例如:$uniqfile.txt,或者sort -r file.txt | uniq

file命令

显示文件类型。

例如:$ file *,显示当前目录下所有文件(包括目录)的类型。

每天学点Linux:二的更多相关文章

  1. 24小时学通Linux内核之进程

    都说这个主题不错,连我自己都觉得有点过大了,不过我想我还是得坚持下去,努力在有限的时间里学习到Linux内核的奥秘,也希望大家多指点,让我更有进步.今天讲的全是进程,这点在大二的时候就困惑了我,结果那 ...

  2. 24小时学通Linux内核--内核探索工具类

    寒假闲下来了,可以尽情的做自己喜欢的事情,专心待在实验室里燥起来了,因为大二的时候接触过Linux,只是关于内核方面确实是不好懂,所以十天的时间里还是希望能够补充一下Linux内核相关知识,接下来继续 ...

  3. LINUX二十个基础命令

    LINUX二十个基础命令 一. useradd命令 1.命令格式: useradd 选项 用户名 2.命令功能: 添加新的用户账号 3.常用参数: -c comment 指定一段注释性描述.-d 目录 ...

  4. 为什么你总是学不好Linux技术?这是我的答案。

    摘要: 我们为什么要学习Linux,最近几年Linux发展迅速,特别服务器领域,带来了很多新技术,云计算,虚拟化,大数据等技术,还有安全方面都有了很大的发展同时也给了Linux运维工作带来了,更多的要 ...

  5. 24小时学通Linux内核之有关Linux文件系统实现的问题

    有时间睡懒觉了,却还是五点多醒了,不过一直躺倒九点多才算起来,昨晚一直在弄飞凌的嵌入式开发板,有些问题没解决,自己电脑系统的问题,虽然Win10发布了,,但我还是好喜欢XP呀,好想回家用用家里的XP来 ...

  6. 24小时学通Linux内核之如何处理输入输出操作

    真的是悲喜交加呀,本来这个寒假早上8点都去练车,两个小时之后再来实验室陪伴Linux内核,但是今天教练说没名额考试了,好纠结,不过想想就可以睡懒觉了,哈哈,自从大三寒假以来还没睡过懒觉呢,现在也有更多 ...

  7. 24小时学通Linux内核之内存管理方式

    昨天分析的进程的代码让自己还在头昏目眩,脑子中这几天都是关于Linux内核的,对于自己出现的一些问题我会继续改正,希望和大家好好分享,共同进步.今天将会讲诉Linux如何追踪和管理用户空间进程的可用内 ...

  8. 从零开始学Xamarin.Forms(二) 环境搭建、创建项目

    原文:从零开始学Xamarin.Forms(二) 环境搭建.创建项目 一.环境搭建 Windows下环境搭建:     1.下载并安装jdk.Android SDK和NDK,当然还需要 VS2013 ...

  9. 从头开始学JavaScript (十二)——Array类型

    原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...

  10. MINA、Netty、Twisted一起学(十二):HTTPS

    由于HTTPS协议是由HTTP协议加上SSL/TLS协议组合而成,在阅读本文前可以先阅读一下HTTP服务器和SSL/TLS两篇博文,本文中的代码也是由这两篇博文中的代码组合而成. HTTPS介绍 上一 ...

随机推荐

  1. 《javascript dom编程艺术》笔记(二)——美术馆示例

    这几天把这本书看完了,里面大部分知识我已经会了,所以看得就略简单,好多地方都没有再去动手去做,我知道这样是不对的,以后补吧. 现在我要做的是把这本书的笔记完结掉,不然总觉得有啥事没有做. 这个版本不是 ...

  2. 【servlet3.0新特性】Annotation注解配置

    servlet3.0新特性Servlet3.0引入的若干重要新特性,包括异步处理.新增的注解支持.可插性支持等等,为读者顺利向新版本过渡扫清障碍.Servlet3.0新特性概述Servlet3.0作为 ...

  3. python模块—socket

    创建套接字: socket.socket(family,type[,protocal]) 使用给定的地址族.套接字类型.协议编号(默认为0)来创建套接字. 1. socket类型: socket.AF ...

  4. EntityFramework、Dapper vs 草根框架性能

    EntityFramework.Dapper vs 草根框架性能 扯淡 当前市面上 ORM 很多,有跑车型的,如 Dapper,有中规中矩型的,如 Mybatis.Net,也有重量型的,如 Entit ...

  5. Apache commons (Java常用工具包)简介

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问http://jakarta.apache.org/commons/index.html Be ...

  6. 强大的DELPHI RTTI–兼谈需要了解多种开发语言

    一月 27th, 2005 by 猛禽 风焱在<“18般武艺”?>中说到他碰上的被多种语言纠缠的问题.我在回复里说: 很多语言只要能看懂几分就行了,没必要每一种都精通 但是如果只会很少的一 ...

  7. hibernate详解

    Hibernate原理与应用 主要内容 1.引入 2.安装配置 3.基本概念和CURD 4.HQL和Criteria 5.关联映射 6.继承映射 7.集合映射 8.懒加载 9.缓存 10.事务 11. ...

  8. Count the Colors(线段树,找颜色段条数)

    Count the Colors Time Limit: 2 Seconds      Memory Limit: 65536 KB Painting some colored segments on ...

  9. javascript中数据类型转换

    转换为数字: parseInt():转换为整数型数值:从下标0开始判断,若为数值型则继续直到遇到非数值,返回前面的整数值: 小数点无效,若0开始为非数值则返回NaN: 转换空字符串会返回NaN: 能转 ...

  10. 微信开发-Jssdk调用分享实例

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO ...