一:端口查看

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\n" 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信号

posted on 2019-06-19 13:52  chunxiaozhang  阅读(223)  评论(0编辑  收藏  举报