Linux学习打卡第二天

1. 文件内容查阅

  • cat
    含义:concatenate,从第一行开始显示文件内容
    格式:cat [-AbEnTv] 文件路径
    -A:显示文件的完整信息,包括特殊字符
    -b:列出行号,空白行不标行号
    -n:列出行号,空白行也有行号
    -T:将[tab]按键以 ^I 显示出来

  • tac
    含义:cat倒着写,从最后一行往前开始显示

  • nl
    含义:显示的时候顺带输出行号
    格式:nl [-bnw] 文件路径
    -b:

    • -b a:空行也列出行号

      $ nl -b a /etc/issue
      //结果显示: 1 \S
                 2  Kernel \r on an \m 
                 3
    • -b t:空行不列出行号(默认)

      $ nl -b t /etc/issue
      //结果显示: 1 \S
                 2  Kernel \r on an \m 
      

    -n:

    • -n ln:行号在屏幕最左方显示
    • -n rn:行号在自己字段的最右方显示,且不加0
    • -n rz:行号在自己字段的最右方显示,且加0

    -w:行号字段的占用字符数

  • more
    含义:一页一页的显示文件内容
    格式:more 文件路径

    • [空格键]:向下翻一页
    • [enter]:向下翻一行
    • /字串:搜索关键字
    • q:离开,退出显示
    • b:往前翻页,只对文件有用,对管线无用
  • less

    • [空白建]:向下翻一页
    • [pageUp]:向上翻一页
    • [pageDown]:向下翻一页
    • /字串:向下搜索字串
    • ?字串:向上搜索字串
  • head
    含义:只看前几行
    格式:head [-n number] 文件路径
    -n number:后面接几个数字就显示前多少行

  • tail
    含义:只看后几行
    格式:同上

  • od
    含义:以二进制方式读取文件内容
    格式:od [-t TYPE] 文件路径
    其中TYPE有以下几种类型选择:

    • a:利用默认字符输出数据
    • c:利用ASCII字符输出数据
    • d[size]:以十进制输出数据,每个整数占用size bytes
    • f[size]:以浮点数值进制输出数据
    • o[size]:以八进制输出数据
    • x[size]:以十六进制输出数据
  • touch
    含义:和文件的时间有关,文件时间主要有三种
    –time=mtime:文件中的数据内容变更时,会更新这个时间(默认)
    –time=ctime:文件的属性和权限变更时,会更新这个时间
    –time=atime:文件的内容被读取时,会更新这个时间
    利用ls可以查看文件时间
    格式:touch [-acdmt] 文件路径
    -a:仅修订atime
    -c:仅修改文件时间,若文件不存在则不创建文件
    -d:修改日期或时间
    -m:仅修改mtime
    -t: 修改时间,格式为[YYYYMMDDhhmm]
    注:touch指令常用于
    1、创建一个空文件;
    2、将某个文件日期修订为目前(mtime与atime)

2. 指令与文件的搜寻

  • which
    含义:寻找”可执行文件“
    格式:which [-a] command
    -a:将所有由PATH目录中可以找到的指令全部列出,如果没有该参数的话,只列出第一个被找到的指令

  • whereis
    含义:在一些特定目录中寻找文件名
    格式:whereis [-bmsu] 文件或目录名
    -l:列出whereis会去查询的几个主要目录
    -b:只找binary格式(可执行)文件
    -m:只找在说明文档manual路径下的文件

  • locate
    含义:利用数据库根据关键词来寻找文件名
    格式:locate [-ir] keyword
    -i:u忽略大小写差异
    -c:不输出文件名,只显示找到的文件数量
    -l number:今年输出number行
    -r:后面可接正则表达式的显示方式
    -s:输出locate所使用的数据库文件的相关信息,包括该数据库记录的文件/目录数量等

  • find
    含义:在硬盘上寻找文件,时间花费大
    格式:find [PATH] [option] [action]
    eg:

    $ find  / -mtime 0   //从现在开始24h前,所有有过变动的文件都会被列出来
    $ find  / -mtime 3   //从现在起至3天前,所有有过变动的文件都会被列出来
    $ find  ./etc -newer   ./etc/passwd  //寻找./etc下面的文件,如果文件日期比./etc/passwd新就会被列出来

3. 压缩指令(针对单个文件)

3.1 gzip,zcat/zmore/zless/zgrep

由来:为了取代compress并提供更好的压缩比而成立的
含义:将文件进行压缩/解压
格式:gzip [-cdtv#] 文件名

$ gzip 文件名   //将文件压缩成后缀为.gz的文件,压缩后原始文件就不存在了!!!
$ zcat 文件名.gz   //可以在不真正解压缩文件的情况下读取压缩包中的文件内容
$ gzip -d 文件名.gz   //将压缩文件解压,解压后恢复到原文件名压缩文件就不存在了!!!
$ zgrep -n 'http' 文件名.gz  //在压缩文件中找出http这个关键字在哪几行

注:
1、我们用cat/more/less对纯文本文件进行读取操作,同样也可以用zcat/zmore/zless对压缩的纯文本文件进行读取操作。
2、可以使用egrep对压缩文件查找数据而无需解压后再使用grep进行查找

3.2 bzip2,bzcat/bamore/bzless/bzgrep

由来:为了取代gzip并提供更好的压缩比而成立的

$ bzip2 文件名   
$ bzcat 文件名.bz2   
$ bzip2 -d 文件名.bz2   

3.3 xz,xzcat/xzmore/xzless/xzgrep

由来:为了取代bzip2并提供更好的压缩比而成立的,缺点是压缩时间长

$ xz 文件名   
$ xzcat 文件名.xz   
$ xz -d 文件名.xz   

4. 打包指令:tar(针对文件或目录)

含义:将多个文件或目录打包成一个大文件
用处:备份数据

  • z:通过gzip进行压缩
  • j:通过bzip2进行压缩
  • J:通过xz进行压缩
$ tar -j<u>c</u>v -f filename.tar.bz2  要被压缩的文件或目录 //压缩,tar不会主动创建压缩文件名
$ tar -j<u>t</u>v -f filename.tar.bz2   //查询
$ tar -j<u>t</u>v -f filename.tar.bz2 -C  欲解压目录   //解压

后记:前一晚睡眠不足2小时的我看了一天的linux竟然没怎么打瞌睡,服了我自己,明天继续加油啦!

你可能感兴趣的:(Linux)