Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3965842
  • 博文数量: 408
  • 博客积分: 10227
  • 博客等级: 上将
  • 技术积分: 9820
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-17 21:48
个人简介

非淡泊无以明志,非宁静无以致远

文章存档

2022年(1)

2021年(1)

2020年(2)

2019年(5)

2018年(4)

2017年(3)

2016年(24)

2015年(8)

2014年(7)

2013年(3)

2012年(1)

2011年(23)

2010年(179)

2009年(147)

分类: LINUX

2009-11-18 19:29:09

1.awk #对字段的处理是sedgrep不能实现的。

awk -F , 'NR==1,NR==2 {print $1 $2}' file

#打印第一行到第二行中,以‘,’为分隔符,每行第一,二个字段的值。

  #print可以改为printf,不过后者不输出换行符。NR:已经读出的记录数,NF:当前记录中的字段个数。

awk '/main/' file or awk '/sun/{print}' filename

#显示文件中包含main的行。

2.sed #替换s,删除d,插入i(a),修改c

截取显示: sed -n '2,6p' file

  echo "a b c a" | sed 's/a/d/g' ,注意有没有g的差别。

  sed -n '2,3p' file,只显示第2,3行,去掉-n试试,sed 默认将来自源文件的每一行显示到屏幕上。-n就是用来覆盖这个操作的。

  sed '/main/ d' file #从文件中删除包含main的行。sed '1,3 d' file,删除前三行。这些操作不会影响到原文件!

  sed '2i shit' file, sed '2a shit' file,前者是插入在第2行之前,后者是在第2行之后。

3.tr

 #删除空行:tr -s ["\n"] < file

小写转大写:tr ["a"]  ["A”] < file

删除字符‘a’:tr -d ["a"] < file

  4.find

  #find path -name filename;

  # find path -type x;

  -type x 查找类型为 x 的文件,x 为下列字符之一:

  b 块设备文件

  c 字符设备文件

  d 目录文件

  p 命名管道(FIFO)

  f 普通文件

  l 符号链接文件(symbolic links)

  s socket文件

-xtype x -type 基本相同,但只查找符号链接文件。

 

5.wc

wc -lcw filename, l:统计行数,c:统计字节数,w:统计字数

6.uniq

 #对相邻行操作;-d 仅显示重复行;-u 仅显示不重复的行;因为它只能处理相邻行,所以一般跟sort配合。

7.cut

#从一个文本文件或者文本流提取数据.

  cut -f 1-2 -d: filename #编号从1开始

  -d: :作为分隔符,默认是tab.

  -b ,-c ,-f:字节byte,字符character,字段filed.

  1-2,表示范围.N:只有第N;N-:从第N项一直到行尾;N-M:N项到第M项(包括M;-M:从第一项到第M;-:所有项;

  8.cat/tac #cattac显示顺序相反

9.tee

#cmd1 | tee file1...N | cmd2, 命令1的输出送给teetee 的输出送给file1...N,并且作为命令2的输入。

10.tail/head

#head -3 file,tail -3 file,显示前三行,后三行

11.eval                                                                            

#eval cmd[;cmd;cmd],把参数作为命令去执行

12.expr

#expr args,比如,a=`expr $b+1`

13.let

#let express-list, 比如,let "a=b+c"

14.xargs

 #将输入输出给xargs后面的命令,作为那个命令的参数。

  

15.colrm

#命令从文件中除去选定的列。colrm [开始行数编号<结束行数编号>]colrm 2 5 < filename

16.rev

#把字符串反序。

17.basename

  [sword@localhost ~]$ temp=/home/sword

  [sword@localhost ~]$ basename $temp

  sword

  [sword@localhost ~]$ dirname $temp

  /home

  [sword@localhost ~]$ basename /home/sword.c .c

  sword

  ls

  join

18.du

#(disk   usage):显示目录或文件的大小。

19.mail

# mail -s "标题" filwsyl@gmail.com < 文件名。

20.tar / gzip

#归档和压缩。

  #tar cvf ***.tar 等待打包的文件。 tar xvf ***.tar,恢复文件。c(create) 产生归档文件,x恢复归档文件。

  tar xvzf ***.tgz -C /tmp;解压缩到/tmp这个文件夹下面。

 

21.fg %n       

#使n号作业成为前台作业。 apue p.223

22.file

#判断一个文件是二进制文件,cc++文件,普通文件等。

23.lpr,lpq,lprm

#印机文件

24.whereis

#查询系统上是否存在特定的一个命令,如果有相应的帮助文档,也会相应地输出。

25.which

#如果系统中一个命令有多个版本,它告诉你当输入某个命令执行时,shell到底调用了哪个版本的命令。

26.声明变量:

declare/typeset #声明,初始化变量,设置变量属性,查询相关变量。

  local -a array_name #local命令只能在函数中声明变量。

  readonly -a array_name #-a选项的readonly命令用来声明只读数组变量。

  declare -a array_name

  [sword@localhost ~]$ moves=("shit" "fuck" [20]="mother fucking")

  [sword@localhost ~]$ echo ${moves[0]}

  shit

  [sword@localhost ~]$ echo ${moves[1]}

  fuck

  [sword@localhost ~]$ echo ${moves[2]}

  [sword@localhost ~]$ echo ${moves[20]}

mother fucking

27.ps

#显示进程的状态,ps -aux | grep "XXX"

28.kill

 #kill -l 返回所有信号的号码以及对应的名字。

29.pstree

#用图的形式显示当前系统中执行进程的进程树,勾勒出进程间的父子关系。

30.其它:

 

ifconfig #修改网卡地址 service network restart

  hostname #显示主机名

  whoami #我是哪个账户?

  uname #显示系统信息,uname -r 显示内核版本

  source #使得刚修改过的系统配置文件生效

  read    #从标准输入设备读入

  shift #shit [N],把命令行参数向左移动N个位置,默认移动一个位置。

  set # set $(date),$1~$9被设置为输出。

  here文件 #bashhere文件特性可以将脚本中命令的标准输入重定向到脚本中的数据,这个特性主要用来显示菜单。

  trap #trap ['命令列表'] [信号列表]bash 中断处理的命令。

  exec #1.执行命令or程序取代当前进程。2.打开or关闭文件描述符,与重定向符号一起使用时,允许读写文件。

  bash -xv debug_file #脚本调试

  top #实时显示正在运行的进程

 

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