关于输入输出和重定向:

默认情况下标准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. Android 图片平铺效果实现的3种方法

    Html中平铺的效果,那么我们都是怎么样才能实现的那,我们其实主要用到的就是api,我们一开始new一个bitmap,就可以了,那么我们就来说说第二种方法,那就在用到了xml,上面我们说了两个方法,但 ...

  2. 新学习的Python的代码(while循环)

    直接上代码: # while.py number = 23 isRun = True while isRun: intt = int(raw_input('请输入一个整数 : ')) if intt ...

  3. SQL Server 的三种用户自定义函数

    create function fun_A()   #标题函数.create function fun_name() returns output_type as begin return value ...

  4. UEFI引导系统

    UEFI引导系统 1 2 3 4 5 6 7 分步阅读 现在的电脑大多数使用了UEFI引导系统(原来都是使用BIOS),从而加快启动速度,但同时也给用惯BIOS的用户带来很多困惑!为啥电脑不能识别制作 ...

  5. Qt通过Http上传文件(路过)

    web端: <?php $c = $GLOBALS['HTTP_RAW_POST_DATA']; $n = $_GET["filename"]; $fp = fopen($n ...

  6. CVTE 嵌入式软件工程师 二面

    昨天晚上收到了二面的通知,激动啊-第二天提前20分钟到达指定地点,然后一起做大巴去到CVTE总部,发现笔试刷掉的人好像并不是很多.我们一下车被带到了公司的电影院,听演唱会.呵呵,挺有意思的,有一个漂亮 ...

  7. MD5和sha1加密算法

    在很多电子商务和社区应用中,我们都要存放很多的客户的资料,其中包括了很多的隐私信息和客户不愿被别人看到的信息,当然好有客户执行各种操作的密码,此时就需要对客户的信息进行加密再存储,目前有两种比较好的加 ...

  8. WebPart设置杂项

    CS写法:                    } 后台写法:  public D_ZoneLimitView WebPart { get; set; }

  9. C++中operator关键字(重载操作符)

    operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算 ...

  10. 从UIImage的矩阵变换看矩阵运算的原理

    1.矩阵的基本知识: struct CGAffineTransform {  CGFloat a, b, c, d;  CGFloat tx, ty;}; CGAffineTransform CGAf ...