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

10 cloc

统计目录中源码文件的行数。

$ cloc .
    3769 text files.
    3713 unique files.
     586 files ignored.

github.com/AlDanial/cloc v 1.82  T=9.12 s (351.9 files/s, 176310.3 lines/s)
---------------------------------------------------------------------------------------
Language                             files          blank        comment           code
---------------------------------------------------------------------------------------
Python                                1823         111987         137183         520054
C                                      315          49176          44958         304067
C/C++ Header                           350          13996          10373         118865
reStructuredText                       483          71697          83814          90178
Bourne Shell                            18           2982           2633          19408
m4                                       3            524            150           5463
C++                                      5            717            258           3170
HTML                                    10            107             11           2017
WiX source                              51            162             41           1725
make                                     4            276            292           1613
Assembly                                 7            258            395           1481
DOS Batch                               29            288             88           1376
Windows Module Definition                8             23             14           1360
MSBuild script                          27             44              4            680
Objective C                              7             98             61            635
Lisp                                     1            109             81            502
YAML                                     8            112              4            452
Pascal                                   3            111            261            339
JavaScript                               3             37             58            315
Windows Resource File                    7             40             47            295
WiX string localization                 11             28              0            188
PowerShell                               5             27             58            156
CSS                                      2             42              4            154
INI                                      1             42             27            102
XML                                      6             56              2             77
D                                        5              8              1             73
JSON                                     6              3              0             65
Fish Shell                               1             13             15             47
IDL                                      2              1              0             35
C Shell                                  1              9              7             21
SVG                                      8              0              0              8
Visual Basic                             1              0              1              0
---------------------------------------------------------------------------------------
SUM:                                  3211         252973         280841        1074921
---------------------------------------------------------------------------------------