关于centos7的操作及一些功能的实现

2024-02-29 18:34:47 浏览数 (2)

CentOS 7 是一个免费的开源操作系统,它是 Red Hat Enterprise Linux 7 的一个社区版本。以下是 CentOS 7 的详细教程:

1. 下载 CentOS 7

你可以从 CentOS 官方网站 下载 CentOS 7 镜像文件。

2. 安装 CentOS 7

下载 CentOS 7 后,你可以通过以下步骤来安装 CentOS 7:

  1. 将 CentOS 7 镜像文件刻录到 DVD 或 USB 驱动器上。
  2. 将 DVD 或 USB 驱动器插入计算机,并启动计算机。
  3. 在引导时按照屏幕上的提示进入 BIOS 设置,将 DVD 或 USB 驱动器设置为首选启动设备。
  4. 重新启动计算机,等待 CentOS 7 安装程序加载。
  5. 根据屏幕上的指示填写必要的信息,如语言、时区、网络设置等。
  6. 选择分区方式并进行分区。
  7. 等待 CentOS 7 安装完成,然后重启计算机。

3. 基本操作

安装 CentOS 7 后,你需要掌握一些基本操作命令,例如:

  • ls: 列出当前目录下的文件和文件夹。
  • cd: 进入指定目录。
  • mkdir: 创建新目录。
  • rm: 删除文件或文件夹。
  • cp: 复制文件或文件夹。
  • mv: 移动文件或文件夹。
  • nano: 在终端中打开文本编辑器。

4. 系统管理

在 CentOS 7 中,你可以使用以下命令来管理系统:

  • systemctl: 控制系统服务。
  • firewall-cmd: 配置防火墙规则。
  • yum: 安装、更新和删除软件包,以及查找、列出和显示软件包信息。
  • journalctl: 查看系统日志。

5. 项目实操

问题一 :mv cp 操作

创建/ home / wIXX / r / t / y ( XX 为学号,下同) / home / wIXX / d / b / h 用 vim 在 t 创建a1.txt ,并输入 文本 “abcabc” 在 h 创建b1.txt 输入文本 " efgefg", 在 r 创建c1.txt 输入文本 “123123” 把a1.txt拷贝到 r 把c1.txt移动到 y 并改名为 cc.txt 把 b 拷贝到 t 把r移动到d

下面是 CentOS 7 的具体操作步骤:
  1. 创建目录

打开终端,使用以下命令创建目录:

代码语言:javascript复制
mkdir /home/wIXX/r/t/y
mkdir /home/wIXX/d/b/h

其中 XX 为你的学号。

  1. 创建文件并输入文本

使用以下命令在 t 目录下创建 a1.txt

代码语言:javascript复制
vim /home/wIXX/r/t/a1.txt

按下 i 进入编辑模式,并输入文本 “abcabc”。然后按下 Esc ,接着输入 :wq 并按下 Enter 保存并退出 vim。

接下来在 h 目录下创建 b1.txt

代码语言:javascript复制
vim /home/wIXX/d/b/h/b1.txt

按下 i 进入编辑模式,并输入文本 “efgefg”。然后按下 Esc ,接着输入 :wq 并按下 Enter 保存并退出 vim。

最后在 r 目录下创建 c1.txt

代码语言:javascript复制
vim /home/wIXX/r/c1.txt

按下 i 进入编辑模式,并输入文本 “123123”。然后按下 Esc ,接着输入 :wq 并按下 Enter 保存并退出 vim。

  1. 拷贝和移动文件

使用以下命令拷贝和移动文件:

a1.txt 拷贝到 r 目录:

代码语言:javascript复制
cp /home/wIXX/r/t/a1.txt /home/wIXX/r/

c1.txt 移动到 y 并改名为 cc.txt

代码语言:javascript复制
mv /home/wIXX/r/c1.txt /home/wIXX/r/t/y/cc.txt

b 目录拷贝到 t

代码语言:javascript复制
cp -r /home/wIXX/d/b /home/wIXX/r/t/

r 目录移动到 d

代码语言:javascript复制
mv /home/wIXX/r /home/wIXX/d/

至此,以上操作就完成了。

问题二 : cat操作

在/home/wIXX 新建x1.txt内容为"123abc" 新建x2.txt内容为"456def" 新建x3.txt内容为"789ghi" 把x2.txt , x3.txt内容填加到x1.txt后把x3.txt内容替换到x2.txt

下面是 CentOS 7 的具体操作步骤:
  1. 新建文件并输入文本

使用以下命令在 /home/wIXX 目录下创建 x1.txtx2.txtx3.txt

代码语言:javascript复制
cd /home/wIXX/
touch x1.txt
touch x2.txt
touch x3.txt

然后依次使用以下命令输入对应的文本到文件中:

代码语言:javascript复制
echo '123abc' >> x1.txt
echo '456def' >> x2.txt
echo '789ghi' >> x3.txt
  1. 把 x2.txt 和 x3.txt 内容追加到 x1.txt 后面

使用以下命令将 x2.txtx3.txt 的内容追加到 x1.txt 文件后面:

代码语言:javascript复制
cat x2.txt x3.txt >> x1.txt
  1. 把 x3.txt 内容替换到 x2.txt

使用以下命令将 x3.txt 的内容替换到 x2.txt 文件中:

代码语言:javascript复制
cat x3.txt > x2.txt

至此,以上操作就完成了。

问题三: tar 操作

以下各问中若目录不存在可自行创建 1.对 wIXX 目录打包并以 wIXX.tar 为文件名保存到/usr 目录 2.对 wIXX 目录打包压缩并以 wIXX.tar.gz 为文件名保存到/usr 目录 3.对 wIXX 目录打包压缩并以 wIXX.tar.bz 为文件名保存到/usr 目录 4.把 wIXX.tar.gz 解压缩到/home/wl 中。

下面是 CentOS 7 的具体操作步骤:
  1. 使用 tar 命令将 wIXX 目录打包,并以 wIXX.tar 为文件名保存到 /usr 目录,命令如下:
代码语言:javascript复制
tar -cvf /usr/wIXX.tar /home/wIXX
  1. 使用 tar 命令将 wIXX 目录打包压缩,并以 wIXX.tar.gz 为文件名保存到 /usr 目录,命令如下:
代码语言:javascript复制
tar -czvf /usr/wIXX.tar.gz /home/wIXX
  1. 使用 tar 命令将 wIXX 目录打包压缩,并以 wIXX.tar.bz2 为文件名保存到 /usr 目录,命令如下:
代码语言:javascript复制
tar -cjvf /usr/wIXX.tar.bz2 /home/wIXX
  1. 使用 tar 命令解压 wIXX.tar.gz 文件,将其解压到 /home/wl 目录中,命令如下:
代码语言:javascript复制
tar -xzvf /usr/wIXX.tar.gz -C /home/wl

问题四:时间管理

设置时间为2026年6月6日6点6分45秒

下面是 CentOS 7 的具体操作步骤:
  1. 使用 date 命令查看当前时间,命令如下:
代码语言:javascript复制
date
  1. 使用 timedatectl 命令禁用 NTP 服务,以允许手动设置时间。命令如下:
代码语言:javascript复制
timedatectl set-ntp false
  1. 使用 date 命令设置系统时间,命令如下:
代码语言:javascript复制
date --set="2026-06-06 06:06:45"
  1. 使用 hwclock 命令将系统时间同步到硬件时钟上,以使系统能够在下次开机时读取正确的时间。命令如下:
代码语言:javascript复制
hwclock --systohc
  1. 使用 date 命令再次查看当前时间,确认时间设置已成功,命令如下:
代码语言:javascript复制
date

注意:要使用以上命令,需要具有 root 权限或者对应的 sudo 权限。

如果您没有 root 权限,可以按以下步骤设置时间:
  1. 首先,使用 date 命令查看当前时间,命令如下:
代码语言:javascript复制
date
  1. 然后,向系统管理员或者拥有 root 权限的用户请求执行以下操作:
  • 禁用 NTP 服务:sudo systemctl stop chronyd.service
  • 设置时间:sudo timedatectl set-time "2026-06-06 06:06:45"
  • 将系统时间同步到硬件时钟上:sudo hwclock --systohc
  1. 等待管理员或拥有 root 权限的用户完成以上操作后,再次使用 date 命令确认系统时间是否已经设置成功,命令如下:
代码语言:javascript复制
date

注意:在没有 root 权限的情况下,需要请求系统管理员或者拥有 root 权限的用户的帮助来完成设置时间的操作。另外,由于这是一项系统级别的操作,请谨慎使用,并确认您已经理解了设置时间的影响。

问题五:权限管理

创建 t、 r 和 s 帐户, 创建 tr 、 ts 组, 在 t 目录中新建c1.txt文件并输入 “abcdefg” , 对 t 目录修改权限为:所用者为全部7( u = rwx ), 同组为6( g = rw ), 其他组为5(Q = rx), 并递归处理 修改 t 目录属性为:所有者为r , 所属组为 s, 并递归处理 t 目录. 进入 s 帐户编辑 t 中c1.txt(查看是否有权限)进入 r 帐户编辑 t 中c1.txt 把 t 、 r 用户填加到 tr 附加组

以下是在 CentOS 7 上实现如上操作的具体步骤:
  1. 创建 t、 r 和 s 帐户:
代码语言:javascript复制
sudo useradd t
sudo useradd r
sudo useradd s
  1. 创建 tr、ts 组:
代码语言:javascript复制
sudo groupadd tr
sudo groupadd ts
  1. 在 t 目录中新建 c1.txt 文件并输入 “abcdefg”:
代码语言:javascript复制
sudo mkdir /home/t      # 如果 /home/t 目录不存在,则需要先创建该目录
sudo touch /home/t/c1.txt
sudo echo "abcdefg" > /home/t/c1.txt
  1. 对 t 目录修改权限为:所用者为全部7(u=rwx),同组为6(g=rw),其他组为5(Q=rx),并递归处理:
代码语言:javascript复制
sudo chmod -R u=rwx,g=rw,o=rx /home/t
  1. 修改 t 目录属性为:所有者为 r, 所属组为 s,并递归处理 t 目录:
代码语言:javascript复制
sudo chown -R r:s /home/t
  1. 进入 s 帐户编辑 t 中 c1.txt(查看是否有权限):
代码语言:javascript复制
su s
cd /home/t
cat c1.txt
  1. 进入 r 帐户编辑 t 中 c1.txt:
代码语言:javascript复制
su r
cd /home/t
vi c1.txt
  1. 将 t、r 用户添加到 tr 附加组:
代码语言:javascript复制
sudo usermod -aG tr t
sudo usermod -aG tr r

上述操作的原因及说明:

  • 步骤 1 和 2:创建帐户和组,以便在后续操作中使用。
  • 步骤 3:在 t 目录中创建了 c1.txt 文件,并输入 “abcdefg”。这一步仅仅是为了创建一个测试文件用于后续的权限设置和编辑测试。
  • 步骤 4:使用 chmod 命令修改 t 目录的权限。rwx 表示读、写、执行,rw 表示读、写,rx 表示读、执行。u 表示所有者,g 表示同组,o 表示其他用户。因此,u=rwx,g=rw,o=rx 表示将所有者的权限设置为 rwx,同组用户的权限设置为 rw,其他用户的权限设置为 rx。-R 参数表示递归处理,因此该命令将会将该权限设置应用到 t 目录及其子目录下的所有文件和目录。
  • 步骤 5:使用 chown 命令修改 t 目录的所有者和所属组。-R 参数表示递归处理,因此该命令将会将该权限设置应用到 t 目录及其子目录下的所有文件和目录。
  • 步骤 6 和 7:分别进入 s 和 r 帐户,并尝试对 /home/t/c1.txt 文件进行读写操作。由于之前已经将 t 目录的权限设置为所用者为全部7(u=rwx),同组为6(g=rw),其他组为5(Q=rx),因此只有 s 帐户可以读取该文件,而 r 帐户则没有权限。
  • 步骤 8:使用 usermod 命令将 t 和 r 用户添加到 tr 组。这样一来,t 和 r 用户就可以访问该组中的任何资源。

问题六: 给虚拟机1配置2个 ip

给虚拟机1配置2个 ip 分别为100.x. x .(1-2)/24 , 网关为100.x. x .254 , DNS 为192.168.1.1 永久修改主机名为 centosa ( hostnamectl set - hostname centosa )

以下是在 CentOS 7 上实现如上操作的具体步骤:
  1. 编辑虚拟机的网络配置文件 ifcfg-eth0,添加两个IP地址:
代码语言:javascript复制
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
  1. ifcfg-eth0 中添加以下内容:
代码语言:javascript复制
IPADDR1=100.x.x.1
NETMASK1=255.255.255.0
GATEWAY=100.x.x.254
DNS1=192.168.1.1
IPADDR2=100.x.x.2
NETMASK2=255.255.255.0

其中,将 100.x.x. 替换为你设置的子网段。

以下是几个推荐的子网段:

  1. 10.0.0.0/8:私有地址范围,适合用于公司或组织内部的局域网,可以支持16,777,214个IP地址。

  1. 172.16.0.0/12:私有地址范围,适合用于中等规模的局域网,可以支持1,048,574个IP地址。
  2. 192.168.0.0/16:私有地址范围,适合用于小型家庭局域网或办公室内部小型网络,可以支持65,534个IP地址。
  3. 198.18.0.0/15:专门用于网络性能测试和测量,一般不用于标准生产环境,可以支持131,070个IP地址。 当然,你也可以根据实际情况自行选择其他的子网段。
  4. 使用 hostnamectl 命令修改主机名为 centosa
代码语言:javascript复制
sudo hostnamectl set-hostname centosa

上述操作的原因及说明: 4. 编辑虚拟机的网络配置文件 ifcfg-eth0,并添加两个 IP 地址。在同一网卡上配置多个 IP 地址的主要目的是为了实现多个应用程序在同一物理服务器上运行,而不必使用多个物理接口。这样可以节省成本,简化管理,并增强系统的灵活性和可靠性。 5. 在 ifcfg-eth0 中添加 IP 地址、子网掩码、网关和 DNS 服务器的配置信息。其中,IPADDR1NETMASK1IPADDR2NETMASK2 分别代表两个 IP 地址和它们的子网掩码。GATEWAY 表示虚拟机使用的网关,DNS1 表示 DNS 服务器的 IP 地址。这些配置信息将会用于虚拟机的网络连接。 6. 使用 hostnamectl 命令修改主机名为 centosa。主机名是标识计算机的名称,是分配给计算机的唯一标识符。在 Linux 中,主机名用于区分计算机,并且 Linux 内核使用主机名将本地主机与远程计算机进行区分。

问题7 : 配置 telnet 服务

配置 telnet 服务,在win10宿主机中通过 telnet 远程配置 yum 并安装下列包 dhcp dcraw vsftpd make Izo - minilzo nasm

以下是在 CentOS 7 上配置 Telnet 服务的具体步骤:
  1. 首先安装 Telnet 服务:
代码语言:javascript复制
sudo yum install telnet-server -y
  1. 启动 Telnet 服务并设置自动启动:
代码语言:javascript复制
sudo systemctl start telnet.socket
sudo systemctl enable telnet.socket
  1. 配置防火墙规则以允许 Telnet 连接:
代码语言:javascript复制
sudo firewall-cmd --add-service=telnet --permanent
sudo firewall-cmd --reload
  1. 在 Win10 上打开命令提示符(或 PowerShell),使用如下命令连接 CentOS 7 的 Telnet 服务:
代码语言:javascript复制
telnet centos_ip_address

其中,将 centos_ip_address 替换为 CentOS 7 的 IP 地址。 5. 在 CentOS 7 的 Telnet 终端中输入以下命令,以配置 yum 并安装所需软件包:

代码语言:javascript复制
sudo yum -y install epel-release
sudo yum -y install dhcp dcraw vsftpd make minilzo Izo nasm

上述操作的原因及说明:

  1. 安装 Telnet 服务可以方便地通过 Telnet 协议在网络中远程登录和管理其他计算机。Telnet 协议是一种常见的远程登录协议,它是一种文本协议,可以通过 TCP/IP 连接在不同计算机之间传输数据。
  2. 启动 Telnet 服务并设置自动启动可以确保 Telnet 服务在系统启动时自动运行。这样可以避免因为手动启动服务而造成的人为失误和不必要的麻烦。
  3. 配置防火墙规则以允许 Telnet 连接可以确保 Telnet 服务能够正常工作,并且可以保证服务器的安全性。通过开放 Telnet 服务的默认端口(23),以允许客户端计算机连接到服务器上的 Telnet 服务,但是需要留意该方法是不太安全的方法,建议使用 SSH 的方式进行远程登录。
  4. 在 Win10 上打开命令提示符(或 PowerShell),使用如下命令连接 CentOS 7 的 Telnet 服务。可以通过 Telnet 在 Windows 客户端中远程访问 CentOS 7 服务器,并在 CentOS 7 的终端中输入命令。
  5. 在 CentOS 7 的 Telnet 终端中输入安装指定软件包的命令。其中,epel-release 是 CentOS 7 的一个额外的软件源,可以提供更多的应用程序和工具。dhcp 是一种 DHCP 服务器程序,用于自动分配 IP 地址和其他网络配置信息。dcraw 是一个开源的 RAW 图像处理工具。vsftpd 是一个安全、快速的 FTP 服务器程序。make 是一个构建工具,可以根据 Makefile 文件生成可执行文件。minilzo 是一个轻量级的数据压缩库。Izonasm 是汇编语言开发工具。这些软件包都是常见的服务器应用程序,可以用于实现不同的功能。

问题八:

以名字为参数查找/var 目录下所有以 log 结尾的文件。

以下是在 CentOS 7 上以名字为参数查找 /var 目录下所有以 log 结尾的文件的具体步骤:
  1. 打开终端或 SSH 客户端,使用 root 用户登录 CentOS 7。
  2. 输入如下命令,以进入 /var 目录:
代码语言:javascript复制
cd /var
  1. 输入如下命令,以搜索所有以 log 结尾的文件:
代码语言:javascript复制
find . -name "*.log"
  1. 搜索结果将会列出所有以 log 结尾的文件的绝对路径。

上述操作的原因及说明:

  1. 在 Linux 系统中,所有文件和目录都按照一定的层次结构组织起来,并被分配到特定的父目录下。/var 目录通常用于存放系统的变量文件,如日志、缓存和其他临时文件等。
  2. 使用 root 用户登录 CentOS 7 可以保证当前用户拥有足够的权限来访问 /var 目录和它下面的所有子目录和文件,以及执行搜索操作。
  3. 在 /var 目录下执行 find 命令,可以搜索所有子目录下的特定类型的文件。在本例中,-name 参数指定搜索以 log 结尾的文件,而 "*.log" 则表示搜索所有以 .log 结尾的文件,并忽略大小写。“.” 的意思是从当前目录开始搜索。搜索命令执行完成后,将在控制台输出搜索结果列表,其中包含所有符合查询条件的文件名和绝对路径。
  4. 基于本例,如果某个程序无法正常运行,我们可以通过查看相关的日志文件,了解出错原因并进行修复。此外,由于 CentOS 7 是一个服务器操作系统,系统日志是管理员进行故障排除和系统维护的重要依据之一,因此查找/var 目录下的所有以 log 结尾的文件也是一项重要的管理任务。

问题九: 设置关机时间为10:00

以下是在 CentOS 7 上设置关机时间为10:00的具体步骤:
  1. 打开终端或 SSH 客户端,使用 root 用户登录 CentOS 7。
  2. 输入如下命令,以编辑 /etc/crontab 文件:
代码语言:javascript复制
vi /etc/crontab
  1. 在打开的文件中,找到类似于如下的一行内容:
代码语言:javascript复制
# 0 0 * * * root /usr/bin/systemctl poweroff
  1. 在这一行的开头添加一个注释符号 #,使其变成注释。然后在下面添加如下一行内容:
代码语言:javascript复制
0 10 * * * root /usr/bin/systemctl poweroff

这一行表示每天10:00执行 /usr/bin/systemctl poweroff 命令,即自动关闭系统。 5. 按下 Esc 键退出编辑模式,然后输入 :wq 命令保存修改并退出文件。

上述操作的原因及说明:

  1. 在 Linux 系统中,crontab 是一个用来管理周期性任务的工具。通过编辑 crontab 文件,可以设置特定的命令在指定的时间点或时间间隔内自动运行。
  2. 使用 root 用户登录 CentOS 7 可以保证当前用户拥有足够的权限来编辑 crontab 文件,并设置系统的关机时间。
  3. 在编辑 /etc/crontab 文件时,需要找到之前已经存在的计划任务,然后在其下面添加新的计划任务。在本例中,我们找到了每天0点执行 /usr/bin/systemctl poweroff 命令的计划任务,并在其下面添加了新的计划任务,设置系统在每天10:00自动关机。
  4. 设置系统在指定时间点自动关机可以避免管理员忘记手动关闭系统而导致的系统资源浪费和安全风险。对于运行时间较长的服务器来说,自动关机还可以有利于降低硬件负担和延长使用寿命。

问题十: 用 root 帐户在tty3上登录。

以下是在 CentOS 7 上使用 root 帐户在 tty3 终端上登录的具体步骤:
  1. 在 CentOS 7 的 GUI 界面上,按下 Ctrl Alt F3 键,即可进入 tty3 终端界面。如果要返回 GUI 界面,则需要按下 Ctrl Alt F1 键。
  2. 当进入 tty3 终端界面后,系统会提示用户输入用户名和密码。输入 root 用户名和相应的密码,并按下回车键确认。
  3. 如果输入的用户名和密码正确,屏幕会显示新的命令行提示符,表示已经成功登录到系统的 tty3 终端上。

上述操作的原因及说明:

  1. tty3 终端是 CentOS 7 中的一个虚拟终端,在这个终端上可以使用命令行方式进行操作和管理系统。在 GUI 界面下,用户可以通过按下 Ctrl Alt F3 键快速切换到 tty3 终端,以执行一些需要使用命令行完成的任务。
  2. 在 CentOS 7 中,root 帐户是系统管理员帐户,拥有最高权限。使用 root 帐户登录 tty3 终端可以保证用户在执行某些需要特权的操作时不会受到限制。
  3. 使用 tty3 终端登录还可以有效地提高系统的安全性,因为 tty3 终端通常不允许普通用户登录,只有管理员才能使用。另外,当系统遇到 GUI 界面下无法启动或使用时,通过 tty3 终端登录可以帮助管理员对系统进行修复和调试。

问题十一:设置新建目录的默认权限为755 其他组为5(0= rx )

以下是在 CentOS 7 上将新建目录的默认权限设置为 755,并将其他组权限设置为 r-x 的具体步骤:
  1. 打开终端或 SSH 客户端,使用 root 用户登录 CentOS 7。
  2. 输入如下命令,以编辑 /etc/profile 文件:
代码语言:javascript复制
vi /etc/profile
  1. 在打开的文件中,找到末尾的一行,并在该行下面输入如下内容:
代码语言:javascript复制
umask 002

这一行表示将默认的 umask 设置为 002,也就是新建目录的默认权限为 777-002=75,即 rwxr-xr-x。其中,第一位的 7 表示用户权限,第二位的 5 表示组权限,第三位的 5 表示其他组权限。 4. 按下 Esc 键退出编辑模式,然后输入 :wq 命令保存修改并退出文件。 5. 使用命令 source /etc/profile 或者注销重新登录后,新建的所有目录的默认权限都会变成上述设置的 rwxr-xr-x。

上述操作的原因及说明:

  1. 在 Linux 系统中,umask 是一个设置默认权限掩码的重要参数。在创建新文件或目录时,umask 可以限制新文件或目录的默认权限。默认情况下,umask 的值通常为 022,这意味着新建目录的默认权限为 rwxr-xr-x,而文件的默认权限为 rw-r–r–。在本例中,我们将 umask 设置为 002,使得新建目录的默认权限变为 rwxr-xr-x,而其他组权限为 r-x。
  2. 将新建目录的默认权限设置为 755,可以保证用户和组都具有读、写和执行的权限,而其他用户组只具有读和执行的权限。这样可以确保目录对于普通用户具有足够的访问权限,并且不会因为过度开放导致安全问题。
  3. 在 CentOS 7 中,/etc/profile 文件是系统环境变量的主要配置文件之一,通过在其中添加 umask 002 的设置,可以保证所有登录的用户都遵循上述修改后的默认目录权限设置。

6.结束语:

希望这篇文章可以为大家更清晰的了解centos7 , 以及如何使用, 撒花

0 人点赞