- 浏览: 221993 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (144)
- Python (6)
- Java (15)
- Project management (2)
- DB (11)
- Spring (1)
- Mobile (3)
- 互联网 (10)
- Maven (2)
- SCM (5)
- linux (24)
- Mac (14)
- UCD / UED (6)
- Tools (1)
- Test (1)
- iPhone (1)
- 新产品&新工具 (8)
- OAuth (4)
- Java Script (5)
- HTML5 (2)
- Lucene / Solr (7)
- nginx (1)
- Product Manager (1)
- Design (1)
- Office (1)
- RegExp (0)
- 性能调优 (2)
- 读书笔记 (2)
- NodeJs (2)
最新评论
-
410163269:
看不清楚 蛋疼
基于 OAuth 安全协议的 Java 应用编程 -
xufun:
路过,拜读学习了。谢谢!
未来的授权标准 -- OAuth 2.0 -
xufun:
好文!路过拜读了,谢谢!
NoSQL - CouchDB入门 -
mimicom:
牛b......
最牛B的 Linux Shell 命令(三) -
as3291363:
你有一些 中文資料嗎????
Java Script 代码生成器: CoffeeScript
1. 更友好的显示当前挂载的文件系统
mount | column -t
这条命令适用于任何文件系统,column 用于把输出结果进行列表格式化操作,这里最主要的目的是让大家熟悉一下 columnt 的用法。
下面是单单使用 mount 命令的结果:
$ mount
/dev/root on / type ext3 (rw)
/proc on /proc type proc (rw)
/dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)
而加了 column -t 命令后就成为这样了:
$ mount | column -t
/dev/root on / type ext3 (rw)
/proc on /proc type proc (rw)
/dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)
另外你可加上列名称来改善输出结果
$ (echo "DEVICE - PATH - TYPE FLAGS" && mount) | column -t
DEVICE – PATH – TYPE FLAGS
/dev/root on / type ext3 (rw)
/proc on /proc type proc (rw)
/dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)
列2和列4并不是很友好,我们可以用 awk 来再处理一下
$ (echo "DEVICE PATH TYPE FLAGS" && mount | awk '$2=$4="";1') | column -t
DEVICE PATH TYPE FLAGS
/dev/root / ext3 (rw)
/proc /proc proc (rw)
/dev/mapper/lvmraid-home /home ext3 (rw,noatime)
最后我们可以设置一个别名,为 nicemount
$ nicemount() { (echo "DEVICE PATH TYPE FLAGS" && mount | awk '$2=$4="";1') | column -t; }
试一下
$ nicemount
DEVICE PATH TYPE FLAGS
/dev/root / ext3 (rw)
/proc /proc proc (rw)
/dev/mapper/lvmraid-home /home ext3 (rw,noatime)
2. 运行前一个 Shell 命令,同时用 “bar” 替换掉命令行中的每一个 “foo”
!!:gs/foo/bar
!! 表示重复执行上一条命令,并用 :gs/foo/bar 进行替换操作。
关于 !! 这个用法在前一篇文章中 已有详细的介绍。
3. 实时某个目录下查看最新改动过的文件
watch -d -n 1 'df; ls -FlAt /path'
在使用这条命令时你需要替换其中的 /path 部分,watch 是实时监控工具,-d 参数会高亮显示变化的区域,-n 1 参数表示刷新间隔为 1 秒。
df; ls -FlAt /path 运行了两条命令,df 是输出磁盘使用情况,ls -FlAt 则列出 /path 下面的所有文件。
ls -FlAt 的参数详解:
-F 在文件后面加一个文件符号表示文件类型,共有 */=>@| 这几种类型,* 表示可执行文件,/ 表示目录,= 表示接口( sockets) ,> 表示门, @ 表示符号链接, | 表示管道。
-l 以列表方式显示
-A 显示 . 和 ..
-t 根据时间排序文件
4. 通过 SSH 挂载远程主机上的文件夹
sshfs name@server:/path/to/folder /path/to/mount/point
这条命令可以让你通过 SSH 加载远程主机上的文件系统为本地磁盘,前提是你需要安装 FUSE 及 sshfs 这两个软件。
译者注 :关于 sshfs 实际上我之前写过一篇文章介绍过,详见”在 Ubuntu 上使用 sshfs 映射远程 ssh 文件系统为本地磁盘 “。
卸载的话使用 fusermount 命令:
fusermount -u /path/to/mount/point
5. 通过 DNS 来读取 Wikipedia 的词条
dig +short txt <keyword>.wp.dg.cx
这也许是最有趣的一条技巧了,David Leadbeater 创建了一个 DNS 服务器 ,通过它当你查询一个 TXT 记录类型时,会返回一条来自于 Wikipedia 的简短的词条文字,这是他的介绍 。
这里有一个样例,来查询 “hacker” 的含义:
$ dig +short txt hacker.wp.dg.cx
“Hacker may refer to: Hacker (computer security), someone involved
in computer security/insecurity, Hacker (programmer subculture), a
programmer subculture originating in the US academia in the 1960s,
which is nowadays mainly notable for the free software/” “open
source movement, Hacker (hobbyist), an enthusiastic home computer
hobbyist http://a.vu/w:Hacker “
这里使用了 dig 命令,这是标准的用来查询 DNS 的系统管理工具,+short 参数是让其仅仅返回文字响应,txt 则是指定查询 TXT 记录类型。
更简单的做法是你可以为这个技巧创建一个别名:
wiki() { dig +short txt $1.wp.dg.cx; }
然后试试吧:
$ wiki hacker
“Hacker may refer to: Hacker (computer security), …”
如果你不想用 dig ,也可以用 host 命令:
host -t txt hacker.wp.dg.cx
6. 用 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小时
7. 复制最后使用的命令中的参数
ALT + . (or ESC + .)
这个快捷键只能工作于 shell 的 emacs 编辑模式,它可以从最后使用的命令行中复制参数到当前命令行中,下面是一个样例:
$ echo a b c
a b c$ echo <Press ALT + .>
$ echo c
你可以重复执行该快捷键,以便获取自已需要的参数,
以下是样例:
$ echo 1 2 3
1 2 3
$ echo a b c
a b c$ echo <Press ALT + .>
$ echo c$ echo <Press ALT + .> again
$ echo 3
另外,假如你想指定第1个或第2个,或者是第 n 个参数的话,可以按 ALT + 1 (或 ESC + 1) 或 ALT + 2 (或 ESC +2) 这样形式的快捷键。
以下是样例:
$ echo a b c
a b c$ echo <Press ALT + 1> <Press ALT + .>
$ echo a
a$ echo <Press ALT + 2> <Press ALT + .>
$ echo b
b
查看” Emacs Editing Mode Keyboard Shortcuts “ 一文获取更多类似的快捷键。
8. 执行一条命令但不保存到 history 中
<space> command
这条命令可运行于最新的 Bash shell 里,在其它 shell 中没测试过。
通过在命令行前面添加一个空格,就可以阻止这条命令被保存到 bash history (~/.bash_history) 文件中,这个行为可以通过 $HISTIGNORE shell 变量来控制。我的设置是 HISTIGNORE=”&:[ ]*” ,表示不保存重复的命令到 history 中,并且不保存以空格开头的命令行。$HISTIGNORE 中的值以冒号分隔。
如果你对此感兴趣,想深入了解的话,可进一步看此文”The Definitive Guide to Bash Command Line History “
9. 显示当前目录中所有子目录的大小
du -h --max-depth=1
- -max-depth=1 参数可以让 du 命令显示当前目录下 1 级子目录的统计信息,当然你也可以把 1 改为 2 ,进一步显示 2 级子目录的统计信息,可以灵活运用。而 -h 参数则是以 Mb 、G 这样的单位来显示大小。
译者注 :在此推荐一个小工具 ncdu ,可以更方便的达到此效果。
10. 显示消耗内存最多的 10 个运行中的进程,以内存使用量排序
ps aux | sort -nk +4 | tail
显然这并不是最好的方法,但它确实用起还不错。
这是一个典型的管道应用,通过 ps aux 来输出到 sort 命令,并用 sort 排序列出 4 栏,再进一步转到 tail 命令,最终输出 10 行显示使用内存最多的进程情况。
假如想要发现哪个进程使用了大量内存的话,我通常会使用 htop 或 top 而非 ps 。
额外的:用 python 快速开启一个 SMTP 服务
python -m smtpd -n -c DebuggingServer localhost:1025
这是一个用 Python 标准库 smtpd (用 -m smtpd 指定) 实现在简易 SMTP 服务,运行于 1025 端口 。
另外三个参数的解释:
-n 参数让 Python 不要进行 setuid ( 改变用户)为 “nobody” ,也就是说直接用你的帐号来运行
-c DebuggingServer 参数是让 Python 运行时在屏幕上输出调试及运行信息
localhost:1025 参数则是让 Python 在本地的 1025 端口上开启 SMTP 服务
另外,假如你想让程序运行于标准的 25 的端口上的话,你必须使用 sudo 命令,因为只有 root 才能在 1-1024 端口上开启服务。如下:
sudo python -m smtpd -n -c DebuggingServer localhost:25
发表评论
-
HowTo: Add Jobs To cron Under Linux or UNIX?
2011-04-27 14:24 1123How do I add cron job under Lin ... -
wget下载网站目录下的所有文件
2011-04-26 14:18 2941wget是linux下命令行的下载工具,功能很强大。 ... -
用wget爬取网站
2011-04-26 14:10 4015下载单独页面: wget xxx.com/a.htm 下 ... -
从 screen 切换到 tmux
2011-04-17 12:12 1363对于各个终端控来说,screen 是几乎每天都会使用的 ... -
linux下远程管理利器-tmux
2011-04-01 20:07 1178在使用无论哪种软件 ... -
Linux 下常用的 CLI 软件
2011-04-01 19:56 980作为Linuxer,必须具备一定的CLI操作能力。有时候用 ... -
Vi删除操作大全
2011-04-01 15:04 810:%s/r//g ... -
在Linux系统下递归删除文件或目录的方法
2011-03-23 15:30 1069在linux下没有类似DOS下 del/s *.dep 的 ... -
Linux中如何让进程在后台运行
2011-03-23 11:11 924在Linux中,如果要 ... -
我的Linux书架
2011-01-28 22:59 827入门类 一直认为,在 ... -
Linux系统信息查看命令大全
2010-09-03 14:05 832系统 # uname -a ... -
linux下解压命令大全
2010-09-03 14:02 795.tar 解包:tar xvf FileName.tar ... -
最牛B的 Linux Shell 命令(四)
2010-09-01 13:58 11191.查看ASCII码表 man 7 ascii ... -
使用grep恢复被删文件内容
2010-08-24 16:24 824在Unix/Linux下,最危险的命令恐怕就属rm命令了,每次 ... -
最牛B的 Linux Shell 命令(二)
2010-08-23 16:57 9091.用你最喜欢的编辑器来敲命令 command < ... -
最牛B的 Linux Shell 命令(一)
2010-08-20 15:11 9761.以SUDO运行上条命令 $ s ... -
Cygwin 的轻量级替代品 Gow: 可让你在 Windows 上使用 Linux 命令
2010-08-20 11:09 1227如果你是 Linux 及 Windows 的双料用户,而且是深 ... -
第二部分 Linux 文件、目录与磁盘格式 - Chapter 9 文件的压缩与打包
2009-08-24 16:45 949Chapter 9 文件的压缩与打 ... -
第二部分 Linux 文件、目录与磁盘格式 - Chapter 7 Linux文件和目录管理
2009-08-19 17:46 1116# 目录与路径 * 相对路径与绝对路径 (略) ... -
第二部分 Linux 文件、目录与磁盘格式 - Chapter 6 linux的文件属性与目录配置
2009-08-10 14:42 1196# 文件属性 Linux 文件的基本属性就有九个,分别是 o ...
相关推荐
最牛B的 Linux Shell 命令,最牛B的 Linux Shell 命令,
标题《最牛B的Linux_Shell命令》所指向的知识点覆盖了Linux中Shell命令的强大和便捷性,尤其是在完成系统管理任务时的实用性。Shell命令之所以重要,是因为它们充当了用户和操作系统之间的接口,能够调用和控制底层...
【Linux Shell 命令详解】 在Linux操作系统中,Shell是一个至关重要的组成部分,它作为用户与系统交互的接口,提供了一系列强大的命令行工具。本文将详细介绍一些顶级的Linux Shell命令,帮助用户提升在Linux运维和...
Shell作为Unix系操作系统当中最有魅力且不可或缺的组件,经过数十载的...本文的一些命令很可能看起来是"雕虫小技",我们只好仰慕一下Shell大牛了,但是有些细节我会稍加发掘加以说明,遇到有趣的地方希望能博您一笑了。
最牛B 的 linux B shell 命令 最牛B 的 linux B shell 命令
Linux常用命令大全Linux常用命令深入理解Linux内核鸟哥的Linux私房菜Linux命令学习资料(12个): Linux命令大全(Linuxidc.com修改版).chm Linux命令学习.chm Linux基础命令教程(豪华版).chm LINUX安全加固手册.doc ...
Linux Shell编程是一种使用命令行解释器(如bash)编写脚本的方式,它在Linux系统管理、自动化任务和处理文本文件等方面有着广泛的应用。Shell脚本的使用是面试Linux系统管理员、运维工程师、DevOps工程师等职位时必...
Linux 的命令格式通常由命令名、选项和参数组成,例如 `ls -l`、`mkdir -p` 等。 11. Linux 目录处理命令 Linux 目录处理命令包括 `ls`、`mkdir`、`cd`、`pwd`、`rmdir` 等,用于目录的管理和操作。 12. Linux ...
史上最牛Linux教程。 简单,易学,页数不是很多。
Mint11官方中文手册.pdfLinux命令大全(Linuxidc.com修改版).chmLinux命令学习.chmLinux基础命令教程(豪华版).chmLinux基础命令教程豪华版.chmLINUX安全加固手册.docLinux常用命令全集.CHMLinux常用命令大全.chm史上...
#### 三、利用Kconfig和Makefile寻找目标代码 接下来,我们将具体介绍如何利用Kconfig和Makefile来定位U盘驱动的相关代码。 1. **进入目标目录**: - 首先,我们需要找到与U盘驱动相关的目录。由于U盘是一种USB...
史上最牛的linux教程学习笔记整理、linux学习笔记整理、
标题所提及的“史上最牛的Linux内核学习方法论”强调了高效、全面的学习策略,而描述中的“覆盖全面”和“学习内核,学习驱动编程的好资料”则暗示了这种方法论应包含对内核结构、配置、编译和驱动开发的全面理解。...
对于那些希望成为Linux高级用户的人来说,《史上最牛Linux教程》可以是一个很好的选择。这本书可能包含了丰富的Linux知识点和实战技巧,既有基础命令的讲解,也有对系统深层次原理的探究,适合有一定基础的用户...
所提供的资源如“史上最牛Linux教程”、“Linux基础命令教程豪华版”和“Linux常用命令”都是很好的学习材料,值得深入研究。学习Linux不仅能提升工作效率,也有助于理解计算机系统底层工作原理,为成为IT专家打下...
本文将详细介绍一款被誉为“Linux下最牛B的测网速软件”——iperf,以及如何利用它来进行网络速度和性能的测量。 iperf是一款强大的网络性能测试工具,它支持TCP和UDP协议,可以用来测量带宽、延迟抖动以及网络连接...
### 最强Linux内核学习法:深入理解Kconfig与Makefile #### 一、引言 在探索Linux内核的世界时,很多初学者可能会感到迷茫和困惑,不知道从何入手。尤其是在面对庞大的代码库时,如何高效地找到自己感兴趣的部分是...