!guide_close_btn!

每个极客都应该知道的Linux技巧(七)

哈哈嘻嘻 2015-10-15 09:40:14 最新回复:2015-10-15 14:09:17
1767 3 0 0

到底是什么区分开普通的Linux用户和超级极客的呢?很简单:用在学习那些使长时工作转变为一瞬间工作的技巧、诀窍、秘诀和技术上的时间。如果你想提高效率而又不用做这些搜集资料的跑腿活儿,那接下来的内容可以帮助你更潇洒地工作,并且最大限度的利用你的电脑。本文中收集了50多条简单易学的Linux技巧,每天讲解5条,你开始享受这场饕餮盛宴吧!


31:不用编辑器来进行编辑

难度:中等

  1. cut -c 8-15 file1 > file2 

应用程序:好多

通常非常长的文件是很难用文本编辑器来进行操作的。如果你不时地要做这件事,可能你会发现用某些趁手的命令行工具会更快一些,就像下面这个例子一样。

从文件file1中打印第一列和第三列到文件file2中,我们可以使用awk:

  1. awk '{print $1, $3}' file1 > file2 

只输出file1中第八列到第十五列中的字符,我们可以使用cut:

  1. cut -c 8-15 file1 > file2 

要使用单词word2来替换文件file1中的单词word1,我们可以使用sed命令:

  1. sed "s/word1/word2/g" file1 > file2 

通常这是一个比打开文本编辑器更快得到结果的方式。

32:只备份选中的文件

难度:中等

应用程序:tar

想要使用tar来备份一个目录中的某一文件?你可以使用-T标志。首先,用你想要备份的文件来创建一个文件:

  1. cat >> /etc/backup.conf 

  2. # /etc/passwd 

  3. # /etc/shadow 

  4. # /etc/yp.conf 

  5. # /etc/sysctl.conf 

  6. EOF 

 

然后运行tar,并使用-T标志指向刚刚创建的文件。

 

  1. tar -cjf bck-etc-`date +%Y-%m-%d`.tar.bz2 -T /etc/backup.conf 

现在你已经备份好了。

33:在文件中合并列

难度:中等

应用程序:bash

在文件中拆分列是非常简单的,合并它们稍微复杂一点。下面是一个简单的完成这项工作的脚本:

  1. #!/bin/sh 

  2. length=`wc -l $1 | awk '{print $1}'` 

  3. count=1

  4. [ -f $3 ] && echo "Optionally removing $3" && rm -i $3 

  5. while [ "$count" -le "$length" ] ; do 

  6. a=`head -$count $1 | tail -1` 

  7. b=`head -$count $2 | tail -1` 

  8. echo "$a$b" >> $3 

  9. count=`expr $count + 1` 

  10. done 

 

给这个脚本命名为merge.sh并且如下运行它:

  1. chmod u+x merge.sh 

现在,如果你想要合并file1和file2中的列到file3,下面是执行方法:

  1. /path/to/merge.sh file1 file2 file3 

/path/to必须被你文件系统中的merge.sh位置所替代。

34:大小写敏感

难度:中等

应用程序:bash

有些时候,一个词在不同操作系统间没有任何区别,在Linux中,“Command”和“command”是不同的东西。当从Windows移动文件到Linux中时会造成一些麻烦。tr是一个小的shell功能,可以用于改变一堆文件。

  1. #!/bin/sh 

  2. for i in `ls -1`; do 

  3. file1=`echo $i | tr [A-Z] [a-z] ` 

  4. mv $i $file1 2>/dev/null 

  5. done 

 

通过执行这个,FILE1和fiLe2将被分别重命名为file1和file2.

35:Emacs中的宏指令

难度:中等

应用程序:Emacs

当编辑文件时,你通常会发现那些任务都是冗长和重复的,所以为了节约你的时间,你应该录制一个宏指令。在Emacs中,你将必须经历以下步骤:

1.按下 Ctrl+X 来开始一个记录。

2.插入所有你想要的按键和命令。

3.当你结束时按下Ctrl+X。

现在,你可以用以下命令来执行:

  1. Ctrl -u <number> Ctrl -x e 

<number>是你想执行宏指令的次数。如果你输入的值为0,这个宏指令将被一直执行直到文件的结束。Ctrl -x e等同于Ctrl -u 1 Ctrl-x e。

点评 回复

全部回复

hiking
hiking 2015-10-15 10:26:09

这个系列不错,多谢分享

点评 回复

l84049381
l84049381 2015-10-15 10:41:54

谢谢分享 +1

点评 回复

点评 回复

回复

您需要登录后才可以回帖 登录 | 注册
发表回复

内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“用户协议

My Followers

登录参与交流分享

登录

屏蔽
!block_confirm_cont!
温馨提示
!bind_my_phone_cont!