• linux 常用命令


    统计文件个数的命令:

    1) 统计当前文件夹下文件的个数

      ls -l |grep "^-"|wc -l

    2) 统计当前文件夹下目录的个数

      ls -l |grep "^d"|wc -l

    3) 统计当前文件夹下文件的个数,包括子文件夹里的

      ls -lR|grep "^-"|wc -l

    4) 统计文件夹下目录的个数,包括子文件夹里的

      ls -lR|grep "^d"|wc -l

    代码说明:

    ls -l :长列表输出当前文件夹下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

    grep "^-":这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

    wc -l:统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

    远程登录的命令(ssh,scp)

    ssh -l 用户名 远程主机ip
    scp -r 本地文件夹 远程主机的地址

    通过输入以下命令

    mv source/* target/
    cp source/* target/
    rm source/*
    ls source/*

    可以看到报错信息为:

    -bash: /bin/mv: Argument list too long
    -bash: /bin/cp: Argument list too long
    -bash: /bin/rm: Argument list too long
    -bash: /bin/ls: Argument list too long

    使用find命令:

    find source/ -name "*.txt" -exec mv {} target ;

    (第二步创建的文件名都是以.txt结尾的)或者使用

    find source/ -name "*.txt" | xargs -i mv {} target/

    命令,如果是cp、rm 、ls操作将以上命令里中的mv改为相应的命令即可;

    使用 ls 命令:

    ls dir1 | xargs -t -I {} mv dir1/{} dir2/{}

    需要说明的是,上面xargs的第二个参数,是大写的i。

  • 相关阅读:
    [Axiom 3D]1.初识Axiom
    [.Net]System.OutOfMemoryException异常
    一个恶心的需求
    度分秒的正则表达式
    CSLA.Net学习(3)INotifyPropertyChanged和IDataErrorInfo
    [转载]高斯正反算
    分带?不分带?
    chm帮助文档制作及C#调用
    OleDb未指定错误
    [学习笔记]工厂方法用于数据库开发
  • 原文地址:https://www.cnblogs.com/hypnus-ly/p/8287545.html
Copyright © 2020-2023  润新知