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

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 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

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16小时前
|
安全 Shell Linux
探索Linux命令chsh:更改用户的默认shell
`chsh`是Linux命令,用于更改用户的默认登录shell。它涉及用户环境配置和系统安全,允许用户选择更适合自己的shell以提升效率。命令有交互式选项和参数如`-s`来指定新shell。在使用时要注意新shell的可执行性、权限问题及选择合适的shell。例如,要更改为bash,用户可运行`chsh`后按提示操作,而root用户能用`sudo chsh -s /bin/zsh john`为用户`john`设定zsh。在更改前,确认shell路径、权限,并了解不同shell的特点。
|
17小时前
|
Linux 数据处理 数据安全/隐私保护
探索Linux命令lchfn:更改文件或目录的硬链接数
在Linux中,`ln`命令用于创建硬链接,而非`lchfn`。硬链接指向文件的inode,多条目共享相同数据。了解硬链接有助于理解文件系统行为。使用`ln 源文件 目标链接名`创建硬链接,`ls -li`查看硬链接数。直接修改硬链接数风险高,应谨慎操作,区别硬链接和软链接,确保数据安全,并常查阅`man ln`。
|
17小时前
|
安全 Linux 数据处理
探索Linux的kmod命令:管理内核模块的利器
`kmod`是Linux下管理内核模块的工具,用于加载、卸载和管理模块及其依赖。使用`kmod load`来加载模块,`kmod remove`卸载模块,`kmod list`查看已加载模块,`kmod alias`显示模块别名。注意需有root权限,且要考虑依赖关系和版本兼容性。最佳实践包括备份、查阅文档和使用额外的管理工具。
|
1天前
|
存储 监控 安全
深入探索Linux的journalctl命令:系统日志的利器
**journalctl 深入解析:Linux 系统日志的强大工具** journalctl 是 Linux 中用于查询和管理 systemd 日志的命令行工具,与 systemd-journald 配合收集广泛的信息,包括内核消息和服务日志。它提供实时追踪、过滤、导出等功能,如 `-f` 实时监控,`-u` 过滤特定服务日志,`-k` 显示内核消息,`--since` 和 `--until` 选择时间范围。在实际应用中,结合权限管理、日志空间控制和有效过滤,journalctl 成为系统管理员诊断和优化系统的得力助手。
|
1天前
|
数据挖掘 Linux Perl
Linux命令join:高效处理文本数据的利器
`join`是Linux文本处理的强兵,用于基于共同字段合并两个已排序文件。它按字典序比较字段,支持自定义分隔符,且能处理未匹配行。`-a`显示未匹配行,`-e`指定空字段替换值,`-j`设置共同字段,`-o`定制输出格式,`-t`定义字段分隔符。在数据分析时,务必先排序文件,并根据需求调整参数。可与`sort`、`cut`等命令配合使用。
|
1天前
|
监控 数据挖掘 Linux
Linux命令jobs:后台任务管理利器
`jobs`是Linux终端的利器,用于管理和查看后台任务。它显示当前会话中的作业状态,如运行、停止,可通过`Ctrl+Z`暂停任务,`bg`放后台,`fg`回前台。参数`-l`显示PID,`-n`显示最近状态变化的作业。`jobs`帮助高效监控和管理长时间运行的命令,如在数据分析时。记得使用正确任务编号,谨慎使用`kill`,并定期检查任务状态。
|
1天前
|
消息中间件 运维 监控
Linux命令ipcs详解:IPC对象的全面洞察
`ipcs`命令详解:Linux下用于洞察IPC(消息队列、信号量、共享内存)对象的工具。它列出系统中的IPC资源,显示详细信息,如ID、所有者、权限等。参数如`-m`、`-q`、`-s`分别显示共享内存、消息队列和信号量信息。结合`-l`或`-c`可调整输出格式。定期检查IPC状态有助于系统管理和性能优化。需注意权限和谨慎操作。
|
1天前
|
消息中间件 Linux 数据处理
Linux命令ipcrm详解:轻松管理IPC对象
`ipcrm`是Linux下用于删除IPC(进程间通信)对象的命令,如消息队列、共享内存和信号量。它通过指定对象ID或键值进行操作,如`-m ID`删除共享内存,`-q ID`删除消息队列,`-s ID`删除信号量。使用时需注意确认对象未被使用,以免影响系统运行。结合`ipcs`命令检查对象详情,并可定期清理不再需要的IPC对象以优化系统资源。
|
1天前
|
消息中间件 监控 安全
深入解析Linux命令ipcmk:IPC对象管理新视角
`ipcmk`非标准Linux命令,假设的IPC对象创建工具,用于演示如何管理消息队列、信号量和共享内存。虽无此命令,但理解其概念有助于掌握IPC管理。例如,创建命名消息队列`my_mq`,最大1000消息,可模拟使用`ipcmk -t mq -n my_mq -q 1000`。实际操作中,应根据需求选择合适IPC机制,设置安全权限,监控使用并及时清理。
|
1天前
|
监控 Linux Shell
Linux命令ionice:优化磁盘I/O优先级
`ionice`是Linux工具,用于调整进程的磁盘I/O优先级,改善系统响应。它设置三种I/O调度类:Idle(低优先级),Best-effort(默认)和Real-time(高优先级)。通过 `-c` 和 `-n` 参数分别设定调度类和优先级。示例:`ionice -c3 -n7 command`(低优先级I/O)和`ionice -c2 -p 1234`(改变PID为1234的进程为Idle类)。使用时注意平衡系统资源,避免干扰其他任务,并结合`iostat`、`iotop`监控性能。