vim编辑器
- u: 撤销更改
- yy: 复制一行
- 3yy: 复制三行
- y^: 复制开始到当前位置
- y$: 复制当前到结尾字符
- yw: 复制当前单词
- p: 粘贴到下一行
- P: 粘贴到上一行
- dd: 删除一行
- 3G: 跳转到第三行
- :set nu: 显示行号
- :s/aaa/bbb: 将当前行第一个aaa替换成bbb
- :s/aaa/bbb/g: 将当前行所有aaa替换成bbb
- :%s/aaa/bbb/g: 将所有aaa替换成bbb
网络配置
修改静态ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改
BOOTPROTO=dhcp
将dhcp动态分配ip更改为BOOTPROTO=static
,并且将ONBOOT=no
的值改为yes - 在结尾添加以下位置
#IP地址
IPADDR=192.168.211.100
#网关
GATEWAY=192.168.211.2
#域名解析器
DNS1=192.168.211.2
- 保存更改退出,重启配置
service network restart
修改主机名
- 需重启计算机生效
vim /etc/hostname
- 立即生效
hostnamectl set-hostname admin123
服务管理
centOS6
#服务操作命令
service 服务名 start/stop/restart/status
#查看当前运行的服务
ls /etc/init.d
centOS7
systemctl start/stop/restart/status 服务名
# 查看服务方法
ls /usr/lib/systemd/system
开机自启动
# 查询服务状态
systemctl status NetworkManager
第一个enabled
当前是否开机自启动,第二个enabled
对应默认开机自启动
#开启开机自启动
systemctl enable NetworkManager
#关闭开机自启动
systemctl disable NetworkManager
#查看所有服务开机自启动状态
systemctl list-unit-files
关机重启
#关机 默认一分钟后
shutdown
#关机 三分钟后
shutdown 3
# 关机 22:00关机
shutdown 22:00
#取消关机
shutdown -c
#立即关机
shutdown now
文件目录
文件和目录基本命令
#创建一个文件
touch 文件名称
#复制(有提示,需要输入Y)
cp 文件名称 目标目录
#复制(直接复制,没有提示)
\cp 文件名称 目标目录
#复制目录以及目录下的文件
cp -r 目录名称 目标目录
# 删除文件 -r 递归删除 -f 不提示删除
rm 名称
# 重命名或者移动
mv
# 查看文件(针对小文件)
cat [-n] 文件名称
# 分屏显示文件内容
more 文件名称
# 分屏显示文件内容
less 文件名称
其他命令
# 输出内容到控制台(-e 支持反斜杠转义)
echo 内容
# >输出重定向和>>追加
echo 内容 >> text.txt
#显示头部内容
head -n 20 文件名称
#显示尾部内容
tail -n 20 文件名称
#实时监控文件变化,只限于追加的内容, vim修改的内容不会显示, 跟踪的是文件的索引号, ls -i 文件名称 能查看文件的索引号
tail -f 文件名称
软链接
#创建
ln -s 原文件或目录 链接名称
#删除
rm 链接名称
rm -rf 链接目录 #链接目录后不能加/ 如果加上/ 会删除掉源目录下的文件
查看历史命令
history
时间日期类
#获取当前时间
date
#年份
date +%Y
#月份
date +%m
#天
date +%d
#格式化展示
date "+%Y-%m-%d %H:%M:%S"
#秒数时间戳
date +%s
#获取一天前
date -d "1 days ago"
#获取一天后
date -d "-1 days ago"
#通过字符串设置时间
date -s "2022-02-02 11:11:11"
#获取日历
cal
#显示三个月的日历
cal -3
#周一作为一周的第一天
cal -m
#全年日历
cal 2022
用户管理命令
# 创建新用户
useradd tony
#为用户设置密码
passwd tony
#删除用户 -r 同步删除用户目录
userdel tony
#查看用户
id tony
#查看当前有哪些用户
cat /etc/passwd
#切换用户
su tony
#返回之前的用户
exit
#查看当前使用的是哪个用户
whoami
#查看原始使用用户
who am i
给普通用户赋予sudo权限
vim /etc/sudoers
添加以下内容
分组
#新建用户时会新建一个同名的组
#查看所有分组(需要root权限)
vim /etc/group
#新建分组
groupadd meifa
#修改用户的分组
usermod -g meifa tony
#修改分组名称
groupmod -n haircut meifa
#删除分组
groupdel 分组名称
#设置文件权限
chmod 777 文件名称
#如果是文件夹,需要 -R
chmod -R 777 目录名称
#改变文件属主
chown tony abc.txt
#改变文件所属组
chgrp haircut abc.txt
搜索查找
#通过名称查找
find -name info
#通过用户名查找
find -user 用户名
# 文件定位,查找前需要先做更新操作
updatedb
locate tmp
#文件内查找关键字
grep -n boot initial-setup-ks.cfg
# "|"管道符,将前边的操作结果传递给后边
ls | grep .cfg
压缩解压
tar参数
选项 | 功能 |
---|---|
-c | 产生.tar打包 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
-C | 解压到指定目录 |
#tar 打包
tar -zcvf info.tar.gz info
# 解压
tar -zxvf info.tar.gz -C tmp
磁盘管理类
#安装tree工具
yum install tree
#查看目录树
tree ./
#查看文件和目录占用的磁盘空间
#-h GB,MB,KB等格式展示
#-a 所有的文件和目录 -c 显示所有的文件和子目录大小后,显示总和
#-s 只显示总和 --max-depth=n 指定统计子目录的深度为第n层
du 目录/文件
#查看磁盘空间使用情况 -h GB,MB,KB等格式展示
df -h
free -h
#设备挂载情况 -f显示文件系统信息
lsblk
进程管理
#查看系统中所有进程
ps aux | grep xxx
#查看子父进程之间的关系
ps -ef | grep xxx
# a 列出带有终端的所有用户的进程
# x 列出当前用户的所有进程,包括没有终端的进程
# u 面向用户友好的显示风格
# -e 列出所有进程
# -u 列出某个用户关联的所有进程
# -f 显示完整格式的进程列表
# 查看当前远程登录进程
ps -ef | grep sshd
终止进程
#终止进程
kill [-9] PID
killall 进程名称
#查看进程树 -p 展示pid -u 显示用户所属用户
pstree
定时任务
#查看进程是否启动
systemctl status crond
#定时任务 -e编辑定时任务 -l 查询所有定时任务 -r删除当前用户的定时任务
crontab -l
#使用cron表达式定时
# * * * * * echo "hello,crontab" >> /root/hello
软件包管理
RPM
#RPM (Redhot Package Manager)
#查询安装的所有rpm包
rpm -qa
#查询软件详细信息
rpm -qi firefox
#卸载 --nodeps卸载软件时,不检查依赖
rpm -e --nodeps 软件名称
#安装 -i install安装 -v verbose详细信息 -h hash进度条
rpm -ivh RPM包全名
YUM
参数 | 功能 |
---|---|
install | 安装 |
update | 更新 |
check-update | 检查是否有可用的更新yum软件包 |
remove | 删除指定的yum软件包 |
list | 显示软件包信息 |
clean | 清理yum过期的缓存 |
deplist | 显示yum软件包所有依赖关系 |
yum -y install firefox
克隆
克隆之后需要修改:
- ip地址和UUID
- 主机名
- 重新生成一个MAC地址