🌈:个人主页
🎉目录
yum(Yellowdog Updater, Modified):
yum(Yellowdog Updater, Modified):
一、CentOS 简介
CentOS(Community Enterprise Operating System)是一种基于 Red Hat Enterprise Linux(RHEL)源代码构建的免费开源操作系统。它在稳定性、安全性和可靠性方面表现出色,被广泛应用于服务器环境、企业级应用和开发平台。
CentOS 的特点包括:
- 高度稳定:经过严格测试和验证,适合长时间运行关键业务。
- 开源免费:用户可以免费下载、使用和修改。
- 丰富的软件包:提供大量的服务器软件和开发工具。
- 强大的社区支持:有活跃的用户社区和开发者社区,提供技术支持和解决方案。
二、安装 CentOS
-
下载 CentOS 安装镜像:
- 访问 CentOS 官方网站(The CentOS Project)或其他可靠的镜像站点。
- 选择适合你的架构(如 x86_64、ARM 等)和版本(如 CentOS 7、CentOS 8 等)的安装镜像文件。
- 可以选择下载完整的 DVD 镜像或较小的网络安装镜像。
-
准备安装介质:
- 刻录光盘:将下载的镜像文件刻录到空白 DVD 光盘上。
- 制作 USB 启动盘:使用工具如 Rufus(Windows)或 dd 命令(Linux)将镜像文件写入 USB 闪存盘。
-
在计算机 BIOS 中设置从安装介质启动:
- 开机时按下特定的键(通常是 F2、F12、Del 等)进入计算机的 BIOS 设置。
- 在启动选项中,将安装介质(光盘或 USB 闪存盘)设置为首选启动设备。
- 保存设置并退出 BIOS,计算机将从安装介质启动。
-
按照安装向导进行操作:
- 语言选择:选择你熟悉的语言进行安装过程。
- 磁盘分区:可以选择自动分区或手动分区。自动分区适合新手,系统会根据磁盘大小和需求进行合理的分区。手动分区则允许你更精细地控制磁盘空间的分配,例如创建根分区(/)、交换分区(swap)和用户数据分区(/home)等。
- 设置用户:创建一个管理员用户(root)和普通用户。设置用户密码时,要确保密码强度足够高。
- 网络配置:可以选择在安装过程中配置网络,包括 IP 地址、子网掩码、网关和 DNS 服务器等。也可以在安装完成后进行网络配置。
- 安装软件包:选择要安装的软件包组,例如服务器软件、开发工具、桌面环境等。根据你的需求进行选择,也可以选择最小安装以获得一个精简的系统。
- 安装完成:等待安装过程完成,系统会提示你重新启动计算机。
三、基本命令(重要)
补充:个人认为基本指令不需要死记,所谓基本指令其实是底层用C语言写的可执行程序,运行指令相当于运行可执行程序
-
ls
:列出当前目录下的文件和文件夹。- 常用选项:
-l
:以长格式显示文件信息,包括文件权限、所有者、大小和修改时间等。
(-ll == ls -l)-a
:显示所有文件,包括隐藏文件。-h
:以人类可读的格式显示文件大小。
- 例如:
ls -lha
将以长格式、显示隐藏文件并以人类可读的格式显示当前目录下的文件信息。
- 常用选项:
-
cd
:切换目录。- 用法:
cd directory_path
,其中directory_path
是要切换到的目录路径。 - 例如:
cd /home/user
将切换到 /home/user 目录。 - 特殊目录:
..
:表示上一级目录。~
:表示当前用户的主目录。/
:表示根目录。
- 用法:
-
pwd
:显示当前所在目录的路径。 -
mkdir
:创建新目录。- 用法:
mkdir directory_name
,其中directory_name
是要创建的目录名称。 - 例如:
mkdir new_directory
将在当前目录下创建一个名为 new_directory 的目录。
- 用法:
-
rm
:删除文件或目录。- 用法:
- 删除文件:
rm file_name
。 - 删除目录:
rm -r directory_name
。
- 删除文件:
- 注意事项:使用
rm
命令时要小心,因为一旦删除文件或目录,通常无法恢复。在删除重要文件或目录之前,最好先进行备份。
- 用法:
-
cp
:复制文件或目录。- 用法:
- 复制文件:
cp source_file destination_file
。 - 复制目录:
cp -r source_directory destination_directory
。
- 复制文件:
- 例如:
cp file1.txt file2.txt
将文件 file1.txt 复制为 file2.txt,cp -r dir1 dir2
将目录 dir1 复制为 dir2。
- 用法:
-
mv
:移动文件或目录,也可用于重命名。- 用法:
- 移动文件或目录:
mv source_path destination_path
。 - 重命名文件或目录:
mv old_name new_name
。
- 移动文件或目录:
- 例如:
mv file1.txt /home/user/directory
将文件 file1.txt 移动到 /home/user/directory 目录下,mv old_file.txt new_file.txt
将文件 old_file.txt 重命名为 new_file.txt。
- 用法:
-
cat
:查看文件内容。- 用法:
cat file_name
。 - 例如:
cat example.txt
将显示文件 example.txt 的内容。
- 用法:
-
more
和less
:分页查看文件内容。more
:按页显示文件内容,使用空格键翻页,按 q 键退出。less
:功能更强大的分页查看工具,可以使用上下箭头键滚动查看,按 q 键退出。- 例如:
more large_file.txt
和less large_file.txt
都可以用于查看较大的文件内容。
-
grep
:在文件中查找特定的字符串。
用法:grep pattern file_name
,其中pattern
是要查找的字符串模式,file_name
是要搜索的文件名称。
常用选项:
-i
:忽略大小写。
-n
:显示匹配行的行号。
-v
:显示不包含匹配模式的行。例如:grep "keyword" file.txt
将在文件 file.txt 中查找包含字符串 “keyword” 的行。
四、用户和权限管理
-
用户创建:
- 使用
useradd
命令创建新用户。 - 用法:
useradd username
,其中username
是要创建的用户名称。 - 例如:
useradd newuser
将创建一个名为 newuser 的用户。
- 使用
-
设置密码:
- 使用
passwd
命令为用户设置密码。 - 用法:
passwd username
,其中username
是要设置密码的用户名称。 - 系统会提示你输入新密码,并要求再次确认密码。
- 例如:
passwd newuser
将为用户 newuser 设置密码。
- 使用
-
用户权限:
- 文件和目录的权限分为读(r)、写(w)、执行(x)三种。
- 可以使用
chmod
命令修改文件或目录的权限。 - 用法:
chmod [options] mode file_name
,其中options
是可选的选项,mode
是权限模式,file_name
是要修改权限的文件或目录名称。 - 权限模式可以用数字表示,也可以用字符表示。
- 数字表示法:
- 读权限(r):对应数字 4。
- 写权限(w):对应数字 2。
- 执行权限(x):对应数字 1。
- 例如,权限模式 755 表示所有者有读、写、执行权限,所属组和其他用户有读和执行权限。
- 字符表示法:
u
:表示所有者。g
:表示所属组。o
:表示其他用户。a
:表示所有用户。+
:表示添加权限。-
:表示去除权限。=
:表示设置权限。- 例如,
chmod u+rwx,g+rx,o+r file.txt
将为文件 file.txt 的所有者添加读、写、执行权限,为所属组添加读和执行权限,为其他用户添加读权限。
-
修改文件或目录的所有者:
- 使用
chown
命令修改文件或目录的所有者。 - 用法:
chown [options] owner[:group] file_name
,其中options
是可选的选项,owner
是新的所有者名称,group
是新的所属组名称(可选),file_name
是要修改所有者的文件或目录名称。 - 例如:
chown newowner file.txt
将文件 file.txt 的所有者修改为 newowner。
- 使用
五、软件包管理
-
yum
(Yellowdog Updater, Modified):yum
是 CentOS 中常用的软件包管理工具,它可以自动解决软件包的依赖关系。- 安装软件包:
- 用法:
yum install package_name
,其中package_name
是要安装的软件包名称。
(大家可以安装一个tree命令,非常好用:yum install package tree) - 例如:
yum install apache
将安装 Apache Web 服务器软件包。
- 用法:
- 更新软件包:
- 用法:
yum update
将更新系统中所有已安装的软件包。 - 也可以指定特定的软件包进行更新,例如
yum update package_name
。
- 用法:
- 删除软件包:
- 用法:
yum remove package_name
,其中package_name
是要删除的软件包名称。
- 用法:
- 查找软件包:
- 用法:
yum search keyword
,其中keyword
是要查找的软件包关键字。 - 例如:
yum search apache
将查找与 Apache 相关的软件包。
- 用法:
-
rpm
:rpm
是 Red Hat Package Manager 的缩写,它可以用于管理单个软件包。- 安装:
- 用法:
rpm -ivh package.rpm
,其中package.rpm
是要安装的软件包文件名。 - 例如:
rpm -ivh apache.rpm
将安装名为 apache.rpm 的软件包。
- 用法:
- 查询:
- 列出已安装的所有软件包:
rpm -qa
。 - 查询特定软件包是否安装:
rpm -q package_name
。 - 例如:
rpm -q apache
将查询系统中是否安装了 Apache 软件包。
- 列出已安装的所有软件包:
- 删除:
- 用法:
rpm -e package_name
,其中package_name
是要删除的软件包名称。 - 例如:
rpm -e apache
将删除名为 apache 的软件包。
- 用法:
六、服务管理
-
systemctl
:systemctl
是 CentOS 7 及以上版本中用于管理系统服务的命令。- 启动服务:
- 用法:
systemctl start service_name
,其中service_name
是要启动的服务名称。 - 例如:
systemctl start httpd
将启动 Apache Web 服务器服务。
- 用法:
- 停止服务:
- 用法:
systemctl stop service_name
,其中service_name
是要停止的服务名称。 - 例如:
systemctl stop httpd
将停止 Apache Web 服务器服务。
- 用法:
- 重启服务:
- 用法:
systemctl restart service_name
,其中service_name
是要重启的服务名称。 - 例如:
systemctl restart httpd
将重启 Apache Web 服务器服务。
- 用法:
- 查看服务状态:
- 用法:
systemctl status service_name
,其中service_name
是要查看状态的服务名称。 - 例如:
systemctl status httpd
将显示 Apache Web 服务器服务的状态信息。
- 用法:
- 设置服务开机自启动:
- 用法:
systemctl enable service_name
,其中service_name
是要设置开机自启动的服务名称。 - 例如:
systemctl enable httpd
将设置 Apache Web 服务器服务在系统启动时自动启动。
- 用法:
- 禁止服务开机自启动:
- 用法:
systemctl disable service_name
,其中service_name
是要禁止开机自启动的服务名称。 - 例如:
systemctl disable httpd
将禁止 Apache Web 服务器服务在系统启动时自动启动。
- 用法:
七、网络配置
-
查看网络接口信息:
ifconfig
:显示网络接口的基本信息,包括 IP 地址、子网掩码、MAC 地址等。ip addr
:显示更详细的网络接口信息,包括 IP 地址、子网掩码、广播地址、MAC 地址、网络设备状态等。
-
配置网络接口:
- 可以编辑
/etc/sysconfig/network-scripts/ifcfg-interface_name
文件来配置网络接口,其中interface_name
是网络接口的名称,如 eth0、ens33 等。 - 常见的配置参数包括:
DEVICE
:网络接口名称。BOOTPROTO
:网络启动协议,可选的值有 static(静态 IP)、dhcp(动态 IP)等。IPADDR
:IP 地址。NETMASK
:子网掩码。GATEWAY
:网关地址。DNS1
、DNS2
等:DNS 服务器地址。
- 可以编辑
-
测试网络连接:
- 使用
ping
命令测试与其他主机的连通性。 - 用法:
ping hostname/IP_address
,其中hostname
是主机名或域名,IP_address
是 IP 地址。 - 例如:
ping www.baidu.com
将测试与百度服务器的连通性。
- 使用
八、文件系统和磁盘管理
-
-
使用
useradd
命令创建新用户。 - 用法:
useradd username
,其中username
是要创建的用户名称。 - 例如:
useradd newuser
将创建一个名为 newuser 的用户。
-
-
设置密码:
- 使用
passwd
命令为用户设置密码。 - 用法:
passwd username
,其中username
是要设置密码的用户名称。 - 系统会提示你输入新密码,并要求再次确认密码。
- 例如:
passwd newuser
将为用户 newuser 设置密码。
- 使用
-
用户权限:
- 文件和目录的权限分为读(r)、写(w)、执行(x)三种。
- 可以使用
chmod
命令修改文件或目录的权限。 - 用法:
chmod [options] mode file_name
,其中options
是可选的选项,mode
是权限模式,file_name
是要修改权限的文件或目录名称。 - 权限模式可以用数字表示,也可以用字符表示。
- 数字表示法:
- 读权限(r):对应数字 4。
- 写权限(w):对应数字 2。
- 执行权限(x):对应数字 1。
- 例如,权限模式 755 表示所有者有读、写、执行权限,所属组和其他用户有读和执行权限。
- 字符表示法:
u
:表示所有者。g
:表示所属组。o
:表示其他用户。a
:表示所有用户。+
:表示添加权限。-
:表示去除权限。=
:表示设置权限。- 例如,
chmod u+rwx,g+rx,o+r file.txt
将为文件 file.txt 的所有者添加读、写、执行权限,为所属组添加读和执行权限,为其他用户添加读权限。
-
修改文件或目录的所有者:
- 使用
chown
命令修改文件或目录的所有者。 - 用法:
chown [options] owner[:group] file_name
,其中options
是可选的选项,owner
是新的所有者名称,group
是新的所属组名称(可选),file_name
是要修改所有者的文件或目录名称。 - 例如:
chown newowner file.txt
将文件 file.txt 的所有者修改为 newowner。
- 使用
-
yum
(Yellowdog Updater, Modified):yum
是 CentOS 中常用的软件包管理工具,它可以自动解决软件包的依赖关系。- 安装软件包:
- 用法:
yum install package_name
,其中package_name
是要安装的软件包名称。 - 例如:
yum install apache
将安装 Apache Web 服务器软件包。
- 用法:
- 更新软件包:
- 用法:
yum update
将更新系统中所有已安装的软件包。 - 也可以指定特定的软件包进行更新,例如
yum update package_name
。
- 用法:
- 删除软件包:
- 用法:
yum remove package_name
,其中package_name
是要删除的软件包名称。
- 用法:
- 查找软件包:
- 用法:
yum search keyword
,其中keyword
是要查找的软件包关键字。 - 例如:
yum search apache
将查找与 Apache 相关的软件包。
- 用法:
-
rpm
:rpm
是 Red Hat Package Manager 的缩写,它可以用于管理单个软件包。- 安装:
- 用法:
rpm -ivh package.rpm
,其中package.rpm
是要安装的软件包文件名。 - 例如:
rpm -ivh apache.rpm
将安装名为 apache.rpm 的软件包。
- 用法:
- 查询:
- 列出已安装的所有软件包:
rpm -qa
。 - 查询特定软件包是否安装:
rpm -q package_name
。 - 例如:
rpm -q apache
将查询系统中是否安装了 Apache 软件包。
- 列出已安装的所有软件包:
- 删除:
- 用法:
rpm -e package_name
,其中package_name
是要删除的软件包名称。 - 例如:
rpm -e apache
将删除名为 apache 的软件包。
- 用法:
-
systemctl
:systemctl
是 CentOS 7 及以上版本中用于管理系统服务的命令。- 启动服务:
- 用法:
systemctl start service_name
,其中service_name
是要启动的服务名称。 - 例如:
systemctl start httpd
将启动 Apache Web 服务器服务。
- 用法:
- 停止服务:
- 用法:
systemctl stop service_name
,其中service_name
是要停止的服务名称。 - 例如:
systemctl stop httpd
将停止 Apache Web 服务器服务。
- 用法:
- 重启服务:
- 用法:
systemctl restart service_name
,其中service_name
是要重启的服务名称。 - 例如:
systemctl restart httpd
将重启 Apache Web 服务器服务。
- 用法:
- 查看服务状态:
- 用法:
systemctl status service_name
,其中service_name
是要查看状态的服务名称。 - 例如:
systemctl status httpd
将显示 Apache Web 服务器服务的状态信息。
- 用法:
- 设置服务开机自启动:
- 用法:
systemctl enable service_name
,其中service_name
是要设置开机自启动的服务名称。 - 例如:
systemctl enable httpd
将设置 Apache Web 服务器服务在系统启动时自动启动。
- 用法:
- 禁止服务开机自启动:
- 用法:
systemctl disable service_name
,其中service_name
是要禁止开机自启动的服务名称。 - 例如:
systemctl disable httpd
将禁止 Apache Web 服务器服务在系统启动时自动启动。
- 用法:
-
查看网络接口信息:
ifconfig
:显示网络接口的基本信息,包括 IP 地址、子网掩码、MAC 地址等。ip addr
:显示更详细的网络接口信息,包括 IP 地址、子网掩码、广播地址、MAC 地址、网络设备状态等。
-
配置网络接口:
- 可以编辑
/etc/sysconfig/network-scripts/ifcfg-interface_name
文件来配置网络接口,其中interface_name
是网络接口的名称,如 eth0、ens33 等。 - 常见的配置参数包括:
DEVICE
:网络接口名称。BOOTPROTO
:网络启动协议,可选的值有 static(静态 IP)、dhcp(动态 IP)等。IPADDR
:IP 地址。NETMASK
:子网掩码。GATEWAY
:网关地址。DNS1
、DNS2
等:DNS 服务器地址。
- 可以编辑
-
测试网络连接:
- 使用
ping
命令测试与其他主机的连通性。 - 用法:
ping hostname/IP_address
,其中hostname
是主机名或域名,IP_address
是 IP 地址。 - 例如:
ping www.baidu.com
将测试与百度服务器的连通性。
- 使用
-
文件系统结构:
- CentOS 的文件系统结构遵循 Linux 的标准结构,包括以下主要目录:
/
:根目录,所有文件和目录的起点。/bin
:存放二进制可执行文件,如常用的命令。/etc
:存放系统配置文件。/home
:用户主目录,每个用户在这个目录下有一个自己的子目录。/usr
:存放用户程序和文件。/var
:存放可变数据,如日志文件、邮件队列等。
- CentOS 的文件系统结构遵循 Linux 的标准结构,包括以下主要目录:
-
磁盘管理工具:
fdisk
和parted
是常用的磁盘分区工具。- 使用
fdisk
或parted
可以对磁盘进行分区操作,包括创建、删除、修改分区等。
-
格式化磁盘分区:
- 使用
mkfs
命令可以格式化磁盘分区为特定的文件系统格式。 - 常见的文件系统格式有 ext4、xfs 等。
- 用法:
mkfs -t file_system_type /dev/sdX
,其中file_system_type
是文件系统类型,/dev/sdX
是要格式化的磁盘分区设备...
- 使用
九、系统安全
-
用户权限管理:
- 严格控制用户的权限,只给予用户必要的权限。
- 定期检查用户的权限设置,确保没有不必要的权限分配。
-
防火墙配置:
- CentOS 中可以使用
firewalld
或iptables
来配置防火墙。 - 配置防火墙规则,限制外部访问,只开放必要的端口。
- 例如,可以使用
firewalld
命令添加允许 SSH 访问的规则:firewall-cmd --permanent --add-service=ssh
。
- CentOS 中可以使用
-
软件更新:
- 定期更新系统和安装的软件,以修复安全漏洞。
- 使用
yum update
命令更新系统软件包。
-
密码安全:
- 要求用户设置强密码,并定期更换密码。
- 可以使用密码策略工具来强制用户设置强密码。
-
日志监控:
- 定期查看系统日志,及时发现异常活动。
- 可以使用工具如
logwatch
来分析和报告系统日志。
通过掌握这些 CentOS 入门必备知识,就可以开始使用 CentOS 进行服务器管理、开发和日常操作。随着经验的积累,你可以进一步深入学习 CentOS 的高级功能和特性,以满足更复杂的需求。