Linux系统管理基本操作

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介:

Linux系统管理基本操作

性能监控

uptime  #监控CPU使用情况

free        #监控内存及交换分区使用情况
选项:     -b|-k|-m    #指定输出容量的单位,分别为Byte,KB,MB

df      #监控磁盘使用情况
选项:     -h:人性化方式显示容量信息
        -i:显示磁盘inode使用量信息
        -T:显示文件系统类型

cat /proc/meminfo   #查看内存,空闲情况配置文件
    MemTotal //内存大小 

cat /etc/redhat-release
    查看当前版本发行信息

uname -r    #列出内核版本

lscpu       #列出CPU处理器信息

进程管理

程序:静态的代码,占用硬盘的空间
进程:动态的代码,占用内存,CPU的空间
    父进程/子进程 
        杀僵尸进程(一般会找到其父进程然后 杀其父进程)
    进程标识:PID
查看进程树
    pstree (Processes Tree)
     格式:pstree [选项] [PID或用户名]
     选项:
         -a :显示完整的命令行
         -p :列出对应PID编号 

    [root@svr7 ~]# pstree 
    systemd─┬─ModemManager───2*[{ModemManager}]
        ├─NetworkManager─┬─3*[dhclient]
        │                └─2*[{NetworkManager}]
        ├─2*[abrt-watch-log]
        ├─abrtd
        ├─2*[agetty]
        ├─alsactl
        ├─anacron
        ├─atd
        ├─auditd─┬─audispd─┬─sedispatch
        │        │         └─{audispd}
        │        └─{auditd}
        ├─avahi-daemon───avahi-daemon
        ├─chronyd
        ├─crond
        ├─cupsd
        ├─dbus-daemon───{dbus-daemon}
        ├─dnsmasq───dnsmasq
        ├─firewalld───{firewalld}
        ├─gssproxy───5*[{gssproxy}]
        ├─ksmtuned───sleep
        ├─libvirtd───15*[{libvirtd}]
        ├─lsmd
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───5*[{polkitd}]
        ├─rhnsd
        ├─rhsmcertd
        ├─rsyslogd───2*[{rsyslogd}]
        ├─smartd
        ├─sshd───sshd───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─wpa_supplicant
systemd:所有进程的父进程 (systemd 一旦衰亡 相当于操作系统重启)

    终端1 操作
     [root@svr7 ~]# useradd lisi
     [root@svr7 ~]# su - lisi 
     [lisi@svr7 ~]$ vim /home/lisi/test.txt
    终端2 操作
     [root@svr7 ~]# pstree lisi
        bash───vim
     [root@svr7 ~]# pstree -p lisi
        bash(16029)───vim(16100)
     [root@svr7 ~]# pstree -ap lisi
        bash,16029
            └─vim,16100 /home/lisi/test.txt
查看进程快照
    ps - Processes Snapshot
        格式: ps [选项]...
        选项:
     aux:显示正在运行的所有进程    (查看进程详细信息)
     -elf : 列出正在运行的所有进程 (一般用于查看并杀死进程)

    [root@svr7 ~]# systemctl start httpd.service 
    [root@svr7 ~]# ps aux | grep httpd
    root     16895  0.2  0.4 221904  4976 ?        Ss   21:42   0:00 /usr/sbin/http -DFOREGROUND
    apache   16896  0.0  0.3 223988  3120 ?        S    21:42   0:00 /usr/sbin/http -DFOREGROUND
    apache   16897  0.0  0.3 223988  3120 ?        S    21:42   0:00 /usr/sbin/http -DFOREGROUND
    apache   16898  0.0  0.3 223988  3120 ?        S    21:42   0:00 /usr/sbin/http -DFOREGROUND
    apache   16899  0.0  0.3 223988  3120 ?        S    21:42   0:00 /usr/sbin/http -DFOREGROUND
    apache   16900  0.0  0.3 223988  3120 ?        S    21:42   0:00 /usr/sbin/http -DFOREGROUND
    root     16958  0.0  0.0 112660   972 pts/0    D+   21:42   0:00 grep --color=auto httpd
    [root@svr7 ~]# ps -elf | grep httpd
    4 S root     16895     1  0  80   0 - 55476 poll_s 21:42 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    5 S apache   16896 16895  0  80   0 - 55997 inet_c 21:42 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    5 S apache   16897 16895  0  80   0 - 55997 inet_c 21:42 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    5 S apache   16898 16895  0  80   0 - 55997 inet_c 21:42 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    5 S apache   16899 16895  0  80   0 - 55997 inet_c 21:42 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    5 S apache   16900 16895  0  80   0 - 55997 inet_c 21:42 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    0 R root     17308 12065  0  80   0 - 28165 -      21:49 pts/0    00:00:00 grep --color=auto httpd
    [root@svr7 ~]# ps aux | wc -l
     129
    [root@svr7 ~]# ps -elf | wc -l
     129
进程动态排名
    top 交互式工具
        格式:top [-d 刷新秒数] [-U 用户名]

    [root@svr7 ~]# top -d 5
    top - 21:54:55 up  1:43(开启时间),  3 users(现在登陆的用户),  load average: 0.01, 0.09, 0.12(负载均衡)
    Tasks: 129 total(进程信息),   2 running(两个正在运行), 127 sleeping(127个休眠进程),   0 stopped(0个停止进程),   0 zombie(0个僵尸进程)
    %Cpu(s):  0.5 us,  0.4 sy,  0.0 ni, 98.7 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  1016916 total,   388440 free,   157532 used,   470944 buff/cache
    KiB Swap:  2097148 total,  2097148 free,        0 used.   671964 avail Mem 
        输入 大写的P  按CPU排序
        输入 大写的M 按内存排序
        输入 q    退出

检索进程
pgrep - Process Grep
    用途: pgrep [选项].. 查询条件 
    常用选项
    -l:输出进程名,而不仅仅PID (包含就算)
    -U:检索指定用户   (一般用pstree -ap 用户名)
    -t:检索指定终端的进程
    -x:精准匹配完整的进程名

    [root@svr7 ~]# pgrep crond
     1510
    [root@svr7 ~]# pgrep -l crond
     1510 crond
    [root@svr7 ~]# pgrep -l log
     652 abrt-watch-log
     653 systemd-logind
     661 rsyslogd       #日志服务
     670 abrt-watch-log
    [root@svr7 ~]# pstree -ap lisi
     bash,16029
         └─vim,19151 /home/lisi/test.txt
    [root@svr7 ~]# pgrep -lU lisi
     16029 bash
     19151 vim
    [root@svr7 ~]# who  #查看登陆终端信息
     root     pts/0        2017-11-12 20:14 (192.168.4.254)
     root     pts/1        2017-11-12 21:29 (192.168.4.254)
     root     pts/2        2017-11-12 21:54 (192.168.4.254)
    [root@svr7 ~]# pgrep -lU lisi -t pts/0
    [root@svr7 ~]# pgrep -lU lisi -t pts/1
     16029 bash
     19151 vim
    [root@svr7 ~]# pgrep -lU lisi -t pts/2

进程的前后台调度
    前台启动
    输入正常命令行,运行期间占用当前终端
    后台启动
    在命令行末尾添加"&"符号,不占用当前终端
    Ctrl + z 组合键  挂起当前进程(暂停并转入后台)
    jobs        查看后台任务列表
    fg      将后台任务恢复到前台运行
    bg      激活后台被挂起的任务

    [root@svr7 ~]# sleep 800 &      #正在运行放入后台   
     [1] 19835
    [root@svr7 ~]# jobs
     [1]+  运行中               sleep 800 &
    [root@svr7 ~]# jobs -l
     [1]+ 19835 运行中               sleep 800 &
    [root@svr7 ~]# sleep 700
     ^Z                     #键盘上按Ctrl + Z
     [2]+  已停止               sleep 700
    [root@svr7 ~]# jobs -l
     [1]- 19835 运行中               sleep 800 &
     [2]+ 19928 停止                  sleep 700
    [root@svr7 ~]# bg 2
     [2]+ sleep 700 &
    [root@svr7 ~]# jobs -l
     [1]- 19835 运行中               sleep 800 &
     [2]+ 19928 运行中               sleep 700 &
    [root@svr7 ~]# fg 2         #将后台的进程,恢复到前台
     sleep 700
杀死进程
 干掉进程的不同方法
     Ctrl+c 组合键,中断当前命令程序
    kill [-9] PID
    killall [-9] 进程名
    pkill 查找条件      #杀掉所有带有查询条件的进程 比较危险 一般不用
        -9 是强制删除 一般如果杀进程杀不死用 -9 要是还杀不死 就杀其父进程

    [root@svr7 ~]# kill  29363
    [root@svr7 ~]# jobs -l
    [1]  29360 运行中               sleep 800 &
    [2]  29361 运行中               sleep 800 &
    [3]- 29362 运行中               sleep 800 &
    [4]+ 29363 已杀死               sleep 800
    [root@svr7 ~]# killall sleep
    [1]   已终止               sleep 800
    [2]-  已终止               sleep 800
    [3]+  已终止               sleep 800
    [lisi@svr7 ~]$ vim /home/lisi/1.txt
    [root@svr7 ~]# killall -9 -u lisi   #强制踢出用户 时用户由登陆状态变为非登陆状态
    已杀死

网络配置

ifconfig    #网卡接口参数
例:
#设置 eth0 网卡接口IP地址为192.168.2.1/24 
ifconfig eth1 192.168.2.1 netmask 255.255.255.0 
#查看eth1网卡接口信息
ifconfig eth1
#关闭eth0网卡接口
ifconfig eth1 down
#开启eth0网卡接口
ifconfig eth1 up

nmcli   #网络管理命令行工具
#列出网卡设备
nmcli device status
#查看连接
nmcli connection show
#添加/删除新连接
nmcli connection add con-name 连接名 ifname 网卡名 type ethernet
例如:
nmcli connection add con-name eth4 ifname ens13 type ethernet
nmcli connection del con-name 连接名
#配置连接参数
nmcli connection modify "连接名" ipv4.method manual(手动) ipv4.addresses "IPv4地址/掩码 默认网关" ipv4.dns DNS服务器地址 (或ipv4.dns-search 默认搜索域)connection.autoconnect yes
对RHEL 7.2及以上的系统 默认网关
#激活/禁用 连接
nmcli connection up "连接名"
nmcli connection down "连接名"

hostname    #主机名参数
#查看主机名称
hostname
#设置主机名称
hostname XXX(设置的名称)
hostnamectl set-hostname 新主机名
#主机名配置文件
/etc/hostname   

网络接口参数
/etc/sysconfig/network-scripts/ifcfg-<网卡接口名>

    参数:
    DEVICE  #设备名称
    TYPE        #设备类型
    BOOTPROTO   #启动协议
    HWADDR  #硬件地址
    ONBOOT  #开机是否启动该网卡
    IPADDR  #IP地址
    PREFIX  #网络为掩码个数
    NETMASK #子网掩码
    GATEWAY #默认网关
    DNS     #DNS服务器

ping        #测试网络连通性

traceroute  #使用UDP封装追踪包 
#如果希望使用ICMP封装可以使用-I 选项

nslookup    #帮助检查本地设置的DNS服务器工作是否正常

netstat #打印网络连接,路由表,网络接口统计等信息
选项:     -s:显示各种协议数据统计信息
        -n:使用数字形式的IP,端口号,用户ID替代主机,协议,用户等名称信息
        -p:显示进程名称及对应进程ID号
        -l:仅显示在监听的shocket接口信息
        -u:查看udp连接信息
        -t:查看tcp连接信息    

管理系统服务

system v : 顺序加载 RHEL5系列采用
upstart :事件触发 RHEL6系列采用
systemd
        一个更高效的系统&服务管理器
    开机服务i并行启动,各系统服务间的精确依赖
    配置目录: /etc/systemd/system/
    服务目录: /lib/systemd/system/
    主要管理工具:systemctl
     列出活动的系统服务
    systemctl -t service
     列出所有系统服务
    systemctl -t service --all
     控制服务状态
    systemctl  start|stop|restart 服务名   #启动/停止/重启  
     查看服务的运行状态
    systemctl status|is-active 服务名  #看状态

管理运行级别(运行模式)
    字符模式 : multi-user.target
    图形模式 : graphical.target
    #查看默认模式
    [root@svr7 ~]# systemctl get-default 
     multi-user.target
    #设置默认模式
    [root@svr7 ~]# systemctl set-default graphical.target 
     Removed symlink /etc/systemd/system/default.target.
     Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
    [root@svr7 ~]# systemctl get-default 
     graphical.target
当前立即进入相应模式
[root@svr7 ~]# systemctl isolate multi-user.target  #切换字符
[root@svr7 ~]# systemctl isolate graphical.target   #切换到图形模式

LANG=zh_CN.UTF-8        //修改当前语言环境(中文)
LANG=en         //修改当前语言环境(英文)









本文转自 Xuenqlve 51CTO博客,原文链接:http://blog.51cto.com/13558754/2057060,如需转载请自行联系原作者
目录
相关文章
|
15天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
51 4
|
4天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
19 5
linux系统服务二!
|
4天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
21 3
linux系统服务!!!
|
12天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
108 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
14天前
|
Linux 测试技术 网络安全
Linux系统之安装OneNav个人书签管理器
【10月更文挑战第19天】Linux系统之安装OneNav个人书签管理器
35 5
Linux系统之安装OneNav个人书签管理器
|
13天前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
62 3
Linux系统之部署Linux管理面板1Panel
|
16天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
38 5
Linux系统之安装Ward服务器监控工具
|
18天前
|
JSON JavaScript Linux
Linux系统之安装cook菜谱工具
【10月更文挑战第15天】Linux系统之安装cook菜谱工具
32 2
Linux系统之安装cook菜谱工具
|
20天前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
75 4
Linux系统之Ubuntu安装cockpit管理工具
|
19天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
75 2
Linux系统之lsof命令的基本使用