关于输入输出和重定向:

默认情况下标准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. 再谈PHP、Python与Ruby

    一句话总结 简单地总结: 假如你想帮他尽快找个活儿,赚到钱,推荐PHP. 假如你想让他成为一个高效工程师,推荐 Python. 假如你想让他爱上他的工作,推荐 Ruby. 语言的选择 编程语言非常重要 ...

  2. 从零开始PHP学习 - 第一天

    写这个系列文章主要是为了督促自己  每天定时 定量消化一些知识! 同时也为了让需要的人 学到点啥~! 本人技术实在不高!本文中可能会有错误!希望大家发现后能提醒一下我和大家! 偷偷说下 本教程最后的目 ...

  3. Moutain Tai notes

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

  4. linux命令学习02-通过tomcat学习ps和netstat

    问题:如何查找tomcat进程,以及tomcat占用的端口号? 1.ps -ef|grep tomcat root 1984 1 19 10:20 ? 00:00:10 /opt/jdk1.7.0_8 ...

  5. spoj TSUM - Triple Sums fft+容斥

    题目链接 首先忽略 i < j < k这个条件.那么我们构造多项式$$A(x) = \sum_{1现在我们考虑容斥:1. $ (\sum_{}x)^3 = \sum_{}x^3 + 3\s ...

  6. java面向对象之 封装 Encapsulation

    什么是封装:对象中的成员该隐藏的隐藏.该公开的要公开 封装:顾名思义,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据和行为(或功能)相结合,形成一个有 ...

  7. J2SE知识点摘记-数据库(一)

    一.          数据库连接 在JDBC的操作过程中,进行数据库连接的主要步骤如下: 通过Class.forName()加载数据库的驱动程序.首先需要利用来自Class类中的静态方法forNam ...

  8. 整理Linux查看系统日志的一些经常使用命令

    整理Linux查看系统日志的一些经常使用命令 last -a 把从何处登入系统的主机名称或ip地址,显示在最后一行. -d 指定记录文件.指定记录文件.将IP地址转换成主机名称. -f <记录文 ...

  9. [置顶] ios App 中嵌入应用商店

    昨晚同事拿了一个app 发现其app 内部页面打开了appstore 并没有唤起手机自带的appstore, 刚开始以为是用webview 加载的 ,可是自己些了一个demo 发现并不是那样一回事 用 ...

  10. IIS7中配置脚本错误解决方案

    同一个项目, 又建另一站点(相同的物理路径,) ,结果出下上图404.0错误, 原来是win7下应用程序池默认的32应用程序属性影响,参考下图,设置为True.        同一个项目, 又建另一站 ...