Linux常见问题合集

面筋分类汇总-测开向

Linux常用命令小结

Linux基本指令

  • 连接SSH

    • ssh uesrname@ip
    • 例如:ssh root@192.168.43.217
  • Linux 创建多级目录命令: mkdir -p

    • 示例:mkdir -p project/App;
    • 注:删除多级文件夹:rm -r 文件夹名 -- 表示循环删除文件夹,深入后逐个询问并删除
      • rm -rf 文件夹名 -- f表示强制执行,-rf直接删除,不询问。
  • 管道"|"

    • 管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。
    • 连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
  • linux基本指令 awk、find、grep

    • AWK是一种处理文本文件的语言,是一个强大的文本分析工具
    • grep更适合单纯的查找或匹配文本;awk 更适合格式化文本,对文本进行较复杂格式处理
    • grep查找具体的文本,find查找文件。
  • grep:-v 不显示匹配上的内容;-n 显示匹配上的内容

    • grep -v down,显示不包含down的内容。
    • grep -n down,显示包含down的内容。
  • linux命令:找出关键字出现的次数

    • 两种方法:grep+wc;awk。
    • grep+wc:
      • 当个字符串:grep 字符串 文件名|wc -l ,grep输出,wc -l按行统计
      • 多个字符串:grep 'objStr1|objStr2' filename|wc -l
    • awk:
      • 语法1: awk -v RS="@#$j" '{print gsub(/targetStr/,"&")}' filename
      • 语法2:awk '{s+=gsub(/targetStr/,"&")}END{print s}' filename
    • 统计文件夹下特定类型文件个数
      • 示例:统计文件夹下/mount/taskdata 以.log结尾的文件数量
      • 法1:find /mount/taskdata -name *.log |wc -l -- find查找特定类型并统计
      • 法2:ls /mount/taskdata/*.log |wc -l-- ls列出特定类型并统计
  • 大文件中查找关键字出现的次数

  • 查找文件:

    • find /(查找范围) -name 查找关键字 -print
    • find <指定目录> <指定条件> <指定动作>
    • find的使用实例:
        - find . -name 'my*':搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。
        - find . -name 'my*' -ls: 搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。
        - find . -type f -mmin -10: 搜索当前目录中,所有过去10分钟中更新过的普通文件。
      • 如果不加-type f参数,则搜索普通文件+特殊文件+目录。
    • find 可以与 wc 通过管道连接,进行一些统计操作。
  • shell脚本:如何查找出现频率最高的100个ip地址

    • 通过查看日志access_log文件进行统计:
      • cat access_log |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 100 | less
    • 当前WEB服务器中联接次数最多的ip地址:
      • netstat -ntu | tail -n +3|awk '{ print $5}' | cut -d : -f 1 | sort | uniq -c| sort -n -r | head -n 100
    • 通过文件test.txt查询:
      • cat test.txt | awk '{print $2}' | sort | uniq -c | sort -n -r | head -n 100
  • shell:统计一个文件中重复的行和重复次数

    • 格式:uniq [options][file1 [files]]
    • uniq -c file:file中的重复行输出一次,并在每行前显示重复次数
    • uniq -d file:file中的重复行输出一次,但不输出唯一的行
    • uniq -u file:只输出file中的唯一行
    • uniq file1 file2:把file1中的重复的相邻行删除,并把每行的一个拷贝送到file2
    • 示例:cat a.txt|uniq -cuniq -c a.txt获得相同结果
      • 注:只获取重复行,用unqi -d的参数d
  • awk

    • 待续
  • 查看端口

    • netstat -tunlp 是查看所有的在使用的端口号情况
    • netstat -tunlp | grep 端口号 是查看所查询的端口号情况
    • 参数备注:
      • -t:(tcp)仅显示TCP相关端口
      • -u:(udp)仅显示UDP相关端口
      • -n:不进行DNS轮询,显示IP(可以加速操作)
      • -l:仅列出有在Listen(监听)的服务端口
      • -p:显示建立相关链接的程序名
  • 找到共用80端口的线程

    • 注:存疑,先这样吧。
    • ps:使用场景:两个不同端口的微服务,当我们测试的时候,需要放到同一台服务器上,共享80端口访问
    • ps -ef |grep 80
    • netstat -anp |grep :80
  • 查看进程

    • ps -A 显示所有进程信息
    • ps -u root 显示指定用户信息
    • ps -ef 显示所有进程信息,连同命令行
      • ps -ef|grep ssh 查找特定进程ssh
    • ps -l 列出与本次登录有关的进程信息;
    • ps -aux 查询内存中进程信息;
      • ps -aux |more 分页显示结果
      • ps -aux | grep *** 查询***进程的详细信息;
      • ps -aux > ps001.txt 把所有进程显示出来,并输出到指定文件中
    • ps -o pid,ppid,pgrp,session,tpgid,comm 输出指定字段
    • top 查看内存中进程的动态信息;
    • kill -9 pid 杀死进程。
  • vim 显示所有行的行号::set number

    • 操作:esc + 冒号 + set number + 回车
    • 显示行号::set number,可以简写为::set nu
    • 关闭行号::set nonumber,简写为::set nonu
  • linux 如何将文件从一台服务器转移到另一台服务器

    • scp:secure copy的缩写, 是linux系统下基于ssh登陆进行安全的远程文件拷贝命令,可以在linux服务器之间复制文件和目录。
    • 格式:scp [参数] [原路径] [目标路径]
    • 从本地服务器复制到远程服务器:
      • 复制文件: scp local_file remote_username@remote_ip:remote_folder
      • 复制目录: scp -r local_folder remote_username@remote_ip:remote_folder
        • 参数 -r :递归复制整个目录
  • 权限修改命令

    • 格式:chmod ABC Filename
    • chmod: 修改文件权限命令。
    • rwx:4读取,2写入,1执行,
      • User、Group、及Other的权限,同组用户的权限,其他用户的权限。
chmod u+r test.txt     //增加用户可读
chmod u-w test.txt     //撤销用户可写
chmod u=rw test.txt    //重置用户权限(可读可写)
chmod u=- test.txt     //重置用户权限(无任何权限)
chmod g=rw test.txt    //重置用户组权限(可读可写)

//角色:
u (user)用户(文件所有者)
g (group)用户组(同一组中除了当前用户的其他用户)
o (other)其他用户(其他用户组下的所有用户)
a (all)所有用户

//操作符:
+ 增加权限
- 撤销权限
= 设置权限

//权限值:
r 可读,权限值4
w 可写,权限值2
x 可执行,权限值1
- 无任何权限,权限值0
  • ps -ef | grep xxxserver | grep -v grep|wc -l

    • ps -ef 指令用来查询所有进程,grep通过管道来过滤。grep -v 是反向查询的意思,grep -v grep的作用是除去包含grep的项。
  • 磁盘查询:

    • du:(disk use)显示每个文件和目录的磁盘使用空间。
    • df:(disk free)显示磁盘分区上可以使用的磁盘空间。

END

原文地址:https://www.cnblogs.com/anliux/p/12603764.html