很漂亮的小站!
[...]blog:locate 命令:文件查找命令 - 灵魂信息 (soulio.top)[...]
首页
留言
统计
友链
归档
关于
Search
1
typecho博客-SEO优化-永久链接设置-伪静态
195 阅读
2
qm 命令:管理PVE虚拟机
134 阅读
3
搭建网站的三种方式:家庭服务器、云服务器、serv00免费服务器
131 阅读
4
用脚本查看serv00主机(FreeBSD系统)配置
103 阅读
5
typecho主题和插件
97 阅读
网站搭建
Linux命令详解
登录
Search
标签搜索
Linux命令
serv00
Linux
网站搭建
typecho
Excel
正则表达式
PVE
mdx
docusaurus
在线知识库
soulio
累计撰写
147
篇文章
累计收到
5
条评论
今日撰写
0
篇文章
首页
栏目
网站搭建
Linux命令详解
页面
留言
统计
友链
归档
关于
用户登录
登录
搜索到
127
篇与
的结果
2024-09-25
shutdown 命令:系统关机
一、命令简介shutdown 命令用于安全地关闭或重启系统。它可以通知用户关机时间,确保所有进程正常结束,同步文件系统,并执行关机前需要执行的脚本。shutdown 关机过程 通知用户:shutdown 命令会通知所有登录的用户系统即将关机,并显示倒计时。 终止进程:shutdown 会向所有进程发送终止信号(通常是 SIGTERM),请求它们正常终止。大多数进程在收到这个信号后都会开始清理并退出。 等待进程终止:shutdown 命令会等待所有进程优雅地终止。如果设置了超时时间,并且在超时后仍有进程未终止,shutdown 会强制结束这些进程(通过发送 SIGKILL 信号)。 执行关机脚本:shutdown 会执行 /etc/rc0.d/ 目录下的所有脚本,这些脚本是用来在关机时停止服务的。脚本名称以 K 开头,表示它们是在关机时(shutdown)执行的。 同步文件系统:shutdown 会调用 sync 命令,确保所有未写入磁盘的数据都被写入,以防止数据丢失。 卸载文件系统:系统会卸载所有已挂载的文件系统,确保文件系统的一致性。 停止内核:最后,shutdown 会停止内核,关闭系统。 二、命令参数shutdown 命令的基本语法如下:shutdown [选项] [时间] [消息] 选项 -r:重启系统。 -h:关机。 -c:取消已经计划的关机。 -k:只是发送警告信息,不会真的关机或重启。 -t:设置在关机或重启之前等待的时间(秒)。 时间时间参数指定了 shutdown 命令何时执行关机或重启操作。它可以是以下形式之一: now:立即执行。 +m:m 分钟后执行。 hh:mm:在指定的时间(24 小时制)执行。 消息消息参数是可选的,用于指定发送给所有登录用户的消息内容。三、命令示例添加关机任务关机使用 -r 选项,-r 可以不写。shutdown #默认一分钟后关机 shutdown -h now #立刻关机 shutdown now #立刻关机 shutdown -h 22:00 #定时关机 shutdown 22:00 #定时关机 shutdown -h +5 #倒计时关机 shutdown +5 #倒计时关机 添加重启任务重启使用 -r 选项,语法与关机相同shutdown -r +5 查看任务系统的关机、重启任务存放在 /run/systemd/shutdown/scheduled,USEC 时间戳去掉最后 6 位,可以还原得到执行任务的时间。#命令:关机任务 sudo shutdown -h 22:00 #输出 Shutdown scheduled for 五 2024-06-14 22:00:00 CST, use 'shutdown -c' to cancel. #命令:查看任务 cat /run/systemd/shutdown/scheduled #输出 USEC=1718373600000000 WARN_WALL=1 MODE=poweroff #命令:时间戳转换为日期格式 date -d @1718373600 #输出 2024年 06月 14日 星期五 22:00:00 CST 取消已经计划的关机设置任务需要 sudo 权限,而取消任务则不需要权限。shutdown -c 发送警告信息,但不执行关机shutdown -k 10 "系统将在10分钟后进行维护,请保存您的工作并注销" centos7 会给所有用户发消息,每分钟发一次,直到关机。 ubuntu22 没有反应,所有用户没有接收到消息。
2024年09月25日
13 阅读
0 评论
0 点赞
2024-09-25
service 命令:管理系统服务
一、命令简介service 命令是 Linux 系统中用于管理服务的工具,它通过调用位于 /etc/init.d/ 目录下的服务脚本,来启动、停止、重启、查询状态等操作系统服务(守护进程)。service 命令是一个便捷的 shell 脚本,简化了对服务脚本的直接调用。随着 systemd 的普及,新版的 Linux 发行版可能不再包含 service 命令,而是使用 systemctl 命令来管理服务。二、命令参数service [选项] [service_name] [command] 选项: -h 或 --help:显示帮助信息。 -v 或 --version:显示版本信息。 service_name: 表示服务的名称,通常是 /etc/init.d/ 目录下的脚本文件名。 command: start:启动服务。 stop:停止服务。 restart:重启服务。 reload:重新加载服务的配置文件。 status:查看服务的当前状态。 condrestart:如果服务正在运行,则重启服务。 enable:设置服务开机自启。 disable:禁止服务开机自启。 三、命令示例1 查看所有服务的状态service --status-all 输出 [ - ] nginx [ - ] rsync [ + ] ssh [ - ] sysstat [ + ] ufw ... +:表示该服务当前正在运行(active)。 -:表示该服务当前没有运行(inactive 或 stopped)。 2 管理一个服务以nginx为例1. 启动 Nginx 服务启动 Nginx 服务:sudo service nginx start 2. 停止 Nginx 服务停止 Nginx 服务:sudo service nginx stop 3. 重启 Nginx 服务当修改了 Nginx 的配置文件时,可以使用 restart 命令重新启动服务:sudo service nginx restart 4. 重新加载 Nginx 服务如果你修改了 Nginx 配置文件,但不想停止当前的连接,可以重新加载配置而不中断服务:sudo service nginx reload 5. 检查 Nginx 服务的状态使用 status 查看 Nginx 服务是否正在运行:sudo service nginx status 示例输出:● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2024-09-25 10:00:00 UTC; 3min ago Docs: man:nginx(8) Main PID: 1234 (nginx) Tasks: 3 (limit: 4677) Memory: 10.2M CGroup: /system.slice/nginx.service ├─1234 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─1235 nginx: worker process 6. 禁用 Nginx 开机自启如果你不想让 Nginx 服务在系统启动时自动启动,可以使用以下命令禁用它:sudo systemctl disable nginx 7. 允许 Nginx 开机自启sudo systemctl enable nginx 3 实际场景中的示例示例 1:检查 Nginx 是否运行运行以下命令:sudo service nginx status 输出显示 Nginx 正在运行(Active: active (running)),这表明服务正在正常工作。示例 2:重启 Nginx当我们修改了 /etc/nginx/nginx.conf 文件后,使用以下命令重新启动 Nginx 以应用新配置:sudo service nginx restart 示例 3:重新加载 Nginx假设配置文件中只有轻微更改,不希望中断当前连接,可以使用 reload 命令:sudo service nginx reload
2024年09月25日
13 阅读
0 评论
0 点赞
2024-09-25
sed(1):强大的文本处理命令
一、命令简介sed(stream editor)是一个强大的文本处理工具,它能够执行基本的文本转换,如替换、删除、插入和修改文本行的特定部分。sed 命令通常用于对文本文件进行批量编辑,也可以用于处理来自管道的输入。特点: 支持正则 批量处理 非交互式 每行处理 标签: 文本处理, shell 编程获取帮助:sed --help视频教程:Shell 其实很简单(33)sed 的基本使用_哔哩哔哩_bilibilised 的用法比较多样(复杂),通过视频演示更容易理解,同时也需要动手练习,最后通过笔记总结。二、命令参数sed [选项] 匹配模式 文件 常用选项 -e 或 --expression:添加一个编辑命令到脚本。 -f 或 --file:从文件中读取编辑脚本。 -n 或 --quiet 或 --silent:抑制自动打印。 -i 或 --in-place:⚠️直接修改文件,而不是输出到标准输出。必须谨慎使用。 -r 或 --regexp-extended:使用扩展的正则表达式。 --help:查看帮助文档 匹配模式 s/regexp/replacement/:替换匹配到的字符串。 d:删除匹配到的行。 p:打印匹配到的行。 a \text:在匹配到的行后面添加文本。 i \text:在匹配到的行前面插入文本。 c \text:替换匹配到的行为指定的文本。 三、命令示例 sed '/模式/命令' 文件 模式:处理整行# 删除:删除井号开头的行 sed '/^#/d' txt # 删除不匹配的行:删除不是井号开头的行 sed '/^#/!d' txt # 多命令:删除井号开头的行,删除空行 sed '/^#/d; /^$/d' txt # 追加:在匹配的行后面插入一行内容 sed '/^#/a #上一行是注释,这一行也是注释' txt # 插入:在匹配的行前面插入一行内容 sed '/^#/i #下一行是注释,这一行也是注释' txt # 替换行:替换掉匹配行的内容 sed '/^#/c #这是一条重新编辑后的注释' txt # 导入文件:匹配行写入指定文件 sed '/^#/w txt2' txt # 在每个匹配到的行前插入(一行来写)行号 # 鸡肋,可能不是你预期的样子:行首插入行号 sed '/^#/=' txt # 删除单行 sed '3d' txt # 删除多行(第3到第5行) sed '3,5d' txt # 将text文件的内容插入到txt文件的第二行 sed '2r text' txt # 打印匹配行 sed -n '/^[^#]/p' txt 以上操作不会修改你的源文件,它只会把结果输出在终端上。 s/查找/替换/ 模式:处理行中的匹配字串# 替换每行第一个匹配字符串 sed 's/hello/world/' txt # 全局替换 sed 's/hello/world/g' txt # 仅显示替换后的行 sed -n 's/hello/world/gp' txt # 引用模式 &:匹配的字符串 sed -n 's/world/&!/gp' txt # 自定义分隔符 sed -n 's#hello#Hello#gp' txt # 基础正则表达式 sed 's/[0-9]\+/x/g' txt # 拓展正则表达式 减少转义 sed -r 's/[0-9]+/x/g' txt 以上操作不会修改你的源文件,它只会把结果输出在终端上。 ⚠️谨慎使用 -i 选项: 因为它真的会修改你的源文件。# 替换:hello被替换为world sed -i 's/hello/world/g' txt 输出示例注意事项: 原地编辑:使用 -i 选项进行原地编辑时,建议先备份文件,以防意外修改。 正则表达式:sed 默认使用基础正则表达式,若需要使用扩展正则表达式,可以添加 -r 选项。 文件处理:sed 是一行一行处理文本的,对于大文件可能效率较低。 语法注意:sed 的语法和操作符可能会因不同版本而略有差异,需注意兼容性。 熟练掌握 sed 命令可以提高文本处理效率,但在操作时应注意备份重要文件,避免意外修改。 sed 是一个非常灵活的工具,能够执行复杂的文本处理任务。掌握 sed 可以大大提高在命令行环境中处理文本的效率。
2024年09月25日
14 阅读
0 评论
0 点赞
2024-09-25
scp 命令:在两台主机间远程传输文件
一、命令简介scp 命令使用 SSH 加密的方式在本地主机和远程主机之间复制文件。二、命令参数格式scp [选项] 发送方主机和目录 接收方主机和目录 注意:左边是发送方,右边是接收方。固定格式。示例#示例1 scp ~/test.txt soulio@172.123.123.123:~ #示例2 scp -r /mnt/硬盘1/网站文件/test.soulio.top soulio@www.soulio.top:/www/html/test.soulio.top 选项 -r:递归复制整个目录。 -p:保留文件的权限和时间戳。 -q:安静模式,不显示复制进度。 -v:详细模式,显示复制过程的详细信息。 -C:启用压缩,可以加快传输速度。 三、命令示例 从本地系统复制文件到远程系统:scp 发送目录 服务器:接收目录 从远程系统复制文件到本地系统:scp 服务器:发送目录 接收目录 复制整个目录:scp -r 发送方主机和目录 接收方主机和目录 指定端口号:scp -P 端口 发送方主机和目录 接收方主机和目录 使用压缩传输:scp -rC 发送方主机和目录 接收方主机和目录 消耗算力来压缩数据传输量,请根据服务器性能判断要不要使用。 从远程系统复制文件夹到本地系统:scp -r 服务器:发送目录 接收目录 保持文件权限和时间戳:scp -rp 发送方主机和目录 接收方主机和目录 注意事项: 在使用 scp 命令进行文件传输时,确保目标主机已启用 SSH 服务。 请谨慎使用 scp 命令,确保在正确的目录上执行命令,以免意外覆盖重要文件。
2024年09月25日
17 阅读
0 评论
0 点赞
2024-09-25
rpm 命令:RedHat底层包管理器
一、命令简介rpm 是 Red Hat Package Manager 的缩写,是 Red Hat、CentOS、Fedora 等基于 Red Hat 的 Linux 发行版中用于管理和安装软件包的工具。它能够安装、卸载、升级、查询和验证软件包。相关命令: rpm 是基础,提供了底层的软件包操作功能。 yum 是基于rpm构建的,提供了更高级的依赖管理和仓库功能。 dnf 是yum的改进版,它保留了yum的许多特性和用法,同时引入了新的特性和优化。 二、命令参数 -i, --install:安装软件包。 -e, --erase:卸载软件包。 -U, --upgrade:升级软件包。 -F, --freshen:如果软件包已安装,则升级。 -q, --query:查询软件包。 -l, --list:列出软件包中的文件。 -v, --verbose:提供更多的详细信息。 -h, --hash:在安装或升级软件包时显示进度条。 -a, --all:对所有已安装的软件包执行操作。 -p, --package:处理指定的软件包文件。 --test:不实际执行安装或卸载,仅进行测试。 -f, --file:查询拥有指定文件的软件包。 --nodeps:不检查依赖性。 三、命令示例1. 安装软件包 使用 rpm 安装一个 .rpm 软件包:rpm -ivh package_name.rpm 选项: -i:安装软件包。 -v:显示详细信息。 -h:显示进度条。 2. 升级软件包 升级已安装的软件包:rpm -Uvh package_name.rpm 选项: -U:升级软件包,如果未安装则进行安装。 3. 删除软件包 卸载已安装的软件包:rpm -e package_name 选项: -e:卸载软件包。 4. 查询软件包 查询系统中是否已安装某个软件包:rpm -q package_name 选项: -q:查询软件包。 查询已安装软件包的详细信息:rpm -qi package_name 选项: -i:显示详细信息。 查询已安装软件包安装了哪些文件:rpm -ql package_name 选项: -l:列出文件列表。 查询文件所属的软件包:rpm -qf /path/to/file 选项: -f:查询文件所属的软件包。 5. 验证软件包 验证已安装的软件包是否被修改过:rpm -V package_name 选项: -V:验证软件包。 6. 查看软件包内容 查看 .rpm 文件中包含哪些文件:rpm -qpl package_name.rpm 选项: -p:查询未安装的包文件。 -l:列出文件列表。 7. 显示包的依赖关系 显示一个 .rpm 包所依赖的其他软件包:rpm -qpR package_name.rpm 选项: -R:显示依赖关系。 注意事项 依赖管理:rpm 不自动解决依赖问题,如果安装或卸载一个包时有依赖关系未满足,操作将失败。通常建议使用 yum 或 dnf(这两个工具可以自动处理依赖)来替代 rpm 进行包管理。 使用 rpm 时,请务必谨慎,尤其是在卸载软件包时,因为不正确的操作可能会导致系统不稳定。
2024年09月25日
10 阅读
0 评论
0 点赞
1
...
8
9
10
...
26