专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Linux » linux删除文件命令:Linux 文件命令精通指南(三) »正文

linux删除文件命令:Linux 文件命令精通指南(三)

来源: 发布时间:星期四, 2009年2月12日 浏览:121次 评论:0



  查看和查找文件
  文件过滤器
  用来读取文件内容和在文件内容上执行操作命令有时被称为 1y滤器sed 和 awk 命令是两个滤波器例子在以前 OTN 文章中有它们详细讨论在这里将略过
  
  诸如 cat、 more 和 less 的类命令让您能够从命令行查看个文本文件内容而无需编辑器Cat 是 "concatenate" 缩写它将默认地在标准输出(显示屏)上显示文件内容和 cat 起提供最有趣选项的是 -n 选项它用编号输出行来显示文件内容
  
  $ cat -n test.out
  1 This is a test.
  
   cat 次性输出文件中所有行所以您可能更喜欢用 more 和 less它们都次输出文件内容Less 是 more 个增强版本它允许用来自 vi 文本编辑器关键命令来增强文件查看例如d 向前翻滚、b 向后翻滚 N 行(如果 N 是在 d 或 b 的前指定)为 N 输入值成为随后 d 命令默认值man 页面实用工具使用 less 来显示使用介绍说明内容
  
  重定向和管道
  重定向允许将命令输出重定向到文件中而不是标准输出或者类似地也可重定向输入重定向标准符号 > 创建个新文件>> 符号将输出添加到个现有文件中:
  
  $ more test2.out
  Another test.
  $ cat test.out >> test2.out
  $ cat test2.out
  
  Another test.
  This is a test.
  
  到文件标准输入可以用 < 符号来重定向:
  
  $ cat < test2.out
  
  消息用 2> 和 2>> 来重定向和添加格式如下:
  
  $ command 2> name_of_error_file
  
  要避免无意地覆盖个现有文件使用 BASH 内置命令集:
  
  $ -o noclobber
  
  可以在命令和输出文件的间用 >! 符号来重载这个特性要关闭这个特性用 +o 代替 -o
  
  重定向在个命令和文件的间、或文件和文件的间工作重定向语句项必须是个文件
  
  管道使用 |符号并且在命令的间工作例如您可以用以下方式将个命令输出直接发送到打印机上:
  
  $ ls -l * | lpr
  
  可以用以下方式快速地找到历史列表中个命令:
  
  $ history | grep cat
  
  更多滤波器
  Grep、fgrep 和 egrep 都显示匹配种模式所有这 3个命令都在文件中搜索指定模式如果您想不起来个所需文件名称这将非常有用基本格式是:
  
  grep [options] PATTERN [FILE...]
  
  $ grep -r 'Subject' nsmail
  
  CTRL-Z 将终止上述或其它任何命令
  
  grep 最有用选项可能是 -s如果您以除根用户的外任何身份搜索系统文件那么对于每个您没有访问权限文件都将产生消息这个命令禁止那些消息
  
  Fgrep(也以 grep -F )只查找固定而不是 grep 接收正则表达式而 egrep 接收包含更大范围特殊(如 “|”它指示条件 OR 运算符)模式
  
  $ egrep 'Subject|mailto' *
  
  查找文件
  find 命令 GNU 版本非常强大、灵活并且比 UNIX 系统上存在经典版本更具包容性它对于涉及到目录结构任务非常有用包括在文件上查找和执行命令find 命令基本格式是:
  
  $ find startdirectory options matchcriteria [actionoptions]
  
  如果您知道文件名称、或者甚至名称部分但不知道它所处目录您可以这么做:
  
  $ find .-name 'test*'
  ./test
  ./jdevhome/mywork/EmpWS/EmpBC4J/test
  
  和经典 UNIX 系统区别在 Linux 中不需要在末尾添加 -pr 操作如果没有指定其它操作选项就将假定执行这个操作在目录起始位置上个点 ( . ) 将使 find 在您工作目录中开始搜索两个点 ..在父目录中开始搜索您可以在任意目录下开始搜索
  
  注意您可以使用通配符作为搜索准则部分(只要用单引号将整个项目括起来)
  
  $ find .-name 'test*' -pr
  ./test.out
  ./test2.out
  
  显示拥有 .out 扩展名系列文件:
  
  $ find /home -name '*.out'
  
  不过记住除非您是作为超级用户运行这个命令否则您将可能得到许多 "Permission denied" 消息
  
  最强大搜索工具的是和 grep 起使用 -exec 操作:
  
  $ find .-name '*.html' -exec grep 'mailto:[email protected]' {} \;
  
  这里我们让 find 命令在当前目录中开始执行 .查找个 html 文件*.html并在当前文件上执行 (-exec) grep 命令{}当使用 -exec 操作时需要个分号 ;这是用来在使用 find 命令时执行其它些操作需要反斜线 \ 和引号来确保这些项目通过 BASH以使它们由命令而不是 shell 来进行解释
  
  立即掌握 Linux 文件命令
  在 Linux 中提供了许多有用命令和利用它们强大思路方法在此无法介绍说明此外完成许多任务通常都存在多种思路方法
  
  我们已经看到了些最常用和最有启发意义 Linux 文件命令掌握这些基础但却关键工具将使您 Linux 学习走上快车道利用您手头上 man 页面和试验积极性您现在拥有了足够信息来开始探索 Linux 文件操作力量
  
  在我篇文章中我将提供 Linux 系统命令个类似介绍说明
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: