Docker实战教程 第1章 Linux快速入门

news2024/11/20 13:44:30

2-1 Linux介绍

为什么要学Linux

  • 三个不得不学习

  • 课程需要:Docker开发最好在Linux环境下。

  • 开发需要:作为一个后端程序员,是必须要掌握Linux的,这是找工作的基础门槛。

  • 运维需要:在服务器端,主流的大型服务都是跑在Linux服务器上。

Linux简介

  • Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
  • Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSX(可移植操作系统接口)和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。苹果电脑也是类Unix系统。
  • Linux是一个操作系统,类似Windows,可以安装软件,跑程序。

Linux发行版

Linux应用领域

今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用LAMP(Linux+Apache +MySQL+PHP)或LNMP(Linux+Nging+MySQL+PHP)组合。

Linux安装

  • 本地安装:虚拟机、Windows子系统
  • 服务器安装:阿里云购买服务器

2-2 目录结构

linux下一切皆文件

跟目录 /

  • ls /查看根目录下的文件

  • 树状目录结构

常用目录解释

  • /bin:bin是Binary的缩写,这个目录存放着最经常使用的命令。

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

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

  • /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。

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

  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。·/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

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

  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

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

  • /sbin:5就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

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

  • /sys:这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs.

  • /tmp:这个目录是用来存放一些临时文件的。

  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin:系统用户使用的应用程序。

  • /usr/src:内核源代码默认的放置目录。

  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

2-3 文件夹相关命令

cd 切换目录

  • cd 切换目录命令
  • cd ..切换上级目录, 相对目录
  • cd ./当前目录
  • cd ~回到当前的用户目录,或者直接cd
  • cd 绝对路径

ls 查看文件

  • 查看目录下文件
  • -a参数,查看所有文件,包含隐藏文件。
  • -l参数,列出文件属性和权限,没有隐藏文件
  • 参数可以组合使用

pwd 查看当前用户所在目录

clear 清屏

  • 清空屏幕
  • ctrl+l

mkdir 创建文件夹

  • mkdir test1 创建test1文件夹
  • mkdir -p test1/test2/test3 递归创建层级文件夹

rmdir 删除文件夹

  • rmdir test1 删除空的文件夹
  • rmdir -p test1/test2/test3层级删除文件夹

cp复制目录

  • 将一个文件夹复制到另一个文件夹
  • cp a b

rm移除文件或目录

  • -f参数,强制删除

  • -r递归删除

  • -a参数,交互,询问是否删除

mv移动文件或目录

  • 移动或者重命名

2-4 文件相关命令

文件相关命令(查看文件)

  • cat由第一行开始显示文件内容

  • tac从最后一行开始显示

  • nl显示的时候,顺道输出行号!

  • more一页一页的显示文件内容<空格翻页,回车往下看一行

  • less与more类似,但是比more更好的是,他可以往前翻页!上下键,使用q退出

  • head只看头几行 head -n 20 a.txt

  • tail只看尾巴几行 tail -n a.txt

  • touch

  • echo

2-5 Vim编辑器的使用

Vim编辑器的使用

  • linux文本编辑器有两种:vi和vim,vim是vi的升级版
  • vim有三种模式:命令模式、插入模式、底线命令模式
  • 三种模式的切换:只能从命令模式进入插入模式、只能从命令模式进入底线命令模式

命令模式

  • 用户进入vim,直接进入命令模式
  • 在命令模式,键盘的敲击会识别为命令,而不是输入的字符。
  • 输入x删除光标所在的字符,输入dd删除光标所在的一行
  • 输入i进入插入模式,输入:进入底线命令模式
  • shift+4光标调至行尾,shift+6或者数字0贯标调至行首

插入模式

  • 进入插入模式,可以进行文本编辑
  • 输入Esc退出插入模式,进入命令模式

底线命令模式

  • 输入w,保存文件,输入q退出文件,输入wq保存并退出文件

  • 输入q!强制退出文件

  • 输入/字符,查找字符

  • 输入 :set nu显示行号,输入:set nonu取消显示行号

2-6 软连接和硬链接

软链接和硬链接

1 概念

Linux链接分为两种:软链接和硬链接

  • 硬链接:比如有一个文件A,给A创建一个和硬链接B,此时即便删除文件A,通过B也可以再次访问到文件中的内容。这样可以防止误删。

  • 软连接:类似windows上的快捷方式,删除源文件,快捷方式也访问不了。

2 创建链接

创建一个硬链接:ln

ln a.txt b.txt		 #给a.txt创建一个硬链接b.txt, b.txt是一个文件

创建一个软链接:-s soft

ln -s a.txt c.txt		 #给a.txt创建一个软连接,c.txt, c.txt不是一个真实的文件,只是一个快捷键

3 软硬链接的区别

  • 相同点:硬链接和软链接指向相同的文件,当源文件被修改时,软硬链接都即使修改更新
  • 不同点:当源文件被删除时,硬链接还可以访问,软连接不能再被访问;此时再创建一个新的同名的源文件,软链接再次和源文件关联,但硬链接文件和新的同名源文件没有任何关系。

2-7 用户管理相关命令

用户管理相关命令

linux是多用户的操作系统,使用系统资源都必须拥有一个用户账号,普通账号由管理员root账号分配,然后以普通账号登录系统。

yoghurt管理相关命令分两部分:用户相关,用户组相关

用户相关

  • 增加账号、删除账号、修改密码等
  • 用户的增加实际上修改的是/etc/passwd文件
# 添加用户    useradd -选项 用户名
useradd -m jack		#自动创建jack这个账号,用户的主目录 /home/jack

# 查看用户的配置文件  cat /etc/passwd

# 删除用户
userdel -r jack			# 删除用户并删除用户的目录

# 修改用户		usermod 修改内容 用户 
usermod -d /home/111 jack		# 修改用的目录,目录不存在先创建目录,检查配置文件/etc/passwd

# 用户设置密码,添加账号时添加密码
useradd jack
passwd jack

# 修改自己的密码
passwd


# 冻结账号,一旦冻结,就无法在使用该账号登录
[root@liuxu home]# passwd -l jack
Locking password for user jack.
passwd: Success

切换用户

# 1.切换用户的命令为:su jack		# 切换到jack这个用户
[root@liuxu home]# who am i
root     pts/0        2021-07-24 20:04 (101.229.117.193)
[root@liuxu home]# su jack	# #表示root用户
[jack@liuxu home]$ 			# $表示普通用户


# 2.从普通用户切换到root用户,继续使用命令:sudo su
[jack@liuxu home]$ su root		# 要输入root账号密码
Password: 
[root@liuxu home]# 


# 3.在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
[root@liuxu home]# 
[root@liuxu home]# su jack
[jack@liuxu home]$ exit
exit
[root@liuxu home]# su jack
[jack@liuxu home]$ exit
[root@liuxu home]# 

用户组相关

  • 每个用户都有一个用户组,不同用户组的权限是不一样的(开发,运维,测试等)。
  • 组的增加、删除和修改实际上发修改的是/etc/group文件
# 创建一个用户组 groupadd

groupadd jack	# 新建组, 组id自增,cat /etc/group
groupadd -g 1100 mack		#指定组id是1100

# 删除用户组
groupdel	jack	# 删除后,配置文件中就没有这个组的信息


# 修改组
groupmod -g 2200 -n mmm mack	# 将mack组重命名为mmm id改为2200

# 给用户分配组
useradd -G 分配用户组

2-8 文件属性

文件属性

文件属性

  • Linux是多用户的操作系统,不同用户、不同用户组的对文件的操纵权限是不一样的。
  • 使用命令ls -l或者ll查看文件或者文件夹的属性、以及文件所属的用户和组。


在这里插入图片描述

  • 上面列出的文件属性中,第一个字母常用的有三种:d表示文件夹、-表示文件、l表示软链接

  • 后面9个字母,3个为一组rwx,分别是属主可读可写可执行权限、属组可读可写可执行权限、其他用户的权限。每组的三个全下位置固定,如果没有对应的操作权限,则用中划线-标识。

  • 接着是文件的属主是root,文件的属组是root

修改文件属性

# 1 修改文件属组	chgrp [-R] 属组名 文件名, -R表示递归修改文件夹内文件属组

# 2 修改文件属主	chown [-R] 属主名 文件名

# 3 修改文件属性	chmod [-R] xyz 文件或文件夹  chomd 777 a.txt

- xyz分别设置属主、属组和其他用户的可读可写可执行权限
- x=7,表示属主就有可读可写可执行权限,7表示4+2+1,		r:4, w:2, x:1

- 每个组的三个权限就是三个权限对应数字的累加
- 可读可写可执行:4+2+1==7
- 可读可写:		4+2==6
- 可读可执行:   4+1 ==5
- 可执行:  	   1==1

- chmod 777 a.txt		# 表示a.txt属主、属组和其他用户都具有可读可写可执行的权限
- chmod 764 a.txt		# 表示a.txt属主具有可读可写可执行,属组具有可读可写,其他用户具有可读权限

2-9 磁盘管理相关命令

磁盘管理相关命令

  • 就是查看每个磁盘的使用情况
# 列出文件系统整体的使用情况 df

df
df -h	# 人性化显示


# 检查磁盘空间使用量 du
du
du -a		# 影藏的文件也可以查看,还可以看到子文件夹的量
du -h		# 人性化显示

2-10 进程管理相关命令

进程管理相关命令

基本概念

  • 1、每一个程序都有一个进程,对应一个进程id
  • 2、每一个进程,都有一个父进程,是父进程创建的子进程
  • 3、进程有两种运行方式:前台运行和后台运行;一般服务在后台运行,普通程序在前台运行。

查看进程

  • 查看当前运行的进程信息 ps
ps -a 		# 显示当前终端运行的所有进程信息
ps -u		# 以用户的信息显示进程
ps -x		# 显示后台运行进程的参数
  • 查看进程信息并过滤
ps -aux | grep mysql
  • 查看父进程
ps -ef grep python
  • 查看进程树 pstree
pstree -p		# 显示父id
pstree -u		# 显示用户组

结束进程

  • 杀死进程
kill -9 进程id		# 强制结束进程

2-11 安装软件

安装软件

三种方式

  • 编译安装(源码安装)
    • 优点: 最原始直接的安装方式,源码安装
    • 缺点:但是过程繁琐,需要手动安装依赖
  • rpm安装
    • redhat提供的包管理平台,类似软件商店
    • 优点:已经编译好的软件包,拿来直接用
    • 缺点:但不是所有软件都有rpm包,且有些rpm包有依赖,需要手动安装
  • yum安装(常用)
    • 为了自动解决rpm的依赖关系
    • 优点:简单方便,配置简单
    • 缺点:需要配置yum源

配置阿里云yum源

  • https://developer.aliyun.com/mirror/
# 备份:
mkdir repobak
mv *.repo repobak/

# 下载CentOS-Base.repo 到路径/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

# 清除缓存
yum clean all
# 重建缓存
yum makecache

安装实战

# 编译安装 nginx

./configure
make
make install

# nginx安装下载示例  http://nginx.org/en/download.html


# rmp安装
wget rmp包		# 使用wget命令下载一个rpm包
rpm -ivh rpm包			# rmp安装软件

rmp -e 软件报名			# rmp删除软件


# yum安装

yum install -y 软件
yum remove 软件包

yum search 软件包		# 查找

# yum安装net-tools工具包等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1572764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

735.小行星碰撞

题目&#xff1a;给定一个整数数组 asteroids&#xff0c;表示在同一行的小行星。 对于数组中的每一个元素&#xff0c;其绝对值表示小行星的大小&#xff0c;正负表示小行星的移动方向&#xff08;正表示向右移动&#xff0c;负表示向左移动&#xff09;。每一颗小行星以相同…

设置你的第一个React应用

目录 一、React入门 1.1 你好React 1.2 创建React 1.3 应用结构 二、总结 2.1 定义组件 2.2 组件源码 三、组件详解 注意事项 3.1 组件三部曲 3.2 组件通信 —— props 3.3 对象数组迭代 —— map() 3.4 事件处理 3.5 钩子函数 —— useState() 初次学习最终效果…

递归实现指数型枚举(acwing)

题目描述&#xff1a; 从 1∼n 这 n 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 输入格式&#xff1a; 输入一个整数 n。 输出格式&#xff1a; 每行输出一种方案。 同一行内的数必须升序排列&#xff0c;相邻两个数用恰好 1 个空格隔开。 对于没有…

3d代理模型怎么转换成标准模型---模大狮模型网

在当今的虚拟世界中&#xff0c;3D建模技术被广泛运用于游戏开发、电影制作、工业设计等领域。在3D建模过程中&#xff0c;有时会遇到需要将代理模型转换成标准模型的情况。模大狮将从理论和实践两方面&#xff0c;介绍如何将3D代理模型转换成标准模型&#xff0c;以帮助读者更…

2_5.Linux存储的基本管理

实验环境&#xff1a; 系统里添加两块硬盘 ##1.设备识别## 设备接入系统后都是以文件的形式存在 设备文件名称&#xff1a; SATA/SAS/USB /dev/sda,/dev/sdb ##s SATA, dDISK a第几块 IDE /dev/hd0,/dev/hd1 ##h hard VIRTIO-BLOCK /de…

GD32F470_AS608光学指纹识别模块 指纹采集/STM32 51单片机模块移植

2.7 指纹识别传感器 光学指纹识别传感器采用了国内著名指纹识别芯片公司杭州晟元芯片技术有限公司(Synochip) 的 AS608 指纹识别芯片。芯片内置 DSP 运算单元&#xff0c;集成了指纹识别算法&#xff0c;能高效快速采集 图像并识别指纹特征。模块配备了串口、USB 通讯接口&…

【Claude 3】This organization has been disabled.此组织已被禁用。(Claude无法对话的原因和解决办法)

Claude对话提示 This organization has been disabled.此组织已被禁用。 This organization has been disabled.此组织已被禁用。 This organization has been disabled.此组织已被禁用。 问题截图 问题原因 出现该页面&#xff0c;表示您的账户已经无法使用&#xff0c;可能…

Redis安装说明

Redis安装说明 大多数企业都是基于Linux服务器来部署项目&#xff0c;而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis. 此处选择的Linux版本为CentOS 7. Redis的官方网站地址&#xff1a;https://redis.io/ 1.单机安装Redis 1.1.…

99%的人不知道,Oracle resetlogs强制开库需要推进SCN?

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

IDEA2023创建SpringMVC项目

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 开发环境篇 ✨特色专栏&#xff1a; M…

1-32 异常

一 什么是异常? 1.含义:异与正常状态的显示,控制台显示的结果和预期的结果不一致 2.例如: int[] nums new int[2]; System.out.println(nums[2]); --抛出异常 二 异常分类 1.检测性异常:又称 非运行时异常,一般编写代码过程中编辑器直接报错 2.非检测性异常(常用):又称为…

[StartingPoint][Tier0]Preignition

Task 1 Directory Brute-forcing is a technique used to check a lot of paths on a web server to find hidden pages. Which is another name for this? (i) Local File Inclusion, (ii) dir busting, (iii) hash cracking. (目录暴力破解是一种用于检查 Web 服务器上的大…

【Python使用】嘿马头条完整开发md笔记第4篇:数据库,1 方案选择【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;课程简介&#xff0c;ToutiaoWeb虚拟机使用说明1 产品介绍,2 原型图与UI图,3 技术架构,4 开发,1 需求,2 注意事项。数据库&#xff0c;理解ORM1 简介,2 安装,3 数据库连接…

MPLS基本转发过程,隧道特性、对TTL的处理、BGP路由黑洞

MPLS基本转发过程&#xff0c;隧道特性 标签操作类型包括标签压入&#xff08;Push&#xff09;、标签交换&#xff08;Swap&#xff09;和标签弹出&#xff08;Pop&#xff09;&#xff0c;它们是标签转发的基本动作。 倒数第二跳弹出特性PHP&#xff08;Penultimate Hop Popp…

并查集python实现及题目练习

文章目录 1. 并查集概念1.1 理解并查集&#xff1a;简介与应用场景1.2 Python 实现并查集及优化策略1.3 扁平化栈实现1.4 分析并查集的时间复杂度 2. 情侣牵手3. 相似字符串4. 岛屿数量 如果想了解并查集基础推荐去看左程云大神的算法讲解&#xff0c;非常不错&#xff0c;b站和…

InterlliJ Debug方式启动 method breakpoints may dramatically show down debugging

使用idea在DEBUG的时候出现Method breakpoints may dramatically slow down debugging&#xff0c; 如图&#xff1a; 根据语义可能是断点打在方法上面了&#xff0c;导致在某个断点卡住了。 重启服务器和重启idea已然无解。 打开Breakpoints面板看看&#xff0c;(快捷键&…

递归实现排列型枚举(acwing)

题目描述&#xff1a; 把 1∼n 这 n 个整数排成一行后随机打乱顺序&#xff0c;输出所有可能的次序。 输入格式&#xff1a; 一个整数 n。 输出格式&#xff1a; 按照从小到大的顺序输出所有方案&#xff0c;每行 1 个。 首先&#xff0c;同一行相邻两个数用一个空格隔开…

mac、windows 电脑安装使用多个版本的node

我们为啥要安装多个不同版本的node&#xff1f; 开发旧项目时&#xff0c;使用低版本Nodejs。开发新项目时&#xff0c;需使用高版本Node.js。可使用n同时安装多个版本Node.js&#xff0c;并切换到指定版本Node.js。 mac电脑安装 一、全局安装 npm install -g n 二、mac电脑…

淘宝优惠券领取软件叫什么?

草柴返利APP是一款淘宝优惠券领取软件。用户可以通过草柴淘宝优惠券领取软件轻松查找领取淘宝大额隐藏优惠券&#xff0c;领取成功后再购物可享受券后价优惠。同时&#xff0c;通过草柴APP领券购买成功&#xff0c;确认收货后再回到草柴APP提取购物返利&#xff0c;享受双重省钱…

idea maven 打包 内存溢出 报 GC overhead limit exceeded -> [Help 1]

idea 使用maven打包 报GC overhead limit exceeded -> [Help 1] 解决方法&#xff1a; 打开settings -> 点开如同所示 将 vm Options 参数 设为 -Xmx8g