常用linux命令

grep

在指定的目录或文件中查找字符串,例:

  • grep "Exception" webx.log,在一个文件中查找字符串"Exception"
  • grep "Exception" webx.log*,在webx.log文件名开头的文件中查找字符串"Exception"
  • grep "Exception" -r . ,在当前目录下查找字符串"Exception"
  • grep "Exception" -v . ,在当前目录下查找不含字符串"Exception"的行,并输出
  • 以上都是默认输出所要查找字符所在的一行,加参数-A 1或者-B 2,可以输出所查找字符所在行的后1行,或者前2行
    grep -A 1 "Exception" webx.log,grep -B 2 "Exception" webx.log

tail

输出文件的尾部文本,例:

  • tail webx.log,输出webx.log文件的后10行,默认显示10行.
  • tail -4 webx.log,输出webx.log文件的最后4行.
  • tail +4 webx.log,输出webx.log第4行后的所有行.
  • tail -f webx.log,动态的输出webx.log的新增行,按crtl+c结束.

cat

输出文件内容,如:

  • cat webx.log,在屏幕上显示webx.log文件内容
  • cat -A webx.log,在屏幕上显示webx.log文件内容,包括特殊字符

cp

拷贝文件,例:

  • cp webx.log webx.log.1,拷贝webx.log到webx.log.1
  • cp -R logs logs-bak,拷贝整个logs中的文件到logs-bak目录下

mv

移动文件,例

  • mv webx.log webx.log.1,移动文件并重命名为webx.log.1
  • mv webx.log ../ ,移动webx.log文件到上级目录

ln

链接文件,例:

  • ln -s work/output/logs logs,链接work/output/logs到当前logs目录.

less

查看文件

  • less webx.log,查看webx.log文件内容,进入后,按f键向前翻页,按b键向后翻页,shift+g到文件最后一行,shift+h到文件第一行

vi

编辑文件

  • vi webx.log,编辑webx.log,vi功能强大,详细请看vi --h

rm

删除文件或一个路径,例:

  • rm webx.log,删除webx.log的文件
  • rm webx.log*,删除文件名以webx.log开头的所有文件
  • rm -rf logs,删除整个logs目录

tar

文件或文件目录打包,解包,例:

  • tar -czvf logs.tar.gz *.log.,将.log.*打包到logs.tar.gz
  • tar -zxvf logs.tar.gz,解包

wc

wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出

  • wc -l fileName,统计文件行数

which

$PATH环境变量包含路径中的可执行文件查找,一般形式为:which [-a] filename ...

  • which 'java',当前$PATH变量指定的所有路径下名为'java'的且是可执行文件的绝对路径输出到屏幕上
  • which -a 'java', 当前$PATH变量指定的所有路径下名为'java'的且是可执行文件的绝对路径输出到屏幕上,包含所有匹配,包括ln连接到'java'的文件
    如果你要找的东西是可执行文件且在$PATH下,用它会比find效率高很多。

find

文件查找,一般形式为:find pathname -options [-print -exec -ok ...]

  • find -name ".log.",当前路径下查找所有*.log*的日志文件,输出在屏幕上
  • find -name ".classpath",当前路径下查找所有文件名为.classpath的文件,输出在屏幕上
    http://www.linuxsir.org/main/?q=node/137,这篇文章有find的详细使用介绍

sed

编辑工作,文档处理

ps

系统管理,监控少不了ps,ps aux和ps ax是我最常用的了

  • -A 列出所有的行程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的行程

df

显示系统磁盘空间的使用信息。注意显示系统磁盘分区的使用、可以量,不是现实每个目录的大小。

  • -h 以k/M/G形式显示数值
  • 使用这个命令的一个意义是,当磁盘空间快满(比如/home使用量超过90%)的时候,再进行耗内存的操作(比如更新antx、第二方类库),linux系统会启动页面交换守护进程kswapd(不一定只有这种情况才启动这个进程,kswapd是linux自动管理的),这个进程的主要作用是关系内存和缓存,但是这种耗内存的操作使得内存不够用,而磁盘又没有足够的作为缓存的空间,kswapd进程会不停的执行而且占用很高的CPU资源,linux服务器的load会达到1.5左右,用户执行的命令基本上是没有响应的。所以当linux系统load值比较高的时候,可以执行此命令看看系统磁盘的使用情况,或许可以找到问题所在。

du

统计文件空间占用情况。

    • 可以统计文件夹占用的空间是多少。
    • -h 以k/M/G形式显示大小
    • -s 只显示总数

你可能感兴趣的:(linux命令)