linux常用命令

过滤掉文件空白行和注释

cat /usr/local/filebeat/conf/filebeat.yml|grep -Ev "^$|#"

rm

-d:删除空目录
-f:强制删除文件或目录(慎用)
-v:打印删除信息
-r:递归删除目录内容(慎用)

grep
显示文件和输入流中匹配行

grep root /etc/*  显示etc目录下所有包含root的文件
  • 重要选项

      -i:不区分大小写
      -v:反转匹配
      -E:识别正则表达式  egrep = grep -E
    

less
查看大文件

  • 查看文件

      less -N file  查看文件,-N:显示行号  空格键:显示下一屏 B:显示上一屏
    
  • 搜索

      /word 从下往上搜索
      ?word 从上往下搜索  按n进入下一个匹配
    

pwd
显示当前目录信息
重要选项

	-L:显示链接目录
	-P:显示实际物理目录
	*说明*
	比如java8  -> /usr/local/jdk8
	pwd -L 输出 /usr/loca/java8
	pwd -P 输出/usr/local/jdk8

diff
比较2个文件不同 diff -u file1 file2

file
查看文件的格式信息 file file

find和locate命令;which和whereis
find:硬盘上寻找;查找速度慢
locate:将硬盘文件建立一个索引数据库,索引数据库一般由操作系统管理;查找速度快
which:查找可执行二进制文件(PATH目录下寻找)
whereis:和locate一样,从索引数据库查找

  • locate用法
    模糊匹配;对于新建立文件可能查不到 updatedb:更新数据库

      [root@CentOS7 ~#]locate /etc/sh  # 搜索以sh开头的文件
      [root@centos7 ~#]locate -r "/etc/\sh "  # 正则,锚定词首  
    
      [root@centos7 ~#]locate -i ~/d
    
  • find用法
    精确匹配

  1. 文件名和inode类

         -name "文件名称": 支持使用glob, *, ?, [], [^]
         -iname "文件名称": 不区分字母大小写
         -inum n: 按inode号查找
         -somefile name: 相同的inode号文件
         -links n: 链接数为n的文件
         -regex "PATTERN": 以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称
    
  2. 属主属组类

     	    -user USERNAME: 查找属主为指定用户(UID)的文件
     	    -group GROUPNAME: 查找属组为指定组(GID)的文件
     	    -uid UserID: 查找属主为指定的UID号的文件
     	    -gid GroupID: 查找属组为指定的GID号的文件
     	    -nouser: 查找没有属主的文件
     	    -nogroup: 查找没有属组的文件
    
  3. 文件类型 -type + 文件类型

     b      block (buffered) special
     c      character (unbuffered) special
     d      directory
     p      named pipe (FIFO)f      regular file
     l      symbolic  link
     s      socket
     f		file
    
  4. 权限类

     find -perm 644 表示要严格匹配644的文件
     find -perm +222 表示u,g,o任何一类用户有写权限即匹配
     find -perm -222 表示仅严格匹配写权限,即每个用户必须要有写权限
     find -perm -002 表示仅严格匹配other用户的写权限
    

环境变量和shell变量
环境变量:能够被shell中运行的所有进程访问 export设置
shell变量:仅仅针对当前shell可用

命令路径
PATH是一个特殊的环境变量,定义了命令路径;shell运行命令时,回去PATH目录下查找

  • 加入PATH路径

      $ PATH=dir:$PATH  # 先查找dir
      $ PATH=$PATH:dir  # 先查找$PATH
    

命令行编辑

	CTRL-A  移动光标到行首
	CTRL-E  移动光标到行尾
	CTRL-W 删除前一个词
	CTRL-U  删除光标到行首的词
	CTRL-K  删除光标到行尾的内容
	CTRL-Y  粘贴已删除内容(CTRL-U内容)

帮助

--help
man

shell输入输出

  1. command > file
  2. command >> file
  3. head /proc/cpuinfo | tr a-z A-Z # 一个命令的执行结果可以通过管道传递给另一个命令 (tr 替换)
  • 标准错误输出

      ls /ffff > f 2> e  # 2> 向f发送标准输出,向e发送标准错误信息
      ls /fff > f 2>&1   # 将标准输出和标准错误输出都重定向到文件f中
    
  • 标准输入重定向

      head  < /etc/passwd  # 不常用
    

umask
设置新建文件的掩码,指定的掩码在新建文件时将被删除(和chmod正好相反)
使用umask创建的文件不能有可执行权限(除 编译程序创建的文件),只能通过chmod赋予权限

	比如:umask -P ⇒  umask 0022
	touch test ⇒  644(7-0-1 -> 7-2-1 -> 7-2-1)

符号链接
删除符号链接需要注意

ln -s target linkname
比如:存在一个文件e  ln -s e e1  ⇒  e1 -> e

sudoers
控制用户访问权限
sudo -l # 查看用户有那些sudo权限

1. root  ALL=(ALL)  ALL  # 允许root执行任何命令
2. %users localhost=/sbin/shutdown -h now  # 允许user组内的member关闭自己的机器
3. %users ALL=/sbin/mount  # 允许users组内member以root用户执行挂载命令
4. ops  ALL=(ALL)  NOPASSWD: ALL  # 允许ops用户免密执行所有命令
5. ops  ALL=(ALL)  NOPASSWD: ALL,! /sbin/mount  # 允许ops用户免密执行除mount命令

包相关

yun list installed | grep package  # 查看yum已经安装的包
rpm -qa|grep package  # 查看rpm安装包
rpm -ql | grep package  # 查看rpm安装包路径

磁盘io问题排查

lsof /目录  # 显示目录下被打开的文件
lsof -p 进程pid  # 指定进程打开的文件
lsof -i <条件>  # 协议、:端口、 @ip
=> lsof -i tcp  # 列出所有tcp链接信息
=> lsof -i :3306 # 列出谁在使用某个端口

# strace:系统调用跟踪 显示进程涉及的所有系统调用
strace -p pid -f  # 查看进程和线程情况  跟踪进程和线程系统调用  有时候由于进程变成z,会失效,可以用perf
perf record -g  性能分析
./filetop  -C  # 查看文件读写情况
./opensnoop  # 查看文件路径
pstree -t -a -p 27458  # 查看进程树  -t 显示线程 -a 显示命令行参数

slab查看

	slabtop  查看目录项和inode缓存占用大小   c按照缓存大小排序

dmesg
查看内核和硬件日志信息

vim常见指令

指令作用
0行首
$行尾
H屏幕首行
M屏幕中间
L屏幕末行
gg文件首行
G文件末行
o当前光标下一行插入内容
O当前光标上一行插入内容
p当前光标下一行粘贴内容
P当前光标的上一行粘贴内容
dd删除整行
d0删除光标到行首字符
d$删除光标到行末字符
ndd向下删除n行
nyy向下复制n行
ngg定位到第n行
dG删除光标到行末内容
dgg删除光标到行首内容
ggyG复制全文
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值