Linux系统日常操作(下)

1、Linux常用命令 

1.1、系统命令

重启
	reboot 执行命令后立即重新启动操作系统。
	shutdown -r now 重新启动操作系统,shutdown会给别的用户提示
关机
    shutdown 执行命令后,提示一分钟后关闭操作系统。
	shutdown -h now 立刻关机,其中now相当于时间为0的状态
    shutdown -h 20:25 :系统在今天的20:25 会关机
    shutdown -h +10 :系统再过十分钟后自动关机


显示当前所在目录:pwd
清屏:clear
帮助:--help   例如:ls --help
⼿册: man 命令 	例如:man ls 退出:q

查看CPU核数 lscpu命令,结果中查看CPU(s):后边的数字即可

登录相关
    who或者w:显示目前登入系统的用户信息
        -q或--count : 只显示用户的登录账号和登录用户的数量 
        -u或--heading : 显示列标题
远程连接(连接其他Linux服务器): ssh -p 2222 myuser@192.168.0.1  -p是指定远程端口号
切换登陆: ssh -l test -p 22 192.168.19.128
    

应用查找
    查看应用的安装路径:whereis nginx
    which: 查找⼯具-查找应⽤程序或命令所在位置 
        例如:which mysql、which ls;
        不可找⽂件  

curl验证nginx启动成功
    curl IP:PORT   端口80可以省略不写

时间相关
    date  显示当前系统时间
    date -s “2014-01-01 10:10:10“  设置系统时间
    date 081315002024.0   修改系统时间

系统信息查看
    hostname 查看当前主机名
    发行信息:lsb_release -a 、cat /etc/issue 、 cat /etc/centos-release或cat /etc/redhat-release、cat /etc/os-release 
        CentOS Linux release 7.9.2009 (Core)
    内核信息:cat /proc/version 、uname -a、uname -sr 
        Linux version 2.6.32-696.el6.x86_64 (mockbuild@c1bm.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) ) #1 SMP Tue Mar 21 19:29:05 UTC 2017
        2.6.32-696.el6.x86_64 为内核版本
    uname 显示系统信息
    uname -a 显示本机详细信息
        依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称


目录或文件大小查看
    du 显示目录或文件的大小。
    du –h 显示当前目录的大小 
    du -sh ./logs 查看日志文件所占空间大小  
    du -sh * 看日志文件的大小(进入到logs下)

环境变量
	修改后使之生效 source /etc/profile

定时任务
    查看配置的定时任务
      crontab -e
      crontab -l

1.2、进程命令

查进程
	ps -aux
	ps -ef
	以上两个没有区别
    常用选项说明: 
         -a : 显示终端上的所有进程,包括其他用户的进程 
         -u : 显示进程的详细状态 
         -x :显示没有控制终端的进程

    ps 正在运行的某个进程的状态
    ps -ef(相当于查看window进程) | grep java寻找进程中包含java关键字的,grep的不算。
    jps 查看进程,jdk中的命令,Bootstrap就是Tomcat的进程。
    jps -l信息会全一点

进程内存排序
    ps aux --sort=-%mem
  	ps auxww --sort=-%mem 查看详细进程信息
 
杀进程
 	kill 进程PID
 	强制删除: kill -9 进程PID   
    -9:强制删除选项  

统计当前系统中的进程数
    ps -ef | wc -l
    wc -l:这是一个用于统计行数的命令


如何使⽤⼀条命令来完成杀java进程
    ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9
    思路:
		1、获取JAVA进程pid
		2、使用kill -9 pid

1.3、端口命令

查看系统中开放哪些端⼝
    netstat 可以查看当前系统网络状态及对应软件使用的端口
 	netstat -anput 想要知道系统中有哪些端⼝已被使⽤,就使⽤此命令
    netstat -ntulp | grep 端口号 查询指定端口
    netstat -lanp | grep 6379 根据端口号得到其占用的进程的详细信息
    netstat –anopt|grep sshd 查看ssh的端口
    ss -anp | grep 21 查看端口
    常用选项说明: 
        常用参数-anplt
        -a 显示所有活动的连接以及本机侦听的TCP、UDP端口
        -l 显示监听的server port
        -n 直接使用IP地址,不通过域名服务器
        -p 正在使用Socket的程序PID和程序名称
        -r 显示路由表
        -t 显示TCP传输协议的连线状况
        -u 显示UDP传输协议的连线状况
        -w 显示RAW传输协议的连线状况
 
lsof查看系统监听端口
    lsof(list open files)是一个列出当前系统打开文件的工具,可以查看系统中正在使用端口的详细信息
    lsof -i :如果不给出条件,则默认显示所有进程打开的所有
 	lsof -i:端⼝号 列出使用端口3306的进程信息,此命令必须在root账户下使⽤ 

测试端口是否可以通信	
    telnet 192.168.14.112 11526 ,如果防火墙开启或者端口没有开放是链接不成功的。

1.4、账户管理

添加账户
    useradd -g 组 ⽤户名
    useradd -g root user01
    useradd test 添加test用户
    useradd test -d /home/t1  指定用户home目录

删除用户
    userdel test 删除test用户(不会删除home目录)
    userdel –r test  删除用户以及home目录

修改密码
    passwd 账户名 用于设置指定用户的密码 (执行命令的用户必须为root)
    passwd user01,为user01用户设置密码

切换⽤户
    su ⽤户名
    su - : 切换到root用户
    su root --> 需要填写root的密码
    由普通用户切换到其他用户时,需要输入密码
    sudo su - 切换root用户
    sudo -i

1.5、退出

命令: exit

多⽤户退出原理:

1.6、服务相关

将nginx服务加入chkconfig管理列表:
chkconfig --add redis
chkconfig --add /etc/init.d/nginx

检查mysqld服务是否已经生效
chkconfig --list mysqld
chkconfig --list

设置开机自动启动
    chkconfig nginx on
关闭开机自动启动
    chkconfig nginx off

设置开机启动
    systemctl enable nginx
    systemctl enable nginx.service
关闭开机启动设置
    systemctl disable nginx
查看服务状态
    systemctl status nginx

启动redis
    service redis start 
关闭redis
    service redis stop 


开机自启文件配置位置
/etc/init.d 指向-> /etc/rc.d/init.d
    mysqld
    nginx
    redis

1.7、安装包相关

安装包在线下载
    wget http://download.redis.io/releases/redis-5.0.7.tar.gz


 yum命令(推荐)
    yum install -y samba  samba-common  samba-client  samba包在线安装
    yum list installed | grep sysstat 是否安装了某个程序



rpm查找命令
    rpm -qa | grep openssl
rpm查找安装位置
    rpm -ql keepalived
rpm包安装
    rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
rpm包卸载
    rpm -e nginx-1.20.2-1.el7.ngx.x86_64
    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

gem包安装
    gem install redis-3.0.gem

1.8、网络通讯命令

获取ip地址: ip a、ip addr、ifconfig 

网卡操作
    ifconfig eth0 up 启用eth0网卡(相当于网络设置里边的开启和关闭网卡)
    ifconfig eth0 down 停用eth0网卡(在客户端停用网卡,客户端就连不上了,需要到服务器开启网卡才能连接)

网络操作
    ping 192.168.0.1 探测网络是否畅通。
    ip add show eth1 从eth1网卡中查看当前IP情况

在这里插入图片描述

1.9、性能相关

cpu、内存查看
    free 显示内存状态
    free –m 以mb单位显示内存情况

top命令
    top命令用于实时动态查看系统进程相关信息
	top:相当于windows中的任务管理器,可以查看瞬时进程情况及CPU、内存情况。
	常⽤:性能测试使⽤
	参数:
        p: 根据CPU使用率大小降序显示进程信息
        m:根据内存的大小降序显示进程信息  
        q: 退出top命令或者按 ctrl+c也可以退出
    列解释
      PID:进程ID,用于标识进程。
      USER:进程所有者的用户名。
      PR:进程优先级。
      NI:进程的“nice”值,用于确定进程的调度优先级。
      VIRT:进程使用的虚拟内存大小,单位是KB。
      RES:进程使用的物理内存大小,单位是KB。
      SHR:进程使用的共享内存大小,单位是KB。
      S:进程的当前状态。
      %CPU:进程使用的CPU时间百分比。
      %MEM:进程使用的物理内存百分比。
      TIME+:进程使用的CPU时间总和,单位是秒。
      COMMAND:进程启动的命令行参数。

    系统CPU、内存排序
      top -o %CPU
      top -o %MEM
      Shift + P键,将进程按照CPU使用率从高到低排序
      Shift + M键,将进程按照内存使用量从高到低排序
	  top -p <PID> 使用top命令查看该进程的CPU内存情况:

Java进程一天内占用的最大CPU和内存分别是多少?
	top -b -n 1 -p <PID> > top_output.txt -b选项表示以批处理模式运行top,-n选项表示运行一次top。
	jstat -gcutil <PID> 1000 86400 > jstat_output.txt
	jstat命令的第二个参数1000表示每隔1000ms输出一次内存使用情况,第三个参数86400表示运行时间为一天(单位是秒)。

使用awk命令从top_output.txt文件中提取CPU占用率的最大值
	awk '{if($1 == "<PID>") print $9}' top_output.txt | sort -nr | head -n 1
	1表示top输出的第一列,即进程ID,9表示top输出的第九列,即CPU占用率。
使用awk命令从jstat_output.txt文件中提取堆内存使用率的最大值。
	awk '{if(NR > 1) print $4}' jstat_output.txt | sort -nr | head -n 1
	NR表示当前行号,如果当前行号大于1,则输出第四列,即堆内存使用率
	sort -nr:将输入的数据进行排序,其中“-n”表示将输入解释为数字,而“-r”表示按照相反的顺序(从大到小)进行排序
	head -n 1:从排序后的结果中选出第一行,即最大值。

1.10、网络流量

抓取所有网口指定端口和ip的通信网络数据:
 	tcpdump -i any dst port 14526 and host 192.168.14.112 -Al  any全部端口
  tcpdump -i eth4 host 172.18.23.114 and dst port 514 -Aenl -i指定某个网口eth4


流量回放
  	tcpreplay -i eno1 -M 1 -l 0 ttt/* > /dev/null 2>&1 &	
    tcpreplay --mbps=27 <pcap文件>
    tcpreplay -i eth0 -tK --mbps=27 <pcap文件名>

pcap包
	sudo tcpdump -i eno1 -w capture.pcap pcap制作
	sudo tcpdump -r capture.pcap  tcpdump 命令来分析 pcap 文件
  使用tcpreplay工具将多个pcap包合并成一个
		tcprewrite --infile=a.pcap,b.pcap,c.pcap --outfile=merged.pcap
	使用mergecap命令将多个pcap文件合并为一个
    mergecap -w output.pcap input1.pcap input2.pcap input3.pcap ...
    mergecap -w output.pcap /path/to/directory/*.pcap

流量监控

iftop -i eth1 

2、压测工具stress

CPU内存压测
    Ubuntu安装环境: apt-get install stress

    使用:
      stress --cpu 2 -t 60s  表示持续一分钟的2核心压力测试。
      stress -m 3G -t 600s 将占用3GB 内存,并保持 600 秒

  3、操作其它服务

mysql

mysql
    mysql -uroot -p123456 -h 172.17.18.14:mysql限制了本机登录:只能登录别的机器的

\G的使用:在 MySQL 中,\G 是用来替代 ; 分号的一个命令结束符。当你在 MySQL 命令行客户端中输入 SQL 查询语句时,使用 \G 可以让查询结果以更易读的格式展示出来,每行一个字段,而不是普通的方式显示在一行上。

 行转列

在这里插入图片描述

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值