Linux工具--实用工具
Linux 实用工具
在 Linux 环境中,有许多强大而灵活的工具可以帮助用户处理日常任务。本文记录一些实用的命令行工具和它们的常见用法,后续可能会继续更新。
文件搜索工具:find 和 grep
find
find 是用于根据文件名、类型、修改时间等条件查找文件的工具。查找当前目录及其子目录下所有 .log 文件:
-name
根据文件名查找文件(大小写敏感)
1 | find . -name "*.log" |
-type
根据文件类型进行查找
1 | find . -type d |
-type 参数可以取以下值:
f:普通文件
d:目录
l:符号链接
b:块设备文件
c:字符设备文件
-mtime
查找在指定天数前修改的文件,正数为多少天前,负数则为多少天内
1 | find . -mtime +7 |
-size
根据文件大小查找,查找大于 100MB 的文件
1 | find . -size +100M |
-exec
对找到的每个文件执行命令,{} 代表文件名,; 结束命令。
比如,查找 .log 文件并删除它们:
1 | find . -name "*.log" -exec rm {} \; |
grep
grep 用于在文本文件中查找符合特定模式的行。
查找包含 “error” 的所有行:
1 | grep "error" logfile.txt |
grep经常和其他命令配合使用,在当前目录及其子目录中,查找所有包含关键字 “error” 的 .log 文件:
1 | find . -name "*.log" -type f -exec grep -H "error" {} \; |
find . -name "*.log"
:在当前目录及其子目录中查找所有 .log 文件。-exec grep -H "error" {}
:对找到的每个文件执行 grep,搜索关键字 “error”。-H 选项确保输出包含文件名。\;
:表示 exec 命令结束。
这个组合能有效找到包含特定关键字的文件,适用于日志文件分析等场景。
图片处理工具:ImageMagick
ImageMagick 是一个功能丰富的命令行工具,广泛用于处理和转换图片格式。
下面是一些常见的用法:
安装 ImageMagick
1 | sudo apt-get install imagemagick |
图片调整大小和压缩
将图片的像素大小调整为 100x100,并保持 90% 的质量,同时居中裁剪:
1 | convert -resize 100x100 -quality 90 -gravity center -crop 100x100+0+0 src.jpg dst.jpg |
批量压缩图片
通过 mogrify 命令,可以直接在源文件上进行图片处理,这对于批量操作特别有用。例如,下面的命令将图片大小调整为 16x16 并转换为 .png 格式。
1 | mogrify -resize 16x16 -format png *.jpg |
系统监控工具:htop 和 iotop
htop
htop 是一款用于监控系统资源使用情况的交互式工具,它显示了 CPU、内存、任务等的使用详情,并支持方便的进程管理。
安装和运行 htop:
1 | # 安装 |
iotop
iotop 专门用于监控系统中各个进程的磁盘 I/O 活动。使用以下命令安装并运行:
1 | # 安装 |
文件传输工具:rsync
rsync 是一个高效的文件和目录同步工具,它能够同步本地或远程文件,支持增量传输,即只传输更改的部分。
大多数 Linux 发行版默认已安装 rsync,如果没有安装,可以通过以下命令安装:
1 | sudo apt-get install rsync |
示例:
将本地目录同步到远程服务器:
1 | rsync -avz /local/directory user@remote:/remote/directory |
-a 归档模式,保留文件权限、符号链接等信息。
-v 显示传输过程中的详细信息。
-z 压缩传输,提高传输速度。
网络工具:curl
curl 是一个用于执行 HTTP、FTP 请求的强大工具,适用于下载文件、测试 API、获取网页内容等任务。
通常 curl 已经默认安装,如果没有,可以手动安装:
1 | sudo apt-get install curl |
使用示例:
下载文件:
1 | curl -O http://example.com/file.zip |
发送 GET 请求并显示返回内容:
1 | curl http://example.com |
发送 POST 请求:
1 | curl -X POST -d "param1=value1¶m2=value2" http://example.com/api |