转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
Linux新手入门常用命令大全         ★★★★

Linux新手入门常用命令大全

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2831 更新时间:2009/4/22 23:09:05
(17)-(19)名称:grep、fgrep和egrep
  这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名。grep命令一次只能搜索一个指定的模式;egrep命令检索扩展的正则表达式(包括表达式组和可选项);fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令。
  这组命令在搜索与定位文件中特定的主题方面非常有用。要搜索的模式可以被认为是一些关键词,您可以用它们来搜索文件中包含的这些关键词。编写程序时,可以用它来寻找某一个函数,或是相关的词组。grep命令的搜索功能比fgrep强大,因为grep命令的搜索模式可以是正则表达式,而fgrep却不能。有关正则表达式请参见shell一章。
  该组命令中的每一个命令都有一组选项,利用这些选项可以改变其输出方式。例如,可以在搜索到的文本行上加入行号,或者只输出文本行的行号,或者输出所有与搜索模式不匹配的文本行,或只简单地输出已搜索到指定模式的文件名,并且可以指定在查找模式时忽略大小写。
  这组命令在指定的输入文件中查找与模式匹配的行。如果没有指定文件,则从标准输入中读取。正常情况下,每个匹配的行被显示到标准输出。如果要查找的文件是多个,则在每一行输出之前加上文件名。
  语法:
  grep [选项] [查找模式] [文件名1,文件名2,……]
  egrep [选项] [查找模式] [文件名1,文件名2,……]
  fgrep [选项] [查找模式] [文件名1,文件名2,……]
  参数:
  - E 每个模式作为一个扩展的正则表达式对待。
  - F 每个模式作为一组固定字符串对待(以新行分隔),而不作为正则表达式。
  - b在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量。
  - c 只显示匹配行的数量。
  - i 比较时不区分大小写。
  - h 在查找多个文件时,指示grep不要将文件名加入到输出之前。
  - l 显示首次匹配串所在的文件名并用换行符将其隔开。当在某文件中多次出现匹配串时,不重复显示此文件名。
  - n 在输出前加上匹配串所在行的行号(文件首行行号为1)。
  - v 只显示不包含匹配串的行。
  - x 只显示整行严格匹配的行。
  - e expression 指定检索使用的模式。用于防止以“-”开头的模式被解释为命令选项。
  - f expfile 从expfile文件中获取要搜索的模式,一个模式占一行。
  对该组命令的使用还需注意以下方面:
  在命令后键入搜索的模式,再键入要搜索的文件。其中,文件名列表中也可以使用特殊字符,如“*”等,用来生成文件名列表。如果想在搜索的模式中包含有空格的字符串,可以用单引号把要搜索的模式括起来,用来表明搜索的模式是由包含空格的字符串组成。否则,Shell将把空格认为是命令行参数的定界符,而grep命令将把搜索模式中的单词解释为文件名列表中的一部分。在下面的例子中,grep命令在文件example中搜索模式“text file”。
  $ grep ’text file’ example
  用户可以在命令行上用Shell特殊字符来生成将要搜索的文件名列表。在下面的例子中,特殊字符“*”用来生成一个文件名列表,该列表包含当前目录下所有的文件。该命令将搜索出当前目录下所有文件中与模式匹配的行。
  $ grep data *
  特殊字符在搜索一组指定的文件时非常有用。例如,如果想搜索所有的C程序源文件中特定的模式,您可以用“*.c”来指定文件名列表。假设用户的 C程序中包含一些不必要的转向语句(goto语句),想要找到这些语句,可以用如下的命令来搜索并显示所有包含goto语句的代码行:
  $ grep goto *.c
  用户可以在命令行上键入搜索模式,也可以使用-f选项从指定文件中读取要搜索的模式。在文件中,每个搜索模式占一行。如果经常要搜索一组常见字符串时,这个功能非常有用。在下面的例子中,用户要在文件exam中搜索字符串“editor”和“create”,就把要搜索的模式放置在文件mypats中,然后,grep命令从文件mypats中读取要搜索的模式。
  $ cat mypats
  editor
  create
  $ grep -f mypats exam


  文件查找命令
(20)名称:find命令
   功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
   语法:find 起始目录 寻找条件 操作
   说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。
  该命令提供的寻找条件可以是一个用逻辑运算符not、and、or组成的复合条件。逻辑运算符and、or、not的含义为:
  (1)and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条件都满足时,寻找条件才算满足。例如:
  $ find –name ’tmp’ –xtype c -user ’inin’
  该命令寻找三个给定条件都满足的所有文件。
  (2)or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就算满足。
  例如:
  $ find –name ’tmp’ –o –name ’mina*’
  该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。
  (3)not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件。
  例如:
  $ find ! –name ’tmp’
  该命令查询文件名不是’tmp’的所有文件。
  需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“\\”来去除括号的意义。
  例:$ find \\(–name ’tmp’ –xtype c -user ’inin’ \\) 寻找条件有以下选项:
  首先,下列各个选项中的n值可以有三种输入方式,假设n为20,则:
  +20 表示20以后(21,22,23等)
  -20 表示20以前(19,18,17等)
  20 表示正好是20
  1. 以名称和文件属性查找。
  - name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。
  - lname ’字串’查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[ ]。
  -gid n 查找属于ID号为n的用户组的所有文件。
  -uid n 查找属于ID号为n的用户的所有文件。
  -group ’字串’ 查找属于用户组名为所给字串的所有的文件。
  -user ’字串’ 查找属于用户名为所给字串的所有的文件。
  -empty 查找大小为0的目录或文件。
  -path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。
  -perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。
  -size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,缺省为b,代表512字节的块。
  -type x 查找类型为x的文件,x为下列字符之一:
  b 块设备文件
  c 字符设备文件
  d 目录文件
  p 命名管道(FIFO)
  f 普通文件
  l 符号链接文件(symbolic links)
  s socket文件
  -xtype x 与-type基本相同,但只查找符号链接文件。
  2. 以时间为条件查找
  - amin n 查找n分钟以前被访问过的所有文件。
  - atime n 查找n天以前被访问过的所有文件。
  - cmin n 查找n分钟以前文件状态被修改过的所有文件。
  - ctime n 查找n天以前文件状态被修改过的所有文件。
  - mmin n 查找n分钟以前文件内容被修改过的所有文件。
  - mtime n 查找n天以前文件内容被修改过的所有文件。
  3. 可执行的操作
  - exec 命令名称 {} 对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“ \\;”结束。
  - ok 命令名称 { } 对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。
  - ls 详细列出所找到的所有文件。
  - fprintf 文件名 将找到的文件名写入指定文件。
  - print 在标准输出设备上显示查找出的文件名。
  - printf 格式 格式的写法请参考有关C语言的书。
  例1:查找当前目录中所有以main开头的文件,并显示这些文件的内容。
  $ find . - name ‘main*’ - exec more {} \\;
  例2:删除当前目录下所有一周之内没有被访问过的a .out或*.o文件。
  $ find . \\(- name a.out - o - name ‘*.o’\\)\\
  > - atime +7 - exec rm {} \\;
  说明如下: 命令中的“.”表示当前目录,此时find将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。\\(和\\)表示括号(),其中的“\\”称为转义符。之所以这样写是由于对Shell而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。“- name a.out”是指要查找名为a.out的文件;“- name ‘*.o’”是指要查找所有名字以 .o结尾的文件。这两个- name之间的- o表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件,find在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间是否在7天以前(条件-atime +7),若是,则对该文件执行命令rm(- exec rm{ }\\;)。其中{ }代表当前查到的符合条件的文件名,\\;则是语法所要求的。上述命令中第一行的最后一个\\是续行符。当命令太长而在一行写不下时,可输入一个\\,之后系统将显示一个>,指示用户继续输入命令。

(21)名称:locate命令
   功能:locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。
   语法: locate 相关字
  例如:查找相关字issue
  $ locate issue
  /etc/issue
  /etc/issue.net
  /usr/man/man5/issue.5
  /usr/man/man5/issue.net.5 。
(22)名称:tar
   作用:tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。
  语法:tar [主选项+辅选项] 文件或者目录
  使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
  参数:
  c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
  r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
  t 列出档案文件的内容,查看已经备份了哪些文件。
  u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
  x 从档案文件中释放文件。
  辅助选项:
  b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。
  f 使用档案文件或设备,这个选项通常是必选的。
  k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
  m 在还原文件时,把所有文件的修改时间设定为现在。
  M 创建多卷的档案文件,以便在几个磁盘中存放。
  v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
  w 每一步都要求确认。
  z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

  例子:
  例1:把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar。
  $ tar cvf usr.tar /home
  例2:把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz 。
  $ tar czvf usr.tar.gz /home
  例3:把usr.tar.gz这个备份文件还原并解压缩。
  $ tar xzvf usr.tar.gz
  例4:查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。
  $ tar tvf usr.tar | more
  要将文件备份到一个特定的设备,只需把设备名作为备份文件名。
  例5:用户在/dev/fd0设备的软盘中创建一个备份文件,并将/home 目录中所有的文件都拷贝到备份文件中。
  $ tar cf /dev/fd0 /home
  要恢复设备磁盘中的文件,可使用xf选项:
  $ tar xf /dev/fd0
  如果用户备份的文件大小超过设备可用的存贮空间,如软盘,您可以创建一个多卷的tar备份文件。M选项指示tar命令提示您使用一个新的存贮设备,当使用M选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就可以把tar档案存入几张磁盘中。
  $ tar cMf /dev/fd0 /home
  要恢复几张盘中的档案,只要将第一张放入软驱,然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。
  $ tar xMf /dev/fd0

(23)名称:gzip
   作用:减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
   语法:gzip [选项] 压缩(解压缩)的文件名
   参数:
  -c 将输出写到标准输出上,并保留原有文件。
  -d 将压缩文件解压。
  -l 对每个压缩文件,显示下列字段:
  压缩文件的大小
  未压缩文件的大小
  压缩比
  未压缩文件的名字
  -r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
  -t 测试,检查压缩文件是否完整。
  -v 对每一个压缩和解压的文件,显示文件名和压缩比。
  -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
  假设一个目录/home下有文件mm.txt、sort.txt、xx.com。

  例子:
  例1:把/home目录下的每个文件压缩成.gz文件。
  $ cd /home
  $ gzip *
  $ ls
  m.txt.gz sort.txt.gz xx.com.gz
  例2:把例1中每个压缩的文件解压,并列出详细的信息。
  $ gzip -dv *
  mm.txt.gz 43.1%-----replaced with mm.txt
  sort.txt.gz 43.1%-----replaced with sort.txt
  xx.com.gz 43.1%-----replaced with xx.com
  $ ls
  mm.txt sort.txt xx.com
  例3:详细显示例1中每个压缩的文件的信息,并不解压。
  $ gzip -l *
  compressed uncompr. ratio uncompressed_name
  277 445 43.1% mm.txt
  278 445 43.1% sort.txt
  277 445 43.1% xx.com
  $ ls
  mm.txt.gz sort.txt.gz xx.com.gz
  例4:压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz
  $ gzip usr.tar
  $ ls
  usr.tar.gz

(24)名称:unzip
   作用:用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。
   语法:unzip [选项] 压缩文件名.zip
   参数:
  -x 文件列表 解压缩文件,但不包括指定的file文件。
  -v 查看压缩文件目录,但不解压。
  -t 测试文件有无损坏,但不解压。
  -d 目录 把压缩文件解到指定目录下。
  -z 只显示压缩文件的注解。
  -n 不覆盖已经存在的文件。
  -o 覆盖已存在的文件且不要求用户确认。
  -j 不重建文档的目录结构,把所有文件解压到同一目录下。

  例子:
  例1:将压缩文件text.zip在当前目录下解压缩。
  $ unzip text.zip
  例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
  $ unzip -n text.zip -d /tmp
  例3:查看压缩文件目录,但不解压。
  $ unzip -v text.zip
(25)名称:zgrep
  这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。

(22)补充 名称:tar
tar xzvf ***.tar.gz { 用gzip解压xz,输出详细信息v,}
tar tzvf ***.tar.gz { 只显示压缩文件,但不展开 }
tar xjvf ***.tar.bz2 { 展开用bzip2压缩的文件 }
tar czvf ***.tar.gz /home/boy/* { 将/home/boy/ 下的所有文件打包成 ***。tar.gz }
tar cmvf /dev/fd0 ***.tar.gz { 把***.tar.gz 分割到 floppy }
tar xmvf /dev/fd0 { 把分割到 floppy 的文件,合并到硬盘 }
(26)名称: at
使用权限 : 所有使用者
使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME
说明 : at 可以让使用者指定在 TIME 这个特定时刻执行某个程式或指令,TIME 的格式是 HH:MM其中的 HH 为小时,MM 为分钟,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 点锺)等口语词。

如果想要指定超过一天内的时间,则可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分钟,DD 是第几日,YY 是指年份。另外,使用者甚至也可以使用像是 now + 时间间隔来弹性指定时间,其中的时间间隔可以是 minutes, hours, days, weeks∶

另外,使用者也可指定 today 或 tomorrow 来表示今天或明天。当指定了时间并按下 enter 之后,at 会进入交谈模式并要求输入指令或程式,当你输入完后按下 ctrl+D 即可完成所有动作,至于执行的结果将会寄回你的帐号中。

把计 :

-V : 印出版本编号
-q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c... z 以及 A, B, ... Z 共 52 个
-m : 即使程式/指令执行完成后没有输出结果, 也要寄封信给使用者
-f file : 读入预先写好的

上一页  [1] [2] [3] [4]  下一页


[办公软件]Linux新手入门常用命令大全  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台