Linux命令积累

记录一些常用的linux shell命令, 做个备忘



抓取命令 grep

命令形式: grep [-acinv] [--color[=auto]] "搜寻内容" filename, 其中搜索串可以是正则表达式

常用参数:

  • -a: 将 binary 文件以 text 文件的方式搜寻数据
  • -c: 计算找到 ‘搜寻内容’ 的次数
  • -i: 忽略大小写的不同
  • -n: 顺便输出行号
  • -v: 反向选择,亦即显示出没有”搜寻内容”内容的那一行, 配合管道使用很方便
  • -A: 多显示后面的num行
  • -B: 多显示前面的num行
  • -C: 多显示前面和后面的num行, 相当于AB合起来

常用示例:

向前显示5行: grep "2016-6-23 12:00:00" -B5 --color access.log

抓去时间大于某个值

配合sed命令和awk命令

$ grep "运行时间为" qcredit.log  | sed 's/ms//' | awk -F ':' '{if($5>100) print}'

通过sed命令把字符串里的ms换成空串, awk命令 -F ':' 表示用:对文本分割, $5对应分割后的时间那一列


链接命令 ln

  • 软链接: 可链接目录、可跨文件系统、相当于快捷方式
  • 硬链接: 文件副本、不占空间、不可链接目录、不可跨文件系统
软链接: ln -s src_name link_name
硬链接: ln file_name link_name

打包命令 tar

常用参数:

  • -c: 创建
  • -x: 解压
  • -f: 指定文件
  • -v: 显示进度
  • -t: 显示列表
  • -z: 使用gzip压缩
  • -j: 使用bzip2压缩

常用示例:

打包: tar -cvf output.tar inpt1 input2 ...
压缩: tar -zcvf output.tar directory/input
解压: tar -xvf input.tar

远程拷贝 scp

常用参数:

  • -r: 递归拷贝,若文件夹下有文件,则底下文件也一起拷贝

常用示例:

上传: scp -r local_file username@remote_ip:remote_file
下载: scp -r username@ip:remote_file local_file

修改权限 chmod

递归修改权限,比如,将某目录下面的所有文件修改为644,所有目录修改为755

find ./mydir -type f | xargs chmod 644
find ./mydir -type d | xargs chmod 755

查看端口占用情况

不用sudo看不到PID/Program name

sudo netstat -tunlp