Linux的常用命令2

一、文件搜索命令(which、 whereis 、find 、locate、updatedb、grep)

·which  显示系统命令所在目录

  which [命令名]

·whereis  同上

·find  查找文件或目录(这个命令挺占资源的尽量放在晚上,网站访问量小的)

  find [搜索路径] [搜索关键字]

  -name  根据文件名来查找

    *  匹配任意字符串  

    find etc -name *init*  查找etc目录下的包含“init”的文件(init左边有或没有字符,右边有或没有字符)

    ?  匹配单个字符

    find etc -name init???  查找etc目录下的包含"init"且后跟三个字符的文件

  -size  文件大小

    +  大于

    -  小于

    find -size +20480  查找根目录下大于20M的文件

  -user  文件所有者

  -type  文件类型  f(二进制文件)  l(软连接文件)  d(目录)

  -inum  i节点  通过i节点来查找文件,因为有些文件名命令方式很奇怪,不好输入关键字

  时间选项

  ctime  atime  mtime  以天为单位

  cmin  amin  mmin  以分钟为单位

  c  change  改变,表示文件的属性被修改过,所有者,所属组,权限

  a  access  访问

  m  modify  修改,表示文件的内容被修改过

  -  小于

  +  大于

    find /etc -mmin -120  etc目录下两个小时之内被修改过文件内容的文件

  连接符

  -a  and  逻辑与

  -o  or  逻辑或

  find /etc -size +163840 -a -name init*  查找大于80M的init开头的文件

  -exec  

  find /etc -name inittab -exec ls -l {} ;  查找etc目录下的inittab文件并且显示其详细信息,{}表示查找出的结果集合,是转义符,;是结束

  -ok  同exec,但是会询问是否执行后面的命令

·locate  (linux特有)寻找文件或者目录,通过从数据库索引中查找文件,速度比find更快。但是如果没有更新DB,则查找不到,比如你创建一个新文件,like查找,找不到

  locate [文件关键字]

·updatedb  建立整个系统目录文件的数据库,配合locate命令

·grep  在文件内容中搜索字串匹配的行输出

  -v  反转匹配结果,当你不想看含有某种字符的行时,可以使用这个选项

  grep [关键字] [源文件]

  grep ftp /etc/services  搜索/etc/services文件中的ftp内容

二、帮助命令(man、info 、whatis 、help、alias、unalias)

·man  manual  获取配置文件或命令的帮助信息,调用more命令浏览文档信息(默认优先查看命令的帮助)

  man [命令名或文件名]

·info  information  (linux特有)获取帮助命令,同上

·whatis   获得索引的简短说明信息,命令最基本用途

·help  查看shell内置命令的帮助

·alias  查看或定义别名(linux有这个设定)

  alias copy=cp  copy等于cp命令

  alias drm="rm -rf"  drm等于加选项的rm的命令

·unalias  删除别名

  unalias [命令别名]

三、压缩解压命令(file、gzip、gunzip、tar、zip、unzip、bzip2、bunzip2)


·file  判断一个文件的类型

·gzip  GNU zip  压缩文件,不能压缩目录,压缩完成后不保留源文件

  gzip 选项 [文件]

·gunzip  GNU unzip  解压缩

  gunzip [压缩文件名]

·tar  打包目录成一个文件.tar

  -c  产生.tar打包文件

  -v  显示详细信息

  -f  指定压缩后的文件名

  -z  打包同时压缩.tar.gz

  -x  解包.tar文件

  tar -zcvf [目录].tar.gz [目录]  打包并压缩[目录]

  tar -zxcf dir.tar.gz  解包dir

·zip  压缩文件和目录成.zip格式(windows和linux唯一通用的格式)会保留源文件

  zip 选项[-r] [压缩后文件名称] [文件或目录]

  -r  压缩目录

·unzip  解压缩.zip

  unzip [.zip文件名]  

·bzip2  压缩文件称.bz2,默认不保留源文件

  bzip2 选项 [-k] [文件]

  -k  保留源文件

·bunzip2  解压缩.bz2

  bunzip2 -k [.bz2文件]

  -k  解压后保留源文件

四、网络通信指令(write、wall、ping)

·write  向另外一个用户发送信息,以Ctrl+D作为结束,登陆同一台linux的用户可以相互通信,必须在线才能发消息

  write [用户名]  然后输入信息

·wall  wirte all  写给所有用户

·ping  测试网络连通性,只有root可以用

  ping ip地址

  -c  发送的数据包个数

  ping -c 3 192.16.54.1  发送3个数据包

  -s  数据包个数

·ifconfig  interface configer  显示ip设置

五、系统关机命令(shutdown、reboot)

·shutdown  关机命令。默认等待一会

  -h now  立刻关机

·reboot  重启命令

六、Shell应用技巧

  Shell就是一个命令解释器,用作内核和命令交互,推荐使用默认的bash

1、输入输出重定向

同标准I/O一样,Shell对于每一个进程预先定义3个文件描述字

  0(STDIN)标准输入

  1(STDOUT)标准输出

  2(STDERR)标准错误输出

输出重定向

  ls -l /test > /tmp.msg  将ls输出信息不打印在屏幕,而是存入/tmp.msg文件中

  >会重写文件,>>是最加内容

输入重定向

  wall < /etc/motd  将/etc/motd文件内的信息广播全体用户

错误输出重定向

  ls -l /sdfs 2> /bak.err  没有这个目录,会出错,可以将错误信息写进/bak.err

2、管道

管道:将一个命令输出传送给另一个,作为另一个命令的输入

使用:

  命令1 | 命令2 | 命令3 | ……

例:

  ls -l /etc | more  利用more浏览/etc目录

3、命令连接符

;  分隔命令,按顺序依次执行。

&&  逻辑与,第一个命令执行成功才执行第二个

||  逻辑与,第一个执行成功,第二个不执行,第一个失败,第二个执行

4、命令替换符

将一个命令的输出作为另一个命令的参数

例:ls -l `which touch`  显示touch命令文件的详细信息,和管道流还是有区别的

原文地址:https://www.cnblogs.com/njupt-Qsimple/p/5373580.html