一些高效的Linux命令行操作

ftafta 2009-05-22

一些高效的Linux命令行操作

本文将记录一些在使用Linux过程中,在命令行中进行工作的高效率命令,随着时间的积累如果我有新的技巧也将在本篇博文中更新。如果您也有高效率的小技巧,欢迎留言给我

1.查找Java项目中,main方法定义在哪个文件里.

切换到你要查找项目的目录下执行

grep-rlI'\<main'.

如果你觉得自己打字快,不怕麻烦执行如下命令也可以找到该文件

find-typef-name*.java-execgrep-l'\<main'{}\;

2快速的建立一个文件,并输入一些内容

cat>>filename,输入一些内容然后按Ctrl-d结束输入。

注意:如果filename已经存在则内容将被清空

3将文本文件中DOS换行符号转化为UNIX的换行符号

tr-s"\r""\n"<inputfile

如果你要将结果保存到outputfile文件

tr-s"\r""\n"<inputfile>outputfile

当然你使用vim编辑文件时,vim也提供文件转换功能

4查看某年某月某日是星期几

比如我要查看2008年5月22日是星期几那用cal来查看

cat52008显示2008年5月的日历

您是否发现命令行操作比图形界面浏览查看要快多了呢?

5快速的局域网内文件共享。

一般来说类linux系统之间的文件共享通常使用nfs,而linux

和Windows文件共享则使用samba,这两个服务器功能强大,但是使用起来免不了要配置一番

如果你的机器上装了python可以使用python自带的http服务器

进入你要共享文件的目录执行,ptyhon-mSimpleHTTPServer

对方只要在浏览器里输入你的IP地方加8000端口(例如192.168.1.104:8000)就可以看到共享目录下文件。

6用最简单命令杀死一个进程

以前为了结束一个进程通常是ps-aux|grepxxx

然后再查看该进程的ID,最后是kill进程ID。

如果你管道用的很熟,awk又会用一点,则有可能打下如此拉风的命令

psax|grepfirefox|grep-vgrep|awk'{print$1}'|xargskill-9

其实你没必要使用那么多的管道加awk,有个很简单的命令pkill

执行pkill-9firefox就终结firefox进程。

7用命令行求两个文件内容的交集、并集、差集等

a)求两个文件的并集(重复的行只保留一份)

catfile1file2|sort|uniq

b)求两个文件的交集(只留下同时存在于两个文件中的文件)

catfile1file2|sort|uniq-d

c)删除交集,留下其他的行

catfile1file2|sort|uniq-u

d)求文件file1对文件file2的差集,既内容存在file1,但不存在fil2

catfile1file2file2|sort|uniq-u

另外一种求文件差集方法

grep-F-ffile2file1-v

8将文件中第3列数据求和

morefile.txt|awk"{x+=$3}END{printx}"

9根据文件中第3列的内容排序输出

sort-k3file.txt

如果文件每列的分割符不是空白符则用-t指定分隔符,比如

sort-t,-k3file.txt

相关推荐