1. 复制
将文件夹中除了某个文件(夹)的其它文件(夹)复制到另一处
例如 root_files/ 目录下有data、train.py、inference.py、 utils等文件或文件夹,要复制除data文件夹以外所有的文件到copy_files目录下。
先进入要复制的root_files/ 目录下,执行以下命令:
cp -r `ls | grep -v data | xargs` [Parent Path]/copy_files/
2. 删除
删除指定天数前的文件
删除tmp
文件夹下面30天之前的文件,指定为文件,名称任意
find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \;
3. 查看
查看文件夹内所有文件的大小
du -sh
计算文件数
# 计算文件数量(包括文件夹)
ls -l | wc -l
# 计算文件夹下有多少文件(不包含文件夹)
ls -l | grep "^-" | wc -l
# 计算文件夹下有多少文件夹
ls -l | grep "^d" | wc -l
# 递归计算文件夹下共有多少文件(包括子文件夹里的)
ls -lR | grep "^-" | wc -l
4. 更改权限、组、所有者
更改权限
sudo chmod 755 [文件名/文件夹]
由于文件的权限是按照rwx
,即读、写、执行的顺序排列,以上7、5、5是按照所有者权限、组中其它成员权限、非相同组用户权限的顺序排列。7对应的2进制为111,即rwx的权限都有;而5为101,即只有读与执行的权限,没有写的权限,即不能修改文件。
另一种方式
sudo chmod a+x [文件名/文件夹]
a代表所有用户,g代表整个组的用户,u代表当前用户;a+x
代表所有用户都加上了执行权限,而g-w
代表同组其它成员都不能执行。
递归修改权限
sudo chmod -R 777 [文件夹]
更改所有者
sudo chown [用户] [文件名/文件夹]
递归更改文件夹下所有文件的所有者
sudo chown -R [用户] [文件夹]
更改组
sudo chgrp [组名] [文件名/文件夹]
递归更改文件夹下所有文件的组
sudo chgrp -R [组名] [文件夹]