uc浏览器访问网站,素材网站视频,同一备案号 多个网站,sinaappengine wordpress文章目录 Linux最常用的几个系统管理命令查看网络信息的原初 ifconfig默认无参数使用-s显示短列表配置IP地址修改MTU启动关闭网卡 显示进程状态 ps语法几个实例默认情况显示所有进程查找特定进程信息 任务管理器的 top常规使用显示完整命令设置信息更新次数设置信息更新时间显示… 文章目录 Linux最常用的几个系统管理命令查看网络信息的原初 ifconfig默认无参数使用-s显示短列表配置IP地址修改MTU启动关闭网卡 显示进程状态 ps语法几个实例默认情况显示所有进程查找特定进程信息 任务管理器的 top常规使用显示完整命令设置信息更新次数设置信息更新时间显示指定的进程信息指定用户的进程信息 更多信息 Linux最常用的几个系统管理命令 仅个人想法会持续不间断更新和改进。 看看网络确认一下目前的状态看看有没有异常进程。
查看网络信息的原初 ifconfig
Linux ifconfig命令用于显示或设置网络设备在调试或调优的时间经常使用。
官方定义为 ifconfig - configure a network interface 对于这个命令一般只要掌握如何查看如何设置IP地址基本就可以了对于网络钻的比较深的还需要更多一些参数。
使用方法为
# 显示
$ ifconfig [-v] [-a] [-s] [interface]# 设置
$ ifconfig [-v] interface [aftype] options | address ...一些参数的含义为
-a 显示所有网卡的状态即使是down的状态-s显示一个短列表interface mtu N 设置最大传输单元【需要管理员权限】netmask addr设置掩码地址【需要管理员权限】interface up 激活网卡【需要管理员权限】interface down 关闭网卡【需要管理员权限】interface hw ether xx.xx.xx.xx.xx.xx 设置MAC地址【需要管理员权限】
默认无参数使用
如果不指定任何参数直接显示当前活动的接口如下
$ ifconfig
eth0: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20linkinet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x0globalether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)RX packets 5634431 bytes 4994127142 (4.6 GiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 858051 bytes 109858013 (104.7 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0device memory 0xc7320000-c733ffff eth1: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20linkether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)RX packets 1547215 bytes 92862867 (88.5 MiB)RX errors 0 dropped 6 overruns 0 frame 0TX packets 3230 bytes 922051 (900.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags73UP,LOOPBACK,RUNNING mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10hostloop txqueuelen 1000 (Local Loopback)RX packets 219608 bytes 105943591 (101.0 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 219608 bytes 105943591 (101.0 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0其中一般希望看到的信息包括
inet为IP地址ether为MAC地址MTU最大传输单元
不加任何参数只会显示已经配置并且活跃的网卡信息如果使用ifconfig -a就可以显示全部的网卡状态了即使有些网卡是down的状态。
亦或者指定一个interface比如上面的eth1则只输出这个网卡的信息如下
$ ifconfig eth1eth1: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20linkether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)RX packets 1547215 bytes 92862867 (88.5 MiB)RX errors 0 dropped 6 overruns 0 frame 0TX packets 3230 bytes 922051 (900.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0-s显示短列表
如果只想看到MTU以及数据包的状态可以用该参数如下
$ ifconfig -s
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 5665450 0 0 0 867639 0 0 0 BMRU
eth1 1500 3489187217 0 101054 0 501260400 0 0 0 BMU
lo 65536 219708 0 0 0 219708 0 0 0 LRU输出信息主要包含了MTU值发送及接收的数据情况。
配置IP地址
如下对eth0网卡配置IP地址、掩码以及广播地址当然可以分布操作
# 给eth0配置IP地址
$ ifconfig eth0 192.168.1.123 # 给eth0配置IP地址和子网掩码
$ ifconfig eth0 192.168.1.123 netmask 255.255.255.0 # 给eth0配置IP地址、子网掩码还有广播地址
$ ifconfig eth0 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255修改MTU
在某些情况下可能需要修改MTU值比如增到到MTU为9000如下
$ ifconfig eth1
eth1: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20linkether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)RX packets 1547215 bytes 92862867 (88.5 MiB)RX errors 0 dropped 6 overruns 0 frame 0TX packets 3230 bytes 922051 (900.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0# 修改MTU
$ ifconfig eth1 MTU 9000$ ifconfig eth1
eth1: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 9000inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20linkether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)RX packets 1547215 bytes 92862867 (88.5 MiB)RX errors 0 dropped 6 overruns 0 frame 0TX packets 3230 bytes 922051 (900.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0已经看到输出的信息已经把mtu更新为了9000. 这个值对网络传输影响很大。 启动关闭网卡
启动关闭主要的应用场景为重新设置了IP地址或者暂时对某个网卡进行操作。
# 关闭eth0
$ ifconfig eth0 down# 启动eth0
$ ifconfig eth0 up不过需要注意的是
很多的设置操作都需要管理员权限很多操作在重启后设置都会还原如果需要永久设置需要更改network的一些配置文件这个程序基本被淘汰了已经不在更新所有的操作或者用法均可以通过ip来搞定。等明天~。
显示进程状态 ps
ps命令是“process status”的缩写类似于 windows 的任务管理器 ps命令用于显示当前系统的进程状态。 通常搭配kill指令随时中断、删除不必要的程序。
同时呢ps命令是非常强大的进程查看命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等总之大部分【Windows】任务管理器的信息都是可以通过执行该命令得到的。
语法
$ ps [参数]常用参数
-A 列出所有的行程-w 显示加宽可以显示较多的资讯-au显示较详细的资讯-aux显示所有包含其他使用者的行程
其中aux的输出信息如下所示
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDUSER: 行程拥有者PID: pid%CPU: 占用的 CPU 使用率%MEM: 占用的内存使用率VSZ: 占用的虚拟内存大小RSS: 占用的内存大小TTY: 终端的minor装置号码STAT: 该行程的状态: D: 无法中断的休眠状态 (通常 IO 的进程)R: 正在执行中S: 静止状态T: 暂停执行Z: 不存在但暂时无法消除W: 没有足够的内存分页可分配: 高优先序的行程N: 低优先序的行程L: 有内存分页分配并锁在内存内 (实时系统或捱A I/O) START: 行程开始时间TIME: 执行的时间COMMAND:所执行的指令
几个实例
默认情况
$ psPID TTY TIME CMD
44965 pts/0 00:00:00 bash
56519 pts/0 00:00:00 ps
什么参数都不跟的话基本输出没啥用处。
显示所有进程
通常情况下最常用的为把所有进程显示出来
$ ps -aux
$ ps -A 把所有进程显示出来并输出到ps.txt文件
$ ps -aux ps.txt查找特定进程信息
大部分情况下希望查找有问题的进程或者感兴趣的进程使用管道如下 $ ps -aux | grep sshroot 1303 0.0 0.0 82468 1204 ? Ss Apr17 0:00 /usr/sbin/sshdroot 3260 0.0 0.0 52864 572 ? Ss Apr17 0:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c env GNOME_SHELL_SESSION_MODEclassic gnome-session --session gnome-classicroot 24188 0.0 0.0 112652 956 pts/0 S 11:39 0:00 grep --colorauto ssh任务管理器的 top
top命令比较像Windows里面的任务管理器提供一个动态实时的系统状态检测可以检测实时显示内存、CPU、进程的运行状态主要在分析系统负载的时候比较常用。
官方定义为 top - display Linux processes 状态默认实时显示间隔为1秒。
使用的方法如下选项超级多其实不复杂
$ top -bcHiOSs -d secs -n max -u|U user -p pid -o fld -w [cols]参数说明
-d : 改变显示的更新速度或是在交互式( interactive command)按 s或d-c : 切换显示模式共有两种模式一是只显示执行程序的名称另一种是显示完整的路径与名称这个在定位执行命令的时候较常用-n : 更新的次数完成后将会退出-b : 批模式操作主要用来将 top 的结果输出到其他程序或者文件-i : 不显示任何闲置不使用CPU的进程-s : 安全模式取消交谈式指令-pN1 -pN2 ... or -pN1,N2,N3 ...指定PID模式仅仅监控N1N2等信息-u/U user仅仅关注user的进程情况
常规使用
在输入top命令以后如果希望退出可以数据q或者直接Ctrlc即可。
还有一个情况可以输入h进行帮助查询用于进一步的交互操作。
通常情况下最常用的就是输入top命令不加任何参数这种情况下最希望看到的就是最占用系统资源的进程。
如下所示
$ toptop - 22:23:20 up 461 days, 7:52, 18 users, load average: 1.82, 1.57, 1.45
Tasks: 773 total, 1 running, 768 sleeping, 0 stopped, 4 zombie
%Cpu(s): 10.1 us, 6.5 sy, 0.0 ni, 83.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 32664832 total, 668020 free, 15683576 used, 16313236 buff/cache
KiB Swap: 16449532 total, 13409776 free, 3039756 used. 15787188 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND 7965 dbus 20 0 76092 8456 1704 S 7.5 0.0 40307:04 dbus-daemon
23460 root 20 0 397640 5560 3248 S 4.2 0.0 4738:26 accounts-daemon 4321 user 20 0 821828 104812 4584 S 3.2 0.3 7380:28 gsd-color 此时可以看到系统的基本信息可以看到分为三个部分
汇总信息可以看到系统的运行状态总的负载信息运行总的任务登陆的用户CPU及内存的状态等等。Fields/Columns 头信息用来标记接下来所有进程对应的信息Task 区域每个运行程序的各种信息在Fields/Columns有对应的比如PID、用户、占用CPU、MEM及对应的命令等等。
显示完整命令
$ top -c7965 dbus 20 0 76092 8456 1704 S 7.5 0.0 40307:04 /usr/bin/dbus-daemon 此时省去其他信息可以看到dbus-daemon增加了路径信息为**/usr/bin/dbus-daemon**
设置信息更新次数
这个命令用于定量显示比如刷新10次后退出如下
$ top -n 10设置信息更新时间
如果觉得太长或者太短可以通过-d来设置或者在交互模式下输入d或者s来设置。
$ top -d 0.8 # 设置为0.8秒$ top -d 6 # 设置为6秒显示指定的进程信息
如果仅仅对某个进程感兴趣如下指定PID即可。
$ top -p 1234 # 对进程1234感兴趣指定用户的进程信息
作为管理员or朋友或许对某个用户感兴趣比如user此时可以仅仅显示该用户的进程信息
$ top -u user更多信息
HiXDJM们更多信息欢迎移步我的主页、CSDN或微信公众号letsProgramming. github Homepage https://shaoguangleo.github.ioCSDN CSDN http://blog.csdn.net/shaoguangleo微信公众号letsProgramming