Linux 基本使用和 web 程序部署 ( 5000 字 Linux 入门 )

一:Linux 背景知识

1.1. Linux 是什么

Linux 是一种与 Windows 是并列的操作系统。经过多年的发展,Linux 已成为全球使用最广泛的操作系统之一,其影响力遍及各个领域。值得一提的是,Android 系统本质上就是基于 Linux 内核构建的。

1.2 Linux 发行版

Linux 严格意义来说只是一个 “操作系统内核”,一个完整的操作系统 = 操作系统内核 + 配套的应用程序,由于 Linux 是一个完全开源免费的内核, 因此有些公司和开源组织又基于 Linux 内核提供了不同的配套程序,这就构成了不同的 “发行版”.

在这里插入图片描述

二: Linux 环境搭建

要想学习 Linux 首先需要先有一个 Linux 的环境.

2.1 环境搭建方式

环境搭建方式主要有四种:

环境搭建方式优缺点分析推荐程度
直接安装在物理机上将 Linux 直接安装在物理机上,但由于 Linux 桌面版的用户体验较差,操作不够友好,因此不推荐。不推荐
使用虚拟机软件在虚拟机上运行 Linux,但虚拟机软件可能存在一些 Bug,容易导致环境出现莫名问题,增加配置和调试的复杂性,因此不推荐。不推荐
使用 WSLWindows 近几年推出的新功能,在 Windows 系统内集成 Linux。但目前技术尚不够成熟,兼容性和稳定性较差,因此不推荐。不推荐
使用云服务器通过腾讯云、阿里云或华为云等服务商购买云服务器,环境稳定、配置简单,使用方便,推荐作为首选搭建方式。推荐

使用云服务器不仅可以简化环境搭建过程避免繁琐的配置问题,还具有一个显著优势:部署在云服务器上的项目可以直接被外网访问。这样我们的项目就能够像企业发布的正式网站一样,对外提供服务,让自己开发的程序真正被他人使用,从而实现实用价值和实际应用。

2.2 使用云服务器

以腾讯云为例,其他的服务器厂商也是类似.

  1. 进入官方网站 https://cloud.tencent.com/act/campus
  2. 登陆网站

在这里插入图片描述

  1. 右侧的操作系统选择 CentOS 7.6 64位,购买时长根据需要选择,接着点击立即购买即可。

  2. 购买完成后可以在控制台中找到自己买的服务器,点进去能够看到服务器的 IP 地址.

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

蓝色方框为公网 ip 地址 49.233.172.121, 稍后我们就会使用这个 ip 登陆服务器.

  1. 设置 root 密码:勾选服务器后点击重置密码,root 密码建议设置的稍微复杂一些,否则容易被黑客入侵。

在这里插入图片描述

2.3 使用终端软件连接到 Linux

终端软件是一类工具,用于与远程主机建立网络连接从而对主机进行操作。我们可以使用 XShell 进行连接,并在 XShell 终端中输入命令进行操作。

ssh 服务器外网ip地址

这段代码用于连接服务器,其中 ip 是腾讯云后台页面中显示的外网 IP 地址,此处我们填写 49.233.172.121。如果网络连接正常系统将提示输入用户名和密码。用户名默认为 root,密码是你在购买服务器时设置的登录密码。输入正确后即可成功登录服务器,此时就通过 Xshell 和远程的主机建立连接了,XShell 下的复制粘贴如下:

操作快捷键
复制Ctrl + Insert
粘贴Shift + Insert

三: Linux 常用命令

3.1 ls 命令

语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

参数功能说明示例用法
-a列出目录下的所有文件,包括以 . 开头的隐藏文件。ls -a
-d将目录当作文件显示,而不是显示目录下的内容。ls -d 指定目录
-k以 KB(千字节)为单位显示文件大小。ls -alk 指定文件
-l列出文件的详细信息,包括权限、大小、时间等。ls -l
-r按名称反向排序目录内容。ls -r
-t按文件修改时间排序,最近修改的文件排在前面。ls -t
-R递归列出所有子目录下的文件。ls -R

3.2 pwd 命令

语法: pwd
功能:显示用户当前所在的目录

3.3 cd 命令

语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下.

cd .. : 返回上级目录
cd ~:进入用户家目
cd -:返回最近访问目录

Linux 目录结构
在这里插入图片描述

我们敲的所有的 Linux 命令都可以使用 tab 键来尝试补全来加快效率,如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.

3.4 touch 命令

语法: touch [选项]… 文件…
功能: touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

3.5 cat 命令

语法:cat [选项] [文件]
功能: 查看目标文件的内容

常用选项

  • -n 对输出的所有行编号

3.6 mkdir 命令

语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录

常用选项

  • -p, --parents 可指定一个路径名称。当路径中的某些目录尚不存在时,自动创建这些目录,即一次可以创建多级目录。

3.7 rm 命令

语法:rm [-f-i-r-v] [dirName/dir]
功能:删除文件或目录

选项功能说明
-f强制删除文件,即使文件是只读属性(写保护)。
-i删除文件或目录前逐一询问用户确认。
-r递归删除目录及其下的所有文件和子目录。

注意:千万不要运行 rm -rf / , 尤其是在公司的生产服务器上.

3.8 cp 命令

语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录,目标文件或目录要存在

选项功能说明
-f 或 --force强制复制文件或目录,无论目标文件或目录是否已存在,均直接覆盖。
-i 或 --interactive在覆盖文件之前先提示用户确认是否执行操作。
-r递归复制,将指定目录下的文件及其子目录一并处理。如果源为非目录或符号链接,则按普通文件处理。
-R 或 --recursive递归复制,与 -r 功能相同,将指定目录下的文件及子目录一并处理。

3.9 mv 命令

语法: mv [选项] 源文件或目录 目标文件或目录

功能:

情况描述
目标是文件将源文件或目录重命名为目标文件名,源文件或目录只能是一个。
目标是目录将一个或多个源文件或目录移动到目标目录中。

常用选项

选项描述
-f强制覆盖,如果目标文件已存在,直接覆盖,不会询问。
-i如果目标文件已存在,询问是否覆盖。

3.10 man 命令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。

语法: man [选项] 命令

常用选项

选项描述
-k根据关键字搜索联机帮助。
num只在指定的第 num 章节中查找。
man显示 man 手册中各章节及其含义。

3.11 less 命令

语法: less [参数] 文件
功能:查看文件内容。不会立刻把所有文件内容加载到内存中,也能进行查找.

常用选项

操作描述
j、k、方向键向上或向下滚动屏幕。
-N显示每行的行号。
/字符串向下搜索指定的字符串。
n重复前一个搜索(与 / 或 ? 相关)。
q退出。

3.12 head 命令

语法:head [参数]… [文件]…
功能:head 用于显示文件的前几行,默认情况下打印文件的前 10 行。

常用选项

  • -n<行数> 显示的行数

3.13 tail 命令

语法: tail [必要参数] [选择参数] [文件]
功能:tail 用于显示指定文件的末尾内容。如果未指定文件则处理标准输入。常用于查看日志文件。

选项描述
-f实时循环读取文件内容。
-n<行数>显示文件的指定行数。

3.14 data 命令

语法:data [必要参数] [选择参数] [文件]
功能:data 用于显示或处理数据文件的内容,通常用于查看或操作表格格式的数据。如果未指定文件,则从标准输入读取数据。

例子:data -f “%Y-%m-%d %H:%M:%S” /path/to/datafile

格式标记描述
%H小时 (00…23)
%M分钟 (00…59)
%S秒 (00…61)
%X格式为 %H:%M:%S
%d日 (01…31)
%m月份 (01…12)
%Y完整年份 (0000…9999)
%F格式为 %Y-%m-%d

时间戳:

操作描述
时间 -> 时间戳使用 date +%s 将时间转换为时间戳。
时间戳 -> 时间使用 date -d@ 时间戳,将时间戳转换为时间。

Unix 时间戳是指从 1970 年 1 月 1 日 00:00:00开始所经过的秒数,不包括闰秒。

3.15 vim 命令

步骤操作说明
1. 创建或打开文件vim [文件名]使用 vim 打开文件或创建新文件。
2. 进入插入模式按 i 键Vim 默认是普通模式,按下 i 键后进入插入模式(左下角显示 --INSERT–),即可开始编辑文本。
3. 保存文件按 Esc 键,然后输入 :w在插入模式下无法直接保存,需先按 Esc 退出插入模式,进入普通模式后输入 :w 并按回车保存文件。
4. 退出文件按 Esc 键,然后输入 :q 或 :wq在插入模式下无法退出,需先按 Esc 回到普通模式,输入 :q 退出,或输入 :wq 同时保存并退出。

3.16 grep 命令

语法:grep [参数]… [文件]…
功能:用于查找文件中是否包含指定字符串, 并显示对应的行.

常用选项

  • -n<行数> 显示的行数
  • -w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
  • -r 递归查找. 可以搜索多级目录下的所有文件.
  • –color 高亮查找到的结果
  • –include 指定查找某些文件
  • –exclude 指定排除某些文件

3.16 ps 命令

语法:ps [参数]…
功能:用于查看当前系统上运行的进程

参数功能说明
a显示所有终端的进程
u以用户为主的格式显示进程信息
x显示所有进程,不区分终端

3.16 netstat 命令

语法:netstat [参数]…
功能:查看系统上的网络状态.

参数功能说明
-a显示所有套接字,包括正在侦听和未侦听的套接字
-n以数字形式显示地址,不解析主机名、端口或用户名
-p显示套接字所属进程的 PID 和名称

四: Linux 权限

4.1 用户操作

Linux下有两种用户:超级用户和普通用户。

用户类型特点命令提示符注意事项
超级用户(root)拥有最高权限,可以在系统中执行任何操作,不受限制#权限极大,误操作可能导致严重后果,因此在公司环境中通常避免直接使用 root 用户操作服务器
普通用户只能执行有限的操作,权限受限制$安全性较高,适用于日常操作

4.1.1 创建用户

命令 useradd [用户名]
功能 创建新的用户

useradd test

4.1.2 配置密码

命令 passwd [用户名]
功能 设置或修改用户密码

passwd test

注意:输入密码的时候控制台中不会有提示,但实际上已经输入进去了。

4.1.3 切换用户

命令:su [用户名]
功能:切换用户。

例如,要从 root 用户切换到普通用户 user,则使用 su user,要从普通用户 user 切换到 root 用户则使用 su root,root 可以省略 ,此时系统会提示输入 root 用户的口令。

4.2 文件类型和访问权限

4.2.1 三种角色

访问一个文件的人可能分成三种类别:u、g、o

类别说明标识
文件和目录的所有者当前文件或目录的拥有者u (User)
所属组的用户文件或目录所属组的用户g (Group)
其他用户除所有者和组用户之外的用户o (Others)
所有用户包括拥有者、所属组用户和其他用户a (All)

在这里插入图片描述

一个具体例子:

-rwxr-x--x 1 charlie admins 5120 Mar 2 14:45 script.sh
  1. 文件类型
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
  1. 基本权限
读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限“-” 表示不具有该项权限

4.2.2 修改文件权限

功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名

常用选项

  • R -> 递归修改目录文件的权限,只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的格式: 用户表示符+ - = 权限字符

操作符作用说明
+在权限范围内添加指定权限
-在权限范围内移除指定权限
=将权限范围设置为指定权限
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
# chmod a=x /home/abc.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ice___Cpu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值