- 博客(63)
- 收藏
- 关注
原创 Shell 脚本基
功能:自动化安装 kubeadm、kubelet 并初始化集群(引用自)。echo “入站: $in KB/s | 出站: $out KB/s”功能:监控日志文件中的 ERROR 关键词,触发邮件告警(引用自)。功能:按天分割日志文件并压缩,保留最近 7 天数据(引用自)。功能:定时备份数据库,压缩后上传至阿里云 OSS(引用自)。功能:显示指定网卡的实时入站/出站流量(引用自)。功能:实时监控系统资源,超阈值触发告警(引用自)。功能:自动拉取镜像、启动容器并配置网络(引用自)。
2025-04-02 16:12:45
740
原创 Linux 正则表达式详解
调整挂载参数:在 /etc/fstab 中设置 noatime 减少磁盘写入。RAID 配置:通过 mdadm 创建 RAID 0/1/5 提升性能或冗余。fat32 mkfs.vfat /dev/sdb1 跨平台兼容(如 U 盘)格式化前确认设备路径(如 /dev/sdb 而非 /dev/sda)。#命令流程:n(新建)→ p(主分区)→ 设置大小 → w(保存)xfs mkfs.xfs /dev/sdb1 大文件和高并发场景。fdisk /dev/sdb # 进入交互式分区。
2025-04-02 15:41:44
645
原创 Linux基础-文本编辑工具vi
Vim(Vi IMproved)是 vi 的增强版本,兼容 vi 命令并新增语法高亮、多光标编辑、插件系统等功能。通过 SSH 登录远程服务器,使用 vi 编辑配置文件(如 /etc/nginx/nginx.conf)。在线教程:Vim 官方文档(:help 命令)、Linux 中国社区的 vi 指南。可定制性:支持通过配置文件(如 .vimrc)和插件扩展功能(Vim 特性)。书籍:《vi/vim 使用大全》(Practical Vim)。练习工具:VimGym(交互式练习平台)。
2025-04-02 14:50:22
704
原创 Linux文件编辑工具vim
命令模式(Command-Line Mode):以 : 开头,执行保存(:w)、退出(:q)、查找(/pattern)等操作。插入模式(Insert Mode):输入文本模式,通过 i(当前位置插入)、a(当前位置后插入)、o(下行插入新行)进入。可视模式(Visual Mode):选择文本块(v字符选择、V行选择、Ctrl-v块选择)。移动命令:hjkl(方向键)、gg(首行)、G(末行)、0(行首)、$(行尾)。x(删除字符)、dd(删除行)、dw(删除单词)。2. 高频操作速查。
2025-04-02 14:46:50
662
原创 Linux基础-压缩与解压缩
通过去除文件冗余数据(如重复字符、无用元数据)减小体积,分为无损压缩(完全恢复原始数据,如文本文件)和有损压缩(牺牲部分质量,如图片/视频)。调整压缩级别:7z a -mx=9 archive.7z files(7-Zip最高压缩)。选择压缩块大小:大文件(如视频)使用更大块(如64MB)提升解压速度。NTFS:支持透明压缩,但压缩大文件(>30GB)可能失败。避免混合使用不同压缩格式(如.zip内嵌.rar)。并行压缩:启用多线程(如pigz替代gzip)。避免压缩已损坏文件,防止解压错误。
2025-04-02 14:43:09
361
原创 Linux基础-磁盘管理与文件系统
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1 # 创建RAID 1。lvcreate -s -n data_snap -L 10G /dev/data_vg/data_lv # 创建快照。mkfs.ext4 /dev/data_vg/data_lv # 格式化并挂载。mount /dev/sdb1 /mnt/data # 挂载设备到目录。mkfs.ext4 /dev/md0 # 格式化并挂载。
2025-04-02 14:39:22
815
原创 Linux基础文件目录管理
home 用户主目录(如/home/user)/etc 存放系统配置文件(如passwd)/boot 存放启动文件(内核、引导程序)/bin 存放基础命令(如ls、cp)/dev 存放设备文件(如硬盘、键盘)/var 存放可变数据(日志、缓存)/tmp 临时文件目录(重启后清空)
2025-04-02 14:34:21
310
原创 Linux基础文件目录权限配置
相对路径(如./file)可能因当前目录变化导致权限失效,建议使用绝对路径(如/home/user/file)。chmod 755 /var/www/html # 所有者可执行(运行Web服务)作用:仅允许文件所有者、目录所有者或root删除目录内文件(如/tmp)。目录 列出文件 添加/删除文件 进入目录 4/2/1 系统目录、共享目录。目录的w权限允许删除/重命名目录内文件,即使文件本身权限受限。作用:目录下新建文件继承目录的组权限(如共享开发目录)。
2025-04-02 14:29:54
731
原创 Linux基础命令sed
**-e / --expression** 添加编辑命令到脚本列表 sed -e ‘s/old/new/g’ -e ‘d’ file.txt 同时替换和删除。**-z / --null-data** 以空字符(\0)分隔行,处理包含\n的文本 sed -z ‘s/\x0/ /g’ file.txt 替换换行符为空格。**-i / --in-place** 直接修改原文件(慎用) sed -i.bak ‘s/old/new/g’ file.txt 修改并备份为.bak。} 匹配后替换并跳转。
2025-03-31 16:33:48
940
原创 Linux基础命令alias
alias mydate=‘date “+%Y-%m-%d %H:%M:%S”’ # 输出格式:2025-03-31 12:34:56。alias -p # 显示所有别名,如 alias ls=‘ls --color=auto’通过 alias 定义的别名仅在当前 Shell 会话中有效,关闭终端或重启系统后失效。alias ll=‘ls -l --color=never’ # 更新后。alias ll=‘ls -l’ # 执行。**-p** 显示所有已定义的别名。#创建显示当前时间的别名。
2025-03-31 16:26:37
248
原创 Linux基础命令export
**-n / --no-export** 删除变量的导出属性(变量本身仍存在) export -n VAR_NAME 删除 VAR_NAME 的导出属性。**-f / --function** 指定操作对象为函数而非变量 export -f func_name 导出函数 func_name。**-p / --print** 显示所有已导出的变量和函数 export -p 列出当前 Shell 的环境变量和函数。**-nf** 删除所有已导出的函数 export -nf func_name。
2025-03-31 16:23:16
365
原创 Linux基础命令history
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " # 显示精确到秒的时间。清空当前 Shell 的历史命令缓存,但不会删除持久化存储的历史文件(如 ~/.bash_history)。使用 export PROMPT_COMMAND=‘history -a’ 可实时同步历史记录。将当前会话新增的命令追加到历史文件(如 ~/.bash_history)。history -d 3 # 删除内存中的第3条命令。history -a # 追加当前会话命令到文件。
2025-03-31 16:20:11
501
原创 Linux基础命令ln
**-L / --logical** 解引用符号链接:目标为符号链接时,链接到其指向的实际文件 ln -L symlink target 创建指向实际文件的链接。**-r / --relative** 创建相对路径符号链接(移动链接时保持有效) ln -rs /path/to/source ./relative_link。**-P / --physical** 不解引用符号链接:直接链接到符号链接本身 ln -P symlink target 创建指向符号链接的链接。
2025-03-31 15:10:54
291
原创 Linux基础命令source
Windows winget source --name, --arg, --type, --trust-level, --header 等。模块化加载函数库 source functions.sh 导入脚本中定义的函数,直接在当前Shell调用。特性 source/. 命令 ./script.sh 或 sh script.sh 来源。Linux中需使用绝对路径或相对路径(如 source ./script.sh)。add --name, --arg, --type 添加新源(需管理员权限)
2025-03-31 15:04:26
347
原创 Linux基础命令tr
**-t / --truncate-set1** 截断字符集1至与字符集2相同长度,多出部分被删除 `tr -t ‘abcd’ ‘123’ < file # a→1, b→2, c→3, d→删除。**-c / --complement** 取字符集1的补集进行操作(即替换或删除补集中的字符) tr -c ‘0-9’ ’ ’ < file # 保留数字,其余替换为空格。echo “hello world” | tr ‘a-z’ ‘A-Z’ # 输出: HELLO WORLD。
2025-03-31 14:47:44
532
原创 Linux基础命令awk
1. 指定字段分隔符选项 功能说明 示例与场景 来源**-F fs** 设置输入字段分隔符(fs 可为字符串或正则表达式) awk -F: ‘{print $1}’ /etc/passwd 按冒号分隔 /etc/passwd 文件2. 定义用户变量选项 功能说明 示例与场景 来源**-v var=value** 在脚本执行前定义变量 awk -v name=“Alice” ‘{print name,$0}’ data.txt 传递变量到脚本3. 读取脚本文件。
2025-03-31 14:38:42
493
原创 Linux基础命令crontab
**-r / --remove** 删除当前用户的crontab文件 crontab -r 清空所有任务(谨慎使用)**-e / --edit** 编辑当前用户的crontab文件 crontab -e 打开默认编辑器修改任务。**-i / --interactive** 删除前确认提示 crontab -r -i 删除时需手动确认。**-l / --list** 列出当前用户的crontab任务 crontab -l 查看所有定时任务。小时 0-23 0 */2 * * * 每2小时执行。
2025-03-31 14:20:27
736
原创 Linux基础命令date
**+** 自定义输出格式(需配合格式符) date ‘+%Y-%m-%d %H:%M:%S’ 显示2025-03-28 15:30:00格式。**-d / --date** 显示指定日期/时间(非当前时间) date -d “2025-03-28” 显示2025年3月28日信息。**-I / --iso** 以ISO 8601格式输出日期(YYYY-MM-DD) date -I 显示2025-03-28。帮助与版本 -h, --help, -v, --version。
2025-03-28 13:44:46
364
原创 Linux基础命令cal
**-H yyyy-mm-dd** 使用指定日期(yyyy-mm-dd)作为当前日期(调试用途) cal -H 2025-03-28 显示该日所在月日历。**-d yyyy-mm** 使用指定日期(yyyy-mm)作为当前日期(调试用途) cal -d 2025-03 显示2025年3月日历。**-3 / --three** 显示上个月、当前月和下个月的日历 cal -3 显示三个月日历。**-1 / --one** 仅显示当前月份的日历(默认行为) cal -1 显示当前月份日历。
2025-03-28 13:41:22
388
原创 Linux基础命令man
章节(可选):手册页分为多个章节(如 1 为用户命令,5 为配置文件格式),若省略则默认从第一章开始查找。sudo apt-get install --reinstall manpages-zh # 更新中文手册。不同发行版手册页可能存在差异,建议优先查看当前系统的手册页。#查看系统调用 getuid(2) 的手册(章节 2)部分手册页需 root 权限访问(如内核相关命令)。#查看 passwd 文件格式手册(章节 5)#查看 gzip 命令手册(跳过版本信息)#查看 tar 命令手册。
2025-03-28 13:37:08
164
原创 Linux基础命令tar
**-x / --exclude** 排除指定文件或目录 zip -r project.zip . -x “node_modules/*” 跳过 node_modules。**-P / --password** 设置压缩密码(明文输入) zip -P mypass secret.zip file.txt。**-j / --junk-paths** 仅保存文件名,不保留目录结构 zip -j files.zip。基础操作 -r, -e, -x, -u。安全与调试 -P, -v, -T。
2025-03-28 12:30:30
343
原创 Linux基础命令gzip
**-c / --stdout** 将压缩/解压数据输出到标准输出,保留源文件 gzip -c file.txt > file.txt.gz 保留原文件。**-S / --suffix** 自定义压缩文件后缀名 gzip -S .bz2 file.txt 生成file.txt.bz2。**-d / --decompress** 解压.gz文件 gzip -d file.txt.gz 解压为file.txt。文件处理 -k, -S, -t, -f, -h, -q, -n, -N, -V。
2025-03-28 12:27:43
238
原创 Linux基础命令tar
tar -czvf archive.tar.gz src/**-C / --directory** 指定解压/打包的工作目录 tar -xvf archive.tar.gz -C /opt/backup。**-z / --gzip** 使用 gzip 压缩(生成 .tar.gz) tar -czvf report.tar.gz /var/log。**-k / --keep-old-files** 解压时跳过已存在的文件(不覆盖) tar -xvf backup.tar -k。
2025-03-28 12:21:16
818
原创 Linux基础命令umount
**-n / --no-mnt-tab** 不更新 /etc/mtab 文件 umount -n /mnt 临时操作不记录。**-f / --force** 强制卸载,忽略设备忙或错误 umount -f /mnt 强制卸载占用中的文件系统。**-a / --all** 卸载 /etc/mtab 中列出的所有文件系统 umount -a 卸载所有挂载点。**-r / --read-only** 卸载失败时尝试以只读模式重新挂载 umount -r /mnt。强制与特殊 -f, -l, -t。
2025-03-28 12:18:10
229
原创 Linux基础命令mount
**-t, --type TYPE** 指定要挂载的文件系统类型(如 ext4、ntfs、vfat、iso9660 等) mount -t ext4 /dev/sda1 /mnt/data 挂载 ext4 分区。**-o, --options OPTIONS** 指定挂载选项,多个选项用逗号分隔 mount -o ro /dev/sdb1 /mnt/usb 只读挂载。**-n, --no-mtab** 不更新 /etc/mtab 文件(用于临时挂载) mount -n /dev/sda1。
2025-03-28 12:14:33
990
原创 Linux基础命令mkfs
**-m, --reserved-blocks-percentage PERCENTAGE** 设置保留空间比例(默认 5%) mkfs -t ext4 -m 10 /dev/sda1 保留 10% 空间。属性配置 -L, --label, -b, --block-size, -m, --reserved-blocks-percentage, -O, --extra-options。**-v, --verbose** 显示详细创建过程 mkfs -t xfs -v /dev/sdb 输出详细日志。
2025-03-28 12:11:04
483
原创 Linux基础命令fdisk
**-s** 显示指定分区的大小(以扇区计) fdisk -s /dev/sda1 → 输出分区大小(如 1048576 扇区)**-z** 清空磁盘并创建新分区表(覆盖现有数据) fdisk -z /dev/sda → 清空 /dev/sda 的分区表。**-S** 设置分区起始扇区(需与 -c 结合使用) fdisk -c -S 63 /dev/sda → 调整分区起始位置。**-H** 设置隐藏分区(需与 -c 结合使用) fdisk -c -H 3 /dev/sda → 创建隐藏分区。
2025-03-28 12:07:55
790
原创 Linux基础命令nice
**-n / --adjustment=N** 设置优先级调整值(增量),范围为 -20(最高优先级)到 +19(最低优先级) nice -n 10 command 降低优先级;**-g PGID** 按进程组ID修改所有进程优先级 renice -n -5 -g 1000。nice命令 -n, --adjustment, --help, --version。root用户:可覆盖完整范围 **-20(最高)** 至 **+19**。renice命令 -p, -g, -u, -t。
2025-03-28 12:04:06
239
原创 Linux基础命令kill
**-s / --signal** 指定发送的信号(名称或编号) kill -s SIGKILL 1234 强制终止进程。**-** 与 killall 结合使用,按正则表达式匹配进程名 killall -r “.*” 终止所有匹配的进程。**-g / --pgroup** 按进程组 ID 终止所有进程 kill -g 4567 终止组内所有进程。**-u** 按用户终止进程(需权限) kill -u root 终止所有 root 用户进程。pgrep process_name 直接获取 PID。
2025-03-28 12:00:46
369
原创 Linux基础命令ps
**-o 列名** 自定义输出列(支持多列组合,如 pid,user,%cpu) ps -eo pid,user,cmd 仅显示PID、用户和命令。**-L** 显示进程的LWP(轻量级线程ID) ps -L -p 1234 查看进程1234的线程信息。**-a** 显示当前终端关联的所有进程(不包括无终端的进程) ps -a 显示当前终端下的活动进程。**-p PID** 查看指定PID的进程信息 ps -p 1234 显示PID为1234的进程详情。
2025-03-28 11:56:25
981
原创 Linux基础命令chown
**-h / --no-dereference** 仅修改符号链接本身的权限,而非指向的目标文件 chown -h user1 symlink。*-R / --recursive** 递归修改目录及其子目录和文件的所有者/组 chown -R user1:group1 /data/**-c / --changes** 仅显示实际发生权限变更的文件信息(精简输出) chown -c user1 file.txt。**-H** 当遇到目录的符号链接时,遍历其指向的目录(需与 -R 结合使用)
2025-03-28 11:52:30
550
原创 Linux基础命令chmod
c / --changes 仅显示权限发生变化的文件信息(与 -v 类似但更精简) chmod -c 755 file.txt。-R / --recursive 递归修改目录及其子目录、文件的权限 chmod -R 755 /var/www。-f / --silent 静默模式,忽略错误信息(适用于脚本批量操作) chmod -f o+w *.log。用户类型:u(所有者)、g(组)、o(其他用户)、a(所有用户)操作符:+(添加)、-(移除)、=(精确设置并覆盖原有权限)
2025-03-28 11:49:09
214
原创 Linux基础命令chmod
chmod --reference=template.txt newfile.txt # 复制权限。chmod -R 777 / # 正常执行会报错,需加 --preserve-root。chmod 4755 /usr/bin/su # 设置suid权限(等价于。功能:设置文件执行时以所有者权限运行(如 /usr/bin/passwd)示例:chmod -R 755 /var/log/ 可能影响日志服务。语法:[u/g/o/a] [+/-/=] [r/w/x]
2025-03-20 15:48:14
718
原创 Linux基础命令passwd
sudo passwd -S username # 输出类似:PS 2025-03-20 0 90 7 -1。sudo passwd -e username # 密码立即过期。sudo passwd -f username # 强制修改密码。功能:立即使密码过期,强制用户下次登录时修改(需 root)sudo passwd -d username # 清除密码。功能:仅更新密码有效期,不修改实际密码(需密码已过期)功能:删除用户密码(禁用密码登录,需 root)
2025-03-20 15:44:00
233
原创 Linux基础命令usermod
sudo usermod -d /data/projects -m user1 # 主目录改为 /data/projects 并移动内容。sudo usermod -b /export/home user12 # 主目录基路径为 /export/home。sudo usermod -l newuser olduser # 用户名改为 newuser。sudo usermod -s /sbin/nologin user11 # 禁止登录。
2025-03-20 15:40:28
821
原创 Linux基础命令useradd
useradd -b /export/home user12 # 主目录为 /export/home/user12。useradd -d /data/projects user1 # 主目录为 /data/projects。功能:指定用户默认登录Shell(如 /bin/bash 或 /sbin/nologin)useradd -s /sbin/nologin user11 # 禁止登录。useradd -m user3 # 创建主目录 /home/user3。
2025-03-20 15:34:57
753
原创 Linux基础命令shutdown
(Windows)或 man whoami(Linux)获取详细信息。权限切换:使用 sudo 或 su 切换用户后,whoami 会显示新用户。whoami 无法显示组信息或特权,需使用 groups 或 id 命令补充。Windows:whoami 提供更详细的用户信息(如组、特权)。Windows:需管理员权限查看完整信息(如 /PRIV)。功能:仅显示当前有效用户名(等价于 id -un)。Linux:whoami 等价于 id -un。Linux:普通用户即可查看自身信息。
2025-03-20 15:30:19
145
原创 Linux基础命令netstat
(Windows)查看。功能:显示所有连接(包括 LISTEN、ESTABLISHED 等状态)和监听端口。PID/Program name 关联进程ID及程序名称 所有(需-p)**-b / --show-ports**(Windows专用)netstat -a # 显示所有TCP/UDP连接及监听端口。-y / --interfaces**(Windows专用)netstat -l # 列出所有监听的TCP/UDP端口。Proto 协议类型(TCP/UDP/ICMP等) 所有。
2025-03-20 15:29:38
541
原创 Linux基础命令ping
ping -s 1024 www.baidu.com # 发送1024字节的数据包。ping -c 5 www.google.com # 发送5次请求后自动停止。ping -D www.baidu.com # 记录时间戳用于分析延迟变化。ping -4 ipv4.google.com # 仅通过IPv4测试。ping -6 ipv6.google.com # 仅通过IPv6测试。ping -R ipv6.google.com # 跟踪反向路由路径。
2025-03-20 15:24:47
604
原创 Linux基础命令uname
uname -a # 输出类似:Linux localhost 4.15.0-54-generic x86_64 GNU/Linux。uname -v # 输出:#1 SMP Debian 4.19.67-2+deb10u1。uname -sr # 输出:Linux 5.4.0-42-generic。uname -r # 输出:5.4.0-42-generic。uname -o # 输出:GNU/Linux。uname -m # 输出:x86_64。uname -p # 输出:x86_64。
2025-03-20 15:17:36
234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人