【点滴】LINUX之tr命令

本文介绍Linux下的tr命令,演示如何利用该命令实现文本转换、字符删除与压缩等实用操作,并给出多个示例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

据说tr命令是linux行家里的精美小工具,可以用来编写很多优美的单行命令。
使用:
tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"]
参数:
-c     #使用string1的补集,要求string为ASCII
-d     #删除string1中所有输入字符
-s     #删除所有重复出现的字符序列,只保留第一个,即将重复出现的字符串压缩为第一个字符串

#大小转为小写
> echo "HELLO WORLD"|tr "A-Z" "a-z"
hello world
#删除数字
> echo "HELLO 134 WORLD 565"|tr -d "1-9"
HELLO WORLD
#-c取补集,代表删除非数字、'\n'换行
> echo "HELLO 134 WORLD 565"|tr -d -c "1-9\n"
134565
#删除非数字、空格、'\n'换行
> echo "HELLO 134 WORLD 565"|tr -d -c "1-9 \n"
134 565
#压缩空格,只保留一个
> echo "HELLO WORLD HELLO SHELL"|tr -s ' '
HELLO WORLD HELLO SHELL
#用tr命令做加法
> cat sum.txt
1
2
3
4
5
> cat sum.txt |echo $[ $(tr '\n' '+') 0 ]
15
#cat sum.txt|tr '\n' '+' 将所有'\n'换成一个'+',输出1+2+3+4+5+,最后加上一个0变成$[ 1+2+3+4+5+0 ]得到15

字符类:tr也可以使用字符类,如下
alnum     #字母和数字
alpha     #字母
cntrl     #控制(非打印)字符
digit     #数字
graph     #图形
lower     #小写字母
upper     #大写字母
print     #可打印字符
punct     #标点符号
space     #空白字符
xdigit     #十六进制字符
>tr '[:lower:]' '[:upper:]'
小写转换为大写


### Linux 中与 VM(虚拟机)相关的常用命令及其用途 #### 1. Docker 容器管理 Docker 是一种流行的容器化技术,用于创建、部署和运行应用程序。以下是常用的 Docker 命令- **`docker run`**: 启动一个新的容器实例并执行指定的命令。 ```bash $ docker run --privileged -v /usr/bin/perf:/usr/bin/perf -it my_image /bin/bash ``` 上述命令通过 `--privileged` 提供特权访问,并挂载主机上的 `/usr/bin/perf` 到容器内部[^1]。 - **`docker ps`**: 显示当前正在运行的容器列表。 ```bash $ docker ps ``` - **`docker images`**: 查看本地存储的所有镜像。 ```bash $ docker images ``` - **`docker stop` 和 `docker start`**: 控制容器的停止和启动。 ```bash $ docker stop container_id_or_name $ docker start container_id_or_name ``` --- #### 2. GRUB 配置更新 GRUB 是 GNU GRand Unified Bootloader 的缩写,负责引导操作系统。当修改内核模块或其他配置时,可能需要重新生成 GRUB 配置文件。 - 使用 `grub2-mkconfig` 更新 GRUB 配置: ```bash $ grub2-mkconfig -o /boot/grub2/grub.cfg ``` 此命令会扫描系统中的可用内核和其他选项,并生成新的 GRUB 配置文件[^2]。 --- #### 3. MySQL 开机自启和服务控制 对于在虚拟环境中安装的服务(如 MySQL),可以使用 systemd 来管理和启用服务。 - 设置 MySQL 开机自动启动: ```bash $ systemctl enable mysqld ``` 这条命令会在系统的启动过程中注册 MySQL 服务,使其随系统一起启动[^3]。 - 手动启动或停止 MySQL 服务: ```bash $ systemctl start mysqld $ systemctl stop mysqld ``` --- #### 4. 虚拟机监控工具 (virsh) `virsh` 是 libvirt 工具的一部分,专门用来管理 KVM/QEMU 虚拟机。 - 列出所有虚拟机状态: ```bash $ virsh list --all ``` - 启动或关闭虚拟机: ```bash $ virsh start vm_name $ virsh shutdown vm_name ``` - 删除虚拟机定义: ```bash $ virsh undefine vm_name ``` --- #### 5. CPU 性能分析工具 (perf) `perf` 是 Linux 下的一个性能分析工具,常用于调试和优化程序性能。 - 将 perf 工具挂载到 Docker 容器中以便于性能调优: ```bash $ docker run --privileged -v /usr/bin/perf:/usr/bin/perf -it my_image /bin/bash ``` 如上所示,可以通过 `-v` 参数将宿主机的 perf 工具映射至容器环境。 --- #### 6. 系统资源查看 (top, htop, free) 这些工具可以帮助管理员实时监测虚拟机内的资源消耗情况。 - 查看进程占用情况: ```bash $ top ``` - 更友好的界面显示: ```bash $ htop ``` - 检查内存使用状况: ```bash $ free -h ``` --- #### 7. 文件同步工具 (rsync) 在虚拟机之间传输数据时,`rsync` 是一个高效的选择。 - 复制目录到另一台机器: ```bash $ rsync -avz source_directory user@remote_host:destination_directory ``` --- ### 示例脚本:自动化重启 GRUB 并验证配置 ```bash #!/bin/bash echo "Updating GRUB configuration..." grub2-mkconfig -o /boot/grub2/grub.cfg if [ $? -eq 0 ]; then echo "GRUB updated successfully." else echo "Failed to update GRUB!" fi ``` 上述脚本实现了自动化的 GRUB 配置更新流程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值