du
# 文件夹下目录占据的大小
du -s
# -h 以K、M、G为单位展示
du -sh
# d1表示depth为1,shell命令下一版用--max-depth=1,Mac环境下该命令不生效,可以用d1代替
du -hd1
# 按照文件夹大小 从小到大排列
du -hd1 | sort -h
# 按照文件夹大小 从大到小排列
du -hd1 | sort -rh
cat
# 将filename1 里的内容拷贝到filename2中,并覆盖filename2原有内容
cat filename1 > filename2
# 将filename1 里的内容拷贝并追加到filename2的文件结尾
cat filename1 >> filename2
# 允许选中多个文件,并且要写入的文件不存在的时候可以自动创建
ls -a
// ->产出: file1.js file2.js
cat file1.js file2.js > file3.js
more
当使用 cat 命令查看文件内容时,如果文件过大,以至使用PgUp+上箭头组合键向上翻页也无法看全文件中的内容,该怎么办呢?这就需要使用 more 命令,more 命令可以分页显示文本文件的内容。
- -f 计算行数时,以实际的行数,而不是自动换行过后的行数。
- -p 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。
- -c 跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。
- -s 当遇到有连续两行以上的空白行时,就替换为一行的空白行。
- -u 不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。
- +n 从第 n 行开始显示文件内容,n 代表数字。
- -n 一次显示的行数,n 代表数字。
less
less 命令的作用和 more 十分类似,都用来浏览文本文件中的内容,不同之处在于,使用 more 命令浏览文件内容时,只能不断向后翻看,而使用 less 命令浏览,既可以向后翻看,也可以向前翻看。
- -N 显示每行的行号。
- -S 行过长时将超出部分舍弃。
- -e 当文件显示结束后,自动离开。
- -g 只标志最后搜索到的关键同。
- -Q 不使用警告音。
- -i 忽略搜索时的大小写。
- -m 显示类似 more 命令的百分比。
- -f 强迫打开特殊文件,比如外围设备代号、目录和二进制文件。
- -s 显示连续空行为一行。
交互指令
Col1 | Col2 |
---|---|
/字符串 | 向下搜索“字符串”的功能。 |
?字符串 | 向上搜索“字符串”的功能。 |
q 或 Q | 退出 less 命令。 |
空格键 | 向下移动一页。 |
回车键 | 向下移动一行。 |
b | 向上移动一页。 |
d | 向下移动半页。 |
j | 向下移动一行。 |
k | 向上移动一行。 |
G | 移动至最后一行。 |
g | 移动到第一行。 |
mv
# 重命名
mv 1.js 2.js
# 移动文件
mv 1.js ../1.js
# 移动并重命名
mv 1.js ../2.js
cp
# 拷贝文件到某个目录
cp 1.js ../
# 拷贝目录下文件到另一个目录,需要递归文件夹的话加 -r
cp -r ./src/* ../leo
# 拷贝文件夹到另一个目录下,记得添加 -r
cp -r src ../leo
wc
# 统计字节数
wc -c 1.js
# 统计行数
wc -l 1.js
# 统计单词数
wc -w 1.js
# 统计字符数
wc -m 1.js
grep
# grep [options][查找条件(正则表达式)] [目标文件]
# -i:不区分大小写
# -n:显示匹配行及行号。
# -s:不显示“不存在或无匹配文本”的错误信息
# -E:开启扩展的正则表达式,使用egrep命令 (egrep官网已经弃用了?)
# -c:计算找到’搜寻字符串’的次数,即统计行数
# -w:表示精确匹配一个字符
# 查找aa bb cc文件中带有test的行
grep 'test' aa bb
# 不包含子文件的搜索
grep 'pushEvent' ./src
# 包含子文件的搜索
grep -r 'pushEvent' ./src
# 与管道符一起用
cat test.txt | grep hello
find
# Find命令统计目录下有多少个ts文件,不包含node_modules文件夹下文件
find . -name '*.ts' ! -path './node_modules/*' ! -path './packages/**/node_modules/*' ! -path "*.d.ts" | wc -l
tar
# 压缩
# z 旗标表示归档正在被压缩,并正在组合成一个文件。您通常会用到这个选项,但这不是必需的。
tar -czf LotsOfFiles.tgz LotsOfFiles
# 如果文件夹较大,您不妨添加 v 旗标来监视进程:
tar -czvf LotsOfFiles.tgz
# 解压缩
tar -xvf LotsOfFiles.tgz