1、文本编辑器Vim常用操作
1.1、插入命令
命令 | 功能 |
---|---|
a | 在光标所在字符后插入 |
A | 在光标所在行尾插入 |
i | 在光标所在字符前插入 |
I | 在光标所在行首插入 |
o | 在光标下插入新行 |
O | 在光标上插入新行 |
1.2、 定位命令
命令 | 功能 |
---|---|
:set nu | 设置行号 |
:set nonu | 取消行号 |
gg | 到第一行 |
G | 到最后一行 |
:n/nG | 到第n行 |
$ | 移至行尾 |
0 | 移至行首 |
1.3、删除命令
命令 | 功能 |
---|---|
x | 删除光标所在处的字符 |
nx | 删除光标所在处后n个字符 |
dd | 删除光标在所在行 |
dG | 删除光标所在行到文件末尾内容 |
D | 删除光标所在处到行尾内容 |
:n1,n2d | 删除指定范围的行 |
1.4、复制、剪切、粘贴
命令 | 功能 |
---|---|
yy | 复制当前行 |
nyy | 复制当前行以下n行 |
dd | 剪切当前行 |
ndd | 剪切当前行以下n行 |
p、P | 粘贴在当前光标所在的行上或行下 |
1.5、替换和取消命令
命令 | 功能 |
---|---|
r | 取代光标所在处字符 |
R | 从光标所在处开始替换字符,按EsC结束 |
u | 取消上一步操作 |
1.6、搜索和搜索替换命令
命令 | 功能 |
---|---|
/string | 搜索指定字符串 |
set ic | 忽略大小写 |
n | 搜索指定字符串的下一个出现位置 |
:%s/old/new/g | 全文替换指定字符串 |
:n1,n2s/old/new/g | 在一定范围内替换指定字符串 |
1.7、保存和退出命令
命令 | 功能 |
---|---|
:w | 保存修改 |
w:new_filename | 另存为指定文件 |
:wq | 保存修改并退出 |
ZZ | 保存修改并退出 |
:q! | 不保存修改退出 |
:wq! | 保存修改并退出(文件所有者及root可使用) |
2、软件包管理命令
2.1、rpm命令管理
命令 | 功能 |
---|---|
rpm -ivh 包全名 | RPM包管理(-i安装/-v显示详细信息/-h显示进度/–nodeps不检测依赖性) |
rpm -Uvh 包全名 | RPM包升级 |
rpm -e 包名 | RPM包卸载 |
rpm -q 包名 | 查询是否安装 |
rpm -qa | 查询所有已经安装的RPM包 |
rpm -qi | 查询软件包详细信息 |
rpm -ql | 查询包中文件安装位置 |
rpm -qf | 查询系统文件属于哪个RPM包 |
rpm -qR | 查询软件包的依赖性 |
rpm -p | 查询未安装包信息 |
rpm -V | RPM包校验 |
rpm2cpio | RPM包中文件提取 |
2.2、yum在线管理
命令 | 功能 |
---|---|
yum list | 查询所有可用软件包列表 |
yum search 关键字 | 搜索服务器上所有和关键字相关的包 |
yum -y install 包名 | 安装 |
yum -y update 包名 | 升级 |
yum -y remove 包名 | 卸载 |
yum grouplist | 列出所有可用的软件组列表 |
yum groupinstall 软件组名 | 安装指定软件租 |
yum groupremove 软件租名 | 卸载指定软件租 |
2.3、光盘yum源搭建步骤
-
挂载光盘
mount /dev/cdrom /mnt/cdrom
-
让网络yum源文件失效
cd /etc/yum.repos.d
将除了Media的文件后缀名都改成其他的
例如:
mv CentOS-Vault.repo CentOS-Vault.repo.bak
-
修改光盘yum源文件
vim CentOS-Media.repo
将baseurl=加上你的挂载地址
将剩下的俩注释掉,否则会报错一直找不到
将enabled=1
3、用户操作相关命令
3.1、用户信息文件 /etc/passwd
第三字段-UID
- 0:超级用户
- 1-499:系统用户(伪用户)
- 500-65535:普通用户
3.2、影子文件 /etc/shadow
-
把时间戳换算为日期
date -d "1970-01-01 16076 days"
-
把日期换算为时间戳
echo $(($(date --date="2014/01/06"+%s)/86400+1))
3.3、用户管理相关文件
- 普通用户 /home/用户名
- root用户 /root/
- 邮箱 /var/spool/mail
- 用户模板 /etc/skel
3.4、用户添加命令useradd
useradd 选项 用户名
选项 | 功能 |
---|---|
-u UID | 手工指定用户的UID号 |
-d 家目录 | 手工指定用户的家目录 |
-c 用户说明 | 手工指定用户的说明 |
-g 组名 | 手工指定用户的初始组 |
-G UID | 指定用户的附加组 |
-s shell | 手工指定用户的登录shell |
3.5、修改密码命令passwd
passwd 选项 用户名
选项 | 功能 |
---|---|
-S | 查询用户密码的密码状态,仅root用户可用 |
-l | 暂时锁定用户,仅root用户可用 |
-u | 解锁用户,仅root用户可用 |
–stdin | 可以通过管道符输出的数据作为用户的密码 |
3.6、修改用户信息
usermod 选项 用户名
命令 | 功能 |
---|---|
-u UID | 修改用户的UID |
-c 用户说明 | 修改用户的说明 |
-G UID | 指定用户的附加组 |
-L | 临时锁定用户 |
-U | 解锁用户锁定 |
chage -l 用户 | 查看用户密码状态信息 |
chage -d 用户 | 用户第一次登录必须修改密码 |
3.7、删除用户
- userdel -r 用户名 删除用户的同时删除用户家目录
- su -root 切换其他用户
3.8、用户组管理命令
命令 | 功能 |
---|---|
groupadd -g 组名 | 添加用户组 |
groupmod -g 组名 | 修改用户组id |
groupmod -n 组名 | 修改组名 |
groupdel 组名 | 删除用户组 |
gpasswd -a 用户名 组名 | 把用户加入组 |
gpasswd -d 用户名 组名 | 把用户组从组中删除 |
4、进程管理
4.1、进程查看 ps aux/ps -le
名称 | 说明 |
---|---|
USER | 该进程是由哪个用户产生的 |
PID | 进程的ID号 |
%CPU | 该进程占用CPU资源的百分比,占用越高,进程越耗费资源 |
%MEM | 该资源占用物理内存的百分比,占用越高,进程越耗费资源 |
VSZ | 该进程占用虚拟内存的大小,单位KB |
RSS | 该进程占用实际物理内存的大小,单位KB |
TTY | 该进程是在哪个终端中运行的(tty:本地终端,pts:虚拟终端) |
STAT | 进程状态。(R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台) |
START | 该进程的启动时间 |
TIME | 该进程占用CPU的运算时间,注意不是系统时间 |
COMMAND | 产生此进程的命令名 |
4.2、查看系统健康状态 top
4.2.1、第一行:任务队列信息
内容 | 说明 |
---|---|
12:26:46 | 系统当前时间 |
up 1 day ,13:32 | 系统的运行时间,本机已经运行1天零13小时32分钟 |
2 users | 当前登录了两个用户 |
load average:0.00,0.00,0.00 | 系统在之前1分钟,5分钟,15分钟的平均负载均衡,小于1时,负载较小,如果大于1,系统已经超出负荷 |
4.2.2、第二行:进程信息
内容 | 说明 |
---|---|
Tasks:95 total | 系统中的进程总数 |
1 running | 正在运行的进程数 |
94 sleeping | 睡眠的进程 |
0 stopped | 正在停止的进程 |
0 zombie | 僵尸进程。如果不是0,需要手工检查僵尸进程 |
4.2.3、第三行:CPU信息
内容 | 说明 |
---|---|
Cpu(s):0.1%us | 用户模式占用的CPU百分比 |
0.1%sy | 系统模式占用的CPU百分比 |
0.0%ni | 改变过优先级的用户进程占用的CPU百分比 |
99.7%id | 空闲CPU和CPU百分比 |
0.1%wa | 等待输入/输出的进程的占用CPU百分比 |
0.0%hi | 硬中断请求服务占用的CPU百分比 |
0.1%si | 软中断请求服务占用的CPU百分比 |
0.0%st | st(Steal time)虚拟时间百分比 |
4.2.4、第四行:物理内存信息
内容 | 说明 |
---|---|
Mem:625344 total | 物理内存的总量,单位KB |
571504k used | 已经使用的物理内存数量 |
53840k free | 空闲的物理内存数量 |
65800k buffers | 作为缓冲的内存数量 |
4.2.5、第五行:交换分区(swap)信息
内容 | 说明 |
---|---|
Swap:524280k total | 交换分区(虚拟内存)的总大小 |
0k used | 已经使用的交互分区的大小 |
524280k free | 空闲交换分区的大小 |
409280k cached | 作为缓存的交互分区的大小 |
5、kill命令
信号代号 | 信号名称 | 说明 |
---|---|---|
1 | SIGHUP | 该信号让进程立即关闭,然后重新读取配置文件之后重启 |
2 | SIGINT | 程序终止信号,用于终止前台进程,相当于输出crtl+c快捷键 |
8 | SIGFPE | 在发生致命的算术运算错误时发出,不仅包括浮点运算错误,还包括溢出及除数为0等其它所有的算术的错误 |
9 | SIGKILL | 用来立即结束程序的运行,本信号不能被阻塞、处理和忽略。一般用于强制终止进程 |
14 | SIGALRM | 时钟定时信号,计算的是实际的时间或时钟时间,alarm函数使用该信号 |
15 | SIGTERM | 正常结束进程的信号,kill命令的默认信号。有时如果进程已经发生问题,这个信号是无法正常终止进程的,我们才会尝试SIGKILL信号,也就是信号9 |
18 | SIGCONT | 该信号可以让暂停的进程恢复执行,本信号不能被阻断 |
19 | SIGSTOP | 该信号可以暂停前台进程,相当于输入ctrl+z快捷键,本信号不能被阻断 |