文章目录
实验目的
- 掌握Linux下软件包管理,包括命令rpm、tar。
- 了解Linux中网络通信管理,包括网络基本配置及常用网络命令。
- 掌握进程的创建、查看及终止命令。
实验内容
1、通过安装虚拟机工具实现windows和linux的文件共享。
要在Windows和Linux之间通过虚拟机实现文件共享,可以按照以下步骤操作:
-
安装 VMware Tools:
- 确保的Linux虚拟机中已经安装了VMware Tools。这可以通过在虚拟机中选择“虚拟机”菜单,然后选择“安装VMware Tools”来完成。如果是通过命令行安装,可以使用以下命令:
sudo apt-get install open-vm-tools
- 安装完成后,重启虚拟机。
- 确保的Linux虚拟机中已经安装了VMware Tools。这可以通过在虚拟机中选择“虚拟机”菜单,然后选择“安装VMware Tools”来完成。如果是通过命令行安装,可以使用以下命令:
-
设置共享文件夹:
- 在VMware Workstation中,打开虚拟机设置,选择“选项”->“共享文件夹”,然后选择“总是启用”并添加要共享的文件夹。
- 你可以选择“自动挂载”和“固定分配”,并设置一个挂载点。
-
在Linux中挂载共享文件夹:
- 启动虚拟机,打开终端。
- 创建一个挂载点(如果尚不存在):
sudo mkdir /mnt/hgfs
- 挂载共享文件夹:
sudo mount -t vmhgfs .host:/ /mnt/hgfs
- 如果需要允许其他用户访问共享文件夹,可以使用
-o allow_other
选项:sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
- 现在,应该能够访问和操作共享文件夹中的文件。
-
验证共享文件夹:
- 使用
ls /mnt/hgfs
命令来查看共享文件夹的内容。 - 确保共享目录可在虚拟机上访问,并且现在可以打开存储在该目录中的文件。
- 使用
-
设置开机自动挂载:
- 可以将挂载命令添加到
/etc/rc.local
或/etc/fstab
文件中,以确保每次启动时自动挂载共享文件夹。
- 可以将挂载命令添加到
-
设置网络共享:
- 如果想要通过网络共享文件,可以在Linux中设置Samba服务器,或者在Windows中设置文件共享。
2、使用命令将当前计算机的主机名修改为IT。
在Linux系统中,可以使用hostnamectl
命令或者编辑/etc/hostname
文件来修改主机名。以下是两种常用的方法:
方法1:使用hostnamectl
命令
- 临时修改主机名:
打开终端,然后输入以下命令来临时更改当前会话的主机名:sudo hostnamectl set-hostname IT
这个命令会立即更改当前会话的主机名,但重启后会恢复原来的主机名。
-
永久修改主机名:
要永久更改主机名,需要编辑/etc/hostname
文件。可以使用文本编辑器,如nano
或vim
,来编辑这个文件:sudo nano /etc/hostname
或者
sudo vim /etc/hostname
在编辑器中,将文件中的当前主机名更改为
IT
,然后保存并退出。 -
验证更改:
使用以下命令来验证主机名是否已更改:hostname
或者
hostname -f
这两个命令应该返回新的主机名IT
。
方法2:直接编辑/etc/hostname
文件
-
编辑文件:
直接使用文本编辑器编辑/etc/hostname
文件:sudo nano /etc/hostname
或者
sudo vim /etc/hostname
将文件中的主机名更改为
IT
。 -
修改
/etc/hosts
文件(可选):
为了确保系统能够正确解析新的主机名,可能还需要编辑/etc/hosts
文件,确保其中有一行映射了新的主机名到本地回环地址:sudo nano /etc/hosts
找到类似于以下内容的行,并确保它包含了新的主机名:
127.0.0.1 localhost 127.0.1.1 IT
如果没有,可以添加一行,其中
IT
是新主机名。 -
重启系统或重新登录:
为了使更改生效,可能需要重启系统或重新登录。
3、使用netconfig命令设置网络的相关属性,包括IP地址、子网掩码、默认网关等。
在现代Linux系统中,netconfig
命令已经不再是配置网络设置的推荐工具,因为它已经在很多发行版中被废弃。取而代之的是更现代的工具,如 nmcli
(NetworkManager 的命令行界面)、ifconfig
(在一些旧系统中使用,但现在也被 ip
命令取代)、ip
命令和 systemd-networkd
。
以下是使用这些现代工具设置网络属性的方法:
使用 nmcli
设置网络属性
- 查看所有网络连接:
nmcli con show
-
编辑特定的网络连接:
假设你要编辑的连接名称是Wired connection 1
,你可以使用以下命令:nmcli con mod "Wired connection 1" ipv4.addresses "192.168.1.100/24" nmcli con mod "Wired connection 1" ipv4.gateway "192.168.1.1" nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8" nmcli con mod "Wired connection 1" ipv4.method manual
-
重新启动网络连接:
nmcli con down "Wired connection 1" && nmcli con up "Wired connection 1"
使用 ip
命令设置网络属性
-
设置IP地址:
sudo ip addr add 192.168.1.100/24 dev eth0
-
设置默认网关:
sudo ip route add default via 192.168.1.1
-
设置DNS(需要编辑
/etc/resolv.conf
文件):echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
编辑网络配置文件
在某些Linux发行版中,可能需要直接编辑网络配置文件,这些文件通常位于 /etc/network/interfaces
或 /etc/sysconfig/network-scripts/
目录下。
-
编辑
/etc/network/interfaces
文件:sudo nano /etc/network/interfaces
添加或修改以下内容:
auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8
保存并退出。
-
重启网络服务:
sudo systemctl restart networking
或者
sudo /etc/init.d/networking restart
4、分别用前台和后台启动方式在根目录/下查找名字为linuxa2.txt的文件。
在Linux系统中,可以使用find
命令来查找文件。以下是如何在前台和后台启动方式下查找名为linuxa2.txt
的文件的步骤:
前台启动方式
在前台启动方式下,find
命令会立即开始搜索并显示结果,直到搜索完成。
find / -type f -name linuxa2.txt
这个命令会在根目录/
下递归搜索名为linuxa2.txt
的文件。-type f
参数指定只查找文件(不包括目录)。
后台启动方式
在后台启动方式下,你可以使用&
将find
命令放入后台执行,或者使用nohup
命令确保即使终端关闭,搜索也会继续进行。
使用 &
放入后台
find / -type f -name linuxa2.txt &
这个命令会将find
命令放入后台执行。你可以使用jobs
命令查看后台作业的状态,或者使用fg
命令将其调回前台。
使用 nohup
命令
nohup
命令可以防止命令在终端关闭时被终止。
nohup find / -type f -name linuxa2.txt > find_output.txt &
这个命令会将find
命令的输出重定向到find_output.txt
文件中,并且即使终端关闭,搜索也会继续进行。&
将命令放入后台执行。
注意事项
- 在根目录
/
下进行递归搜索可能会花费一些时间,并且可能会显示大量结果,取决于文件系统的复杂性。 - 如果只想在当前目录下搜索,可以省略
/
并使用.
代替,或者直接在命令行中使用find . -type f -name linuxa2.txt
。 - 根据的系统配置和权限,搜索根目录可能需要
root
权限。如果是这样,可能需要在命令前加上sudo
。
5、查看系统中所有启动的进程,不带控制台终端,并显示用户名和进程的起始时间。
要查看系统中所有启动的进程,不带控制台终端,并显示用户名和进程的起始时间,可以使用 ps
命令结合一些参数来实现。以下是具体的命令:
ps -e -o pid,tty,user,lstart,cmd | grep -v pts
这里的参数解释如下:
-e
表示显示所有进程。-o
允许你自定义输出格式,后面跟着的是你想显示的列:pid
表示进程ID。tty
表示终端类型,不带控制台终端的进程通常显示为?
。user
表示启动进程的用户。lstart
表示进程的起始时间。cmd
表示启动进程的命令。
grep -v pts
是用来排除所有在pts
(伪终端)上的进程,因为这些通常是远程登录会话。
这个命令会列出所有进程,包括那些没有控制台终端的进程,并显示每个进程的用户名和起始时间。如果只想看特定用户的进程,可以将 grep -v pts
替换为 grep [用户名]
来过滤结果。
6、使用命令结束第4题中的进程。
要结束第4题中提到的进程,需要知道进程的PID(进程ID)。一旦有了PID,可以使用 kill
命令来结束进程。以下是结束进程的步骤:
-
查找进程ID:
首先,需要找到想要结束的进程的PID。可以使用ps
命令结合grep
来查找PID。例如,如果要查找名为linuxa2.txt
的文件相关的进程,可以使用以下命令:ps -ef | grep 'linuxa2.txt' | grep -v grep
这个命令会列出所有与 linuxa2.txt
相关的进程,并且排除掉 grep
命令本身。
-
结束进程:
一旦找到了进程的PID,可以使用kill
命令来结束它。例如,如果PID是1234
,可以使用以下命令:kill 1234
如果进程不响应普通的
kill
命令,可以使用-9
选项来强制结束进程:kill -9 1234
请注意,使用 -9
选项是强制性的,它会立即结束进程,而不给进程清理它正在使用资源的机会。在大多数情况下,应该首先尝试不带 -9
选项的 kill
命令。