Linux 基础(从环境搭建到基础命令)

简介: Linux 基础(从环境搭建到基础命令)

前言

一般来说,当我们写好一个网站,是需要部署到服务器上的。而服务器层面,最主流的操作系统就是 Linux。本章就重点来总结一下 Linux 环境搭建 以及最常用的一些 命令

一、Linux环境搭建

1、购买云服务器

对于Linux来说,有多种环境搭建方式,但是对比多种方式,使用云服务器是最优选择。我们可以先购买一个云服务器(阿里云、……)然后将Linux环境部署到云服务器上即可。并且当我们购买了云服务器之后,会附带一个外网 IP,这意味着此时我们发布的网站,可以被别人访问到。这就和发布一个正式的网站没有任何区别,也就能让我们自己写的程序真的去给别人去使用。

2、Linux环境搭建

下面以为例,展示 Linux 环境搭建:这里你可能会发现在系统镜像这里选择的并不是 Linux 而是 CentOS。其实 Linux 更准确的来说是一个操作系统内核,而一个完整的系统是由 操作系统内核 和 配套的应用程序组成的。因此很多组织基于Linux内核搭配不同的应用程序,开发出了不同的操作系统,也叫发行版。这里的 CentOS 就是基于 Linux 内核构建的一个发行版。

注意:购买云服务器后记得重置一个复杂的密码,防止不法入侵。

3、使用终端软件连接到 Linux

终端软件是一类工具软件,可以和远程的主机建立网络连接,从而对远程主机进行一些操作。对于这里来说,此时我们购买的远程云服务器就是我们要连接的对象。


终端软件也有很多,这里以 XShell 为例。在 XShell 中,我们通常的做法是将连接以会话的形式保存,下次连接时直接点击会话即可。



连接成功后,我们会在终端界面看到如下信息:



4、拓展:XShell常用快捷键

复制: ctrl + insert

粘贴: shift + insert

自动补全:使用 tab 键。我们敲的所有的 Linux 命令,,都可以使用 tab 键来尝试补全,加快效率。

取消命令:如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.

锁住终端:ctrl + s

解锁终端:ctrl + q

清屏:ctrl + l

退出:ctrl + d

二、Linnx 目录结构

在 Linux 系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。并且 Linux 的常见命令中,很大一部分就是关于文件目录的操作。所以在介绍具体的 Linux 命令之前下面我们简单熟悉一下 Linux 中的目录结构:


Linux 中的目录结构是一种层次化的文件系统结构,以根目录 / 为起点,向下分为多个子目录。以下是常见 Linux目录结构及其用途:

  1. /(根目录): 整个文件系统的起始点。
  2. /bin:存放可执行的二进制文件(命令和系统工具)。
  3. /boot:存放启动相关的文件,如内核和引导加载器。
  4. /dev:用于设备文件的挂载点,包括硬件设备和外部设备。
  5. /etc:存放系统配置文件,如网络配置、用户配置等。
  6. /home:用户的主目录,每个用户都有一个独立的子目录。
  7. /lib:存放系统共享的库文件,许多程序需要依赖这些库文件。
  8. /media:可移动媒体设备的挂载点,如光盘、USB 等外部存储设备。
  9. /mnt:用于临时挂载其他文件系统或外部设备。
  10. /opt:第三方软件的安装目录,通常将其放在 /opt 下。
  11. /proc:虚拟文件系统,提供关于当前内核状态的信息。
  12. /root:超级用户(root)的主目录。
  13. /sbin:存放只有管理员才能执行的系统命令。
  14. /srv:存放服务相关的数据和文件。
  15. /tmp:临时目录,用于存放临时文件。
  16. /usr:存放用户和系统共享的应用程序和文件资源。
  17. /var:存放经常变化的文件,如日志文件、数据库文件等。


在 Linux 中,同样可以使用 绝对路径相对路径 来访问文件和目录:


1、绝对路径:绝对路径是从根目录 / 开始的完整路径。它指定了文件或目录在文件系统中的确切位置。绝对路径以斜杠 / 开头,例如 /home/user/file.txt。无论当前所在的工作目录在哪里,绝对路径都能准确地指向特定的文件或目录。


2、相对路径:相对路径是相对于当前工作目录的路径。相对路径不以斜杠 / 开头,而是从当前目录开始的路径。常用的相对路径符号包括 .(代表当前目录,可省略)和 ..(代表上级目录)。例如,假设当前工作目录是 /home/user/,则相对路径 ./file.txt 指的是当前目录下的 file.txt 文件;../docs/document.txt 指的是上级目录下的 docs/document.txt 文件。


三、Linux 常用命令(严格区分大小写)


1、ls 命令

ls 目录:简单地列出当前目录下的文件和子目录(不包括隐藏文件)。

ls -l 目录:以长格式显示文件和目录的详细信息,包括权限、所有者、大小、修改日期等。通常简写为 ll

ls -R 目录:递归地显示当前目录下的所有文件和子目录,包括子目录中的文件和子目录。

2、cd 命令

cd 目录名:将当前工作目录改变到指定的目录下。

3、pwd 命令

pwd:显示用户当前所在的目录


4、mkdir 命令

使用示例:

创建一个单级目录:

mkdir mydir

创建多级目录:

mkdir -p mydir/subdir/subsubdir


5、touch 命令

touch 文件/目录:命令参数可更改文件或目录的日期时间,包括存取时间和更改时间。或者新建一个不存在的文件


使用示例:

创建一个不存在的文件

touch file.txt

6、cat 命令

cat 文件:查看目标文件的内容


7、echo 命令

echo :用于在终端输出文本或变量的内容。它可以直接将指定的文本打印到标准输出(终端)上。


使用示例:

输出文本:

echo "Hello, World!"

输出变量的值:

name="Alice"
echo $name

将输出重定向到文件中:

echo "HelloLinux" > file.txt

这行命令会将文本 “HelloLinux” 写入到名为 file.txt 的文件中。如果文件已存在,原有内容将被覆盖,如果文件不存在,会自动创建一个新的文件 file.txt 并将输出重定向到该文件中。如果想追加内容到文件末尾,可以使用 >> 操作符,例如 echo "More content" >> file.txt。

8、vim 命令

vim 是一个强大的文本编辑器。也是Linux自带的文本编辑器,相当于 windows 上的记事本。

vim 的基本使用


1、打开文件: vim [文件路径]


2、编辑文件: 默认情况下是普通模式,普通模式下键盘的按键表示一些特殊功能的快捷键,使用 i 键可以进入到插入模式就可以像记事本一样正常编辑了。


3、保存退出: 在插入模式下不能保存文件,需要先按下 Esc 回到普通模式,然后使用 :wq 同时执行保存和退出。


PS:使用vim编辑文件时,如果该文件不存在,Vim 将会创建一个新的空文件并打开它。


9、rm 命令

rm 文件/目录: 删除文件或目录。

删除是一个非常危险的操作,使用时一定要慎重!!!

使用示例:

删除文件,需要确认:

rm file.txt

强制删除文件,不需要确认:

rm -f file.txt

递归删除目录及其所有内容,需要确认:

rm -r mydir

递归删除目录及其所有内容,强制删除,不需要确认:

rm -rf mydir2

强制删除当前目录中的所有文件

rm -rf *

10、cp 命令

cp 源文件或目录 目标文件或目录: 复制文件或目录到指定位置。

PS:使用 cp 命令需要注意的是:如果拷贝的目标文件已经存在,会发生覆盖的情况。

使用示例:

复制文件到目标位置(并重命名):

cp file.txt file2.txt

复制目录到目标位置:

cp -r mydir mydir2

11、mv 命令

mv 源文件或目录 目标文件或目录:用于移动文件和目录,也可以用于更改文件或目录的名称。


PS1:相较于 cp 来说 mv 底层的效率是更高的,mv 操作就相当于修改一下“路径”这个属性。


PS2:使用 mv 同样需要注意:如果移动的位置存在同名文件,会发生覆盖的情况。


PS3:由于Linux中没有回收站的概念,并且 rm 操作又是非常危险的,所以删除某个文件或目录时,可以使用mv将其移动到一个单独的目录中,这个单独的目录就可以假想为一个回收站。

使用示例

文件重命名

mv file.txt newfile.txt

移动文件到指定目录

mv newfile.txt mydir3

移动目录到指定目录

mv mydir2 mydir3

12、grep 命令

grep 功能:用于搜索某个文件中是否包含特定的字符串。

使用示例:

递归搜索当前目录下的所有文件是否包含"hello",并显示行号:

grep -Rn "hello" *

13、ps 命令

ps 功能:用于查看当前正在运行的进程信息。

使用示例(经常搭配grep使用):

显示系统上所有的进程

ps aux

筛选指定 进程名 的进程

ps aux | grep "进程名"

筛选指定 进程 id 的进程

ps aux | grep "进程id"

14、netstat 命令

nestat功能:用来查看系统上的网络状态。

使用示例(经常搭配grep使用):

显示系统上所有网络连接状态

netstat -anp

显示指定 进程名 的网络连接状态

netstat -anp | grep "进程名"

显示指定 端口号 的网络连接状态

netstat -anp | grep "端口号"

ps 和 netstat 最常用的两个场景:

1、使用 ps 来查看某个进程的 pid

ps aux | grep "进程名"

2、使用 nestat 查看某个进程绑定的端口号

netstat -anp | grep "进程名"
• 1

15、man 命令

Linux的命令有很多参数,上述介绍的Linux命令中,只是列举了一些常用的参数选项,对于这么多的参数,我们不可能全记住,我们可以通过 man ,查看Linux命令的联机手册获取帮助。

使用示例:

查看 netstat 的联机手册

man netstat

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
95 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
266 6
|
16天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
44 14
Linux 10 个“who”命令示例
|
5天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
58 20
|
5天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
26 7
|
25天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9
|
23天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
29天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
117 3
|
1月前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
52 4
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
33 1
下一篇
DataWorks