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
相关文章
|
4天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
21 3
|
4天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
4天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
21 3
|
7天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
32 6
|
8天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
21 7
|
9天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
38 7
|
8天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
21 4
|
7天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
11 2
|
8天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
25 3
|
9天前
|
Linux Shell
Linux常用命令-1
本课程要求学生熟悉Linux系统终端窗口和命令基础,掌握文件目录类、系统信息类、进程管理类及其他常用命令,学时为3-6小时。课程内容涵盖Linux命令的特点、常见命令的使用方法及其应用场景,如文件浏览、目录切换、内容显示等。建议学生逐个操作命令并及时反馈问题。
39 5