跳转至

Files & File Systems


File Systems

  • NTFS

  • FAT

  • exFAT

  • NFS

  • CIFS

  • SMB

    • SMBv1.0
    • SMBv2.1
    • SMBv3.0

Statistics

Bash
# 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录
ls -lR|grep "^-"| wc -l

统计文件的数目:

Bash
#!/bin/bash

#变量counter用于统计文件的数目
counter=0
#变量files遍历当前文件夹
for files in *
do
    #判断files是否是文件,若是,就将counter变量的值加1,再赋给自己
    if [ -f "files" ]
    then
        counter=`expr $counter + 1`
    fi
done
echo $counter
exit 0

xargs

Bash
cat install_manifest.txt | xargs sudo rm {} -fr

Linux 三剑客

grep

Bash
grep -rn "hello" ./

sed

awk

Find

Bash
# 只能寻找执行文件 ,并在PATH变量里面寻找
which

# 从linux文件数据库(/var/lib/slocate/slocate.db)寻找,所以有可能找到刚刚删除或者没有发现新建的文件
# 先运行updatedb(无论在那个目录中均可,可以放在crontab中 )后在/var/lib/slocate/下生成 slocate.db 数据库即可快速查找,在命令提示符下直接执行#updatedb命令即可
updatedb
whereis

# 同上,不过文件名是部分匹配
updatedb
locate

# 删除目录及其子目录下某种类型文件,比如说所有的txt文件
find . -name "*.txt" -type f -print -exec rm -rf {} \;

fzf

fzf: a general-purpose command-line fuzzy finder

  • install fzf

  • alias sh alias ff='find * -type f | fzf > selected'

  • use in cli: ff

Compress & Uncompress

  • 多卷压缩
    Bash
    zip -r -s 2g nutstore_papers.zip nutstore_papers/