第十天Docker简介&Linux基础 89c810c4c9a44589b759f8c633ef9e00

第十天Docker简介&Linux基础

docker是什么

简单来说docker解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的的容器虚拟化技术

虚拟化技术

虚拟机

如vmware

缺点

卡!

Docker安装

转自vulhub:https://vulhub.org/#/docs/

Linux

Linux发行版本

  1. Ubuntu
    • 特点:用户友好,适合初学者,广泛使用在桌面和服务器环境。
    • 包管理:APT(使用 DEB 包)。
    • 版本:有长期支持版本(LTS,每两年发布一次)和普通版本。
  2. Debian
    • 特点:稳定、安全,适合服务器和桌面使用。
    • 包管理:APT(使用 DEB 包)。
    • 版本:分为稳定版、测试版和不稳定版。
  3. Fedora
    • 特点:最新的软件包和技术,适合开发者和技术爱好者。
    • 包管理:DNF(使用 RPM 包)。
    • 版本:有定期发布的稳定版本和滚动更新的 Rawhide 版本。
  4. CentOS / RHEL
    • 特点:企业级稳定性,广泛用于服务器环境。
    • 包管理:YUM 或 DNF(使用 RPM 包)。
    • 版本:CentOS 作为 RHEL 的免费社区版本,现在已转变为 CentOS Stream。
  5. Arch Linux
    • 特点:滚动更新,用户完全控制,适合高级用户。
    • 包管理:Pacman。
    • 版本:滚动更新,无固定版本发布。
  6. openSUSE
    • 特点:稳定、适合企业和开发者,提供 Tumbleweed(滚动更新)和 Leap(固定发布)两个版本。
    • 包管理:Zypper(使用 RPM 包)。
  7. Manjaro
    • 特点:基于 Arch Linux,用户友好,适合桌面用户。
    • 包管理:Pacman。
    • 版本:滚动更新。
  8. Mint
    • 特点:基于 Ubuntu,用户友好,桌面环境优化,适合初学者。
    • 包管理:APT(使用 DEB 包)。
    • 版本:基于 Ubuntu 的 LTS 版本发布。
  9. Kali Linux
    • 特点:专为渗透测试和安全审计设计,包含大量安全工具。
    • 包管理:APT(使用 DEB 包)。
    • 版本:滚动更新。
  10. Gentoo
    • 特点:高灵活性和可定制性,适合高级用户,所有软件包从源代码编译。
    • 包管理:Portage。
    • 版本:滚动更新。
  11. Slackware
    • 特点:保持 Unix 传统,简洁稳定,适合高级用户。
    • 包管理:没有标准的包管理工具,通常使用 Slackpkg。
    • 版本:固定发布。
  12. Alpine Linux
    • 特点:轻量级、安全,广泛用于容器环境。
    • 包管理:APK。
    • 版本:滚动更新。

Linux目录结构

在这里插入图片描述

  • /bin

    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /boot:

    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :

    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /etc:

    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home

    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

  • /lib

    lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found

    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media

    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt

    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • /opt

    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc

    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    
  • /root

    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin

    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

  • /selinux

    这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv

    该目录存放一些服务启动之后需要提取的数据。

  • /sys

    这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

    sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp

    tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

  • /usr

    usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

  • /usr/bin:

    系统用户使用的应用程序。

  • /usr/sbin:

    超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:

    内核源代码默认的放置目录。

  • /var

    var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run

    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

Linux目录属性

在 Linux 中可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组

在这里插入图片描述

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为 d 则是目录
  • 当为 **** 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

在这里插入图片描述

更改文件属性

1、chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项

  • R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 R 的参数,那么该目录下的所有文件的属组都会更改。

2、chown:更改文件所有者(owner),也可以同时更改文件所属组。

语法:

chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名

进入 /root 目录(~)将install.log的拥有者改为bin这个账号:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

将install.log的拥有者与群组改回为root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

3、chmod:更改文件9个属性

-rwxrwxrwx

每三个字符为一组分别代表owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。
其中:

  • r:4
  • w:2
  • x:1

举例:给某个文件可任意用户任意操作的权限就是777 —>7=4+2+1

Linux 文件与目录管理

什么是绝对路径与相对路径

  • 绝对路径:

    路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。

  • 相对路径:

    路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法。

操作文件常用命令

  • ls(英文全拼:list files): 列出目录及文件名
  • cd(英文全拼:change directory):切换目录
  • pwd(英文全拼:print work directory):显示目前的目录
  • mkdir(英文全拼:make directory):创建一个新的目录
  • rmdir(英文全拼:remove directory):删除一个空的目录
  • cp(英文全拼:copy file): 复制文件或目录
  • rm(英文全拼:remove): 删除文件或目录
  • mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

Linux 用户和用户组管理

Linux系统用户账号的管理

添加新的用户账号

命令:

useradd 选项 用户名

  • c -comment 指定一段注释性描述。
  • d -目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • g -用户组 指定用户所属的用户组。
  • G -用户组,用户组 指定用户所属的附加组。
  • s -Shell文件 指定用户的登录Shell。
  • u -用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

删除帐号

命令:

userdel 选项 用户名

修改帐号

命令:

usermod 选项 用户名

常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

另外,有些系统可以使用选项:-l 新用户名

用户口令的管理

命令:

passwd 选项 用户名

  • l 锁定口令,即禁用账号。
  • u 口令解锁。
  • d 使账号无口令。
  • f 强迫用户下次登录时修改口令。

Linux 磁盘管理

Linux vi/vim

简单来说

首先进入vim界面后处于命令模式

在这里插入图片描述

按下 i 后进入输入模式进行数据操作

在这里插入图片描述

操作完后按Esc进入命令模式

按shift+:进入底行命令模式

在这里插入图片描述

  • q:退出vim
  • qw:保存退出
  • qw!:强制保存退出

Linux包管理器

yum

    1. 列出所有可更新的软件清单命令:yum check-update
    1. 更新所有软件命令:yum update
    1. 仅安装指定的软件命令:yum install <package_name>
    1. 仅更新指定的软件命令:yum update <package_name>
    1. 列出所有可安裝的软件清单命令:yum list
    1. 删除软件包命令:yum remove <package_name>
    1. 查找软件包命令:yum search
    1. 清除缓存命令:
    • yum clean packages: 清除缓存目录下的软件包
    • yum clean headers: 清除缓存目录下的 headers
    • yum clean oldheaders: 清除缓存目录下旧的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

apt

  • 列出所有可更新的软件清单命令:sudo apt update

  • 升级软件包:sudo apt upgrade

    列出可更新的软件包及版本信息:apt list --upgradeable

    升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade

  • 安装指定的软件命令:sudo apt install <package_name>

    安装多个软件包:sudo apt install <package_1> <package_2> <package_3>

  • 更新指定的软件命令:sudo apt update <package_name>

  • 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>

  • 删除软件包命令:sudo apt remove <package_name>

  • 清理不再使用的依赖和库文件: sudo apt autoremove

  • 移除软件包及配置文件: sudo apt purge <package_name>

  • 查找软件包命令: sudo apt search

  • 列出所有已安装的包:apt list --installed

  • 列出所有已安装的包的版本信息:apt list --all-versions

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值