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 "进程名"

15、man 命令

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

使用示例:

查看 netstat 的联机手册

man netstat

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不摸鱼的程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值