《小团队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技术搭建》
相关文章
|
1月前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
2月前
|
安全 Linux KVM
Linux虚拟化技术:从Xen到KVM
Xen和KVM是Linux平台上两种主要的虚拟化技术,各有优缺点和适用场景。通过对比两者的架构、性能、安全性、管理复杂性和硬件依赖性,可以更好地理解它们的适用场景和选择依据。无论是高性能计算、企业虚拟化还是云计算平台,合理选择和配置虚拟化技术是实现高效、稳定和安全IT环境的关键。
117 8
|
2月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
97 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
3月前
|
人工智能 安全 物联网
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
|
3月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
67 6
|
3月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
84 3
|
3月前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
183 3
|
3月前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
111 1
|
3月前
|
负载均衡 监控 算法
论负载均衡技术在Web系统中的应用
【11月更文挑战第4天】在当今高并发的互联网环境中,负载均衡技术已经成为提升Web系统性能不可或缺的一环。通过有效地将请求分发到多个服务器上,负载均衡不仅能够提高系统的响应速度和处理能力,还能增强系统的可扩展性和稳定性。本文将结合我参与的一个实际软件项目,从项目概述、负载均衡算法原理以及实际应用三个方面,深入探讨负载均衡技术在Web系统中的应用。
180 2
|
3月前
|
缓存 安全 前端开发
构建高效Web应用的五大关键技术
【10月更文挑战第42天】在数字化浪潮中,Web应用已成为企业与用户互动的重要桥梁。本文将深入探讨提升Web应用性能和用户体验的五项核心技术,包括前端优化、后端架构设计、数据库管理、安全性增强以及API开发的最佳实践。通过这些技术的应用,开发者可以构建出更快、更稳定且更安全的Web应用,满足现代网络环境的需求。

热门文章

最新文章