关于输入输出和重定向:

默认情况下标准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. seajs 学习笔记

    seajs的作者是玉伯,具体好处优点等详见官方网址 介绍 1 模块定义define define(function(require,exports,module){ //require 引入需要的模块 ...

  2. Moutain Tai notes

    rest 40shaxian 18 drumsticks  13零食 11.5+21车费5门票62大衣10面14 > 194.5 notes :::: 岗位职责:1.基于Drupal系统的产品功 ...

  3. genToken- Php file

    <?php public function genToken($len = 32, $md5 = true) { # Seed random number generator # Only ne ...

  4. 3D模型选中显示样式改变

    osg::ref_ptr<osg::Material> material = new osg::Material(); //模型材质信息 material->setTranspare ...

  5. ThinkPHP中 按条件查询后列表显示

    最近在项目中遇到了需要根据下拉框的条件筛选出符合条件的数据,然后进行列表显示的问题. 在ThinkPHP中进行列表显示的传统过程:通过在后台控制器中查询出数据,然后通过$this->assign ...

  6. 26个jQuery使用小技巧(25)

     下面列出了一些Jquery使用技巧.比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器.预加载图片.页面样式切换.所有列等高.动态控制页面字体大小.获得鼠标指针的X值Y值.验证元 ...

  7. Drools

    http://www.infoq.com/news/2009/06/drools-5.0-release http://www.javacodegeeks.com/2014/03/event-proc ...

  8. CF卡是什么

    CF卡(Compact Flash)最初是一种用于便携式电子设备的数据存储设备.作为一种存储设备,它革命性的使用了闪存,于1994年首次由SanDisk公司生产并制定了相关规范.当前,它的物理格式已经 ...

  9. JavaEE Tutorials (16) - Java消息服务概念

    16.1JMS API概述198 16.1.1什么是消息传送198 16.1.2什么是JMS API199 16.1.3何时使用JMS API199 16.1.4Java EE平台如何使用JMS AP ...

  10. Android 开发ListView适配器优化

    我们都知道Android中Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View.想过没有? 在我们的列 ...