《小团队web技术搭建》(九)Linux初阶入门(一)

简介: 《小团队web技术搭建》(九)Linux初阶入门(一)
欢迎关注系列专栏《小团队web技术搭建》


《小团队web技术搭建》(一)环境和工具的准备-第一部分

《小团队web技术搭建》(二)环境和工具的准备-第二部分

《小团队web技术搭建》(三)环境和工具的准备-第三部分

《小团队web技术搭建》(四)虚拟机的安装使用

《小团队web技术搭建》(五)项目的简单部署方式

《小团队web技术搭建》(六)自动化部署方式(CI/CD)(一)

《小团队web技术搭建》(七)自动化部署方式(CI/CD)(二)

《小团队web技术搭建》(八)Docker+持续部署

《小团队web技术搭建》(九)Linux初阶入门(一)

持续更新中...

在实际生产工作中,我们一般以Linux系统作为服务器操作系统,至于为何不用其它系统,这里我们不做讨论。本篇在于对小团队leader所需掌握的一些Linux知识介绍。

之前的文章中我们有部分操作已经是在Linux上完成,现在我们对Linux的使用做一个入门级别的介绍。

Linux的版本

刚接触Linux的同学会对linux比较懵逼,这么多版本该如何选择和有什么区别。
我们需要注意的是Linux作者李纳斯开源的Linux是一个操作系统内核,即只提供了一些基础功能的系统软件。

为了提升它的易用性和扩展功能,各大开发者和企业对其进行二次开发并进行迭代维护,于是就出现了各种版本,但在大多数版本对比功能和性能上,它们的差别不会太大。我们介绍下最常见的几个版本。

  • Red Hat 俗称红帽,最常见也是比较成熟的linux版本,由同名公司Red Hat开发。对硬件兼容性不错。
  • Debian 社区维护版本的典型代表,文档齐全,比较自由。
  • Ubuntu 基于Debian发展而来,其桌面版界面很简洁优雅,比较友好。
  • Centos 红帽企业版RHEL(Red Hat Enterprise Linux)源代码再编译的产物,所以也比较可靠。

在选择上,不必过于纠结,当你决定使用免费的Linux系统时,选择主流的稳定版本不会错,并且最好是你喜欢和熟悉的。比较推荐Centos和Debian。

你可以通过以下命令查看当前系统内核和发行版:

uname -a
Linux iZbp106v9cy80x0lhprg0rZ 4.18.0-305.3.1.el8.x86_64 #1 SMP Tue Jun 1 16:14:33 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 8.4.2105
Release:        8.4.2105
Codename:       n/a

远程连接

我们通常通过ssh协议连接linux服务器(ssh默认端口是22,所以要确保22端口是可用和开放的)你可以通过Putty、SecureCRT、MobaXterm等工具方便地进行服务连接配置和管理。当然ssh并不是连接linux的唯一的方式。

image.png

也可以在某个支持ssh的终端使用命令连接:

ssh user@ip

按回车输入密码,再次回车即可。
其中,user是用户名,ip是远程服务器ip(实际使用中通常是公网ip)。

image.png

用户权限管理

在linux中,有用户和用户组概念,他们可以是多对多的关系。

新建用户组

groupadd 选项 用户组

选项有:

  • -g GID 指定新用户组的组标识号(GID)。
  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

示例:

# 新建了一个叫做test的用户组
groupadd test

修改用户组

groupmod 选项 用户组

常用的选项有:

  • -g GID 为用户组指定新的组标识号。
  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  • -n 新用户组 将用户组的名字改为新名字

示例:

# 将test用户组重命名为test2
groupmod -n test2 test

删除用户组

groupdel 用户组

新增用户

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

示例:

useradd -g test –d /home/lin -m lin

此命令创建了一个用户lin,其中-d和-m选项用来为登录名lin产生一个主目录 /home/lin。

修改账号

usermod 选项 用户名

选项基本与useradd一致。

示例:

usermod -d /home/test lin

修改用户lin的主目录为/home/test。

删除账号

userdel 选项 用户名

常用的选项是 -r,它的作用是把用户的主目录一起删除。

示例:

userdel -r lin

用户口令管理

刚创建的用户必须在设置口令后才可以使用,用户账号可使用后也可以自己修改口令:

passwd 选项 用户名

选项:

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

示例:

# 用户自行修改口令
passwd

# 超级用户修改口令需指定用户
passwd lin

文件操作

大致介绍命令:

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

ls:列出目录及文件

ls 选项 目录名称

选项与参数:

  • -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
  • -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
  • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)

示例:

#将目录下的所有文件列出来(含属性与隐藏档),不写目录则是当前目录
ls -al

#此时等同于命令ll(若有)
ls -l
ll

cd:切换到某个目录

需要注意的是,linux有文件、目录名称补全功能,在输入命令时按下 Tab键即可。

示例:

#相对路径
cd www

#绝对路径
cd /root/

pwd:显示当前所在目录

选项与参数:

  • -P :显示出确实的路径,而非使用链接 (link) 路径。

示例:

pwd

mkdir:创建目录

mkdir [-mp] 目录名称

选项与参数:

  • -m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
  • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

示例:

#在当前目录创建test目录
mkdir test

#在当前目录创建test、test2、test3,且他们是父子关系
mkdir -p test/test2/test3

rmdir:删除空目录

 rmdir [-p] 目录名称

选项与参数:

  • -p 从该目录起,一次删除多级空目录

删除test目录

rmdir test/

cp:复制文件或目录

cp 选项 来源档(source) 目标档(destination)

选项与参数:

  • -a: 相当于 -pdr 的意思,-pdr 请参考下列说明;(常用)
  • -d: 若来源档为链接档的属性(link file),则复制链接档属性而非文件本身;
  • -f: 为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
  • -i: 若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
  • -l: 进行硬式链接(hard link)的链接档创建,而非复制文件本身;
  • -p: 连同文件的属性一起复制过去,而非使用默认属性(备份常用);
  • -r: 递归持续复制,用於目录的复制行为;(常用)
  • -s: 复制成为符号链接档 (symbolic link),亦即『捷径』文件;
  • -u: 若 destination 比 source 旧才升级 destination !

示例:

#复制~/.bashrc到/tmp/bashrc目录下
cp ~/.bashrc /tmp/bashrc

rm:删除文件或目录

这就是删库跑路梗里面经常用到的命令。

在使用这个命令时一定要三思而后行!这造成很多血泪史。删除文件后是不可逆的。特别是带着-r或-f参数!

rm [-fir] 文件或目录

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否确认
  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!
# 删除test.txt文件
rm test.txt

# 删除目录时,需带上-r
rm -r test

mv:移动文件与目录,或修改名称

mv [-fiu] source destination

# 操作多个文件
mv [options] source1 source2 source3 .... directory

选项与参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

复制一文件,创建一目录,将文件移动到目录中

[root@www ~]# cd /tmp
[root@www tmp]# cp ~/.bashrc bashrc
[root@www tmp]# mkdir mvtest
[root@www tmp]# mv bashrc mvtest

将刚刚的目录名称更名为 mvtest2

[root@www tmp]# mv mvtest mvtest2

篇幅不宜过长,本篇先暂时介绍到这,下一篇我们继续介绍。

感谢阅读!欢迎关注系列专栏《小团队web技术搭建》
相关文章
|
2天前
|
SQL 缓存 搜索推荐
后端技术在现代Web开发中的应用与挑战
本文将深入探讨后端技术在现代Web开发中的重要性,涵盖从基础架构到性能优化的多个方面。通过分析当前主流后端技术的优缺点,并提供一些实用的解决方案和建议,帮助开发者更好地应对日常开发中的挑战。
15 1
|
9天前
|
前端开发
【前端web入门第四天】02 CSS三大特性+背景图
本文详细介绍了CSS的三大特性:继承性、层叠性和优先级,并深入讲解了背景图的相关属性,包括背景属性、背景图的平铺方式、位置设定、缩放、固定以及复合属性。其中,继承性指子元素自动继承父元素的文字控制属性;层叠性指相同属性后定义覆盖前定义,不同属性可叠加;优先级涉及选择器权重,包括行内样式、ID选择器等。背景图部分则通过具体示例展示了如何设置背景图像的位置、大小及固定方式等。
235 91
|
9天前
|
前端开发
【前端web入门第四天】01 复合选择器与伪类选择器
本文档详细介绍了CSS中的复合选择器与伪类选择器。复合选择器包括后代选择器、子代选择器、并集选择器和交集选择器,能够更精确地定位和样式化元素。后代选择器用于选中某元素的所有后代,子代选择器仅选中直接子元素。并集选择器可为多个标签设置相同样式,而交集选择器则选中同时满足多个条件的元素。此外,还介绍了伪类选择器,如鼠标悬停效果和超链接的不同状态。
45 32
【前端web入门第四天】01 复合选择器与伪类选择器
|
9天前
|
前端开发 数据安全/隐私保护
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
本文档详细介绍了HTML表单的多种元素及其用法,包括下拉菜单(`<select>` 和 `<option>`)、文本域(`<textarea>`)、标签解释(`<label>`)、各类按钮(`<button>`)及表单重置功能、无语义布局标签(`<div>` 和 `<span>`)以及字符实体的应用。此外,还提供了一个完整的注册信息表单案例,涵盖个人信息、教育经历和工作经历等部分,展示了如何综合运用上述元素构建实用的表单。
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
|
9天前
|
前端开发
【前端web入门第三天】02 CSS字体和文本
本文详细介绍了CSS中字体和文本的相关属性。字体部分涵盖字体大小、粗细、样式、行高、字体族及`font`复合属性,通过具体示例展示了如何设置和使用这些属性。文本部分则讲解了文本缩进、对齐方式、修饰线及文字颜色等属性,并提供了实用的代码示例。此外,还简要介绍了调试工具中的一些细节,如错误属性标识和属性生效状态的控制。
44 28
|
11天前
|
前端开发 程序员
【前端web入门第二天】01 html语法实现列表与表格_合并单元格
本文介绍了HTML中的列表与表格的使用方法。列表包括无序列表(`<ul>`嵌套`<li>`)、有序列表(`<ol>`嵌套`<li>`)和定义列表(`<dl>`嵌套`<dt>`和`<dd>`)。
38 19
|
9天前
|
前端开发 JavaScript
【前端web入门第三天】01 css定义和引入方式 四种标签选择器
本文档详细介绍了CSS的基础知识及其应用。内容涵盖了CSS的定义、CSS在HTML中的引入方式,包括内部样式表、外部样式表及行内样式表的使用场景与方法。此外,还深入解析了不同种类的选择器:标签选择器、类选择器、ID选择器以及通配符选择器的功能与应用场景,并提供了实例帮助理解。最后,通过具体的新属性示例,指导如何使用这些选择器来实现基本的盒子绘制。适合初学者系统学习CSS。
29 15
|
8天前
|
前端开发
【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】
本文档详细介绍了CSS中清除默认样式的方法,包括清除内外边距、列表项目符号等;探讨了外边距的合并与塌陷问题及其解决策略;讲解了行内元素垂直边距的处理技巧;并介绍了圆角与盒子阴影效果的实现方法。最后通过产品卡片和新闻列表两个综合案例,展示了所学知识的实际应用。
22 11
|
8天前
|
前端开发
|
8天前
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。