《小团队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
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
|
1天前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
1天前
|
前端开发 Java Go
从前端到后端:构建现代化Web应用的技术实践
本文将介绍如何通过前端和后端技术相结合,构建现代化Web应用的技术实践。我们将探讨前端开发、后端架构以及多种编程语言(如Java、Python、C、PHP、Go)在构建高效、可扩展的Web应用中的应用。
|
1天前
|
存储 JSON JavaScript
Web存储与传输:技术的背后
Web存储与传输:技术的背后
|
3天前
|
Linux 芯片 Ubuntu
Linux驱动入门 —— 利用引脚号操作GPIO进行LED点灯
Linux驱动入门 —— 利用引脚号操作GPIO进行LED点灯
|
3天前
|
Ubuntu Linux
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-2
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-2
|
3天前
|
Linux 芯片
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-1
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-1
|
3天前
|
Linux C语言 Ubuntu
Linux驱动入门——编写第一个驱动
Linux驱动入门——编写第一个驱动
Linux驱动入门——编写第一个驱动
|
3天前
|
存储 安全 数据安全/隐私保护
Web应用程序的会话管理是一种跟踪和识别特定用户与Web服务器之间交互的技术
【5月更文挑战第12天】Python Web开发中,会话管理用于跟踪用户与服务器交互,如Flask框架提供的内置功能。以下是一个简单示例:安装Flask后,设置应用密钥,通过session读写用户状态。例如,创建一个显示和设置用户名称的Web应用,用户提交的名字将保存在会话中。在生产环境中,应安全存储密钥,如使用环境变量。扩展会话管理可借助第三方库实现更多功能,但可能需更多配置。
214 2
|
3天前
|
缓存 安全 Linux
Linux入门基本指令(2)
Linux入门基本指令(2)
12 0