2012-12-27 Linux 常用命令

head 命令用于查看一个文本文件的开头部分;

head -n 20 wang.txt 显示文件 wang.txt 的前二十行内容;

tail 命令则用于显示文本文件的末尾几行

tail -n 20 wang.txt 显示文件 wang.txt 的后二十行内容;
tail -f example.txt 显示文件 example.txt 的后十行内容,自动显示新增的文件内容。

tar 打包/压缩工具
      主要命令:
    -c 创建包
    -x 解包
    -t 列出包中的内容
    -r 增加文件到指定包中
    -u 更新包中的文件
  可选命令:
    -j 创建或解开包时,使用bzip2 进行压缩或解压;
    -z 创建或解开包时,使用gzip 进行压缩或解压;
    -Z 创建或解开包时, 使用compress 进行压缩或解压;
    -f 后面跟指定的包文件名;
    -v 显示打包/解包过程;
    -C 指定解包后的路径
  命令演示:
    tar -czf wang.tar.gz /wang 将 /wang 目录压缩打包存放为wang.tar.gz
    tar -xzf wang.tar.gz -C /home 将 wang.tar.gz 包解到/home 目录下

sort
  sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
  sort wang.txt
  sort -u wang.txt 在输出行中去除重复行。
  sort -r wang.txt sort默认是升序,-r[reverse] 变成降序
  由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile
  但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。重定向会把原来的内容给覆盖掉
  但是,-o 可以将他写入源文件【-o的优势所在】
  sort wang.txt > wang.txt
  sort wang.txt -o wang.txt 把wang.txt sort的结果输出到wang.txt

sort -n wang.txt :默认sort是比较第一个字符和第二个字符,这样的话都会出现 10<2的情况, -n选项是告诉sort 要以数值来排序
  怎样对如下格式的数据进行排序[安装水果的数量排序]
  banana:30:5.5
  apple:10:2.5
  pear:90:2.3
  orange:20:3.4
  
  -t 指定分割的对象 【:】
  -k 指定列数
sort -n -k 2 -t : fruit.txt 冒号作为间隔符,并针对第二列来进行数值升序排序
  banana:5:5.5
  apple:10:2.5
  orange:20:3.4
  pear:90:2.3

其他的sort常用选项
  -f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写

  -c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1

  -C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1

  -M会以月份来排序,比如JAN小于FEB等等

  -b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较

sort -k 讲解
  sort -n -k 3 facebook.txt 安装第三列排序
  sort -n -k 2 -k 3 facebook.txt 首先按照第二列排序,有相同的再按第三列排序
  sort -n -k 2 -k 3r facebook.txt 首先按照第二列排序,有相同的再按第三列排序[第三列降序排列]
  sort -k 1.2 facebook.txt 按照第一列的第二个字符排序,第二个字符相同的话,再按第三个字符排序
【sort 的语法】
  [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]
  sort 默认是不指定行尾[默认的行尾是句子最后],其实可以自己设定行尾的
  只针对第二列的第二个字母进行排序,如果相同的按照员工工资进行降序排序
  sort -k 1.2,1.2 -k 3,3nr facebook.txt
  在modifier部分还可以用到哪些选项?
  可以用到b、d、f、i、n 或 r。

  其中n和r你肯定已经很熟悉了。

  b表示忽略本域的签到空白符号。

  d表示对本域按照字典顺序排序(即,只考虑空白和字母)。

  f表示对本域忽略大小写进行排序。




【touch】
  touch xxx.txt :如果abc存在,则修改为当前的系统时间,如果不存在,则生成一个为当前时间的空文件
  touch -d 20121224 wang.txt 将文件wang.txt的时间修改为20121224
  touch * 将当前所有文件的时间 修改为当前系统世间
【cp】拷贝
  cp -afpx source target
  -a 尽可能的保持文件的结构和属性
  -p 保持原始文件日期
  -f 如果已存在则覆盖它
【mv】 移动
  mv -b source target
【rm】
  rm -irf file/directory
  -r 删除目录及下面的所有内容
  -f 强制删除
【mkdir rmdir】
  mkdir directory 创建目录
  rmdir directory 删除目录
【cat,more,less】
  cat shan.txt
  cat wang.txt shan.txt >ws.txt 合并文本文件
  more tt.txt
  less tt.txt
【grep】
  . 任意一个字符
  * 匹配字符的零次或多次出现
  [a-z] a到z的任意字符一个
  ^a 以字符a开始的行
  a$ 以字母a结束的行
  grep 'wang' wang.txt
  grep 'wang' *
  grep 'wang' *.txt
  grep 'w*' *.txt

【gzip】 压缩文件,文件的格式为.gz
  -1 快速压缩 【压缩后源文件消失】
  -9 最佳压缩状态
  -r 压缩式包括子目录【压缩目录时并不会将整个目录压缩成一个单独的文件】
  -d 解压缩gzip文件
【gunzip】
  gunzip ws.txt.gz 解压缩gzip 文件
  gunzip -r shan/ 解开shan/目录下的所有gzip的压缩文件
【compress】
  compress -v wang.txt 压缩成.Z结束的文件
  compress -d wang.txt.Z 解压.Z文件结尾的压缩文件
  compress -f wang.txt 强制将文件压缩

=========================================================
【file】
  file * 当前目录下各个文件的类型
  file -z wang.txt

【stat】
  显示文件的访问,修改,变更.....信息
  stat want.txt
【who,w,whoami】
  查看到登录该机器的用户信息
  hostname 查看主机名
  uname -a 显示系统信息
【write】
  write username 向另外一个用户发信息
  mesg 是否接受其他用户发来的信息
  talk username 适用于双向通信的工具
  wc wang.txt 计算文件中的单词数
  cal 显示日历
【alias】 创建命令的别名
  alias android="cd /home/android" 创建命令的快捷方式
  alias 显示系统中现有的别名
  unalias android 删除系统中的别名
【;,&&,||】
  ; 用;间隔的各命令按顺序的一次执行*
  && 逻辑与 只有前面的命令执行成功后,它后面的命令才能被执行
  || 逻辑或 只有前面的命令执行失败后,它后面的命令才能被执行
  unset vname 删除设置的变量名
export xxx=xxx 定义环境变量

posted @ 2012-12-31 10:36  wangpossible  Views(161)  Comments(0)    收藏  举报