Linux 命令行小工具

Table of Contents

1 iconv

编码转换

-t 目标编码
-f 原编码

如:

iconv -t utf8 -f gbk index.html > index.htm

2 import

import 是一个命令行版的屏幕截图工具。

import 文件名

截图后自动生成文件名,并保存到 home 目录中:

#!/bin/sh
filename=date +%Y%m%d%H%M%S
savepath=$HOME

exec import $savepath'/'$filename'.jpg'

3 zenity

使用 zenity 命令,可以弹出一个提示框,提示的文本内容可以自定义。如下例子是一个提示是否关机或重启的脚本:

#! /bin/bash

case $1 in
"down")
zenity --question --text "关机?" && sudo shutdown -h now
;;
"reboot")
zenity --question --text "重启?" && sudo shutdown -r now
;;
esac

4 apt-file

今天源码编译了 Apache,编译中没出问题。但运行时提示无法加载 xxx.so 库。说明 Apache 源码不依赖于它。

同日下午,编译 pypy 的时候,遇到 C 源码中找不到某头文件的问题。

知文件名不知包名,这种情况屡见。可用 apt-file 命令搜索某文件在哪些包中有:

apt-file search xxx

第一次使用 apt-file,需更新它的数据库:

apt-file update

5 pdfunite

合并 PDF 文件

pdfunite file1.pdf file2.pdf output.pdf

6 convert

格式转换

例,合并多张图片到一个 PDF 文件:

convert 1.jpg 2.jpg 3.jpg out.pdf

7 gs

合并多个 PDF:

$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=输出的独立文件.pdf -dBATCH 文件1.pdf 文件2.pdf

8 ack

比 grep 要快的文本搜索工具。

官网:https://beyondgrep.com/

9 xclip(命令行使用粘贴板数据)

如下,把echo的内容复制到粘贴板:

echo hello | xclip -selection clipboard