• linux常用命令


    一:端口查看

    lsof -i-----查看所有进程占用情况
    lsof -i:端口号-----查看端口被那个进程占用
    netstat -tunlp-----查看所有端口占用情况
    netstat -tunlp | grep 端口号-----查看端口被那个进程占用
    netstat -ano | findstr 端口号-----查看端口被那个进程占用(windows)
    taskkill /pid 对应PID /f-----杀进程(windows),-f强制

    二:java查看进程情况

    top-----查看系统资源情况(可查出占用cpu最高的进程PID)
    top -H -p pid-----找出占用cpu高(或执行时间长)的线程tid(此线程tid需16进制转换,命令:printf "%x " pid)
    jps [-l] [-v]-----查看本机java进程pid(v可输出jvm启动参数)
    jstack -l pid-----查看进程下线程详细信息
    jstack 进程pid | grep 线程tid-----查看进程下线程的运行情况
    jinfo -flag <参数名> <pid>-----查询虚拟机运行参数值
    jstat <option> <pid> [interval] [count]-----对进程PID间隔interval时间执行count次操作,jstat -gc 14007 200 5,对14007查看gc状态每隔200秒查5次
    jmap <option> <pid>-----内存映像工具,如 jmap -dump:format=b,file=xxx.bin 14007生成14007的内存快照
    jmap -histo <pid>-----显示进程pid中对象统计信息,包括类,实例数,合计容量
    jhat xxx.bin-----把内存快照文件生成网页,方便查看

    三:java查看进程情况

     1.帮助命令

    [root@bogon ~]# ls -help-----查看命令帮助
    [root@bogon ~]# man 1 ls-----查看命令文档,数字代表第几个文档,q退出

     2.文件磁盘等命令

    [root@bogon ~]# ls > test.txt-----重定向符号 > (>如果不存在,则创建,存在则覆盖其内容,>> 追加)
    [root@bogon ~]# more 100 test.txt-----分屏显示
    [root@bogon ~]# ls -a | more----使用管道结合使用
    [root@bogon ~]# touch test.txt-----创建文件
    [root@bogon ~]# mkdir aaa-----创建文件夹
    [root@bogon ~]# rm  test.txt-----删除文件或文件夹(-f不提示删除,-r删除文件夹,递归删除)
    [root@bogon ~]# rmdir aaa-----删除文件夹(只能删除空文件夹)
    [root@bogon ~]# ln -s test.txt test.txt-----ln -s 源文件 链接文件(-s代表创建软链接)
    [root@bogon ~]# grep -v "内容" test.txt-----文本搜索(-v不包含,-i不区分大小写,-n显示行号)
    [root@bogon ~]# mv 11 22-----移动文件或文件夹(不在同一路径为移动,在同意路径则为重命名)
    [root@bogon ~]# cp 11 22-----拷贝文件或文件夹(文件夹加-r)
    [root@bogon ~]# tar -cvf 22.tar [文件] -C 指定文件夹-----压缩或解压文件(-c打包,-x解解包,-z压缩方式gz,文件需加.gz,如22.tar.gz,-j压缩方式bz2),tar只打包,并未压缩

     3.系统命令

    [root@bogon ~]# cal -y 2010-----日历
    [root@bogon ~]# date-----时间
    [root@bogon ~]# ps -aux-----查看进程的详细状况(-a显示终端上的所有进程,-u详细状态,-x没有控制终端的进程)
    [root@bogon ~]# top-----动态显示运行中的进程(q退出)
    [root@bogon ~]# htop-----动态显示运行中的进程,比top更友好(q退出)
    [root@bogon ~]# kill -9 PID-----杀进程(信号值从0到15,其中9为绝对终止)
    [root@bogon ~]# reboot-----重新启动操作系统
    [root@bogon ~]# shutdown –r now-----重新启动操作系统,会给别的用户提示
    [root@bogon ~]# shutdown -h now-----立刻关机,其中now相当于时间为0的状态[root@bogon ~]# shutdown -h 20:25-----系统在今天的20:25 会关机
    [root@bogon ~]# shutdown -h +10-----系统再过十分钟后自动关机
    [root@bogon ~]# init 0-----关机
    [root@bogon ~]# init 6-----重启

     4.权限命令

    [root@localhost etc]# cat /etc/passwd-----查看系统全部用户
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    • 登陆用户名
    • 用户密码
    • 用户账户的UID(数字形式)
    • 用户账户的组ID(GID)(数字形式)
    • 用户账户的文本描述(成为备注字段)
    • 用户home目录的位置
    • 用户的默认shell
    [root@localhost etc]# cat /etc/shadow-----系统用户密码情况
    root:$6$T5vLcomV5SDm5jCe$JgUkU6PM0xQF37Sp4rDwVjXUZxFtTQbkJhkdL9lEjGqVJMmG6bnHu/tP2fR1zlT6tRGfQ7q.jq14gc7OfdIXy.::0:99999:7:::
    bin:*:17632:0:99999:7:::
    • 与/etc/passwd文件中的登陆名对应的字段
    • 加密后的密码
    • 自上次修改密码后过去的天数(自1970年1月1日开始计算)
    • 多少天后才能更改密码
    • 多少天后必须更改密码
    • 密码过期前提前多少天提醒用户更改密码
    • 密码过期后多少天禁用账户
    • 用户账户被禁用的日期(自1970年1月1日开始计算)
    • 预留字段给将来使用
    [root@localhost etc]# useradd -D-----查看添加用户时用户的默认设置
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    • 新用户将被添加到GID为100的公共组
    • 新用户的HOME目录将会位于/home/
    • 新用户账户未被设置过期时间
    • 新用户账户将bash shell作为默认shell
    • 系统将会/etc/skel目录下的内容复制到用户的HOME目录下
    • 系统为该用户在/var/spool/mail目录下创建一个用于接收邮件的的文件
    [root@localhost etc]# useradd -m test-----添加新用户
    [root@localhost etc]# passwd test-----膝盖用户密码
    [root@localhost etc]# userdel -r test-----删除用户
    • -m命令会使其创建HOME目录
    • -r命令会在删除用户时删除其HOME目录
    [root@localhost etc]# cat /etc/group-----系统组情况
    root:x:0:oracle,arms
    bin:x:1:
    daemon:x:2:
    • 组名
    • 组密码
    • GID
    • 属于该组的用户列表
    [root@localhost etc]# groupadd shared-----添加用户组
    [root@localhost etc]# usermod -G shared arms-----将用户添加进某个组内
    [root@localhost etc]# groupmod -n sharing shared-----修改组名
    [root@localhost etc]# groupmod -g 188 shared-----修改组GID
    • -g修改用户的GID
    • -n修改用户的组名
    [root@localhost etc]# ll-----查看文件
    总用量 1204
    drwxr-xr-x.  3 root root      101 7月  16 09:14 abrt
    -rw-r--r--.  1 root root       16 7月  12 13:44 adjtime
    -rw-r--r--.  1 root root     1518 6月   7 2013 aliases
    -rw-r--r--.  1 root root    12288 7月  16 09:15 aliases.db
    • 第一组字段第一个字符
    1. -代表文件
    2. d代表目录
    3. l代表连接
    4. c代表字符型设备
    5. b代表块设备
    6. n代表网络设备
    • 第一组字段后九个字符
    1. 每三个一组,一次代表:所属用户,所属组,其他组的权限
    2. r代表读
    3. w代表写
    4. x代表执行
    • 第二组字段:
    • 第三组字段:文件所属用户
    • 第四组字段:文件所属组
    • 第五组字段:文件大小
    • 第六组字段:文件日期
    • 第七组字段:文件名
    [root@localhost etc]# chown 760 file-----修改文件权限
    [root@localhost etc]# chown arms file-----修改文件所属用户
    [root@localhost etc]# chown arms.root file-----修改文件所属用户和组
    [root@localhost etc]# chown .root file-----修改文件所属组
    • 760:三个数字文件权限,如760代表rwxrw----
    [root@localhost etc]# chmod u+w file-----修改文件权限
    • u代表用户
    • g代表组
    • o代表其他
    • a代表上述所有

     5.vim命令

    •  q!不保存强制退出
    • wq保存强制退出
    • q不保存退出
    • x保存退出
    • w保存不退出

     6.安全命令

    [root@localhost sbin]# systemctl status firewalld-----查看防火状态
    [root@localhost sbin]# service  iptables status
    [root@localhost sbin]# systemctl stop firewalld-----暂时关闭防火墙
    [root@localhost sbin]# service  iptables stop
    [root@localhost sbin]# systemctl disable firewalld-----永久关闭防火墙
    [root@localhost sbin]# chkconfig iptables off
    [root@localhost sbin]# systemctl enable firewalld-----重启防火墙
    [root@localhost sbin]# service iptables restart 

     7.shell脚本

    • 定时任务
    [root@localhost root]# crontab -l-----查看当前用户的定时任务表
    17 * * * * /home/root/test.sh
    [root@localhost root]# crontab -e-----编辑当前用户的定时任务表

     8.磁盘查看

    [root@localhost home]# df -h-----查看磁盘空间占用情况
    [root@localhost home]# du -h-----查看目录占用情况

     9.shell种类

    [root@localhost ~]# sh ./test.sh-----将脚本作为参数交给系统shell执行,系统会使用脚本第一行指定的shell种类执行
    [root@localhost ~]# ./test.sh-----使用系统默认shell执行

      #!/bin/sh是指此脚本使用/bin/sh来解释执行.

      #!/bin/bash是指此脚本使用/bin/bash来解释执行.

      Linux操作系统中的/bin/sh本是bash (Bourne-Again Shell) 的符号链接,但鉴于bash过于复杂,有人把bash从NetBSD移植到Linux并更名为dash (Debian Almquist Shell),并建议将/bin/sh指向它,以获得更快的脚本执行速度。

     10.后台运行

    [root@localhost ~]# nohup sh ./test.sh &-----后台执行,并输出日志到nohup文件

      &后台运行程序:

    • 结果会输出到终端
    • 使用Ctrl + C发送SIGINT信号,程序免疫
    • 关闭session发送SIGHUP信号,程序关闭

      nohup运行程序:

    • 结果默认会输出到nohup.out

    • 使用Ctrl + C发送SIGINT信号,程序关闭

    • 关闭session发送SIGHUP信号,程序免疫

      nohup和&运行程序

    • 同时免疫SIGINT和SIGHUP信号

  • 相关阅读:
    Spring Boot(三):SpringBoot多模块(module)项目搭建
    Spring Boot(二):数据库操作
    Spring Boot(一):入门篇+前端访问后端
    Maven详解之仓库------本地仓库、远程仓库
    单例模式
    Spring常用注解
    初识Spring Bean
    SpringMVC常用注解
    Spring注解与否
    Maven入门
  • 原文地址:https://www.cnblogs.com/chunxiaozhang/p/11050870.html
Copyright © 2020-2023  润新知