本文转载自:https://fangcaicoding.cn/course/9/59
大家好!我是方才,目前是8人后端研发团队的负责人,拥有6年后端经验&3年团队管理经验,截止目前面试过近200位候选人,主导过单表上10亿、累计上100亿数据量级的业务系统的架构和核心编码。
“学编程,一定要系统化” 是我一直坚持的学习之道。目前正在系统化分享从零到一的全栈编程入门以及项目实战教程。
无论你是编程新手,还是有经验的开发者,我都愿意与你分享我的学习方法、项目实战经验,甚至提供学习路线制定、简历优化、面试技巧等深度交流服务。
我创建了一个编程学习交流群(扫码关注后即可加入),秉持“一群人可以走得更远”的理念,期待与你一起 From Zero To Hero!
茫茫人海,遇见即是缘分!一键三连!方才兄送你ElasticSearch系列知识图谱、前端入门系列知识图谱、系统架构师备考资料!
文件管理命令
- 文件目录
- vi/vim 编辑器
文件查看
- 命令:以文本形式显示文件内容。
- 命令:逐页显示文件内容,并支持向上/向下滚动、搜索等功能【输入 q 返回】。
- 命令:显示文件的前几行,默认为前10行。
- 命令:显示文件的后几行,默认为最后10行。
检索文件的命令
- 命令:在文件中搜索指定模式的文本,并显示匹配的行。
- 命令:按照指定条件查找文件。
- 命令:通过数据库快速查找文件。
- 命令:查找可执行文件的路径。
软件安装
apt
apt(Advanced Packaging Tool):适用于 Debian、Ubuntu 和其他基于 Debian 的发行版。
- 安装软件:
- 删除软件:
- 更新软件列表:
- 更新已安装的软件包:
yum
yum(Yellowdog Updater Modified):适用于 CentOS、Fedora 和 RHEL 等基于 Red Hat 的发行版。
常用的参数讲解:
- 常规操作:
- :安装一个或多个软件包。
- :删除一个或多个软件包。
- :更新已安装的软件包。
- :搜索软件包。
- :列出可用的软件包。
- :显示软件包的详细信息。
- 软件包管理:
- (或 ):对所有提示进行自动回答为 “yes”,无需人工确认。
- :清理软件包缓存。
- :检查可用的软件包更新。
- :升级已安装的软件包。
- :降级已安装的软件包。
- :重新安装已安装的软件包。
- 媒体源和存储库:
- :列出所有已配置的存储库。
- :在指定的目录中执行安装操作。
- :启用指定的存储库。
- :禁用指定的存储库。
- :安装软件包组。
- 事务和安装记录:
- :查看或管理 yum 事务历史记录。
- :解决软件包依赖关系。
一些示例:
文件传输命令
- 命令:通过SSH安全地复制文件或目录。
- 命令:远程和本地文件传输和同步的更高级工具。
- 命令:本地服务和远程服务器间的文件传输
该工具包系统不是系统默认提供的,需要手动安装
压缩命令
tar 命令
gzip 等命令可以百度
tar加密
zip命令
进程管理命令
ps 查看当前系统进程状态
ps:process status 进程状态
- 基本语法
- ps -aux | grep xxx (功能描述:查看系统中所有进程)
- ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
- 选项说明
- a 列出带有终端的所有用户的进程
- x 列出当前用户的所有进程,包括没有终端的进程
- u 面向用户友好的显示风格
- -e 列出所有进程
- -u 列出某个用户关联的所有进程
- -f 显示完整格式的进程列表
- ps:
- 如果想查看进程的 CPU 占用率和内存占用率,可以使用 aux;
- 如果想查看进程的父进程 ID 可以使用 ef;
ps -aux
- 列名解释
ps -ef
- 列名解释
pstree 查看进程树
- 可选参数
- -p 显示进程的 PID
- -u 显示进程的所属用户
netstat 网络状态和端口信息
该工具包系统不是系统默认提供的,需要手动安装 。
常用选项:
- :显示所有连接,包括监听中的连接。
- :显示 TCP 连接。
- :显示 UDP 连接。
- :以数字形式显示 IP 地址和端口号,而不是使用名称。
- :显示与连接关联的进程名称/ID。
- :显示路由表信息。
- :显示所有处于监听状态的服务。
- :显示网络统计信息,如数据包、错误等。
日常使用:
- netstat -anp | grep 进程号 (功能描述:查看指定进程的网络信息)
- netstat –nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
要查看 Linux 系统中正在使用的端口和进程,可以使用以下命令:
- 使用命令 ,例如要查看端口号为 80 的情况,可以使用命令 。
- 使用命令 ,例如要查看端口号为 80 的情况,可以使用命令 。
- 使用命令 ,例如要查看端口号为 80 的情况,可以使用命令 。
如果需要查看所有端口的占用情况,可以使用以下命令:
- 使用命令 ,该命令会列出所有正在使用的网络连接和端口。
- 使用命令 ,该命令会列出所有正在监听的端口和进程。
- 使用命令 ,该命令会列出所有正在监听的套接字和端口。
kill 终止进程
- 语法:
- kill [选项] 进程号 (功能描述:通过进程号杀死进程);
- killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用);
- 核心参数
- 或 :列出所有可用的信号名称。
- 或 :指定发送的信号。可以使用信号名称或信号编号。
- :使用 号加上信号编号发送信号。
- 或 :发送给所有进程,除了进程组或会话首领进程。
- 或 :交互模式,会询问用户是否要终止每个进程。
- 或 :指定要发送信号的进程号。
- 或 :指定要发送信号的终端。
- 或 :指定要发送信号的用户。
- :显示 命令的帮助信息。
- 示例:
- :列出所有可用的信号。
- :强制终止指定进程。
- :使用 信号终止指定进程。
kill -l
一些常用的信号及其含义和作用:
- (1):挂起信号,通常用于通知进程重新加载配置文件或重启。
- (2):中断信号,当用户在终端上按下 组合键时发送给前台进程,用于终止正在运行的进程。
- (9):强制终止信号,用于立即终止进程,无法被捕获和处理。
- (15):终止信号【是默认的信号量】,用于优雅地请求进程终止,允许进程进行清理操作。
- (17):停止信号,暂停进程的执行,进程状态变为停止,可通过 信号恢复执行。
- (18):继续信号,用于恢复被 或 暂停的进程。
- (30) 和 (31):用户自定义信号,可由进程根据需要自行定义使用。
与ps指令结合使用
- 先使用 ps 指令,查询到想要关闭的进程号 PID;
- 再使用 kill 指令,关闭进程;
比如说,先查看所有的ssh连接:
我们期望把 这个进程kill掉,就执行 。
与 netstat指令结合使用
一般的场景是,我们启动某个软件,发现端口被占用,无法启动成功,就可以先查询到原端口的进程,kill掉后,再次启动【前提是原进程的作用,我们很清楚】。
- 使用指令 查看网络端口号占用情况;
- 使用命令,把对应的进程kill掉。
内存&磁盘情况查看
- 内存(Memory)相关命令:
- :显示系统内存使用情况和空闲情况。
- :实时查看系统进程和内存占用情况。
- :类似于,但是更加友好的交互式进程监视器。
- :显示系统虚拟内存状态,包括内存、交换空间和IO等。
- 硬盘(Disk)相关命令:
- :列出块设备信息,包括硬盘和分区等。
- :显示文件系统的磁盘空间使用情况。
- :计算目录或文件的磁盘使用空间,一些常用的参数:
- :以人类可读的方式显示文件或目录的大小(以 K、M、G 等单位显示)。
- :仅显示总计大小,而不显示详细信息。
- :显示总计大小,并在最后一行显示总计。
- :显示所有文件和子目录的大小。
- :只统计当前文件系统中的文件和目录,忽略其他文件系统的挂载点。
- :限制显示输出的最大深度,只显示指定深度的文件和目录。
常用的示例:
- 查看内存情况:
- 实时查看系统内存情况 :
- 查看系统磁盘使用情况 :
- 查看指定目录文件占用的磁盘大小 :
系统目录
Linux系统的文件存储是按照一定的文件系统层次结构来组织的,即所谓的FHS(Filesystem Hierarchy Standard)。
在FHS中,Linux文件系统的根目录为“/”,其中有许多子目录,每个子目录都有指定的用途。例如,以下是一些重要的目录及其用途:
- /bin:系统的二进制可执行文件
- /boot:启动Linux所需的核心文件和引导程序
- /dev:设备文件目录,包括硬件设备和虚拟设备
- /etc:系统的配置文件存放目录
- /home:用户主目录所在的位置
- /lib:系统库文件
- /media:可移动设备挂载目录,如光盘、U盘等
- /mnt:文件系统挂载目录
- /opt:第三方应用程序所安装位置,一般也是二进制程序
- /proc:内存映射文件系统,用于动态获取系统参数
- /root:root用户的主目录位置
- /run:运行时文件系统,存放某些进程执行过程中的信息
- /sbin:系统管理员使用的二进制程序
- /srv:存放特定服务数据文件的目录
- /sys:与硬件设备相关的信息,例如CPU、内存和硬盘等
- /tmp:临时文件目录
- /usr:用户程序和文件的目录,包含了大部分的应用程序和文件
- /var:包含了系统运行中的可变文件,如日志信息、邮件等
软件目录建议
Linux 的软件安装位置是有讲究的,正确的选择安装目录对系统管理以及使用都是有益的,Linux 下我们主要的安装位置有两个,分别是 /opt 目录和/usr/local 目录。
/opt 目录:
- opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录,是用户级的程序目录,默认是空的。
- 这里常用于放置额外的大型软件,比如你安装一个 MYSQL数据库就可以放到这个目录下。
/usr 目录:
- usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的系统级目录,系统的很多应用程序和文件都放在这个目录下。其中 /usr/src 是系统的源码存放目录。
- 此目录一般由软件包管理器(yum、apt)来管理。
/usr/local 目录:
- /usr/local 是 /usr 下的一个用户级的程序目录,用户自己安装的软件一般选择安装到这个目录下。其中 /usr/local/src 是用户级的源码存放目录。
- 此目录一般由用户自己管理。
Linux 下安装路径大部分完全由自己决定,本文只是建议如此,实际安装时还需要考虑其他因素,总的来说,以方便使用和管理来决定安装位置。一般大型软件或者是一些服务程序安装到 /opt 目录下,普通软件一般安装到usr/local目录下。
数据文件,一般情况建议放到 /home 目录下,在企业级服务器中,可能会有单独的data/ 目录。
创建普通用户
在 Linux 系统上创建一个普通用户可以通过以下步骤完成:
- 使用管理员权限登录到 Linux 系统,打开终端。
- 运行以下命令来创建一个新的普通用户:
在命令中,将 替换为您想要创建的用户名。
- 选项会为用户创建一个用户目录(主目录)。
- 选项将用户的默认 shell 设置为 Bash。
- 设置用户的密码,运行以下命令:
在命令中,将 替换为您创建的用户名。按照提示输入并确认用户密码。
- (可选)将用户添加到特定用户组。如果您希望将新用户添加到特定的用户组中,可以使用以下命令:
在命令中,将 替换为您希望添加用户的用户组名称,将 替换为要添加到该组的用户名。请确保该用户组已经存在。
- 您可以使用以下命令验证新用户是否已成功创建:
将 替换为您创建的用户名。该命令将显示用户的详细信息,以确认用户是否已经成功创建。
现在,您已经成功在 Linux 系统上创建了一个普通用户,并可以使用该用户登录和执行操作。
授权管理
要将某个目录下的所有子目录和文件的权限授权给所有人,可以使用 命令。
以下是将目录下所有子目录和文件的权限授权给所有人的步骤:
- 使用 root 用户登录终端或以 root 权限执行以下命令。
- 进入要设置权限的目录。例如,要设置名为 的目录及其子目录和文件的权限,可以执行以下命令:
将 替换为您要授权的目录的实际路径。
- 使用以下命令将权限设置为对目录中的所有子目录和文件适用:
在这里, 命令的 选项将使递归地修改目录、子目录和文件的权限。 表示所有用户, 表示添加读取、写入和执行的权限,其中 代表读取和写入权限,而 代表仅对目录和已有执行权限的文件添加执行权限。 表示当前目录。
现在,该目录下的所有子目录和文件的权限都已经授权给所有人。请注意,此操作会将所有子目录和文件的权限都修改为相同的权限。在执行此操作之前,请确保您理解并确认对所有子目录和文件的权限更改是安全和合适的。
systemd启动守护进程
参考:
- 《一篇搞懂》系列之三——systemd - 知乎 (zhihu.com)
- Systemd 入门教程:命令篇 - 阮一峰的网络日志 (ruanyifeng.com)
Systemd 是 Linux 系统工具,用来启动守护进程【“守护进程”(daemon)就是一直在后台运行的进程(daemon)】,已成为大多数发行版的标准配置。
systemd Unit:systemd将它能够管理的系统配置统一称为一个单元,即unit。根据不同的unit类型,systemd可以管理系统中不同的资源和服务。systemd提供的unit类型有下面这些:
systemd Unit 中的 service 的 Type 参数用于定义服务的类型,可以是以下几种值:
- :默认值,表示服务将一直运行直到终止或失败。
- :表示在服务启动时会派生一个子进程,并且服务的主进程会在子进程启动后立即退出。
- :表示服务只运行一次,直到完成任务后就会退出。
- :表示服务通过 D-Bus 进行激活和通信。
- :表示服务通过向 systemd 发送通知消息来指示其已准备好运行。
- :类似于 类型,但是在没有活动发生时服务会等待一段时间再终止。
以centos7提供的sshd服务的unit文件文件例:
一个Unit文件包括三个部分:、和,其中在这里是。
- 部分中定义了这个服务的,和;
- 部分中定义了这个服务的,,,,和;
- 部分中定义了这个服务。
所以,这个Unit文件告诉了systemd:这是一个叫做的服务,怕你们不知道怎么用,提供了两个可以给你们看,但是要想启动我这个服务,你得先把和这两个服务启动起来。这两个服务到位之后,俺就会启动服务,服务启动命令是。俺除了会启动服务,俺还会自己加载配置,俺也知道服务出错了应该要重启。哦对了,俺不是一个人独自运行,俺还是这个单元的依赖项,没有俺,它还起不来捏!俺厉害不(手动拽)!
防火墙配置
抓包
- 原文链接:https://www.linuxcool.com/qszblml
近期更新计划(有需要的小伙伴,记得点赞关注哟!)
- 等前端框架入门教程,预计11中旬更新完成;
- 博客系统功能完善,实现评论系统等功能;
- 基于vue3+springboot3的前后端分离的博客系统已经开源啦,欢迎大家star!
“学编程,一定要系统化”——若你也是系统学习的践行者,记得点赞关注,期待与你一起 From Zero To Hero!
到此这篇linux yum命令怎么读(linux常用命令怎么读)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/81345.html