Linux命令行阅读、统计、检索、(解)压缩、查找(二)

来源:互联网 发布:mac os x 升级系统 编辑:程序博客网 时间:2024/06/03 22:41

阅读文本内容

  • cat:查看全部
    格式:cat [选项]… 文件名…
    -n:在每一行(含空行)前显示行号
  • more:阅读
    格式:more [选项] 文件名…
    按Enter键下翻一行、空格键下翻一屏
    按b向上翻一屏
    按q或Q键退出、/键向后查找
    按?键了解操作说明
  • less阅读(较好)
    less [选项] 文件名…
    按PgUp向前翻页、PgDn向后翻页
    按?键向前、按/键向后查找(n,N切换)
    其他与more命令类似

提取文本内容

  • head/tail:截取文件首部/尾部
    格式:head -n 数字 文件名
       tail -n 数字 文件名
    1、未指定行数时,默认输出10行
    2、选项“-n 数字”可缩写为“-数字”

重定向输出

  • >:重定向输出
    示例:将ls命令的man手册页保存为file.txt文件
    #man ls > file.txt

管道操作

  • 查看文件的第8-12行
    #head -n 12 /etc/passwd | tail -n 5(前面12行中取最后5个)
  • 利用管道 | 对输出信息进行分页
    示例:#ls –help | more

统计文本

  • wc:Word Count
    格式:wc [选项]… 文件名…
    -l:计算文本的总行数
    -w:计算单词个数
    -c:计算文件的字节数
    -m:计算字符个数
    若无选项,相当于-lwc
示例:统计一共有多少用户账号#wc -l /etc/passwd计算/etc/目录下.conf配置文件的个数ls -l /etc/*.conf | wc -l

检索文本

  • grep:按照条件检索文本行,输出包含指定字符串的行
    格式:grep [选项]… ‘查找条件’ 目标文件
     -i:忽略大小写
     -v:反向查找,输出不符合查找条件的行
     –color:突出显示查找字符串
    示例:#grep –color ‘127.0.0.1’ /etc/hosts
    查找条件:
 ^…:表示以…开头 …$:表示以…结尾 ^$:表示空行
计算以/bin/bash作登录shell的用户个数#grep -c '/bin/bash' /etc/passwd查找多个关键词,匹配任一个都输出#grep -E 'SKEL|SHELL' /etc/default/useradd

跨平台的文件传递

  • Zip压缩操作
    – 格式:zip 压缩包名 被压缩的文件…
    – 结合选项 -r 可打包目录
  • unzip解压缩操作
    – 格式:unzip [-d 目标文件夹] .zip压缩包
示例:#ls -lh /etc > ziptest.txt(将/etc文件夹下的所有文件重定向到aiptest.txt中)#zip ziptest.txt.zip ziptest.txt(压缩文件到ziptest.txt.zip中)#ls -lh ziptest.*(查看目录下的文件)#unzip -d zdir/ ziptest.txt.zip(解压文件到zdir文件夹下)#ls zdir/(查看zdir文件夹内的文件)

Linux压缩工具

压缩格式 压缩工具 解压缩工具 .gz gzip gunzip或gzip -d .bz2 bzip2 bunzip2或bzip2 -d .xz xz unxz或xz -d

linux归档工具

  • tar 制作归档
    – 格式:tar [选项]… 归档文件 原文件或目录
  • tar 释放归档
    – 格式:tar [选项]… 归档文件 [-C 目标目录]
tar命令常用选项:-c:创建.tar格式的归档文件-x:解开.tar格式的归档文件-C:解包时指定释放的目标文件夹-f:表示使用归档文件-z、-j、-J:分别调用gzip、bzip2、xz压缩/解压缩-v:输出详细信息-t:列表查看包内的文件
示例:制作.tar.gz包文件#tar -zcf boot.tar.gz /boot/释放.tar.gz包文件#tar -zxf boot.tar.gz -C tmp/(解压到当前目录下的tmp文件夹下)查看boot.tar.gz文件内包含哪些内容# tar -tvf boot.tar.gz

查找可执行程序

  • which 搜索工具
    – 格式:which [-a] 程序名…
    默认会查找别名,但不查找内部命令
  • locate文件定位
    • 建立定位索引库
      – 执行updatedb命令
      – 默认位置:/var/lib/mlocate/mlocate.db
    • locate定位工具
      – 格式:locate [选项]… 关键字
示例:#touch myhttpd.conf#updatedb#locate httpd.conf
  • find精确查找
    • find查找工具
      – 格式:find [查找范围] [查找条件]
    • 常用的查找条件
      – -type:按文件类型查找
      – -name:按文件名称查找
      – -size:按文件大小查找
      – -mtime:按内容修改的时间
  • 按指定的类型查找(f:普通文件、d:目录、l:连接文件、b:块设备文件、c字符设备文件)
示例:#find /boot -type l(查找boot下的连接文件)#find /boot -type d(查找boot下的目录文件)
  • 按名称查找
    – -name,可使用通配符
示例代码:#find /etc -name "resol*.conf"#find /dev -type c -a -name "tty[1-3]"

(-a:多个条件同时满足
 -c:多个条件满足其中任意一个)

  • 按大小查找
    – -size [ + | - ]大小
示例:#ls -lh /boot/*.img(查看目录下的img文件)#find /boot/ -name "*.img" -a -size +2M(查找目录下以img为后缀且文件大小大于2M的文件)
  • 按文件修改时间查找
    – -mtime [ + | - ]天数,在n天之前|之内修改过
#cp /root/install.log ./#cp install.log install.new#ls -lh install.???#find -name "install.???" -a -mtime +2
  • 处理find找到的文件
    – find [范围] [条件] -exec 处理命令 {} \;
    – 根据条件查找并处理结果
示例代码:#find /boot -size +2M#find /boot -size +2M -exec ls -lh {} \;
原创粉丝点击