[...]blog:locate 命令:文件查找命令 - 灵魂信息 (soulio.top)[...]
首页
留言
统计
友链
归档
关于
Search
1
typecho博客-SEO优化-永久链接设置-伪静态
89 阅读
2
搭建网站的三种方式:家庭服务器、云服务器、serv00免费服务器
62 阅读
3
DNF:包管理器
53 阅读
4
typecho主题和插件
52 阅读
5
Homebrew:包管理器
45 阅读
网站搭建
Linux命令详解
登录
Search
标签搜索
Linux命令
serv00
Linux
网站搭建
typecho
Excel
正则表达式
PVE
mdx
soulio
累计撰写
146
篇文章
累计收到
2
条评论
今日撰写
0
篇文章
首页
栏目
网站搭建
Linux命令详解
页面
留言
统计
友链
归档
关于
用户登录
登录
搜索到
146
篇与
的结果
2024-09-25
sort 命令:文本排序
一、命令简介sort 命令是Linux和Unix系统中用于对文本文件内容进行排序的基本工具。它可以将文件的每一行作为一个单位,按照指定的规则(如字母、数字、月份名等)进行排序,并将结果输出到标准输出(通常是终端)。二、命令参数基本用法sort 选项 文件 常用选项 -f:忽略大小写 -n:按照数值顺序排序 -r:逆序排序 -k:指定排序的关键字 -t:指定字段分隔符 -o:将排序结果写入到文件中 三、命令示例排序文本soulio 男 170.3 1 张伟 男 175.5 2 李丽 女 160.2 3 王强 男 182.0 4 刘敏 女 158.7 5 XiaoFang 女 165.4 6 ShunJian 男 170.8 7 ZhouHong 女 162.6 8 1 默认排序默认情况下,sort 命令会按照字典顺序对文本文件中的行进行排序,并将结果输出到终端。sort 文件名 输出排序李丽 女 160.2 3 刘敏 女 158.7 5 王强 男 182.0 4 张伟 男 175.5 2 ShunJian 男 170.8 7 soulio 男 170.3 1 XiaoFang 女 165.4 6 ZhouHong 女 162.6 8 2 忽略大小写排序对文件内容进行排序,并忽略大小写:sort -f 文件名 3 指定字段排序指定排序的关键字(例如第三个字段):sort -k 2 文件名 soulio 男 170.3 1 ShunJian 男 170.8 7 张伟 男 175.5 2 王强 男 182.0 4 刘敏 女 158.7 5 李丽 女 160.2 3 ZhouHong 女 162.6 8 XiaoFang 女 165.4 6 4 数值排序按照数值顺序对文件内容进行排序:sort -k 3 -n 文件名 刘敏 女 158.7 5 李丽 女 160.2 3 ZhouHong 女 162.6 8 XiaoFang 女 165.4 6 soulio 男 170.3 1 ShunJian 男 170.8 7 张伟 男 175.5 2 王强 男 182.0 4 4 逆序对文件内容进行逆序排序:sort -k 3 -n -r 文件名 王强 男 182.0 4 张伟 男 175.5 2 ShunJian 男 170.8 7 soulio 男 170.3 1 XiaoFang 女 165.4 6 ZhouHong 女 162.6 8 李丽 女 160.2 3 刘敏 女 158.7 5 6 指定字段分隔符指定字段分隔符(例如逗号分隔的文件):sort -t , -k 2 文件名 7 排序结果写入新文件sort 文件名 -o 排序后文件名 sort 命令非常强大,可以结合其他命令(如 uniq、grep 等)来进行更复杂的数据处理。
2024年09月25日
7 阅读
0 评论
0 点赞
2024-09-25
smartctl 命令:查看硬盘健康状态
一、命令简介smartctl 命令用于获取硬盘的 SMART 信息。介绍硬盘SMART硬盘的 SMART (Self-Monitoring, Analysis, and Reporting Technology) 技术用于监控硬盘的健康状态,并能提供一些潜在故障的预警信息。通过查看 SMART 数据,用户可以了解硬盘的各种属性和状态,如错误率、温度、使用寿命等。安装smartctlsudo install smartmontools 检查硬盘的 SMART 状态sudo smartctl -a /dev/sda 更详细的用例请参考后继章节与硬盘相关命令 gdisk、fdisk 命令,磁盘分区管理。 mkfs 命令,格式化。 mdadm 命令,管理软 RAID。 lsblk 命令,列出块设备(包含磁盘)信息。 df 命令,磁盘余量 smartctl 命令,读取磁盘 SMART 信息 二、命令参数格式smartctl 选项 硬盘 需要sudo权限运行。选项: -a, --all:显示所有 SMART 信息。 -H, --health:显示硬盘的健康状态。 -i, --info:显示硬盘的基本信息。 -l selftest:显示自检结果。 -t <test>:启动自检,如 short(短自检)或 long(长自检)。 -c, --capabilities:显示硬盘的 SMART 能力。 -x, --xall:显示扩展 SMART 信息。 -l error:显示错误日志。 -A, --attributes:显示 SMART 属性。 -s, --smart=on|off:启用或禁用 SMART 功能。 -d, --device=TYPE:指定硬盘的接口类型,如 ata, scsi, sat, nvme 等。 参数: /dev/sdX:指定要检查的硬盘设备路径,如 /dev/sda。 test:自检类型,如 short, long。 TYPE:硬盘接口类型,如 ata, scsi, sat, nvme。 三、命令示例显示硬盘的基本信息sudo smartctl -i /dev/sdX 输出显示硬盘的 SMART 属性sudo smartctl -A /dev/sdX 输出soulio@k455l:~$ sudo smartctl -A /dev/sdb smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.5.0-35-generic] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 100 100 051 Pre-fail Always - 6 2 Throughput_Performance 0x0027 252 252 000 Pre-fail Always - 0 3 Spin_Up_Time 0x0023 095 091 025 Pre-fail Always - 1651 4 Start_Stop_Count 0x0032 096 096 000 Old_age Always - 4478 5 Reallocated_Sector_Ct 0x0033 252 252 010 Pre-fail Always - 0 7 Seek_Error_Rate 0x002f 252 252 051 Pre-fail Always - 0 8 Seek_Time_Performance 0x0025 252 252 015 Pre-fail Offline - 0 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 12284 10 Spin_Retry_Count 0x0033 252 252 051 Pre-fail Always - 0 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 175 12 Power_Cycle_Count 0x0032 097 097 000 Old_age Always - 3057 181 Program_Fail_Cnt_Total 0x0022 100 100 000 Old_age Always - 9022488 183 Runtime_Bad_Block 0x0032 252 252 010 Old_age Always - 0 184 End-to-End_Error 0x0033 252 252 048 Pre-fail Always - 0 186 Unknown_Attribute 0x0032 252 252 000 Old_age Always - 0 187 Reported_Uncorrect 0x0032 252 252 000 Old_age Always - 0 188 Command_Timeout 0x0032 252 252 000 Old_age Always - 0 190 Airflow_Temperature_Cel 0x0002 066 050 040 Old_age Always - 34 (Min/Max 8/50) 191 G-Sense_Error_Rate 0x0022 100 100 000 Old_age Always - 77 192 Power-Off_Retract_Count 0x0022 100 100 000 Old_age Always - 79 193 Load_Cycle_Count 0x0032 001 001 000 Old_age Always - 1103480 194 Temperature_Celsius 0x0002 064 050 000 Old_age Always - 34 (Min/Max 8/50) 195 Hardware_ECC_Recovered 0x003a 100 100 000 Old_age Always - 0 196 Reallocated_Event_Count 0x0032 252 252 000 Old_age Always - 0 197 Current_Pending_Sector 0x0032 252 252 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0030 252 252 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x0036 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x002a 100 100 000 Old_age Always - 1663 启动短自检sudo smartctl -t short /dev/sdX 输出soulio@k455l:~$ sudo smartctl -t /dev/sdb smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.5.0-35-generic] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org =======> INVALID ARGUMENT TO -t: /dev/sdb =======> VALID ARGUMENTS ARE: offline, short, long, conveyance, force, vendor,N, select,M-N, pending,N, afterselect,[on|off] <======= Use smartctl -h to get a usage summary 获取硬盘温度sudo smartctl -a /dev/sdX | grep Temperature 输出启用 SMART 功能sudo smartctl -s on /dev/sdX 默认就是打开的。指明硬盘类型有时我们使用 USB 外挂的硬盘,使用 smartctl 命令可能会提示“无法识别磁盘类型”。需要使用 -d 参数手动指明硬盘类型,比如 sat 类型。$ sudo smartctl -d sat -a /dev/sdc | grep Temperature 190 Airflow_Temperature_Cel 0x0022 058 047 045 Old_age Always - 42 (Min/Max 18/42) 194 Temperature_Celsius 0x0022 042 053 000 Old_age Always - 42 (0 4 0 0 0)
2024年09月25日
6 阅读
0 评论
0 点赞
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日
5 阅读
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日
5 阅读
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日
4 阅读
0 评论
0 点赞
1
...
8
9
10
...
30