Linux之文件命令

复制单个文件至某个文件夹

cp /home/demo/apache-tomcat-7.0.81.tar.gz /home/demo/folder

复制一个文件夹下的所有文件至另一个文件夹
假设原文件夹为src,目标文件夹为target,复制src文件夹下的所有文件至target文件夹

a. 如果target目录不存在, 则 cp -r src target
b. 如果target目录存在, 则 cp -r src/. target
c. 如果target目录存在, 执行 cp -r src target;则会将A文件夹一并复制到target文件夹

移动文件夹

mv /home/demo/jdk1.7.0_80 /home/demo/downloads

文件重命名
文件名就由 file_2 修改成了 file_1

mv /home/demo/file_2 ./file_1

清空文件
-s 参数用来设定文件的大小,清空文件,就设定为0

truncate -s 0 test.txt

统计文件夹、文件数量命令

查看当前目录下的文件数量(不包含子目录中的文件)

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

查看当前目录下的文件数量(包含子目录中的文件) 注意:R(得大写),代表子目录

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

查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R

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

查询当前路径下的指定前缀名的目录下的所有文件数量
例如:统计所有以“20161124”开头的目录下的全部文件数量

ls -lR 20161124*/|grep "^-"| wc -l

对每个命令参数做一下说明备注:

ls -l

该命令表示以长列表输出指定目录下的信息(未指定则表示当前目录),R代表子目录中的“文件”,这个“文件”指的是目录、链接、设备文件等的总称

grep "^d"表示目录,"^-"表示文件
wc -l

表示统计输出信息的行数,因为经过前面的过滤已经只剩下普通文件,一个目录或文件对应一行,所以统计的信息的行数也就是目录或文件的个数

原文链接:,转发请注明来源!

发表评论