Chinaunix首页 | 论坛 | 博客
  • 博客访问: 848957
  • 博文数量: 156
  • 博客积分: 6553
  • 博客等级: 准将
  • 技术积分: 3965
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-22 18:36
文章存档

2012年(3)

2011年(43)

2010年(110)

分类: LINUX

2011-10-10 10:04:01

需要重点掌握的命令:grepsortcut

1.    Join合并文件

join命令可基于两个文件的共同项,把他们合并起来。

在下例中,我们有两个文件,分别是 employee.txt salary,他们拥有共同的项-employee-id。所以我们基于employee-id项,将两个文件合并起来。

$ cat employee.txt

  100  Jason Smith

  200  John Doe

  300  Sanjay Gupta

  400  Ashok Sharma

 $ cat bonus.txt

  100  $5,000

  200  $500

  300  $3,000

  400  $1,250

$ join employee.txt bonus.txt

  100  Jason Smith $5,000

  200  John Doe $500

  300  Sanjay Gupta $3,000

  400  Ashok Sharma $1,250

2.    tr改变字符的大小写

将一个文件内容全部转换成大写字母

  $ cat employee.txt

  100  Jason Smith

  200  John Doe

  300  Sanjay Gupta

  400  Ashok Sharma

  $ tr a-z A-Z < employee.txt

  100  JASON SMITH

  200  JOHN DOE

  300  SANJAY GUPTA

  400  ASHOK SHARMA

3.    xargs 提供命令的参数

xargs 是一个非常强大的命令,可以取一个命令的输出作为另一个命令的参数。下面就是几个关于如何有效使用xargs命令的实例

1.  当你使用rm 命令去删除很多的文件时,你可能会得到错误信息: /bin/rm Argument

 list too long Linux”。这时可以用xargs 来避免这个问题

  find ~ -name ‗*.log‘ -print0 | xargs -0 rm –f

获得/etc 下所有以.conf 结尾的文件。可以有多种方法获得如下结果。以下命令仅仅为了帮助

大家理解如何使用xargs.find命令的输入结果一个接一个的传递给xargs,作为ls-l的参数。

  # find /etc -name "*.conf" | xargs ls –l

当你想下载一些URL,这些URL 都保存在一个文件里,你可以以如下的方式使用xargs 命令

  # cat url-list.txt | xargs wget –c

找出所有的.jpg格式的图片,并将其归档。

  # find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

将所有的 jpg 图片文件复制到外置的硬盘中

# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory

4.    Sort排序

ls -al | sort +4n : 使用升序对 ls -al 的输出以文件大小进行排序( 5)

ls -al | sort +4nr : 使用降序对 ls -al 的输出以文件大小进行排序( 5)

4-2 uniq命令

uniq 命令可以去除排序过的文件中的重复行,因此uniq经常和 sort合用。

5.    ac显示用户总的连接时间

ac命令显示用户总的连接时间 ,可以显示用户登录主机的时间信息。 目前登录用户的连接时间 使用-d 选项,可以将输出的时间按天来显示。在本例中,今天我已经登录系统超过 6 个小时了,在12 1 日,我登录系统的时间大约是 1个小时。

$ ac –d

Dec 1 total 1.08

Dec 2 total 0.99

Dec 3 total 3.39

Dec 4 total 4.50

Today total 6.10

所有用户的连接时间

就像下面所显示的,可以用 -p 显示所有用户的连接时间。注意这显示了每一个用户的总的连接时间。

$ ac -p

john               3.64

madison            0.06

sanjay             88.17

显示指定用户的连接时间

$ ac -d sanjay

Jul 2 total 12.85

Aug 25 total 5.05

Sep 3 total 1.03

Sep 4 total 5.37

6.    history 显示历史命令

num 来执行历史中的某条记录

7.    Tee 命令用来存储和查看(同时进行)别的命令的输出

tee 命令的其他用法

默认的 tee命令会覆盖已有文件,你可以用  a 参数指挥 tee命令在文件末尾追加内容。

  $ ls | tee –a file //追加

按照下面的方法你还可以将输出写入到多个文件中

  $ ls | tee file1 file2 file3

阅读(1699) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~