操作文件
cd
进文件夹目录
ls
查看
-a、-all列出目录下的所有文件,包括以 .开头的隐含文件。-A同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。-c配合-lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合-l:显示 ctime 但根据名称排序否则:根据 ctime 排序-C每栏由上至下列出项目-color[=WHEN]控制是否使用色彩分辨文件。WHEN可以是never、always或auto其中之一-d,-directory将目录象文件一样显示,而不是显示其下的文件。-D,-dired产生适合 Emacs 的 dired 模式使用的结果-f对输出的文件不进行排序,-aU选项生效,-lst选项失效-g类似-l,但不列出所有者-G,-no-group不列出任何有关组的信息-h、-human-readable以容易理解的格式列出文件大小 (例如 1K 234M 2G)-si类似-h,但文件大小取 1000 的次方而不是 1024-H,-dereference-command-line使用命令列中的符号链接指示的真正目的地-indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:none(默认),classify (-F),file-type (-p)-i,-inode印出每个文件的inode号-I,-ignore=样式 不印出任何符合 shell 万用字符<样式>的项目-k即-block-size=1K,以 k 字节的形式表示文件的大小。-l除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。-L,-dereference当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息-m所有项目以逗号分隔,并填满整行行宽-o类似-l,显示文件的除组信息外的详细信息。-r,-reverse依相反次序排列-R,-recursive同时列出所有子目录层-s,-size以块大小为单位列出所有文件的大小-S根据文件大小排序-sort=WORD以下是可选用的 WORD 和它们代表的相应选项:extension -X status -cnone -U time -tsize -S atime -utime -t access -uversion -v use -u
-t以文件修改顺序排序-u配合-lt显示访问时间且依照访问时间排序-U不进行排序-v根据版本进行排序-w自信适应屏幕宽度而不是用目标的数值-x逐行显示项目而不是随兰列出-X根据扩展名排序——l每行只展示一个文件
1.统计当前目录下的文件数量(不包含子目录)
bash
ls -l | grep "^-" | wc -l
2.统计当前目录下所有的项目数量(包括文件、目录、隐藏文件)
bash
ls -lA | wc -l
3.递归统计目录及子目录下的所有文件数量
bash
# 简易统计,但会因文件名中包含换行符而不准
find . -type f | wc -l
# 更安全的统计,每个文件名都标记为 "." ,然后统计点数
find . -type f -printf '.' | wc -c
# 仅统计以及目录中的文件
find . -maxdepth 1 -type f | wc -l
pwd
展示当前目录
mkdir
创建目录(文件夹)
- -m 设定文件夹模式
- -p 创建时没有的目录补全
- -v 创建展示信息
rm
删除文件或文件夹
- -f 忽略不存在的文件
- -i 交互式删除
- -r 将全部目录和子目录递归进行删除
- -v 显示进行的步骤
rmdir
删除空目录
- -p 递归删空目录
mv
移动文件或文件夹
- -b 若需覆盖文件,覆盖前先备份
- -f 强制覆盖
- -i 询问是否覆盖
- -u 比较更新
- -t 指定目标目录,用于多个源文件到一个目录的情况
touch
修改时间戳或创建新文件
- -a --time=atime --time=access --time =use 自更改存取时间
- -c --no-create 不创建新文件
- -d 指定时间而非现在
- -f
- -m --time=mtime --time=modify 只改动时间
- -r 把置指定档或目录的日期改成参考的文档或目录的日期
- -t 指定时间,而非现在
cat
连接文件或标准并打印
一次显示整个文件:cat filename
从键盘创建一个文件:cat > filename只能创建新文件,不能编辑已有文件.
将几个文件合并为一个文件:cat file1 file2 > file
命令参数:
- -A, --show-all 等价于 -vET
- -b, --number-nonblank 对非空输出行编号
- -e 等价于 -vE
- -E, --show-ends 在每行结束处显示$
- -n, --number 对输出的所有行编号,由 1 开始对所有输出的行数编号
- -s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
- -t 与 -vT 等价
- -T, --show-tabs 将跳格字符显示为 ^I
- -u (被忽略)
- -v, --show-nonprinting 使用 ^ 和 M- 引用,除了
- LFD 和 TAB 之外