安装软件
我们需要用到VMware ,Xshell ,xftp软件,nodepad++(记事本编辑软件)
VMware 去官网下载可以试用30天,或者自行上网找破解版,Xshell和xftp官网有免费版(需要申请),也可以去网上搜破解版
安装Linux(CentOS7)也去网上找吧,我们这次主要讲技术方面,准备工作请大家自我完善
外部软件连接
首先我们进入虚拟机右键打开终端输入
ipconfig
可以查看到我们的ip地址
然后进入网络配置通过vim编辑器编辑内容
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33 --这里ens33是我的网络名称,要替换成自己的
BOOTPROTO="static" --DHCP随机分配IP地址 static固定IP地址
IPADDR=192.168.174.130 -- 网关:ip地址是我们刚才ipconfig查看到的地址
GATEWAY=192.168.174.2 --防火墙:前三位和网关一样,最后一位写2
DNS1=192.168.174.2 --DNS:前三位和网关一样,最后一位写2
写好后按esc 输入:wq保存退出
接下来我们打开xshell 新建会话熟悉 名称随便填,协议SSH, 主机!一定要写刚才的网关地址
然后点击确定就好,登录用户名我们直接用root,点击记住用户名不然下次还要输入,密码输入你设置的密码,前期学习阶段可以设置123456方便使用,后面要设置更安全的密码。当页面如图所示说明连接完成了
xftp的连接同理,协议默认SFTP不用修改,主机处输入你的网关地址即可连接成功后是这样
有的人右侧可能出现乱码,这是正常现象,因为你的编码格式不对
我们可以在这里将编码格式修改为UTF-8,这样就可以正常显示了
常用的Linux指令
我们先了解一些简单常用的Linux指令
查看防火墙状态: systemctl status firewalld
关闭防火墙: systemctl stop firewalld
启动防火墙: systemctl start firewalld
查看ssh运行状态: service sshd status
重启虚拟机: init 6
查看目录
ls 查看目录名称
ll 查看详细信息
创建目录
mkdir :创建目录
mkdir -p 创建目录以及子目录,多个目录同时创建
切换目录
cd 切换目录cd .. 要加空格cd ../xxx 进入上一级目录的子目录
创建文件
touch :创建一个空白的普通文件 向文件中写内容
echo :把内容重定向到指定的文件中 ,有则打开,无则创建
覆盖模式>: echo "ww">aa.txt
追加模式>>: echo "ww">>aa.txt
查看文件内容
cat :查看文件内容
复制
cp :复制
cp -r 文件夹 /usr/local -r 文件夹中有内容
覆盖原有的文件有提示信息可以加个\:
\cp 需要复制的文件 要复制的相对路径
\cp 需要复制的文件 要复制的绝对路径
移动&重命名
mv :移动、重命名(剪切的文件 放在同一个目录中是重命名)
删除文件
rm :删除文件或者文件夹 -r :递归删除
rm -rf 直接彻底删除,没有提示
rm -ri 有提示,建议用这个
查看ip
ifconfig:查看或者配置网卡信息(ip addr)
关闭进程
kill pid :杀死进程
强制关闭进程
Kill -9 强制杀死
用户
在Linux系统中,用户(user)是指系统中的一个个体或实体,可以是人类用户或者系统进程。每个用户都有自己的用户名(username)和用户标识号(UID),以及所属的用户组(group)。Linux系统中的用户可以分为几类:
-
普通用户(Regular User):普通用户是指通过系统管理员创建的一般用户账号。这些用户通常用于日常任务和应用程序操作,具有有限的系统权限,例如读写自己的文件和某些系统资源,但通常不能修改系统关键文件或安装软件。
- 超级用户(Superuser或Root User):超级用户是系统中拥有最高权限的用户。在Linux系统中,超级用户通常被称为
root
。Root用户可以访问系统的所有资源,执行系统级别的任务,安装软件包,修改系统设置,甚至删除其他用户的文件。
在Linux系统中,与用户相关的命令主要用于管理用户账户、权限和相关信息。以下是一些常用的与用户相关的命令:
1.useradd:用于创建新的用户账户。
sudo useradd username
可以使用 -m 选项创建用户的家目录。
2.userdel:用于删除现有的用户账户。
sudo userdel username
使用 -r 选项可以同时删除用户的家目录。
3.usermod:用于修改用户账户的属性,如用户名、家目录、登录Shell等。
sudo usermod -d /new/home/dir username
可以使用不同的选项修改不同的属性。
4.passwd:用于更改用户账户的密码。
passwd username
执行后系统会提示输入新密码和确认密码。
5.su:用于切换用户身份,例如切换到root用户。
su -
可以使用 su username 切换到指定用户身份。
6.sudo:允许授权用户以其他用户的身份执行命令,通常用于临时获取超级用户权限。
sudo command
7.groups:显示用户所属的用户组。
groups username
8.whoami:显示当前登录用户的用户名。
whoami
9.id:显示用户的UID和所属的用户组ID。
id username
10.chown:修改文件或目录的所有者。
bash
sudo chown username:groupname file/dir
可以使用 -R 选项递归修改所有者。
查看用户信息
cat /etc/passwd ---全部
tail -n 数字 /etc/passwd ---查看文件最后数字行信息
head -n 数字 /etc/passwd ---查看文件开头数字行信息 user1:x:1001:1009::/home/user1:/bin/bash
1.用户名 (username): 用户在系统中的登录名。
2.密码占位符 (x):占位符。
3.用户ID (1000): 用户的唯一标识符,也称为用户ID(UID)。
4.组ID (1000): 用户的主要组的标识符,也称为组ID(GID)。
5.用户信息 (): 一些关于用户的额外信息,通常是用户的全名等。
6.家目录 (/home/username): 用户登录后所在的初始目录。
7.登录 shell (/bin/bash): 用户登录后启动的默认shell
这些命令提供了基本的用户管理功能,允许管理员创建、删除、修改用户账户和权限,以及切换用户身份来执行特定的任务。
用户组
在Linux系统中,可以使用以下命令来进行用户组的增删改操作:
1.添加用户组(groupadd):
sudo groupadd groupname
这条命令用于创建一个新的用户组,其中 groupname 是你要创建的用户组的名称。
2.删除用户组(groupdel):
sudo groupdel groupname
使用这条命令可以删除一个现有的用户组,其中 groupname 是要删除的用户组的名称。
3.修改用户组(groupmod):
sudo groupmod -n newgroupname oldgroupname
这条命令允许你修改一个用户组的名称。-n 选项用于指定新的用户组名称,oldgroupname 是原始的用户组名称。
4.将用户添加到用户组(usermod):
sudo usermod -a -G groupname username
使用 -a 选项将用户添加到指定的用户组,-G 选项后面跟随要添加的用户组名称,username 是用户的用户名。
5.从用户组中移除用户(gpasswd):
sudo gpasswd -d username groupname
使用 -d 选项可以将指定的用户从用户组中移除,username 是用户的用户名,groupname 是用户组的名称。
这些命令允许管理员有效地管理用户组,包括创建新的用户组、删除现有的用户组、修改用户组名称,以及管理用户与用户组之间的关联关系。
相关权限
用户组在Linux系统中与文件和目录的权限有着密切的关系。以下是关于用户组权限的一些重要信息:
1.文件和目录的所有者和所属组:
- 每个文件和目录都有一个所有者和一个所属组。
- 所有者可以是一个用户,而所属组通常是一个用户组
2 .权限控制:
- Linux系统使用文件系统的权限位来控制对文件和目录的访问权限,主要分为读(r)、写(w)和执行(x)权限。
- 这些权限位分别适用于文件的所有者、所属组和其他用户(非所有者且不属于该文件所属组的用户)。
3.用户组的作用:
- 用户组可以用来管理文件和目录的访问权限。
- 通过将多个用户分配到同一个用户组,可以简化权限管理。
4.示例场景:
- 创建文件和目录:新建的文件或目录的所有者和所属组通常是创建它们的用户的当前用户和用户组。
- 权限设置:通过 chmod 命令可以为文件和目录设置特定的权限位,例如 chmod 750 filename 将文件的权限设置为所有者具有读、写、执行权限,所属组具有读和执行权限,其他用户没有任何权限。
- 用户组的应用:管理员可以通过将多个用户分配到同一个用户组来管理共享文件或目录的访问权限。例如,可以创建一个专门的用户组用于管理共享文件夹,并设置适当的文件权限,以便组内成员可以共享访问权限。
5.注意事项:
- 用户组的权限仅影响组内成员对文件和目录的访问权限。
- 用户组并不是唯一的权限控制方式,系统管理员可以通过其他方式(如ACL)实现更精细的权限控制。
总之,用户组在Linux系统中是管理文件和目录访问权限的一个重要工具,通过合理的组织和分配用户到用户组,可以有效地简化和管理权限。
让我们通过具体的示例来说明用户组和权限管理在Linux系统中是如何工作的。
假设我们有一个共享目录 /srv/shared,我们希望创建一个用户组来管理对这个目录的访问权限。
示例 1: 创建用户组和设置文件权限
1.创建用户组:
我们首先创建一个名为 sharedusers 的用户组,用于管理共享目录的访问权限。
sudo groupadd sharedusers
2.创建共享目录:
接下来,我们创建共享目录 /srv/shared 并设置它的所有者为 root 用户,所属组为 sharedusers 用户组。
sudo mkdir /srv/shared
sudo chown root:sharedusers /srv/shared
3.设置权限:
设置目录 /srv/shared 的权限为 rwxrwx---,其中:
- 4.所有者 root 具有读、写、执行权限。
- 5.用户组 sharedusers 具有读、写、执行权限。
- 6.其他用户没有任何权限。
sudo chmod 770 /srv/shared
4.添加用户到用户组:
假设我们有两个用户 alice 和 bob,我们将他们添加到 sharedusers 用户组中。
sudo usermod -a -G sharedusers alice
sudo usermod -a -G sharedusers bob
示例 2: 测试权限设置
现在,让我们来测试一下设置的权限是否生效:
1.切换用户:
确保 alice 或 bob 用户已经登录系统。
2.访问共享目录:
cd /srv/shared
touch testfile
- alice 和 bob 用户应该能够在 /srv/shared 目录下创建和编辑文件 testfile。
- 其他用户(不属于 sharedusers 用户组)尝试访问 /srv/shared 目录将会受到权限限制。
通过这个示例,我们展示了如何通过创建用户组、设置文件和目录的权限,以及将用户添加到用户组中,来有效地管理共享资源的访问权限。这种方法使得管理更加简单和安全,确保只有授权的用户可以访问共享目录。
yum
Yum(Yellowdog Updater Modified)是一个在Fedora和Red Hat Linux以及它们的衍生发行版中常用的软件包管理器。它用于简化在这些Linux发行版中安装、更新和删除软件包的过程。
具体来说,Yum提供了一个命令行工具,让用户可以轻松地管理系统中的软件包。以下是Yum的一些主要特点和功能:
- 软件包管理:Yum允许用户通过简单的命令安装、升级和删除软件包。它会自动处理依赖关系,确保安装或更新软件包时不会出现问题。
- 软件源管理:Yum通过配置软件源(repositories),从远程服务器上获取软件包和更新。这些软件源可以是官方提供的,也可以是第三方或自定义的。
- 依赖关系解决:Yum会自动解析并安装软件包所依赖的其他软件包,简化了手动处理依赖关系的工作。
- 插件支持:Yum支持各种插件,可以扩展其功能,例如增强安全性、优化下载速度等。
- 简单易用:用户可以通过一些基本的命令(如yum install、yum update、yum remove等)完成大部分的软件包管理任务,而不需要手动下载和安装软件包及其依赖。
Yum已经成为许多基于Red Hat的Linux发行版的标准软件包管理工具之一,它的使用使得系统管理员和普通用户都能更方便地管理和维护他们的Linux系统。
明白了,这里是简单列出常用的Yum命令:
1.安装软件包:
sudo yum install package_name
2.更新系统中所有软件包:
sudo yum update
3.更新指定软件包:
sudo yum update package_name
4.删除软件包:
sudo yum remove package_name
5.搜索软件包:
yum search keyword
6.显示软件包信息:
yum info package_name
7.清除缓存:
sudo yum clean all
8.列出所有可用软件源:
yum repolist
9.启用或禁用软件源:
sudo yum-config-manager --enable repository_name
sudo yum-config-manager --disable repository_name
10.查看Yum历史记录:
yum history list
11.使用Yum插件:
sudo yum install yum-plugin-name
Docker
Docker 是一种开源的容器化平台,它可以用来轻松地打包、部署和运行应用程序。
概念:
1.容器化技术:
Docker 使用容器化技术,允许开发者将应用程序及其所有依赖项打包到一个标准化单元中,称为容器。每个容器都是一个独立的、轻量级的运行时环境,包含了运行一个应用所需的所有软件部件:代码、运行时环境、系统工具、系统库等。
2.镜像:
Docker 容器的基础是镜像(Image),镜像是一个只读的模板,包含了运行容器所需的所有内容。镜像可以用来创建并运行容器实例。
3.容器:
容器是镜像的运行实例。一个镜像可以生成多个同时运行的容器实例,每个容器之间是相互隔离的,但共享主机操作系统的内核。
4.Docker 引擎:
Docker 引擎是一个用于创建和管理容器的客户端-服务器应用。它包括一个后台守护进程(dockerd),以及一个 CLI 工具(docker)。
优势:
1.轻量化和高效:
Docker 容器与传统虚拟机相比更轻量级,因为它们共享主机操作系统的内核。这使得它们更快速启动、更节省资源,并且可以在同一主机上运行多个容器实例。
2.一致的运行环境:
Docker 可以确保应用程序在不同的开发、测试和生产环境中拥有一致的运行环境。开发者可以使用相同的镜像来部署应用程序,减少了由于环境差异导致的问题。
3.快速部署和扩展:
Docker 容器可以快速部署,无论是在开发环境还是生产环境。通过 Docker 的自动化特性,可以更容易地进行应用程序的扩展和水平伸缩。
4.便于版本控制和协作:
Docker 镜像可以保存为文件,可以通过版本控制系统进行管理。这样可以方便团队成员之间的协作和共享,同时也有助于构建持续集成和持续部署(CI/CD)流水线。
5.更高的安全性:
Docker 提供了一些安全增强功能,如命名空间隔离、控制组(cgroup)等,可以有效地隔离容器之间的资源使用和进程空间,从而增强了应用程序和系统的安全性。
6.生态系统丰富:
Docker 生态系统非常丰富,有成千上万的官方和社区维护的镜像,涵盖了几乎所有流行的应用程序和开发工具,开发者可以方便地使用这些镜像来加速应用程序的开发和部署。
Docker 通过容器化技术,显著提升了应用程序的开发、部署和运行效率,成为现代应用开发和部署的重要工具之一。
准备工作:
关闭防火墙
systemctl disable --now firewalld
安装docker
我们要用到阿里云的yum进行安装,首先先更新/etc/yum.repos.d目录下的docker.repo文件内容,使用阿里的镜像源,更新docker.repo和CentOS-Base.repo。
配置完成后将yum更新到最新版
yum updata
安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker,出现输入的界面都按 y
yum install -y docker-ce -- 没有设置版本就是安装最新版本
- ce社区版,ee企业版 ce是免费提供的社区版本,适用于个人和小型团队,而ee是付费提供的企业版本,提供更多 的功能和支持,适用于更大规模和商业环境的使用。
格式:yum install docker-ce- 案例:yum install docker-ce-20.10.6
查看docker版本,验证是否安装成功
docker -v
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,左侧菜单选中 镜像加速器就可以看到你的专属地址了:
在/etc/docker/daemon.json,文件末尾增加如下内容
{
"registry-mirrors": ["https://你的ID.mirror.aliyuncs.com"]
}