看来前端程序员也要学点运维用的工具啊。今天遇到需要在工程里面递归删除.svn 的需求,网上查了下看到:
find . -type d -name ".svn"|xargs rm -rf;
顺利搞定问题。但随后执行
svn add .
发现有好多 *.a 文件被 global-ignore 了。自己 svn add . --no-ignore ,又有本地 ignore ,不想继续挖坑下去,一看到之前执行的指令,是不是也可以结合起来直接递归把目录里面的 *.a 一起 svn add 进入?
然后自己 man 了下 find ,看了下参数,发现貌似可以这么玩:
find . -type f -name "*.a"|xargs svn add;
试了一下,果然好用到爆炸,以前咋就没有意识到这些 shell command 的威力呢?
来来来,大伙来分享下,还有哪些你知道的实用瑞士军刀?例如 find 结合 |xargs Xcommand ?
|  |      1iOran OP 帖子不要沉了啊。我先说个最普罗大众的: ``` ls -al ``` | 
|  |      2aheadlead      2017-02-06 15:55:13 +08:00  1 最近发现 logrotate 命令挺好用的 | 
|  |      4ryd994      2017-02-06 16:05:36 +08:00 via Android  1 这………怕是你还不知道 shell 脚本也是语言吧……… awk ,这这又是一本书 sed/grep , regex 要学好 xargs 你说过了,但你估计不知道-P -i -n 的玩法 find 自己就可以-exec uniq/head/tail/wc 这都是常用了 Unix 世界就是这样,每个程序都很简单,但串起来可以很强大 顺带一提,你的命令其实可以更简单 先不加看一遍,然后 find . -type d -name ".svn" -delete | 
|  |      6aheadlead      2017-02-06 16:24:43 +08:00 @iOran 哈哈 2#是手滑发出来的, 本来想写点补充, 但是因为考虑到这个命令可以顾名思义,写了一会又关掉了。 看到你的 9# ,我打开我刚写的脚本看了看,发现我其实记错命令了,实际是 savelog 。 这个 savelog 命令是最近发现的,可以很方便的做 logrotate 。 shell 脚本有时要打日志,每次执行生成一个日志文件(如: rich.log )。 通常没有必要保存太多的日志(比如只用保留最后 7 个日志文件)。 通过这个命令,就可以简单实现: 在每次脚本执行完毕之后,来一个: $ savelog -c 7 rich.log | 
|  |      8R18      2017-02-06 16:30:12 +08:00 via Android  7 rm -rf / | 
|  |      9ETiV      2017-02-06 16:31:43 +08:00 via iPhone grep "search something" -r * --include=*.php | 
|  |      10lhbc      2017-02-06 16:50:40 +08:00 grep sed awk 不懂这些怎么出来行走江湖 sudo rm -rf /* 执行,然后恢复数据,你就是资深运维了 | 
|  |      11WeeH9T      2017-02-06 16:59:49 +08:00 楼上的各位,都不带情景的么,谁会直接 rm -rf /  我来设定情景 我擦,这个目录好深啊,删除一个目录下的东西。 rm -rf /dir1/dir2/dir3/dir5/dir6 /* 我草泥马!!!! | 
|  |      13UnisandK      2017-02-06 17:07:11 +08:00 @hambut http://coolshell.cn/articles/4875.html 青井来了 doge | 
|  |      17simple4wan      2017-02-06 18:12:18 +08:00 sudo dd if=/dev/zero of=/ | 
|  |      18manhere      2017-02-06 18:14:26 +08:00 @simple4wan 你这个磁盘碎片整理我给 100 分 | 
|  |      19ersic      2017-02-06 18:17:33 +08:00 via Android cd - | 
|      20hahalala      2017-02-06 18:29:52 +08:00 ls -1 chmod -R 777 / | 
|  |      21dtfm      2017-02-06 18:58:49 +08:00 via Android  1 linux 刚入坑不久,说几个简单的, shell 为 zsh ,不确定 bash 是否兼容。 systemd-analyze blame 由慢到快查看开机时间占用。 直接输 cd ,不带参数就是切到 home 目录下。 大家都知道 ll 是 ls -l 的简化,但其实输单独一个 l 也可以。 切回上一个访问目录 cd - 。 切回父目录的父目录, cd ../..,以此类推。 统计某文件个数 ll l grep xxx l wc -l | 
|  |      22lun10439547      2017-02-06 19:43:51 +08:00 果然有 rm -rf 这个东西。。。。 | 
|  |      23sundong      2017-02-06 19:50:36 +08:00 别抢饭碗啊  =。= | 
|  |      24syahd      2017-02-06 19:54:33 +08:00 locate ,贼快的文件索引搜索 | 
|  |      25cctv6      2017-02-06 21:53:10 +08:00 ls -lah cd ../ .  rm cd mv vim chmod htop | 
|  |      26lydasia      2017-02-06 21:53:38 +08:00 rm -rf...... | 
|      27OrangeM21      2017-02-06 21:57:16 +08:00 lz rz | 
|      28jasontse      2017-02-06 22:01:08 +08:00 via Android | 
|      29DoraJDJ      2017-02-06 22:27:19 +08:00 ls -laZ grep 自己觉得经常用的比较方便的指令就这些了 | 
|  |      30xratzh      2017-02-06 23:47:25 +08:00 via iPhone echo   sed grep tar scp | 
|      31fytriht      2017-02-06 23:51:21 +08:00  1 @dtfm item2 + zsh 可以省略掉'cd'和'/'  '..' 是回到父目录 '...' 是回到父目录的父目录 以此类推 | 
|      32fytriht      2017-02-06 23:52:04 +08:00 du -sh 查看文件夹 /文件的大小 | 
|  |      34xuboying      2017-02-07 00:08:06 +08:00 via Android 当年会个 perl 可以打死 awk sed uniq wc find grep tail head sort | 
|  |      36syahd      2017-02-07 08:00:07 +08:00 @patx find 慢啊, locate 速度快,基本 updatedb 可以秒完成,而我 windows 上的 everything/masterseeker 都要花三四秒建立索引 | 
|  |      37abmin521      2017-02-07 09:03:29 +08:00 via Android | 
|  |      38czheo      2017-02-07 09:41:11 +08:00 ! | 
|  |      39bikegl      2017-02-07 10:24:16 +08:00  1 怎么没有人说 sl 这个命令, 具我的研究它可以用来测试网络是否稳定 如果稳定的话会有一列火车帽着白烟从屏幕右边向左边疾驰而过 如果不稳定火车就会一卡一卡的走不动 | 
|  |      40jarlyyn      2017-02-07 10:25:36 +08:00 find sed grep | 
|  |      41shellfly      2017-02-07 10:57:32 +08:00 | 
|  |      42aristotll      2017-02-07 11:05:17 +08:00 r#33 @dtfm 其实都是语法糖 你 `alias` 就能看见了 ``` $alias -='cd -' ...=../.. ....=../../.. .....=../../../.. ......=../../../../.. 还有很多.... `` | 
|  |      43popu111      2017-02-07 11:53:51 +08:00  1 如何快速上天: chmod -R 000 / 见不到下班了 | 
|  |      45loryyang      2017-02-07 13:06:53 +08:00 shell 使用技巧是无止境的,有时间就学几手 https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md 如果让我投票,我投 alias 一票, ctrl+r 两票 | 
|  |      46cosven      2017-02-07 13:16:46 +08:00 目前感受: 入门: cd, ls, cat, less... 一级: grep, find... 二级: awk, xargs...据说 sed 也是 三级: 待补充 | 
|      47QAPTEAWH      2017-02-07 13:29:45 +08:00 alias emcas=emacs alias emasc=emacs | 
|  |      48xiaket      2017-02-07 14:01:38 +08:00 直接翻一遍 LPI 认证那本书吧. | 
|  |      49Chewbacca      2017-02-07 14:34:19 +08:00  2 while read -d " "; do sl; done 孩子不到 1 岁的时教会按空格看火车,按了一年多了 | 
|  |      50loading      2017-02-07 14:37:51 +08:00 via Android sl | 
|      52wildcat007      2017-02-07 14:39:11 +08:00 | 
|  |      54DaCong      2017-02-07 15:10:09 +08:00  2 | 
|      55SeanQu      2017-02-09 14:30:45 +08:00 cmatrix 装逼神器 |