`
君淋天下
  • 浏览: 32558 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一些高效的Linux命令行操作

阅读更多
             一些高效的Linux命令行操作            

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

1. 查找Java项目中,main方法定义在哪个文件里.
    切换到你要查找项目的目录下执行
   grep -rlI '\<main' .
  如果你觉得自己打字快,不怕麻烦执行如下命令也可以找到该文件
  find -type f -name *.java  -exec grep -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来查看
  cat  5  2008    显示2008年5月的日历
  您是否发现命令行操作比图形界面浏览查看要快多了呢?

5 快速的局域网内文件共享。
  一般来说类linux系统之间的文件共享通常使用nfs,而linux
和Windows文件共享则使用samba,这两个服务器功能强大,但是使用起来免不了要配置一番
如果你的机器上装了python可以使用python自带的http服务器
  进入你要共享文件的目录执行, ptyhon -m SimpleHTTPServer
对方只要在浏览器里输入你的IP地方加8000端口(例如192.168.1.104:8000)就可以看到共享目录下文件。

6 用最简单命令杀死一个进程
  以前为了结束一个进程通常是 ps -aux | grep  xxx
然后再查看该进程的ID,最后是 kill 进程ID。     
  如果你管道用的很熟,awk又会用一点,则有可能打下如此拉风的命令
ps ax | grep firefox | grep -v grep | awk '{ print $1 }' | xargs kill -9
其实你没必要使用那么多的管道加awk,有个很简单的命令pkill
执行pkill -9 firefox 就终结firefox进程。
 

7 用命令行求两个文件内容的交集、并集、差集等 
  a) 求两个文件的并集(重复的行只保留一份)
    cat file1 file2 | sort | uniq

  b) 求两个文件的交集(只留下同时存在于两个文件中的文件)
    cat file1 file2 | sort | uniq -d

  c)  删除交集,留下其他的行
    cat file1 file2 | sort | uniq -u

  d)  求文件file1对文件file2的差集,既内容存在file1,但不存在fil2
    cat file1 file2 file2 | sort | uniq -u
    另外一种求文件差集方法
    grep -F -f  file2 file1 -v

8 将文件中第3列数据求和 
more file.txt | awk "{x += $3} END {print x}"

9 根据文件中第3列的内容排序输出 
sort -k3 file.txt
如果文件每列的分割符不是空白符 则用-t指定分隔符,比如
sort -t, -k3 file.txt
分享到:
评论
22 楼 flair1102 2010-03-09  
我起了很多Java 服务,好像pkill 就不可以用了
21 楼 cwalet 2009-10-16  
cat > filename
貌似有个错误,查询年月是cal,cat是顺序显示文本
20 楼 elmar 2009-06-18  
kill这么危险的操作,还是多打几行放心点……

另外像很多程序是java XXX来启动的,一坨的进程名字都叫java
19 楼 pf_miles 2009-06-17  
引用
1. 查找Java项目中,main方法定义在哪个文件里.
    切换到你要查找项目的目录下执行
   grep -rlI '\<main' .
  如果你觉得自己打字快,不怕麻烦执行如下命令也可以找到该文件
  find -type f -name *.java  -exec grep -l '\<main' {} \;

find . -name '*.java' | xargs grep -i main

引用
3 将文本文件中DOS换行符号转化为UNIX的换行符号
   tr -s "\r"  "\n"  <inputfile
   如果你要将结果保存到outputfile文件
   tr -s "\r"  "\n"  <inputfile  >outputfile
  当然你使用vim编辑文件时,vim也提供文件转换功能

dos2unix

引用
6 用最简单命令杀死一个进程
  以前为了结束一个进程通常是 ps -aux | grep  xxx
然后再查看该进程的ID,最后是 kill 进程ID。    
  如果你管道用的很熟,awk又会用一点,则有可能打下如此拉风的命令
ps ax | grep firefox | grep -v grep | awk '{ print $1 }' | xargs kill -9
其实你没必要使用那么多的管道加awk,有个很简单的命令pkill
执行pkill -9 firefox 就终结firefox进程。

killall firefox
18 楼 flyingzl 2009-06-17  
君淋天下 写道
             一些高效的Linux命令行操作            

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

1. 查找Java项目中,main方法定义在哪个文件里.
    切换到你要查找项目的目录下执行
   grep -rlI '\<main' .
  如果你觉得自己打字快,不怕麻烦执行如下命令也可以找到该文件
  find -type f -name *.java  -exec grep -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来查看
  cat  5  2008    显示2008年5月的日历
  您是否发现命令行操作比图形界面浏览查看要快多了呢?

5 快速的局域网内文件共享。
  一般来说类linux系统之间的文件共享通常使用nfs,而linux
和Windows文件共享则使用samba,这两个服务器功能强大,但是使用起来免不了要配置一番
如果你的机器上装了python可以使用python自带的http服务器
  进入你要共享文件的目录执行, ptyhon -m SimpleHTTPServer
对方只要在浏览器里输入你的IP地方加8000端口(例如192.168.1.104:8000)就可以看到共享目录下文件。

6 用最简单命令杀死一个进程
  以前为了结束一个进程通常是 ps -aux | grep  xxx
然后再查看该进程的ID,最后是 kill 进程ID。     
  如果你管道用的很熟,awk又会用一点,则有可能打下如此拉风的命令
ps ax | grep firefox | grep -v grep | awk '{ print $1 }' | xargs kill -9
其实你没必要使用那么多的管道加awk,有个很简单的命令pkill
执行pkill -9 firefox 就终结firefox进程。
 



不错,当写错了几个子,查看日历是cal,不是cat,还有大蟒蛇应该是python,你写错了
17 楼 whaosoft 2009-06-10  
caravsapm70 写道
关于格式转换,个人喜欢用dos2unix <filename>。

这个 真的好用么 我去试试
16 楼 guji528 2009-06-08  
grep -v "找的不是你"
-v参数功能有时很实用,比如在日志里查找所有错误信息,上面的命令会输出你想找的内容(除了“找的不是你”之外的)
15 楼 popop 2009-06-08  
君淋天下 写道
           
6 用最简单命令杀死一个进程
  以前为了结束一个进程通常是 ps -aux | grep  xxx
然后再查看该进程的ID,最后是 kill 进程ID。     
  如果你管道用的很熟,awk又会用一点,则有可能打下如此拉风的命令
ps ax | grep firefox | grep -v grep | awk '{ print $1 }' | xargs kill -9
其实你没必要使用那么多的管道加awk,有个很简单的命令pkill
执行pkill -9 firefox 就终结firefox进程。
 




补充一下: pkill有一个 -f 选项,f的意思是 full 加与不加什么区别呢?
假设有一个进程是这样启动的: java -jar qq.jar  那么你不会想用 pkill java来杀吧?会出事滴。 要这样来: pkill -f qq.jar
更保险一点: pkill -f "java -jar qq.jar"
用pkill qq.jar没有用,没有-f的情况下pkill只搜索命令本身,不会把命令参数考虑进去的。
14 楼 popop 2009-06-08  
引用
2  快速的建立一个文件,并输入一些内容
   cat >> filename ,输入一些内容然后按Ctrl-d结束输入。
  注意:如果filename已经存在则内容将被清空


挑个刺,应为:注意:如果filename已经存在则内容将不会被清空
13 楼 君淋天下 2009-05-31  
哈哈,UNIX和DOS文件格式转换还有dos2unix和unix2dos这两个工具,忘记用了,比tr要省事多了,以后还是用dos2unix方便
还用killall也是根据进程名杀死进程长见识了
  killall和pkill区别是, killall要完整的进程名字,而pkill可以根据参数名自动匹配。不过万能的Tab帮我们搞定一切。
12 楼 fff 2009-05-31  
学习
笔误了,是cal不是cat
11 楼 hexstar 2009-05-31  
我也想说为啥不用dos2unix呢
10 楼 caravsapm70 2009-05-28  
关于格式转换,个人喜欢用dos2unix <filename>。
9 楼 Magicloud 2009-05-25  
其实还是pkill好,很多时候需要杀掉有特定参数的sh进程,zsh/killall都是以进程名区分的,很多时候没用……
8 楼 loamy 2009-05-25  
zsh 真的没用过。
7 楼 guoxu1231 2009-05-25  
6 用最简单命令杀死一个进程
  以前为了结束一个进程通常是 ps -aux | grep  xxx
然后再查看该进程的ID,最后是 kill 进程ID。     
  如果你管道用的很熟,awk又会用一点,则有可能打下如此拉风的命令
ps ax | grep firefox | grep -v grep | awk '{ print $1 }' | xargs kill -9
其实你没必要使用那么多的管道加awk,有个很简单的命令pkill
执行pkill -9 firefox 就终结firefox进程。



killall -9 firefox
不行吗...~~
6 楼 君淋天下 2009-05-24  
今天长见识了 还有更牛X的Shell--zsh
原来以为Bash集成了先前所有shell的功能,是最OK的
5 楼 Magicloud 2009-05-24  
wosmvp 写道
关于第六条,《用最简单命令杀死一个进程 》

以前我也喜欢用传说中的比较拉风的命令,

kill -9 $(ps aux | grep firefox | grep -v grep | awk '{ print $2 }')

但自从用了ZSH以后
一般就是 kill -9 f 按一下Tab就OK
世界清静多了

但恶心的是,zsh和很多终端模拟有冲突,回显有问题……甚至是标准终端。
4 楼 wosmvp 2009-05-24  
关于第六条,《用最简单命令杀死一个进程 》

以前我也喜欢用传说中的比较拉风的命令,

kill -9 $(ps aux | grep firefox | grep -v grep | awk '{ print $2 }')

但自从用了ZSH以后
一般就是 kill -9 f 按一下Tab就OK
世界清静多了
3 楼 seen 2009-05-23  
君淋天下 写道
Magicloud 写道
第二条,为何不直接vim filename?我从没有先touch后vim的习惯,更不使用cat|echo > filename,写错了改起来麻烦。


恩,确实没人会这样,都是这接vim filename.如果记录是一两行文字用cat 方便点



我就常用cat 写5行以下的文本

相关推荐

    快乐的Linux命令行.pdf

    标题《快乐的Linux命令行》预示着文档是一本关于Linux命令行操作的入门或提升指南,这本书很可能针对的是有一定基础的读者,尤其是那些希望进一步熟悉Linux操作系统中命令行使用的人群。通过这样的标题,我们可以...

    快乐的 Linux 命令行.pdf

    文件系统中跳转是Linux命令行的基本操作。文件系统以树状结构组织,理解这种结构对于导航至关重要。当前工作目录是你当前所在的位置,`pwd`命令可以显示它。`ls`命令用来查看目录内容,而`cd`用于切换目录。路径分为...

    快乐的Linux命令行

    《快乐的Linux命令行》是一本面向初学者的优秀教程,旨在帮助读者理解和掌握Linux操作系统中的命令行界面及其基本操作。书中的内容深入浅出,适合任何对Linux感兴趣的人士阅读,无论你是计算机专业人士还是对技术...

    Linux命令行大全

    《linux命令行大全》主要介绍linux命令行的使用,循序渐进,深入浅出,引导读者全面掌握命令行的使用方法。 《linux命令行大全》分为四部分。第一部分开始了对命令行基本语言的学习之旅,包括命令结构、文件系统的...

    Ubuntu.Linux命令行大全.pdf

    - **第4章** 覆盖了文件和目录管理的相关命令,是Linux命令行操作中最常用的部分。 - **4.1 文件路径操作**: - **4.1.1 查看当前工作目录**:使用`pwd`命令查看当前所在目录。 - **4.1.2 切换目录**:使用`cd`...

    快乐的Linux命令行 epub + mobi Kindle可看

    《快乐的Linux命令行》是一本面向初学者和进阶用户的经典教程,旨在帮助读者熟练掌握Linux操作系统中的命令行操作。这本书以清晰易懂的语言,深入浅出地讲解了Linux命令行界面的基本概念、常用命令及其高级应用。...

    快乐的Linux命令行.docx

    快乐的Linux命令行 本资源主要介绍了 Linux 命令行的基础知识和使用方法,旨在帮助读者快速入门 Linux 命令行的使用。下面是本资源中涉及的知识点: 1. 引言 Linux 命令行是 Linux 操作系统的核心组件之一,它...

    快乐的Linux 命令行(中文).zip

    "快乐的Linux 命令行(中文)"这个压缩包显然旨在帮助用户深入理解并熟练掌握Linux命令行操作,这对于系统管理员、开发者或者任何需要在终端进行高效工作的用户来说都是必不可少的。以下是基于这个主题的详细知识...

    快乐的 Linux 命令行(中英文PDF)

    《快乐的 Linux 命令行》是一本深入浅出的Linux命令行指南,它旨在帮助用户更好地理解和掌握Linux操作系统中的命令行界面。该书分为中英文两部分,方便不同语言背景的学习者阅读。目录结构清晰,使得学习更加系统化...

    Linux命令行大全总结pdf

    ### Linux命令行大全总结知识点概览 #### 一、引言 - **为什么使用命令行**:...以上内容概述了《Linux命令行大全总结》的主要知识点,为读者提供了全面且深入的学习材料,帮助用户更好地掌握Linux命令行操作技巧。

    The Linux Command Line: A Complete Introduction, 2nd Edition(Linux命令行大全,第二版)

    《Linux命令行大全,第二版》是一本系统介绍Linux命令行操作的图书。它旨在引导读者从基础的终端操作入手,逐渐深入到使用Bash shell编写完整程序的过程。书中涉及了Linux系统下的文件管理、环境配置、命令链式操作...

    用Linux命令行操作处理日常业务.ppt

    这份“用Linux命令行操作处理日常业务.ppt”文档显然旨在介绍如何利用Linux命令来提升工作效率。以下是关于Linux命令行操作的关键知识点: 1. **为什么要使用Linux命令**: - 历史因素:早期的Linux系统主要依赖...

    LINUX命令行学习手册.rar

    1. **基础命令**:Linux命令行的基本操作包括文件和目录管理。如`ls`用于列出目录内容,`cd`用于切换当前工作目录,`mkdir`创建新目录,`rm`删除文件或目录,`cp`和`mv`分别用于复制和移动文件及目录。 2. **文本...

    The_Linux_Command_Line linux命令行大全.pdf

    ### Linux命令行大全知识点概述 #### 一、引言与目的 - **为什么使用命令行:** 命令行提供了高效的操作系统交互方式,尤其适用于自动化任务处理、批量操作及远程管理等场景。 - **本书主要内容:** 旨在帮助用户...

    Linux命令行概述.rar

    而Linux命令行是Linux系统的核心工具之一,它允许用户通过文本输入指令来执行各种操作,无需图形化界面。这篇文档将对Linux命令行进行详尽的概述,帮助你更好地理解和掌握这一强大工具。 1. **命令行基础** - **...

    Linux命令行操作技巧

    ### Linux命令行操作技巧详解 在Linux环境下,命令行界面(CLI)被广泛视为系统管理员与开发人员不可或缺的工具之一。通过熟练掌握一系列高效的键盘快捷键,用户可以在提高工作效率的同时,减少因频繁使用鼠标而...

Global site tag (gtag.js) - Google Analytics