当前位置: 首页 > 工具软件 > Util-linux > 使用案例 >

Ubuntu_Linux

杨柏
2023-12-01

Ubuntu(乌班图)_Linux

Ubuntu的理解

Ubuntu属于Linux发行版本下的其中一个

想要让虚拟机待机,需要进行挂起操作

系统玩坏了怎么办?

重装系统

使用系统快照

Linux文件系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FRbvk5Ix-1664326286550)(Ubuntu_Linux.assets/1664155871435.png)]

用户目录的理解

Linux系统上支持多个用户,每个用户一个目录

/home/…

特例

超级用户root,其用户目录为/root

权限机制

对于普通用户来说,他能操作的目录就只有用户目录,

文件列表

ls,即list,列出目录下的所有项

示例:

ls 查看当前目录

ls

查看/home/shaofa 目录

ls /home/shaofa

ls -l 详细查看当前目录

ls -l /home/shaofa 以详细模式查看,其中-l为参数,参数一般以 - 开头

Tab键

在输入命令和路径时,按Tab键可以自动补全

输入历史可以进行翻阅

按 ↑ ↓ 箭头键可以上下翻阅

目录切换

pwd 显示当前位置

pwd,即print working directory显示当前工作目录

cd 切换目录

cd,即change directory,切换目录

几个特殊的目录

~ 代表当前用户的主目录

. 代表当前目录

… 代表上一级目录

cd ~ 切换到主目录

cd ~/example切换到主目录下的example目录

cd …/www 切换到上级目录、再到www子目录

在ls中也是可以使用上述特殊目录

目录操作

mkdir 创建目录

mkdir abc

mkdir -p abc/123/test

使用-p参数,可以将路径的层次目录全部创建

rmdir 删除空目录

rmdir abc

若目录非空,则删除失败

rm 删除文件或者目录

rm -rf abc

删除abc目录,和子项一并删除

其中,r表示recursive,f表示force

cp 复制文件或者目录

cp-rf example example2

mv 移动文件或目录(重命名)

move hello helloworld

归档

tar 档案打包(备份)

创建档案包

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表示以管理员身份执行

添加用户

sudo useradd -m test1

其中,-m参数表示在/home下添加用户目录

修改用户密码

sudo passwd test1

删除用户

sudo userdel test1

删除后,包还会存在,需要使用 sudo rm -rf进行删除

root超级用户

超级用户root

类似于Windows下的Administrator

切换到root用户,有全部权限,可以直接useradd等命令

首次使用,需要给root设置密码

sudo passwd root

切换到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命令

apt是什么

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

apt 和 apt-get都是 Ubuntu 下常用的安装软件命令

Ubuntu 16 之前使用 apt-get

这两个命令使用方式非常类似

Docker的操作命令

什么是Docker?

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化

Docker的三个部分

image镜像

容器

仓库

Docker镜像的用处

镜像是Docker运行容器的前提,仓库是存放镜像的场所,更是Docker的核心

镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数

镜像和容器之间关系

image只包含可读的内容,不可以直接运行,而容器则是运行单位

两者关系可以对应成这样:

镜像=类 容器=类的实例

镜像是只读的,而容器是在镜像层上的可写层
容器运行时需要本地存在对应的镜像,如果不存在则会从镜像仓库中下载

镜像好比是windows 10系统光盘,容器好比是用这个windows 10系统光盘安装的windows 10操作系统(到某个笔记本电脑)

光盘(镜像)是一个静态概念,它只是记录数据的一块存储介质;只可以用来安装操作系统,不可以进入光盘(镜像)做任务

安装好的操作系统(容器)是动态概念,可以进入操作系统(容器)完成各种任务,例如可以启动mysql、php或者等服务

仓库

仓库分为共有仓库和私有仓库,就是字面意思:仓库是存放了很多镜像的大仓库

我们可以通过push将镜像上传到共有仓库或者私有仓库,然后在另一台机子上通过pull从仓库中下载到本地

安装Docker

sudo apt-get update

sudo apt-get install -y docker.io

查看Docker版本

docker version

启动Docker服务

sudo service docker start

关闭Docker

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

删除容器:前提已经关闭了(注意:rmi是删除镜像,rm是删除容器)

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
这样我们就同时运行了一个镜像的两个容器,使用浏览器可以分别访问这两个实例

 类似资料:

相关阅读

相关文章

相关问答