一些常用的linux基础命令

记录一些日常用到的基础命令,防止重复去百度搜索,主要是Centos中,个人记不住的一些命令,ls什么的肯定没有记录

端口

  • 端口占用情况

    1
    2
    > lsof -i tcp:8000 
    > netstat -tunlp |grep 8000
  • 列出所有端口

    1
    > netstat -ntlp
  • 根据程序名找进程

    1
    > ps axu |grep 程序名/端口号/IP等等
  • 查询指定端口是否已开

    1
    > firewall-cmd --query-port=666/tcp
  • 查看所有开放的端口

    1
    2
    > iptables -t filter -L INPUT

防火墙

  • 查看防火墙状态

    1
    > systemctl status firewalld
  • 开启防火墙

    1
    2
    3
    4
    5
    6
    > systemctl start firewalld
    > service firewalld start
    > ##若遇到无法开启,先用:
    > systemctl unmask firewalld.service
    > 然后:
    > systemctl start firewalld.service
  • 关闭防火墙

    1
    > systemctl stop firewalld
  • 对外开放端口

    1
    2
    3
    4
    5
    6
    > firewall-cmd --zone=public --add-port=8080/tcp --permanent
    > iptables -I INPUT -p tcp --dport 9150 -j ACCEPT
    > ##或者
    > sudo vi sysconfig/iptables
    > ##然后
    > -A INPUT -m state --state NEW -m tcp -p tcp --dport 9150 -j ACCEPT
  • 查看对外开放的端口

    1
    > iptables -t filter -L INPUT
  • 重启防火墙

    1
    2
    > firewall-cmd --reload systemctl 
    > restart firewalld.service
  • 关闭指定端口

    1
    > firewall-cmd --permanent --remove-port=123/tcp

查看文件内容

  • 关键词查找

    1
    2
    > ##执行的是返回的内容 
    > grep 正则 文件目录
  • 关键词查找及随后的目录中搜索字符串

    1
    > grep -R 正则 文件目录

jvm相关

  • hava后台启动

    1
    2
    nohup java -Xmx512m -jar lamp-oauth-server.jar > gateway.log  2>&1  &

  • 查看JAVA进程并输出JVM参数

1
> jps -v
  • dump堆到文件,format指定输出格式,live指明是活着的对象,file指定文件名

    1
    > jmap -dump:live,format=b,file=dump.hprof 28920
  • jhat dump文件路径,在线查看对文件

    1
    屏幕显示“Server is ready.” 的提示后, 用户在浏览器中键入 http://localhost:7000/就可以访问详情
  • 查看堆的使用情况

    1
    > jmap -heap 28920
  • 查看堆中的对象信息

    1
    > jmap -histo:live 28920 | more
  • 查看当前程序的线程快照

    1
    >  jstack -l 11494|more
  • 实时查看调整Jvm参数

    1
    > jinfo -flag 11494
  • 查看最近10此的GC的情况,每2秒

    1
    jstat -gc 1  2000 10 |awk '{print $13,$14,$15,$16,$17}'
  • 查看内存排行前20的数据

    1
    jmap – histo 1196 | head -20

系统信息查看

  • 显示电脑以及操作系统的相关信息

    1
    > uname -a 
  • 正在运行的内核版本

    1
    > cat /proc/version
  • 发行版本信息

    1
    > cat /etc/issue
  • 环境变量

    1
    2
    > vim /etc/profile
    > source /etc/profile
  • docker-compose 重新构建容器

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 构建指定容器
    docker-compose up -d --no-deps --build <service_name>

    # 构建所有
    docker-compose up --force-recreate --build -d
    -d 在后台运行服务容器
    –no-color 不使用颜色来区分不同的服务的控制输出
    –no-deps 不启动服务所链接的容器
    –force-recreate 强制重新创建容器,不能与–no-recreate同时使用
    –no-recreate 如果容器已经存在,则不重新创建,不能与–force-recreate同时使用
    –no-build 不自动构建缺失的服务镜像
    –build 在启动容器前构建服务镜像
    –abort-on-container-exit 停止所有容器,如果任何一个容器被停止,不能与-d同时使用
    -t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
    –remove-orphans 删除服务中没有在compose文件中定义的容器
    –scale SERVICE=NUM 设置服务运行容器的个数,将覆盖在compose中通过scale指定的参数

git相关

  • 合并不同分支的代码
    1
    2
    3
    4
    # 合并代码
    git merge --squash lamp/master --allow-unrelated-histories
    # 忽略验证
    git commit --no-verify -m “XXX”

maven相关

  • 编译指定模块和他依赖的模块

    1
    clean package -T 1C -DskipTests -Dmaven.compile.fork=true -Dmaven.test.skip=true -pl lamp-gateway/lamp-gateway-server -am
  • 多线程加速构建多模块

    1
    clean package -T 1C -DskipTests -Dmaven.compile.fork=true -Dmaven.test.skip=true -f pom.xml
  • 跳过测试,跳过文档

    1
    clean install -DskipTests -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dgpg.skip=true -Dmaven.source.skip=true -Pdev -f pom.xml

一些常用的linux基础命令
https://kanchai.club/2022/12/10/Linux命令记录/
作者
625
发布于
2022年12月10日
许可协议