See You Again

一些命令行使用备忘

linux下的命令行工具及参数众多,使用的时候经常容易忘记,这里做一个备忘。

sed

不区分大小写

  1. sed '/hello/Id' file

grep

海量文件的查找,这里可以结合 find 一起用,对于几W个文件足够了。grep 后面的正则建议用单引号括起来,不要用双引号,防止里面的内容执行,带来意外,例如 grep 'string'

  1. find dir/ -type f | xargs grep 123456789
  2. find dir/ -type f | xargs -n 100 grep -l '\*'
  3. find dir/ -type f -name "*.log" -print0 |xargs -0 grep 'string' --color=auto

中文

  1. grep [^\x00-\xff] *.log
  2. grep [^\u4E00-\u9FA5] *.log

crontab

定时命令里的参数也是经常忘记:joy:,注意cron脚本及所调用的脚本都要使用绝对路径,其中的PATH变量与shell中的不同。

  1. 0-59 1-23 1-31 1-12 0-6 /dir/script.sh
  2. # 分 时 日 月 星期
  3. # 格式:1-5连续 1,5制定 *所有

curl

使用代理下载

  1. curl -x 121.14.161.172:3328 -o download.html http://www.linuxidc.com

测试资源压缩

  1. curl --compressed http://localhost
  2. wget --header="Accept-encoding:gzip" http://localhost

tar

排除一些目录

  1. tar -zcf prg.tgz prg/ --exclude .git --exclude tmp --exclude *.pyc

imageMagic

制作 ico 文件

  1. convert img.png -define icon:auto-resize=128,64,48,32,16 favicon.ico

find

拷贝目录并忽略一些子目录;查找7天以前的日志文件

  1. find proj | grep -v logs | cpio -pdm proj_copy
  2. find . -mtime +7 -name "*.log"

查找jsp文件,中文中混杂英文标点的地方:

  1. find . -name "*.jsp" -exec grep -P "[^\x00-\xff],[^\x00-\xff]" {} \;

脚本

添加sudo权限

  1. visudo -f /etc/sudoers
  2. Defaults:user timestamp_timeout=-1,runaspw

pip

更新所有可升级的 python 库(处女座的福音哈):

  1. pip freeze --local | grep -v '^-e' | cut -d = -f 1 | xargs -n1 pip install -U
2018-05-06 喜欢

Copyright © 2015-2018 转载请注明出处

回到顶部 ↑