Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239321
  • 博文数量: 131
  • 博客积分: 259
  • 博客等级: 二等列兵
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-21 21:15
文章分类

全部博文(131)

文章存档

2013年(3)

2011年(128)

分类:

2011-03-11 14:47:46

原文地址:shell命令备忘 作者:bailiangcn

经常有些我经常用,但总是记不住的小技巧:
1、!!   上一条命令,最常见是忘记了输入sudo时候用

2、{}   能够生成一些列值,例如 echo abc{3,4,5} 输出是 abc3 abc4 abc5

3、拷贝所有pdf文件到当前的pdf文件夹
find . -name '*.pdf' -type f   -exec sh -c 'exec cp -f "$@" ./pdf/' {} +

4、alt+.    输入上一次命令的参数

5、按文件修改时间列表
ll -t //升序排序(默认的) ll-t |tac //降序排序
6、使用pgrep快速查找一个PID

pgrep遍历目前正在运行的进程然后列出符合查找规则的进程ID(PID)。

pgrep ssh

这条命令会列出所有与ssh有关的进程。

7、反复执行一个命令并在屏幕上输出

watch会反复运行一个命令,并在屏幕上打印输出。它可以让你实时的观察程序的输出变化。默认情况下,程序每2秒运行一次。watch命令与tail命令很相似。

watch -d ls -l

这条命令会监视当前目录的所有文件,并且高亮文件所发生的改变。

8、返回你上一个所在目录

你可以使用如下命令返回你上一次所在的目录:

cd -

9.聪明地创建父目录

如下命令可以帮助你创建所有你需要的目录,即便是他们还不存在。为什么要浪费时间做一些愚蠢的事情比如:mkdir make ; cd make ; mkdir all ; cd all ; mkdir of ; cd of … 你说到点子上了,使用mkdir -p

mkdir -p /home/adam/make/all/of/these/directories/

10.删除一整行

如果你已经输入一长串的命令,但是你又不在需要他们了,那么你可以使用如下命令直接删除一整行:

CTRL+U

这个其实是删除光标所在之前的字符,ctrl+k是删除光标以后的字符
补充个跳到行首时Ctrl+a,跳到行末是Ctrl+e
11.批量改名

最近想导出上传一些照片,可是从相机导出来的照片扩展名都是JPG,而在Linux下,上传软件只认识jpg等小写扩展名,需要将全部扩展名改成小写。
rename命令是Linux下功能非常强的的重命名工具,利用正则表达式使得其使用地非常灵活。
rename命令的格式:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v, --verboseVerbose: print names of files successfully renamed.
-n, --no-actNo Action: show what files would have been renamed.
-f, --forceForce: overwrite existing files.
简单的rename使用命令:
  • 字母的替换
rename "s/AA/aa/" *             //把文件名中的AA替换成aa
  • 修改文件的后缀
rename "s/.html/.php/" *     //把.html 后缀的改成 .php后缀
  • 批量添加文件后缀
rename "s/$/.txt/" *             //把所有的文件名都以txt结尾
  • 批量删除文件名
rename "s/.txt//" *               //把所有以.txt结尾的文件名的.txt删掉
  • .JPG扩展名变.jpg
 rename "s/.JPG/.jpg/" *

阅读(323) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~