目录
Vim编辑器的使用
一般模式
当用vim打开一个文件就进入一般模式,常用命令如下
命令 | 功能描述 |
---|---|
yy | 复制光标当前一行 |
p | 粘贴到光标后一行 |
u | 撤销上一步 |
dd | 删除当前行 |
x | 剪切一个字母,可以当del一个字母使用 |
shift+6(^) | 移动到行头 |
shift+4($) | 移动到行尾 |
编辑模式
在一般模式下,按下i、I、o、O、a、A
任意一个字母即可进入编辑模式
按esc
退出编辑模式之后进入一般模式,常用命令如下
按键 | 功能描述 |
---|---|
i | 当前光标前 |
I | 当前光标最前 |
o | 当前光标行的下一行 |
O | 当前光标行的上一行 |
a | 当前光标后 |
A | 当前光标最后 |
指令模式
在一般模式当中,输入:、/、?
中的任意一个即可进入光标指令模式,常用命令如下
命令 | 功能描述 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
/要查找的词 | n查找下一个,N往上查找 |
:noh | 取消高亮显示 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
:%s/需要替换的旧单词/要替换的新单词/g | 替换内容 /g将匹配到的所有内容 |
系统管理
Service服务管理
基本语法
service 服务名 [start|stop|restart|status]
查看服务的方法:进入etc/init.d
设置后台服务的自启配置
chkconfig
:查看所有服务器自启配置chkconfig 服务名 off
:关掉指定服务的自动启动chkconfig 服务名 on
:开启指定服务的自动启动chkconfig 服务名 --list
:查看服务开机启动状态
# 开启/关闭 network(网络)服务的自动启动
chkconfig network on
chkconfig network off
# 开启/关闭 network 服务指定级别的自动启动
chkconfig --level 指定级别 network on
chkconfig --level 指定级别 network off
Systemctl服务管理
systemctl [start|stop|restart|status] 服务名
查看服务的方法:进入/usr/lib/systemd/system
设置后台服务的自启配置
systemctl list-unit-files
:查看服务开机启动状态systemctl disable 服务名
:关掉指定服务的自动启动systemctl enable 服务名
:开启指定服务的自动启
防火墙管理
查看防火墙状态
systemctl status firewalld
临时开启/关闭防火墙
# 临时关闭
systemctl stop firewalld
# 临时开启
systemctl start firewalld
开机启动/关闭防火墙
# 开机自启
systemctl enable firewalld.service
# 关闭开机自启
systemctl disable firewalld.service
文件查看类命令
cat查看文件内容
查看文件内容,从第一行开始显示,一般查看比较小的文件,一屏幕能显示完全的
选项 | 功能 |
---|---|
-n | 显示所有行的行号,包括空行 |
more文件内容分屏查看器
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
操作 | 功能 |
---|---|
空格 | 向下翻页 |
enter | 向下翻行 |
q | 退出more |
less分屏显示文件内容
less在显示文件内容时,不会将整个文件加载后才显示,对于显示大型文件具有较高的效率
操作 | 功能 |
---|---|
enter | 向下翻一行 |
pagedown | 向下翻动一页 |
pageup | 向上翻动一页 |
/字串、?字串 | 搜寻字串 n向下查找 N向上查找 |
q | 离开less这个程序 |
head显示文件头部内容
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
选项 | 功能 |
---|---|
-n 行数 | 指定显示头部内容的行数 |
head -n 50 a.txt
tail输出文件尾部内容
tail用于输出文件中尾部内容,默认情况下tail指令显示文件的后10行内容
选项 | 功能 |
---|---|
-n 行数 | 输出文件尾部n行内容 |
-f | 显示文件最新追加的内容,监视文件变化 |
# 查看文件尾1行内容
tail -n 1 a.txt
# 实时追踪该文档的所有更新
tail -f a.txt
文件权限类命令
# 0:d是目录 -是文件 l是链接
# 123 属主权限 user
# 456 属组权限 group
# 789 其他用户权限 other
0123456789
drwxr-xr-x
-rwxr-xr-x
如果查看到的是文件:链接数指的是硬链接的个数
如果查看到的是文件夹:链接数指的是子文件夹的个数
chmod改变权限
方式一
u: 所有者 g:所有组 o:其他人 a:所有人
chmod [ugoa] [+-=] [rwx] 文件或目录
# 修改文件使其所属主用户具有执行权限
chmod u+x a.txt
# 修改文件使其所属组用户具有执行权限
chmod g+x a.txt
# 修改文件所属主用户执行权限,并使其他用户具有执行权限
chmod u-x,o+x a.txt
方式二:
r=4 w=2 x=1
chmod 421 文件或目录
# 修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
chmod -R 777 a/
chown改变所有者
chown [-R] 最终用户 文件或目录
# 修改文件所有者为czs
chown czs a.txt
# 递归改变文件所有者和所有组
chown -R czs:czshh0628 a/
chgrp改变所属组
chgrp 最终用户组 文件或目录
# 修改文件的所属组
chgrp root a.txt
搜索查找类命令
find查找文件或者目录
选项 | 功能 |
---|---|
-name 查询方式 | 按照指定的文件名查找模式查找文件 |
-user 用户名 | 查找属于指定用户名的所有文件 |
# 查找/opt目录下后缀名为txt的所有文件
find /opt/ -name "*.txt"
# 查找/opt目录下czs用户的文件
find /opt/ -user czs
压缩和解压类
gzip/gunzip压缩
gzip 文件:压缩文件,只能将文件压缩为*.gz文件
gunzip 文件.gz:解压缩文件
只能压缩文件不能压缩目录
zip/unzip压缩
zip [-r] xxx.zip 将要压缩的内容:压缩文件和目录命令
zip选项 | 功能 |
---|---|
-r | 压缩目录 |
unzip [-d] xxx.zip:解压缩文件
unzip选项 | 功能 |
---|---|
-d 目录 | 指定解压后文件的存放目录 |
# 压缩images.sh后名称为a.zip里
zip a.zip images.sh
# 解压a.zip到b.zip
unzip a.zip -d /opt/b.zip
tar打包
tar [选项] xxx.tar.gz 将要打包进去的内容:打包目录,压缩后的文件格式.tar.gz
选项 | 功能 |
---|---|
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
-C | 解压到指定目录 |
# 压缩多个文件
tar -zcvf a.tar.gz a.txt b.txt
# 压缩目录
tar -zcvf a.tar.gz /opt/a
# 解压到指定目录
tar -zxvf a.tar.gz -C /opt/a
磁盘查看类命令
du查看文件和目录占用的磁盘空间
du [选项] 目录/文件:显示目录下每个子目录的磁盘使用情况
选项 | 功能 |
---|---|
-h | 以G、MB、KB显示 |
-a | 不仅查看子目录大小,还要查看文件 |
-c | 显示所有文件和子目录大小,显示总和 |
-s | 只显示总和 |
# 查看opt目录占用磁盘空间大小情况
du -sh /opt
df查看磁盘空间使用情况
df [选项]:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
选项 | 功能 |
---|---|
-h | 以G、MB、KB显示 |
# 查看磁盘使用情况
df -h
进程管理类命令
ps查看当前系统进程状态
ps aux | grep xxx:查看系统中所有进程,想查看进程的CPU占用率和内存占用率使用此命令
ps -ef | grep xxx:可以查看子父进程之间的关系,想查看进程的父进程ID可以使用此命令
选项 | 功能 |
---|---|
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程,包括没有终端的进程 |
u | 面向用户友好的显示风格 |
-e | 列出所有进程 |
-u | 列出某个用户关联的所有进程 |
-f | 显示完整格式的进程列表 |
描述 | 说明 |
---|---|
USER | 进程是由哪个用户产生的 |
PID | 进程的ID号 |
%CPU | 该进程占用CPU资源的百分比,占用越高,进程越消耗资源 |
%MEM | 该进程占用物理内存的百分比,占用越高,进程越消耗资源 |
VSZ | 该进程占用虚拟内存大小,单位KB |
RSS | 该进程占用实际物理内存大小,单位KB |
TTY | 该进程是由哪个终端运行的。tty1是图形化终端、tty2-tty6是本地的字符界面终端、pts/0-255代表虚拟终端 |
STAT | 进程状态,R运行状态、S睡眠状态、T暂停状态、Z僵尸状态、s包含子进程、l多线程、+前台显示 |
START | 该进程的启动时间 |
TIME | 该进程占用CPU的运算时间,不是系统时间 |
COMMAND | 产生此进程的命令名 |
描述 | 说明 |
---|---|
UID | 用户ID |
PID | 进程ID |
PPID | 父进程ID |
C | CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低。数值越小,表面进程是I/O密集型运算,执行优先级会提高 |
STIME | 进程启动时间 |
TTY | 完整的终端名称 |
TIME | CPU时间 |
CMD | 启动进程所用的命令和参数 |
netstat显示网络状态和端口占用信息
netstat -anp | grep 进程号:查看该进程网络信息
netstat -lnp | grep 端口号:查看网络端口号占用情况
选项 | 功能 |
---|---|
-a | 显示所有正在监听和未监听的socket |
-n | 拒绝显示别名,能显示数字的全部转化成数字 |
-l | 仅列出在监听的服务状态 |
-p | 表示显示哪个进程在调用 |
top实时查看监控系统进程状态
top [选项]
选项 | 功能 |
---|---|
-d 秒数 | 指定top命令每隔几秒更新,默认3秒 |
-i | 使top不显示任何闲置或者僵死进程 |
-p | 通过指定监控进程ID来仅仅监控某个进程的状态 |
操作 | 功能 |
---|---|
P | 以CPU使用率排序,默认就是此项 |
M | 以内存使用率排序 |
N | 以PID排序 |
q | 退出top |
# 每1秒刷新
top -d 1
# 不显示任何闲置僵死进程
top -i
# 查看某个进程状态
top -p 2575
# 该行为任务队列信息
# 10:45:06 系统当前时间
# up 1:20 系统运行时间,运行了1小时20分钟
# 1 user 当前登录了1个用户
# load average: 0.00, 0.01, 0.05 系统在之前1、5、15分组的平均负载。一般小于1负载较小,大于1系统已经超出负荷
top - 10:45:06 up 1:20, 1 user, load average: 0.00, 0.01, 0.05
# 该行为进程信息
# Tasks: 151 total 系统中的进程总数
# 1 running 正在运行的进程数
# 150 sleeping 睡眠的进程
# 0 stopped 正在停止的进程
# 0 zombie 僵尸进程。如果不是0,需要手工检查僵尸进程
Tasks: 151 total, 1 running, 150 sleeping, 0 stopped, 0 zombie
# 该行为CPU信息
# %Cpu(s): 0.0 us 用户模式占用的CPU百分比
# 0.2 sy 系统模式占用的CPU百分比
# 0.0 ni 改变过优先级的用户进程占用百分比
# 99.8 id 空闲CPU百分比
# 0.0 wa 等待输入/输出的进程占用百分比
# 0.0 hi 硬中断请求服务占用的CPU百分比
# 0.0 si 软中断请求服务占用的CPU百分比
# 0.0 st 虚拟CPU等待实际CPU的时间百分比
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
# 该行为物理内存信息
# KiB Mem : 2028116 total 物理内存的总量,单位KB
# 605080 free 空闲的物理内存量
# 401892 used 使用的物理内存量
# 1021144 buff/cache 缓冲内存量
KiB Mem : 2028116 total, 605080 free, 401892 used, 1021144 buff/cache
# 该行为交换分区(swap)信息
# KiB Swap: 4194300 total 交换分区的总大小
# 4194300 free 空闲交换分区的大小
# 0 used 已经使用的交换分区的大小
# 1348804 avail Mem 作为缓存的交互分区大小
KiB Swap: 4194300 total, 4194300 free, 0 used. 1348804 avail Mem
软件包管理类命令
RPM
rpm -qa:查询所安装的所有rpm软件包
软件名称-软件的版本号,主版本和此版本-处理位(i386是32位处理器统称).文件扩展名
Apache-1.3.23-11.i386.rpm
rpm卸载命令
rpm -e 软件包
rpm -e --nodeps 软件包
选项 | 功能 |
---|---|
-e | 卸载软件包 |
–nodeps | 卸载软件时,不检查依赖 |
rpm安装命令
rpm -ivh 包全名
选项 | 功能 |
---|---|
-i | install,安装 |
-v | –verbose,显示详细信息 |
-h | –hash,进度条 |
–nodeps | 安装前不检查依赖 |
YUM
yum [选项] [参数]
选项 | 功能 |
---|---|
-y | 对所有提问都为yes |
参数 | 功能 |
---|---|
install | 安装rpm软件包 |
update | 更新rpm软件包 |
check-update | 检查是否有可用的更新rpm软件包 |
remove | 删除指定的rpm软件包 |
list | 显示软件包信息 |
clean | 清理yum过期的缓存 |
deplist | 显示yum软件包的所有依赖关系 |
用户管理命令
useradd添加新用户
useradd 用户名:添加新用户
useradd -g 组名 用户名:添加新用户到某个组
userdel删除用户
userdel 用户名:删除用户但是保存用户家目录
userdel -r 用户名:删除用户以及其家目录
修改用户
usermod -g 用户组 用户名
usermod -g root czs
查看创建的全部用户
cat /etc/passwd
password设置用户密码
用法:password 用户名
id 查看用户是否存在
用法:id czs
切换用户
su 用户名称:切换用户,只能获得用户的执行权限,不能获得环境变量
su - 用户名称:切换用户,并获得的用户的执行权限和环境变量
设置普通用户具有root权限
在/etc/sudoers
下添加如下内容
# # 采用sudo命令时,需要输入密码
czs ALl=(ALL) ALL
# 采用sudo命令时,不需要输入密码
czs ALl=(ALL) NOPASSWD:ALL
用户组管理命令
groupadd新增组
groupadd 组名
groupdel删除组
groupdel 组名
groupmod修改组
groupmod -n 新组名 老组名
查看创建了那些组
cat /etc/group