好玩的linux命令

来源:互联网 发布:电脑桌面图标整理软件 编辑:程序博客网 时间:2024/04/28 02:13

无意中看到一篇关于shell命令的用法,挺实用的,故记录下

原文:http://wowubuntu.com/downloads/TopLinuxShellCommand.pdf

-2.find模糊匹配

find /media/cdrom -name '*gcc*'

-1.删除目录下的所有文件夹

rm -R -fr -- */

0.看天气
curl http://wttr.in/your_city_name

1.sudo !!

!!相当于!-1,也就是执行前一条命令,当然也可以!-2,!-50。

扩展

!?str? 最近一条包含str的命令

!* 上一条命令中的所有参数

2.$ python -m SimpleHTTPServer

启动Python的SimpleHTTPServer模块,以HTTP方式共享当前文件夹的文件

3.普通用户vim保存一个root权限的文件

:w !sudo tee %

忘记了sudo,直接执行这条命令,不用再重新打开编辑

4.替换上一条命令中的一个短语

$ ^foo^bar^

结合!!使用,如!!:s/foo/bar/

扩展

!!:gs/old/new 将上一命令中的old替换为new

!scp:gs/old/new 将上一scp命令中的old替换为new

5.快速备份一个文件

$ cp filename{,.bak}

filename{,.bak} 这一段会被展开成filename filename.bak再传给cp

关于各种括号 http://blog.csdn.net/tttyd/article/details/11742241

关于集合 http://www.catonmat.net/blog/set-operations-in-unix-shell/

6.用SSH创建端口转发通道

ssh -N -L2001:remotehost:80 user@somemachine

本机打开了2001端口,对本机2001端口的请求通过somemachine作为跳板, 转到remotehost的80端口上。

7.重置终端

reset

8.在午夜的时候执行某命令

echo cmd | at midnight

at这个组件,通常跟cron相提并论,不过at主要用于定时一次性任务,而cron定 时周期性任务。

at 的参数比较人性化,跟英语语法一样,可以tomorrow, next week之类的,详细的查看 手册man at。

9.映射一个内存目录

mount -t tmpfs -o size=1024m tmpfs /mnt/ram

挂载1G内存到/mnt/ram下,里面存多少就用多少

一般的发行版都会在fstab内预留了一个内存目录,挂载在/dev/shm,直接使用即可

10.用DIFF对比远程文件跟本地文件

ssh user@host cat /path/to/remotefile | diff /path/to/localfile -

-是指从stdin读入

11.更友好的显示当前挂载的文件系统

mount | column -t

column 用于把输出结果进行列表格式化操作

接上,用 awk 来再处理一下,把2和4去掉

(echo "DEVICE PATH TYPE FLAGS" && mount | awk '2=$4=”“;1’) | column -t

把该命令做一个别名

nicemount() { (echo “DEVICE PATH TYPE FLAGS” && mount | awk ‘2=4=”“;1’) | column -t; }

12.实时某个目录下查看最新改动过的文件

watch -d -n 1 ‘df; ls -FlAt /path’

watch 是实时监控工具,-d 参数会高亮 显示变化的区域,-n 1 参数表示刷新间隔为 1 秒

‘df; ls -FlAt /path’是要执行的命令,df查看硬盘使用情况,ls -FlAt 查看/path下的所有文件

13.通过 SSH 挂载远程主机上的文件夹

sshfs name@server:/path/to/folder /path/to/mount/point

需要安装 FUSE 及 sshfs 这两个软件

卸载使用 fusermount 命令: fusermount -u /path/to/mount/point

14.通过 DNS 来读取 Wikipedia 的词条

dig +short txt .wp.dg.cx

测试不可用,在国外主机上测试也不可用,关掉了?

15.用 Wget 的递归方式下载整个网站

wget –random-wait -r -p -e robots=off -U Mozilla www.example.com

参数解释:

–random-wait 等待 0.5 到 1.5 秒的时间来进行下一次请求

-r 开启递归检索

-e robots=off 忽略 robots.txt

-U Mozilla 设置 User-Agent 头为 Mozilla

其它一些有用的参数:

–limit-rate=20K 限制下载速度为 20K

-o logfile.txt 记录下载日志

-l 0 删除深度(默认为5)

–wait=1h 每下载一个文件后等待1小时

16.简易计时器

time read

运行命令开始算起,到结束时按一下Enter

17.列出你最常用的10条命令

history | awk ‘{a[$2]++}END{for(i in a){print a[i] ” ” i}}’ | sort -rn | head

18.看星球大战

telnet towel.blinkenlights.nl

如果是ipv6,还可以看彩色的

0 0
原创粉丝点击