linux 进阶命令___0002
#列出重复文件,首先检查文件大小,再检查md5sum
find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate
#当前文件下前5个最大的文件
du -sh * | sort -n |tail -5
#在bash中查看0-255对应的颜色
for code in {0..255}; do echo -e "\e[38;05;${code}m $code: Test"; done
#使file2的权限和file1权限相同
chmod --reference file1 file2
#显示具有完整详细信息的四向滚动过程树(4-way scrollable process tree)。
ps awwfux | less -S
#启动COMMAND,如果在5秒钟后COMMAND仍然运行,则可以将其杀死
timeout 5s COMMAND
#递归删除当前目录下所有空目录
find . -type d -empty -delete
#快速创建文件的备份
cp file.txt{,.bak}
#仅列出目录
ls -d */
#比较两个目录
diff <(cd dir1 && find | sort) <(cd dir2 && find | sort)
#快速查看数据的行数和列数
wc -l Ch13/secom.data #行数
awk '{print NF}' Ch13/secom.data |uniq #列数
Linux 内存释放
参考链接:
https://linux-mm.org/Drop_Caches
https://linux.cn/article-5627-1.html
http://man.linuxde.net/sync
Linux 内核2.6.16及更高版本提供了一种机制,即让内核根据命令删除page caches/ inode caches/ dentry caches, 释放大量内存。
uname -a #查看内核版本
Linux fat 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
# 在企业和生产环境中是最安全 --- 清空页面缓存(pagecache):
sync && echo 1 > /proc/sys/vm/drop_caches
# 清空目录项和inode(dentries and inodes):
sync && echo 2 > /proc/sys/vm/drop_caches
# 在生产环境中不建议使用 --- 清空pagecache, dentries and inodes:
sync && echo 3 > /proc/sys/vm/drop_caches
#sync:在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时,才需手动执行sync命令。
buffer与cache的区别:
buffer:为了解决写磁盘的效率
cache:为了解决读磁盘的效率