Linux之系统管理命令

系统管理命令

  • 用户管理
  • 进程管理
  • 服务管理
  • 网络管理
  • vi/vim 编辑器

用户管理

命令 描述
adduser bob 创建用户并创建同名的组
adduser --gid 1001 bob 创建用户到指定的组
deluser bob 删除用户
addgroup test 创建组
delgroup test 删除组
passwd 修改当前用户密码
chmod ugoa+-rwx hi.c 修改文件权限
chown 修改文件所有者
chgrp 修改文件相关的用户组
su bob 切换用户,切换到 bob
sudo apt update 以超级用户(super user)身份执行特定操作

用户名存储在哪个文件中?

/etc/passwd

用户密码存储在哪个文件中?影子文件

/etc/shadow

/etc/group

chmod

  • u user
  • g group
  • o other
  • a all
  • + 分配权限
  • - 撤销权限
  • r read
  • w write
  • x execute

chmod 764

三个 0~7 的数字,rwx=111, rw-=110

进程管理

关于进程:

  • 程序和进程关系

    • 程序是安装或存储磁盘上的一组文件,静态,通常指未运行
    • 进程是运行程序的容器。启动一个程序,操作系统创建一个(或多个)进程(进程有编号 PID),加载程序的指令和数据到进程的内存区域,操作系统为该进程分配CPU时间片(多个进程交替获得CPU来运行)
    • 一个程序可以拥有多个进程,程序运行,至少启动一个进程
    • 一个进程只属于一个程序
  • 进程与线程关系

    • 一个进程至少存在一个主线程
    • 线程是进程中独立的执行单元

    每间教室是一个进程,有独立的空间,有一个共同的主题,但是存在多个执行单元,教师和二十个学生,21个线程

命令 描述
top 实时显示系统状态
ps -aux 进程快照,执行指令的瞬间的状态
kill pid 杀死/结束进程
vmstat 系统状态统计
mpstat 处理器状态统计
| 管道符号,连接两个命令
grep 全局搜索匹配,正则表达式
which 定位一个命令或程序
find 当前位置查找文件或目录

文件:所有一切都是文件,包括文件夹、设备


显示进程快照:
bash(默认的 shell
ps 是当前这个命令自身

root@cloud:~# ps
  PID TTY          TIME CMD
 4679 pts/0    00:00:00 bash
 4712 pts/0    00:00:00 ps

只打印出与 ssh 相关的进程信息:ps -aux | grep ssh

ps -uax | grep nginx
# 安装 nginx HTTP 服务器
apt install nginx
# 安装 mongodb 数据库服务器
apt install mongodb

grep 全局搜索,-G 参数后正则表达式匹配

# 过滤出所有带有 `ch` 字符的基础命令
ls /bin | grep ch

# 过滤出 `ch` 字符开头的基础命令
ls /bin | grep -G ^ch

# 过滤出,`ch` 字符结尾的基础命令
ls /bin | grep -G ch$

shell 编程,使用 shell 命令完成一些简单的任务

运维人员,优先考虑 shell 编程实现,其次 perl、python、ruby 脚本语言,最后才考虑 c、c++、java 这类语言

服务管理

服务的配置:/etc 存放基本配置,/etc/init.d 存放守护进程(开机自动启动的服务)

服务管理 service

# 查看状态
service mysql status

# 启动
service mysql start

# 停止
service mysql stop

# 重启
service mysql restart

# 重新加载配置文件
service mysql reload

root@cloud:~# service mongodb
Usage: /etc/init.d/mongodb {start|stop|force-stop|restart|force-reload|status}

systemctl 也可以进行服务管理

systemctl start mysql
systemctl stop mysql
systemctl restart mysql

ps -aux | grep mysql

netstat -tap | grep mysql

网络命令

网络配置 ifconfig 类似 windows 中 ipconfig

ifconfig
# eth0 第一块网卡
# lo   loopback 回环地址

网络是否通 ping

ping www.baidu.com
# ctrl + c 结束

网络状态 netstat

netstat -tap | grep mysql

Vi / Vim 编辑器

基本概念

  • 命令模式:每个字符都是命令,不是输入
  • 编辑模式:输入内容
cd

# 打开或创建文件 me.txt,默认是命令模式
vi me.txt

# 在命令模式,输入 `i` 或 `a` 进入插入模式
# 在插入模式,输入 `esc` 退出插入模式,进入命令模式
# 在命令模式,按下 `shift + :` 光标进入底部的命令行
# 底部命令行,输入 `w` 保存,`wq` 保存退出,`q!` 退出,不保存

# 命令模式方向控制:可以是方向键,也可以是 h,l,j,k
#   k
# h   l
#   j

# 插入:a, i
# 删除 dd, d3d
# 复制 yy, 3yy
# 黏贴 p
# 撤销 u
# 移动 gg(头) G(位), 9G(到第n行)

你可能感兴趣的:(Linux系统管理)