3.4 Linux shell命令(文件搜索、文件处理、压缩解压)

查看文件相关命令

cat+文件名  命令标准输出打印到终端屏幕上

tac+文件名  从后往前读取文件中内容打印到终端屏幕上

more+文件名  当文件内容比较多时使用,不可上下翻译

less+文件名  当文件内容比较多时使用,可以上下翻页(q结束)

head+文件名  显示前十行文件的内容

硬连接和软连接

可以使用连接文件操作原文件

硬连接地址与原文件相同,硬连接改名依然链接

软连接地址与原文不同,软连接改名则断开

Linux中有两种类型的链接:  

硬链接是利用Linux中为每个文件分配的物理编号——inode建立链接。因此,硬链接不能跨越文件系统。

如何查看inode号。ls -i +文件名

软链接(符号链接)是利用文件的路径名建立链接。通常建立软链接使用绝对路径而不是相对路径,以最大限度增加可移植性。

如何创建连接

ln命令: ln  [ -s ]   target  link_name

硬连接In后不跟内容

软连接In后-s

选项“-s”表示为创建软链接。在缺省情况下,创建硬链接。参数target为目标文件,link_name为链接文件名。如果链接文件名已经存在但不是目录,将不做链接

linux@ubuntu:~$ ln  -s  /proc/cpuinfo   mycpuinfo

linux@ubuntu:~$ ls  –l  mycpuinfo

lrwxrwxrwx  1  wdl  wdl  13  2007-09-22 00:43  mycpuinfo -> /proc/cpuinfo

以上命令为/proc/cpuinfo文件创建了一个软链接文件。使用“ls –l”命令可以查看到新创建的链接文件所指向的目标文件名。

硬链接和软链接的区别:

如果是修改硬链接的目标文件名,链接依然有效;

如果修改软链接的目标文件名, 则链接将断开;

对一个已存在的链接文件执行移动或删除操作,有可能导致链接的断开。  

假如删除目标文件后,重新创建一个同名文件,软链接将恢复,硬链接不再有效,因为文件的inode已经改变。

查找文件命令

find - search for files in a directory hierarchy  语法:find [起始目录] 寻找条件 操作

find相关选项

 -name '字串'  查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。  

-iname '字串' 忽略大小写的方式查找  

-type x   查找类型为 x 的文件  

-exec 命令名称 {}  对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;

命令的末尾必须以“ \;”结束。

find . -name +文件名 查找文件

find . -iname+文件名 忽略大小写查找文件

find . -type f 查看当前目录下普通类型文件

find . -type l 查看当前目录下连接文件


寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。

and:逻辑与,在命令中用 -a 表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足  

find . -name 'tmp' -type c -user 'inin' or:

逻辑或,在命令中用 -o 表示。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足OPTIONS:描述命令所有的参数或选项  

find . -name 'tmp' -o -name 'mina*' not:

逻辑非,在命令中用 ! 表示。该运算符表示查找不满足所给条件的文件  find . ! -name 'tmp'

-exec rm {} \;


grep, egrep, fgrep, rgrep - print lines that match patterns

语法:grep [选项]  要查找的内容   查找的位置 常用选项:

-A    除了显示符合范本样式的那一列之外,并显示该行之后的内容。

-B    除了显示符合样式的那一行之外,并显示该行之前的内容。

-C    除了显示符合样式的那一行之外,并显示该行之前后的内容。

-i     忽略字符大小写的差别。

-r    查找位置是目录时用

-n  在显示符合样式的那一行之前,标示出该行的列数编号。

其他相关命令

命令which

which - locate a command

whereis - locate the binary, source, and manual page files for a command

命令cut

cut - remove sections from each line of files 帮助信息:

-b: 以字节为单位取出固定字符区间  

-c :以字符 的单位取出固定字符区间;

-d :后面接分隔字符。与 -f 一起使用;  

-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;

命令sed

sed - stream editor for filtering and transforming text

-r:使用扩展正则表达式

-e:它告诉sed将下一个参数解释为一个sed指令,只有当命令行上给出多个sed指令时才需要使用-e选项

-i:直接对内容进行修改,不加-i时默认只是预览,不会对文件做实际修改

-n:取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的行

编辑命令        

a:  追加 i:   插入 d:  删除 s:  替换 p:  打印

命令awk

awk '{[pattern] action}' {filenames}   # 行匹配语句 awk '' 只能用单引号

变量

功能

$n

当前记录的第n个字段,字段间由FS分隔

$0

完整的输入记录

NF

一条记录的字段的数目

NR

已经读出的记录数,就是行号,从1开始

grep sed awk  Linux文件处理三剑客 

解压缩

归档和压缩

 归档文件是将一组文件或目录保存在一个文件中。  

压缩文件也是将一组文件或目录保存一个文件中,并按照某种存储格式保存在磁盘上,所占磁盘空间比其中所有文件总和要少。  

归档文件仍是没有经过压缩的,它所使用的磁盘空间仍等于其所有文件的总和。因而,用户可以将归档文件再进行压缩,使其容量更小。

解压缩文件的意义

用户在进行数据备份时,需要把若干文件整合为一个文件以便保存。尽管整合为一个文件进行管理,但文件大小仍然没变。若需要网络传输文件时,就希望将其压缩成较小的文件,以节省在网络传输的时间。因此本节介绍文件的归档与压缩。

解压缩相关命令

gzip压缩和gunzip解压

将一个文件压缩成.gz格式的压缩文件,移植性好  这个命令没有归档功能,每次只能压缩一个文件。生成相应名字的压缩包

linux@DESKTOP-6C99IPF:~/share$ ls test

linux@DESKTOP-6C99IPF:~/share$ gzip test

linux@DESKTOP-6C99IPF:~/share$ ls test.gz

linux@DESKTOP-6C99IPF:~/share$ gunzip test test.gz

linux@DESKTOP-6C99IPF:~/share$ ls test

linux@DESKTOP-6C99IPF:~/share$

bzip2命令是.bz2文件的压缩程序

bzip2在性能上优于gzip,提供了最大限度的压缩比率。

linux@DESKTOP-6C99IPF:~/share$ ls test  test1  test2

linux@DESKTOP-6C99IPF:~/share$ bzip2 *

linux@DESKTOP-6C99IPF:~/share$ ls test.bz2  test1.bz2  test2.bz2

linux@DESKTOP-6C99IPF:~/share$ bunzip2 *

linux@DESKTOP-6C99IPF:~/share$ ls test  test1  test2

zip和unzip

 压缩后的文件后缀名为 .zip,可以压缩目录,原文件保留。  

方便在Linux和微软Windows间交换文件

linux@DESKTOP-6C99IPF:~/share$ ls hello  test  test1  test2

linux@DESKTOP-6C99IPF:~/share$ zip test.zip *

linux@DESKTOP-6C99IPF:~/share$ ls hello  test  test.zip  test1  test2

linux@DESKTOP-6C99IPF:~/share$ rm hello test test1 test2 -r

linux@DESKTOP-6C99IPF:~/share$ ls test.zip

linux@DESKTOP-6C99IPF:~/share$ unzip test.zip

linux@DESKTOP-6C99IPF:~/share$ ls hello  test  test.zip  test1  test2

tar

 tar命令主要用于将若干文件或目录合并为一个文件,以便备份和压缩。当然,之后出现tar程序的改进版本,可以实现在合并归档的同时进行压缩。          

tar命令符号模式的一般语法格式为:         

tar  [ -t | -x | -r | -c | -v | -f | -j | -z ]  tarfile  filelist     

-t    显示归档文件的内容     

-x   释放归档文件     

-c   创建一个新的归档文件              

-r   追加的方式归档文件     

-v   显示归档和释放的过程信息     

-f    用户指定归档文件的文件名,否则使用默认名称     

-j    由tar生成归档,然后由bzip2压缩   

-z   由tar生成归档,然后由gzip压缩

linux@ubuntu:~$ tar  –cf   myExamples.tar      myExamples

linux@ubuntu:~$ tar  -cjf   myExamples.tar.bz2   myExamples

linux@ubuntu:~$ tar  -czf  myExamples.tar.gz    myExamples

linux@ubuntu:~$ ls   -lh   myExamples.tar*

-rw-r--r-- 1  wdl  wdl  9.3M  2007-09-23 00:42  myExamples.tar

-rw-r--r-- 1  wdl  wdl  8.6M  2007-09-23 00:43  myExamples.tar.bz2

-rw-r--r-- 1  wdl  wdl  8.5M  2007-09-23 00:44  myExamples.tar.gz

linux@ubuntu~$ tar  –tvf   myExamples.tar.gz

linux@ubuntu:~$ tar  –xvf   myExamples.tar

linux@ubuntu:~$ tar  -xvjf   myExamples.tar.bz2

linux@ubuntu:~$ tar  -xvzf  myExamples.tar.gz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值