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。

posted @ 2018-01-15 12:14  blackx  阅读(280)  评论(0编辑  收藏  举报