文件压缩并分卷
tar -czvp -f - clueweb12 |split -b 4000m - clueweb12.tar.gz. --verbose
cat clueweb12.tar.gz.* | tar -zxv
合并并解压
cat clueweb12.tar.gz.* |tar -zxv
pigz并行压缩、解压
time tar -cf - clueweb12.0.edges | pigz -p 4 > clueweb12.0.edges.tgz # 4线程压缩
time pigz -p 4 -d clueweb12.0.edges.tgz # 4线程解压
权限设置
find . -type f | xargs chmod g+r # 递归查找当前目录下所有文件,并设置为对同group可读
find . -type d | xargs chmod g+rx # 递归查找当前目录下所有文件夹,并设置为对同group可进入
文件大小查找
查找小于1MB的文件,- 表示小于
find ./ -size -1048576c -type f
查看程序的内存占用
ps -o pid,ppid,rsz,vsz,args
一句话在shell中获取脚本所在文件夹
workspace="$(cd $(dirname $0);pwd)"
查找被 Linux 系统 kill 的进程
一般情况下,Linux系统在内存不足的情况下,会对当前的进程打分,kill 掉分最高的进程。
grep -i 'killed process' /var/log/messages
gdb dump 全部线程的堆栈
当怀疑死锁时,把全部堆栈打印出来,找原因
gdb -p ${pid} -ex "thread apply all bt" -ex "set confirm off" -ex "quit" > all_bt.log
gdb ${binary} ${coredump} -ex "thread apply all bt" -ex "set confirm off" -ex "quit" > output.log
gdb 调试带参数的程序
注意 --args
在 binary 的前面
gdb --args ${binary} ${args} ...
查看文件中间一段
sed -n '100,200p' filename
利用 Python 启动简易的 HttpServer
有时候需要把本地的一些文件以网页形式展示。如整理完测试覆盖率后,需要方便浏览的时候,服务器上一般都带有 Python,可以直接 cd 到目录上,直接建立起简单的 HttpServer,浏览其中的文件:
# For 3.X
python -m http.server
# For 2.X
python -m SimpleHTTPServer
Git submodule init
git submodule update --init --recursive
网友评论