目录
[一、CentOS vi命令详解](#一、CentOS vi命令详解)
一、CentOS vi命令详解
Vi是一款强大的文本编辑器,在CentOS中广泛使用。以下是Vi编辑器的一些常用命令:
1. 打开文件:使用vi命令加上文件名,例如:vi test.txt
2. 保存文件:按下Esc键,然后输入:w,再按下Enter键。也可以使用命令:w 文件名来另存为其他文件名。
3. 退出编辑器:按下Esc键,然后输入:q,再按下Enter键。如果你对文件进行了修改而没有保存,可以输入:q!来强制退出。
4. 光标移动:
**- h:向左移动一个字符
- j:向下移动一行
- k:向上移动一行
- l:向右移动一个字符
- w:向右跳到下一个单词的开头
- b:向左跳到上一个单词的开头
- gg:跳到文件的第一行
- G:跳到文件的最后一行
- :行号:跳到指定行号**
**5. 删除字符:
- x:删除光标所在位置的字符
- dw:删除一个单词
- dd:删除整行
- d$:删除光标到行尾的内容**
**6. 复制、粘贴和剪切:
- yy:复制光标所在行
- p:粘贴剪贴板内容
- dd:剪切整行**
**7. 搜索和替换:
- /关键字:向后搜索关键字
- ?关键字:向前搜索关键字
- n:搜索下一个匹配项
- :s/原始内容/替换内容/g:替换所有匹配项
- :%s/原始内容/替换内容/g:替换整个文件中的所有匹配项**
**8. 插入和编辑:
- i:在当前光标位置前插入文本
- a:在当前光标位置后插入文本
- o:在当前行下方插入新行
- O:在当前行上方插入新行
- r:替换当前光标位置的字符**
**9. 撤销和重做:
- u:撤销上一个操作
- Ctrl + r:重做被撤销的操作**
二、CentOS 系统服务命令
CentOS系统中,常用的命令可用于管理系统服务。以下是常见的系统服务管理命令的介绍:
systemctl list-unit-files 查看服务状态列表
**1. systemctl:该命令用于管理系统服务(systemd)。
- systemctl start service_name:启动指定的服务。
- systemctl stop service_name:停止指定的服务。
- systemctl restart service_name:重启指定的服务。
- systemctl status service_name:查看指定服务的运行状态。
- systemctl enable service_name:设置指定服务开机启动。
- systemctl disable service_name:停止指定服务的开机启动。**
**2. service:该命令用于管理系统服务(SysVinit)。
- service service_name start:启动指定的服务。
- service service_name stop:停止指定的服务。
- service service_name restart:重启指定的服务。
- service service_name status:查看指定服务的运行状态。
- service service_name enable:设置指定服务开机启动。
- service service_name disable:停止指定服务的开机启动。**
**3. chkconfig:该命令用于管理系统服务的开机启动设置。
- chkconfig --list:列出所有服务及其开机启动状态。
- chkconfig --add service_name:添加一个服务到开机启动。
- chkconfig --del service_name:从开机启动中移除一个服务。
- chkconfig service_name on:设置一个服务为开机启动。
- chkconfig service_name off:停止一个服务的开机启动。**
**4. journalctl:该命令用于查看系统日志。
- journalctl:显示完整的系统日志。
- journalctl -f:实时跟踪系统日志。
- journalctl -u service_name:显示特定服务的日志。
- journalctl -b:显示最近一次引导的日志。**
**5. ps:该命令用于查看正在运行的进程。
- ps aux:显示所有正在运行的进程。
- ps aux | grep process_name:查找特定名称的进程。
- ps -ef:以树形结构显示所有正在运行的进程。**
6.kill命令的常见用法是:
**6.1. kill命令基本格式:
- kill [选项] <进程ID>**
**6.2. 常用的kill命令选项:
- -l: 列出所有可用的信号
- -s <信号>: 发送指定的信号**
**6.3. 常用的kill命令信号:
- SIGTERM(默认信号): 平缓终止进程,允许进程清理资源
- SIGKILL: 强制终止进程,立即终止而不允许进程清理资源
- SIGHUP: 重新加载配置文件,通常用于重启进程
- SIGINT: 中断信号,通常由Ctrl+C触发**
**6.4. 示例:
- 终止进程ID为12345的进程:kill 12345
- 终止以进程名为"nginx"的所有进程:killall nginx
- 使用不同的信号终止进程:kill -s SIGTERM 12345**
三、CentOS权限管理命令:
**1. chmod:用于更改文件或目录的权限。
- chmod +x filename:给文件添加可执行权限。
- chmod -x filename:去除文件的可执行权限。
- chmod u+rwx filename:给文件所有者添加读、写、执行权限。
- chmod go-rwx filename:去除文件组和其他用户的读、写、执行权限。
- chmod 755 filename:给文件所有者添加读、写、执行权限,给组和其他用户添加读、执行权限。**
**2. chown:用于更改文件或目录的所有者。
- chown username filename:将文件的所有者更改为指定的用户名。
- chown username:groupname filename:同时指定文件的所有者和所属组。**
**3. chgrp:用于更改文件或目录的所属组。
- chgrp groupname filename:将文件的所属组更改为指定的组名。**
**4. su:用于切换用户。
- su:切换到系统的root用户。
- su username:切换到指定的用户名。**
**5. sudo:允许普通用户以root权限执行命令。
- sudo command:使用root权限执行指定的命令。**
**6. useradd:用于创建新用户。
- useradd username:创建一个名为username的新用户。**
**7. usermod:用于修改用户信息。
- usermod -aG groupname username:将用户添加到指定的组。**
**8. passwd:用于更改用户密码。
- passwd username:更改指定用户的密码。**
**9. groupadd:用于创建新组。
- groupadd groupname:创建一个名为groupname的新组。**
**10. groupmod:用于修改组信息。
- groupmod -n newgroupname oldgroupname:将组的名称从oldgroupname更改为newgroupname。**
四、CentOS网络管理命令介绍:
**1. ifconfig命令:
- 使用格式:ifconfig [网络接口名称] [选项]
- 示例:
- 显示所有网络接口信息:ifconfig -a
- 显示指定网络接口信息:ifconfig eth0**
**2. ip命令:
- 使用格式:ip [选项] [对象] [命令]
- 示例:
- 显示网络接口信息:ip addr show
- 启用网络接口:ip link set eth0 up**
**3. route命令:
- 使用格式:route [选项]
- 示例:
- 显示路由表:route -n
- 添加默认网关:route add default gw 192.168.1.1**
**4. ping命令:
- 使用格式:ping [目标主机]
- 示例:
- 发送ICMP回声请求到目标主机:ping 192.168.1.1
- 持续发送ICMP回声请求到目标主机:ping -c 5 192.168.1.1**
**5. traceroute命令:
- 使用格式:traceroute [目标主机]
- 示例:
- 跟踪数据包从本机到目标主机的路径:traceroute www.google.com**
**6. netstat命令:
- 使用格式:netstat [选项]
- 示例:
- 显示所有网络连接信息:netstat -a
- 显示监听端口信息:netstat -l**
**7. nmap命令:
- 使用格式:nmap [选项] [目标主机]
- 示例:
- 扫描目标主机端口:nmap 192.168.1.1
- 扫描目标主机开放的所有端口:nmap -p- 192.168.1.1**
**8. firewall-cmd命令:
- 使用格式:firewall-cmd [选项]
- 示例:
- 显示防火墙状态:firewall-cmd --state
- 开启指定端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
- 重启防火墙:firewall-cmd --reload**