Ubuntu属于Linux发行版本下的其中一个
想要让虚拟机待机,需要进行挂起操作
重装系统
使用系统快照
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FRbvk5Ix-1664326286550)(Ubuntu_Linux.assets/1664155871435.png)]
Linux系统上支持多个用户,每个用户一个目录
/home/…
超级用户root,其用户目录为/root
对于普通用户来说,他能操作的目录就只有用户目录,
ls,即list,列出目录下的所有项
示例:
ls
查看/home/shaofa 目录
ls /home/shaofa
ls -l /home/shaofa 以详细模式查看,其中-l为参数,参数一般以 - 开头
在输入命令和路径时,按Tab键可以自动补全
按 ↑ ↓ 箭头键可以上下翻阅
pwd,即print working directory显示当前工作目录
cd,即change directory,切换目录
~ 代表当前用户的主目录
. 代表当前目录
… 代表上一级目录
cd ~ 切换到主目录
cd ~/example切换到主目录下的example目录
cd …/www 切换到上级目录、再到www子目录
在ls中也是可以使用上述特殊目录
目录操作
mkdir abc
mkdir -p abc/123/test
使用-p参数,可以将路径的层次目录全部创建
rmdir abc
若目录非空,则删除失败
rm -rf abc
删除abc目录,和子项一并删除
其中,r表示recursive,f表示force
cp-rf example example2
move hello helloworld
创建档案包
tar -cvf example.tar example
c 表示create创建档案
v 表示verbose显示详情
f 表示file
也可以多个目录打包 tar -cvf xxx.tar file1 file2 file3
tar -xvf example.tar
tar -xvf example.tar -C outdir
先前的tar格式并没有压缩,体积较大
并档并压缩
tar -czvf example.tar.gz example
解压缩
tar -xzvf example.tar.gz
tar -xzvf example.tar.gz -C outdir
软链接,即Windows下的“快捷方式”
使用ln命令(link)来创建软链接
ln -s source link(快捷方式的名字)
其中,-s表示soft软链接(默认为硬)
比如
ln -s example example2
删除软链接,对原文件没有影响
删除原文件,则软链接失效
以ls -l 查看文件详情时,可以看到目标路径
比如,ls -l /
可以发现,/bin 实际只想的是/user/bin 目录
sudo表示以管理员身份执行
sudo useradd -m test1
其中,-m参数表示在/home下添加用户目录
sudo passwd test1
sudo userdel test1
删除后,包还会存在,需要使用 sudo rm -rf进行删除
超级用户root
类似于Windows下的Administrator
切换到root用户,有全部权限,可以直接useradd等命令
首次使用,需要给root设置密码
sudo passwd root
su root
其中,su表示switch user
exit
su root仅仅对当前绘画(终端)有效,不影响当前桌面环境
-owner:文件的属主owner
-r:文件是否可读read
-w:文件是否可写write
-x:文件是否可以执行excute
使用ls命令查看一个文件
ls -l simple.txt
输出:-rw-r–r–.lshaofa shaofa 13 4月 21 03:48 simple.txt
其中 rw-r–r–表示该文件的访问权限
chmod,即change file mode 修改文件的访问权限
比如,一个文件simple.txt,想让别人也能修改
chmod o+w simple.txt
其中,o,表示other别人
+w,表示增写write权限
减去一个权限就是 o-w
chmod a+w ···
所有人all添加w权限
chmod a-w ···
所有人减去w权限
chmod u+w ···
仅用户user自己的权限+w
chmod o-w ···
修改别人other的权限-w
只有文件的属主或者root可以修改文件权限
省略写法
chmod +w ···
chmod -w ···
默认是修改自己和本组的权限
chown,即change owner修改文件的属主
一般来说,每个用户操作自己的用户目录,所以chown命令并不常用
apt 是 Advanced Packaging Tool,是 Ubuntu 下的安装包管理工具
大部分的软件安装/更新/卸载都是利用apt命令来实现的
直接在终端输入apt即可查阅命令的帮助信息
sudo apt install 软件名
sudo apt remove 软件名
sudo apt update
sudo apt upgrade
sudo apt remove 软件名
apt 和 apt-get都是 Ubuntu 下常用的安装软件命令
Ubuntu 16 之前使用 apt-get
这两个命令使用方式非常类似
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化
image镜像
容器
仓库
镜像是Docker运行容器的前提,仓库是存放镜像的场所,更是Docker的核心
镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数
image只包含可读的内容,不可以直接运行,而容器则是运行单位
两者关系可以对应成这样:
镜像=类 容器=类的实例
镜像是只读的,而容器是在镜像层上的可写层
容器运行时需要本地存在对应的镜像,如果不存在则会从镜像仓库中下载
镜像好比是windows 10系统光盘,容器好比是用这个windows 10系统光盘安装的windows 10操作系统(到某个笔记本电脑)
光盘(镜像)是一个静态概念,它只是记录数据的一块存储介质;只可以用来安装操作系统,不可以进入光盘(镜像)做任务
安装好的操作系统(容器)是动态概念,可以进入操作系统(容器)完成各种任务,例如可以启动mysql、php或者等服务
仓库分为共有仓库和私有仓库,就是字面意思:仓库是存放了很多镜像的大仓库
我们可以通过push将镜像上传到共有仓库或者私有仓库,然后在另一台机子上通过pull从仓库中下载到本地
sudo apt-get update
sudo apt-get install -y docker.io
docker version
sudo service docker start
systemctl stop docker
sudo docker images
docker inspect 镜像名:TAG
docker rmi
sudo docker pull ubuntu:12.04
相当于:
sudo docker pull registry.hub.docker.com/ubuntu:12.04 命令
即从注册服务器 registry.hub.docker.com 中的 ubuntu 仓库来下载标记为 12.04 的镜像
不加版本号默认下载latest版本,即最新版本
docker run --name 容器名字 -d 镜像名称
如:
docker run --name mytomcat -d tomcat:latest
–name是给容器起名字,-d是后台的意思
但是这样的容器没法直接给外部使用 需要映射端口
docker run --name 容器名称 -d -p 服务器端口号:docker端口号 镜像名称
举例:
docker run --name mytomcat -d -p 8888:8080 tomcat:latest
-p是把主机的端口映射到容器的端口 这样就可以访问容器了
docker ps 查看运行中的容器
docker ps -a 查看所有容器,包含停止运行的容器
docker stop 容器id
docker start 容器id
docker rm 容器id
docker logs 容器id
每个容器都有自己的读写层,因此多个容器可以使用同一个镜像,另外容器被删除时,其对应的读写层也会被删除
docker可以使用一个镜像创建多个容器,使用docker create可以创建容器,然后映射不同的端口和配置,代码示例如下:
sudo docker create --name testdocker -p 5000:80 zhenlei1970/testdockernew
上面的代码创建镜像名称为zhenlei1970/testdockernew的容器,名称为testdocker,将端口80映射为本地端口5000。
然后可以运行这个容器:
sudo docker start -a testdocker
使用同样的语句模式可以创建另一个容器:
sudo docker create --name testdocker1 -p 5002:80 zhenlei1970/testdockernew
使用的镜像一样,只是名称和端口不一样,启动方法相同:
sudo docker start -a testdocker1
这样我们就同时运行了一个镜像的两个容器,使用浏览器可以分别访问这两个实例
docker可以使用一个镜像创建多个容器,使用docker create可以创建容器,然后映射不同的端口和配置,代码示例如下:
sudo docker create --name testdocker -p 5000:80 zhenlei1970/testdockernew
上面的代码创建镜像名称为zhenlei1970/testdockernew的容器,名称为testdocker,将端口80映射为本地端口5000。
然后可以运行这个容器:
sudo docker start -a testdocker
使用同样的语句模式可以创建另一个容器:
sudo docker create --name testdocker1 -p 5002:80 zhenlei1970/testdockernew
使用的镜像一样,只是名称和端口不一样,启动方法相同:
sudo docker start -a testdocker1
这样我们就同时运行了一个镜像的两个容器,使用浏览器可以分别访问这两个实例