实用的Linux Shell用法和技巧

本文最后更新于2014年6月27日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

1、为 man 手册创建 pdf 版本

比如制作 ls 命令的 man 手册 pdf 文件

除了制作pdf,还有一种制作txt版本的manual的方法:

man -t find | ps2pdf -> find_manual.pdf
man find | col -b > find_manual.txt

2、为命令绑定快捷键

这样直接按 CTRL+L 就列出目录了,你可以把这条命令加入到 ~/.bashrc 中,这样不必每次重复设定。

3、一键启动远程主机上的 tmux

tmux 是一个 GNU Screen 的替代品,一个可以在终端里开启多窗口的工具,可以说是很好用的远程服务维护工具,通过以下命令就可以在终端中一条命令直接开启远程服务器上的 tmux 。

如果你之前在远程主机上已经开启了 tmux 的话,用以下命令。

除此之外,你可以结合第二条命令来绑定快捷键,这样我们只需一键就可以快速登录并开启 tmux 了。

4、用 file 命令查看设备信息{比较详细}

5、用 md5 值对比两个文件是否一致

一致的话不会出现提示,不一致的话就会有提示信息

6、一条命令把 CD/DVD 作成 ISO 文件

7、通过 ssh 复制整个硬盘到远程目录(带压缩)

8、在不浪费磁盘的情况下测试网络速度

以上命令通过 ssh 发送 4 GB 数据到远程主机,但不会占用任何磁盘空间。

原文链接http://wowubuntu.com/shell-cmd.html


Linux shell用法和技巧

检查远程端口是否对bash开放:

让进程转入后台:

将进程转到前台:

产生随机的十六进制数,其中n是字符数:

在当前shell里执行一个文件里的命令

截取前5个字符:

SSH debug 模式:

SSH with pem key(-i选项):

用wget抓取完整的网站目录结构,存放到本地目录中:

一次创建多个目录

列出包括子进程的进程树:

创建 war 文件:

测试硬盘写入速度:

测试硬盘读取速度:

获取文本的md5 hash

检查xml格式:

将tar.gz提取到新目录里(-C选项):

使用curl获取HTTP头信息(-I选项):

修改文件或目录的时间戳(YYMMDDhhmm):

用wget命令执行ftp下载:

生成随机密码(例子里是16个字符长):

快速备份一个文件(实用):

访问Windows共享目录:

执行历史记录里的命令(这里是第100行):

解压:

输入多行文字(CTRL + d 退出):

创建空文件或清空一个现有文件:

与Ubuntu NTP server同步时间:

用netstat显示所有tcp4监听端口:

qcow2镜像文件转换:

周期性的运行程序,并显示其输出(缺省是2秒一次):

所有用户列表:

Mount root in read/write mode:

挂载一个目录(这是不能使用链接的情况):

动态更新DNS server:

递归grep所有目录:

列出前10个最大的文件:

显示剩余内存(MB):

打开Vim并跳到文件末:

Git 克隆指定分支(master):

Git 切换到其它分支(develop):

Git 删除分支(myfeature):

Git 删除远程分支

Git 将新分支推送到远程服务器:

打印历史记录中最后一次cat命令:

运行历史记录里最后一次cat命令:

找出/home/user下所有空子目录:

获取test.txt文件中第50-60行内容:

运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):

创建临时RAM文件系统 – ramdisk (先创建/tmpram目录):

Grep whole words:

在需要提升权限的情况下往一个文件里追加文本:

列出所有kill signal参数:

在bash历史记录里禁止记录最后一次会话:

扫描网络寻找开放的端口:

设置git email:

To sync with master if you have unpublished commits:

将所有文件名中含有”txt”的文件移入/home/user目录:

将文件按行并列显示:

shell里的进度条:

使用netcat将数据发送到Graphite server:

将tabs转换成空格:

Skip bash history(不在history命令中记录):

去之前的工作目录:

拆分大体积的tar.gz文件(每个100MB),然后合并回去:

使用curl获取HTTP状态码

设置root密码,强化MySQL安全

当Ctrl + c不好使时

获取文件owner

block设备列表

找出文件名结尾有空格的文件

找出文件名有tab缩进符的文件

用“=”打印出横线:

[英文原文Linux shell tips and tricks ]

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/214.html

《实用的Linux Shell用法和技巧》上有2条评论


  1. $ man man
    ...
    man -k printf
    Search the short descriptions and manual page names for the keyword printf as regular expression. Print out any matches. Equivalent to apropos -r printf.
    在手册页的名字和简述中进行关键字(正则)匹配,等价于「apropos -r printf」。
    ...

    $ man -k printf
    curl_mprintf (3) - formatted output conversion
    format (n) - Format a string in the style of sprintf
    printf (1) - format and print data
    set_matchpathcon_printf (3) - set flags controlling the operation of matchpathcon or matchpathcon_index and configure the behaviour of validity checking and error displaying
    Tcl_AppendPrintfToObj (3) - manipulate Tcl objects as strings
    Tcl_ObjPrintf (3) - manipulate Tcl objects as strings

    $ man -k '^printf'
    printf (1) - format and print data

    $ whatis apropos
    apropos (1) - search the manual page names and descriptions

发表评论

电子邮件地址不会被公开。 必填项已用*标注