Linux学习——Linux进阶命令

今天学习了Linux的部分进阶命令,做个总结。

1.find命令详解

目的:查找符合条件的文件

1)在哪些目录中查找
2)查找的内容

格式:  find    目录名    选项    查找条件

举例:
1)find ~/Documents  -name "test1.txt"
说明:
    a)~/Documents指明了查找的路径
    b)-name表明以名字来查找文件
    c)"test1.txt",就指明查找名为test1.txt的文件
同理:
    find ~/Documents  -name "*.txt"    
    查找指定目录下面所以以.txt结尾的文件,其中*是通配符。
    find ~/Documents  -name "dira"    
    查找指定目录下面是否存在dira这个目录,dira是目录名。

注意:
1)如果没有指定查找目录,则为当前目录。
    find . -name "*.txt"   其中.代表当前路径 
    find  -name "*.txt"
    都是一样的功能

    
2)find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件
 find /home -mtime -2  查找/home目录下两天内有变动的文件    

2.grep命令详解

grep
目的:使用grep命令来查找文件中符合条件的字符串
格式:grep  [选项]     [查找模式]  [文件名]

举例:如将~/Documents/dira目录的test1.txt和dirb目录的test1.txt都含有如下内容:(都要自己新建)
aaa
AAAAAA
abc
abcabcabc
cbacbacba 
match_pattern
nand->erase


查找字符串时希望显示如下内容:
1)所在的文件名----grep查找时默认已经显示目标文件名
2)所在的行号------使用-n选项

grep -rn "字符串"  文件名
r(recursive):递归查找
n(number):显示目标位置的行号
字符串:要查找的字符串
文件名:要查找的目标文件,如果是*则表示查找当前目录下的所有文件和目录    

举例:
    grep -n "abc" test1.txt   在test1.txt中查找字符串abc
    grep -rn "abc" *          在当前目录递归查找字符串abc
    
注意:
1)可以加入-w全字匹配。

3.file命令详解

首先需要明白的是:linux下一切皆文件
目的:识别文件类型
格式: file   文件名

举例:
file ~/.bashrc            为ASCII 编码的text类型
file ~/.vimrc               为UTF-8 Unicode 编码的text类型
file ~/Pictures/*         如图形文件JPEG/PNG/BMP格式
file ~/Documents/     为directory表明这是一个目录
file /bin/pwd              出现 ELF 64-bit LSB executable,即为ELF格式的可执行文件
file /dev/*                  出现character special(字符设备文件)、 block special(块设备文件)等

4.which和whereis命令详解

which和whereis
目的:查找命令或应用程序的所在位置
格式:which  命令名/应用程序名

在终端上执行pwd实际上是去执行了/bin/pwd
举例:
    which pwd 定位到/bin/pwd
    which gcc  定位到/usr/bin/gcc
    whereis  pwd查找到可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/man1/pwd.1.gz

5.gzip命令详解

先说明下:单个文件的压缩(解压)使用gzip 和bzip2 
多个文件和目录使用tar   

gzip的常用选项
-l(list)         列出压缩文件的内容
-k(keep)    在压缩或解压时,保留输入文件。
-d(decompress)    将压缩文件进行解压缩

1)查看
    gzip  -l 压缩文件名
    比如:gzip -l pwd.1.gz

2)解压
    gzip -kd  压缩文件名
    比如:gzip -kd pwd.1.gz
    该压缩文件是以.gz结尾的单个文件
    
3)压缩
    gzip -k  源文件名
    比如:gzip -k pwd.1
    得到了一个.gz结尾的压缩文件

注意:
1)如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件,
并删除原有的文件,所以说,推荐使用gzip -k  来压缩源文件。
    
2)相同的文件内容,如果文件名不同,压缩后的大小也不同。

3)gzip只能压缩单个文件,不能压缩目录。

之前说到的使用man查看命令,以pwd为例,man pwd会解压/usr/share/man/man1/pwd.1.gz这个文件,然后读取该文件中固定的格式的一些信息,然后显示到终端中。

6.bzip2命令详解

bzip2也用来压缩单个文件
bzip2的常用选项
-k(keep)    在压缩或解压时,保留输入文件。
-d(decompress)    将压缩文件进行解压缩

1)压缩
    bzip2  -k  源文件名
    比如:bzip2 -k mypwd.1
    得到一个.bz2后缀的压缩文件
2)解压
    bzip2  -kd  压缩文件名
    bzip2 -kd pwd.1.bz2    

注意:
1)如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件,
并删除原有的文件,所以说,推荐使用bzip2 -k  来压缩源文件。
2)bzip2只能压缩单个文件,不能压缩目录。

单个文件的压缩使用gzip或bzip2,
压缩有两个参数:1)压缩时间  2)压缩比
pwd.1源大小是1477字节,
    gzip压缩后pwd.1.gz是877字节,
    bzip2压缩后pwd.1.bz2是939字节。
ls.1源文件大小7664字节,
    gzip压缩后ls.1.gz是3144字节,
    bzip2压缩后ls.1.bz2是3070字节。

★因此,一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。★

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值