linux常用命令(关于cat find )基本用法

cat

linux常用命令(关于cat find )基本用法,也有其他的用法:

  1. 最简单的用法:
    cat file.txt
    This is file.txt
    
  2. 打印多个文件的内容:
    cat file1 file2 file3
    This is file1.txt
    This is file2.txt
    This is file3.txt
    
  3. 摆脱多余的空行-s
    cat file1.txt
    This is file1.txt
    
    
    aaaaa
     
    
    bbbbb
    cat -s file1   # 有多处连续的空白行会只显示一处
    This is file1.txt
    
    aaaaa
    
    bbbbb
    
  4. 显示行号-n
    cat -n line.txt
     1 lin1
     2 lin2
     3 lin3
    
  5. cat 重定向,在Linux shell 脚本中经常会见到的:
    <<EOF
    (内容)
    EOF
    #  注意 EOF 是“end of file”,表示文本结束符,在这里完全可以使用其他字符替代例如:END FOE 等等
    例子:
    cat <<END>>file.txt
    username=wangwu
    age=19
    END
    结果:  # 在以前文件的基础上追加了两行信息,亦可以使用 >  清空原文件后再添加
    This is file1.txt
    
    
    
    aaaaa
    
    
    bbbbb
    username=wangwu
    age=19
    
    

find

find 几乎是Linux 中最棒的工具之一,它通常用于文件的查找,find 命令工作方式如下:沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应操作。

1. 列出当前目录及子目录下所有的文件和文件夹
find path 
eg: find . -print
# 在Linux中 . 表示当前目录, .. 表示父级目录,print 指明打印出匹配的文件名(路径),不加print 也同样会打印
2. 根据文件名或正则表达式进行搜索
(1) -name 
eg: find . -name *.sh
# 表示查找当前目录下以 sh 结尾的文件, * 表示通配符
补充: -iname 可以忽略大小写字母搜素
(2) -path 
find / -path "*/test/*"
结果:
/usr/lib64/python2.6/site-packages/OpenSSL/test/util.pyc
/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyc
/usr/lib64/python2.6/site-packages/OpenSSL/test/test_crypto.pyc
/usr/lib64/python2.6/site-packages/OpenSSL/test/__init__.py
#-name 是以给定的文件名 进行匹配,-path 是将文件路径作为一个整体进行匹配
(3) -regex
find . -regex ".*sh$" 
# 利用正则匹配以sh结尾的文件,同样 -iregex 可以忽略大小写
3. 否定参数
find . ! -name "*.sh"
# 匹配当前目录下不是以 ,sh 结尾的文件
4. 根据文件类型搜索
Linux 系统一切皆文件 ,所以我们就可以利用文件类型来对文件进行搜索
find . -type d   # 列出当前目录下所有目录
find -type f    # 列出当前目录下所有文件
5. 根据文件时间进行搜索
# 找出在7天内被访问过的文件
find . -type f  -atime -7
#  找出在刚好7天前被访问过的文件
find . -type f -atime -7
# 找出访问时间超过7天的文件
find . -type f -atime +7

atime 最后一次访问时间, 
ctime 最后一次状态修改时间
mtime 最后一次内容修改时间
# 注意这些都是基于时间的参数并且计量单位都是天
6. 基于文件大小进行搜索
# 查找大于2kb 的文件
find . -type f -size +2k
# 查找小于2kb 的文件
find . -type f -size -2k
7. 删除匹配的文件
find . -type f -name ".swp" -delete
# 删除当前目录下所有 .swp 文件
8. 根据文件的所有权进行搜索
find . -type f -user root 
# 打印root用户拥有的所有文件
9. 利用find执行命令或动作
find 命令可以借助选项-exec 与其他命令相结合。而 -exec 也是find最为强大的特性之一
eg: find . -type f -user root -name "*.txt" -exec cat {}  \;
# 查找出当前目录下所有 .txt 结尾的文件并使用cat查看,{}是一个与-exec 搭配使用的特殊字符串,对于每一个匹配的字符串 {} 都会替换成对应的文件名,例如上面的就可以解释为 find 先找到 root 用户拥有的 test1.txt 和 test2.txt 然后 cat {} 就会被解析成cat test1,txt 和 cat test2.txt 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值