经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
Linux常用命令
来源:cnblogs  作者:停不下的时光  时间:2019/7/26 8:51:15  对本文有异议

摘抄并用于自己后查

 

1. find 基本语法参考如下:
path [PATH] [option] [action]

 1)与时间有关的参数:

  -mtime n : n为数字,表示在n天之前的“一天内”被更改过的文件;
  -mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
  -mtime -n : 列出在n天之前(含n天本身)被更改过的文件名;
  -newer file : 列出比file还要新的文件名

  例如:find /root -mtime 0 #在当前目录下查找今天之内有改动的文件

2)与用户或用户组有关的参数
  -user name : 列出文件所有者为name的文件
  -group name : 列出文件所属用户组为name的文件
  -uid n : 列出文件所有者为用户组ID为n的文件
  -gid n : 列出文件所属用户组为用户组ID为n的文件
  
  例如:find /home/h -user li #在目录/home/h中找出所有者为li的文件

3)与文件权限及名称有关的参数
  -name filename : 找出文件名为filename的文件
  -size [+-]SIZE : 找出比SIZE还要大或小的文件
  -type TYPE : 查找文件类型为TYPE的文件,TYPE的值主要有:一般文件(f),设备文件(b,c),目录(d),连接文件(l),socket(s),FIFO管道文件(p)
  -perm mode : 查找文件权限刚好等于mode的文件,mode用数字表示,如0755
  -perm -mode : 查找文件权限必须要全部包括mode权限的文件,mode用数字表示
  -perm +mode : 查找文件权限包含任一mode权限的文件,mode用数字表示
  
  例如:
  find / aaa #在根目录下查找文件名为aaa的文件
  find . -perm 0755 #查找当前目录中文件权限为0755的文件
  find . -size +12k #查找当前目录中大于12KB的文件,
   
   
2. ls 命令,展示文件夹内内容,参数如下:

  -a : 全部的档案,连同隐藏档,(开头为.的档案)一起列出来
  -A : 全部的档案,连同隐藏档,但不包括 .与..这两个目录
  -d : 仅列出目录本身,而不列出目录内的档案数据
  -f : 直接列出结果而不进行排序
  -F : 根据档案、目录等信息,给予附加数据结构,例如:*代表可执行档,/代表目录,=代表socket档案,|代表FIFO档案
  -h : 将档案容量以人类较易读的防暑(如:GB,KB等等)列出来
  -i : 列出index node位置,即索引节点号(索引节点号相同的文件,本质上是同一个文件);
  -l : 长数据串行出,包含档案的属性等数据
  -n : 列出UID和GID,个人用户和群组ID
  -r : 将排序结果反向输出,例如原本档名有小到大,反向则由大到小
  -R : 连同子目录内容一起列出来
  -S : 以档案容量大小排序
  -t : 按照时间排序
  --color=never : 不要依据档案特性给予颜色显示
  --color=always : 显示颜色
  --color=auto : 让系统自行依据设定来判断是否给予颜色
  --full-time : 以完整时间模式(包含年月日时分秒)输出
  --time={atime, ctime} : 输出access时间或改变权限属性时间ctime,而非内容变更时间(modification time)
  

3.cd命令
  
  cd /root/Documents # 切换到目录 /root/Documents
  cd ./path # 切换到当前目录下的path目录下
  cd ../path # 切换到上层目录的path目录中


4. tree命令,显示树形的层级目录结构,非原生命令,需要安装tree
  

5. cp命令,作用复制,参数如下:
  cp [options] source dest

  -a : 将文件的特性一起复制
  -p : 连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
  -i : 若目标文件已经存在时,在覆盖时会先询问操作的进行
  -r : 递归持续复制,用于目录的复制
  -u : 目标文件和源文件有差异时才会复制

  例如: cp -p -r test2 test3


6. rm命令作用为删除,参数
  
  -f : force,忽略不存在的文件,不会出现警告消息
  -i : 互动模式,在删除前会询问用户是否操作
  -r : 递归删除,最常用于目录删除

7. mv 命令作用为移动文件

  -f : force,如果目标文件已经存在,不会询问而直接覆盖
  -i : 若目标文件已经存在,就会询问是否覆盖
  -u : 若目标文件已经存在,且比目标文件新才会更新

8. pwd命令,作用为查看“当前工作目录”的完整路径
  
  pwd -P #显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径


9. tar命令,用于压缩和解压
  
  -j : 通过bzip2的支持进行压缩/解压缩
  -z : 通过gzip的支持进行压缩/解压缩

  -c : 新建打包文件
  -t : 查看打包文件的内容有哪些文件名
  -x : 解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意:-c, -t, -x不能出现在同一条命令中

  -v : 在压缩/解压的过程中,将正在处理的文件名显示出来

  -f filename : filename为要处理的文件
  -C dir : 指定压缩/解压缩的目录dir

  常用:
    压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
    查询:tar -jtv -f filename.tar.bz2
    解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录


10. mkdir命令创建目录

  mkdir [选项] 目录
  -m --mode=模式,设定权限<模式> (类似chmod),而不是 rwxrwxrwx减umask
  -p --parents 可以是一个路径名称,此时若路径中的某些目录尚不存在,带上这个选项的,系统自己建好目录
  -v --verbose 每次创建新目录都显示信息

  例如:mkdir -m 777 -p test3/test2


11. rmdir命令删除目录

  rmdir [选项].. 目录..
  -p : 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示响应的信息
  -v -- verbose 显示指令执行过程

12. gzip命令压缩文件或文件夹为.gz文件
  
  gzip [参数] [文件或目录]

  -a or --ascii 使用ASCII文字模式
  -c or --stdout or --to-stdout 把压缩后的文件输出到标准输出设备,不去更改原始文件
  -d or --decompress or uncompress 解开压缩文件
  -f or --force 强行压缩文件,不理会文件名称 or 硬连接是否存在以及该文件是否为符号连接
  -h or --help 在线帮助
  -l or --list 列出压缩文件的相关信息
  -L or --license 显示版本与版权信息
  -n or --no-name 压缩问件事,不保存原来的文件名称及时间戳记
  -N or --name 压缩文件时保存原来的文件名称及时间戳记
  -q or --quiet 不显示警告信息
  -r or --recursive 递归处理,将指定目录下的所有文件及子目录一起处理
  -S or --suffix 更改压缩字尾字符串
  -t or --test 测试压缩文件是否正确无误
  -v or --verbose 显示指令执行过程
  -V or --version 显示版本信息
  -num 用指定的数字num调整压缩速度, -1 or --fast表示最快压缩方法(低压缩比),-9 or --best表示最慢压缩方法(高压缩比)。系统缺省值为6.



进程相关命令

13. ps命令显示运行的进程,还会显示进程的一些信息,如pid,cpu和内存使用情况等:

  -A : 所有进程均显示出来
  -a : 不与terminal有关的所有进程
  -u : 有效用户的相关进程
  -x : 一般与a参数一起使用,可列出较完整的信息
  -l : 较长,较详细的将PID的信息列出
  
  例如:ps aux


14. kill命令用于终止进程
  kill -signal PID
  
  1 : SIGHUP,启动被终止的进程
  2:SIGINT,相当于输入 ctrl+c,中断一个程序的进行
  9:SIGKILL,强制中断一个进程的进行
  15:SIGTERM,以正常的结束进程方式来终止进程
  17:SIGSTOP,相当于输入 ctrl+z,暂停一个进程的进行


15. killall命令和参数
  killall [-iIe] [command name]
  
  -i : 交互式的意思,若需要删除时,会询问用户
  -e : 表示后面接的command name要一致,但command name不能超过15个字符
  -I : 命令名称忽略大小写
  
  例如:killall -SIGHUP syslogd # 重新启动syslogd
  
16. crontab命令是启动linux定时任务的服务

  service cron start #启动cronjob
  service cron stop #停止cronjob
  service cron restart #重启cronjob
  crontab -e #编辑cronjob任务

  例如:打开crontab -e后通过vi方式编辑任务列表
  

17. free命令用于显示Linux系统中空闲的,已用的物理内存及swap内存,及被内核使用的buffer
  
  free [参数]

  -b : 以 Byte 为单位显示内存使用情况
  -k : 以 KB 为单位显示内存使用情况
  -m : 以 MB 为单位显示内存使用情况
  -g : 以 GB 为单位显示内存使用情况
  -o : 不显示缓冲区调节列
  -s : <间隔秒数>持续观察内存使用状况
  -t : 显示内存总和列
  -v : 显示版本信息

  仅显示。


18. top命令是Linux下常用的性能分析工具,能够实时显示系统中各进程的资源占有状况,类似于windows的任务管理器:

  top [参数]
  -b : 批处理
  -c : 显示完整的命令
  -I : 忽略失效过程
  -s : 保密模式
  -S : 累计模式
  -i : <时间>设置时间间隔
  -u : <用户名>指定用户名
  -p : <进程号>指定进程
  -n : <次数>循环显示的次数

  例如:top -bc -n 1

VIRT:virtual memory usage 虚拟内存
RES:resident memory usage 常驻内存
SHR:shared memory 共享内存



权限相关命令


19. chmod命令
  chmod [-R] xyz 文件或目录
  -R : 进行递归的持续更改,即连同子目录下的所有文件都会更改

  # 同时,chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)
   跟rwx搭配来对文件的权限进行更改,编号是各种权限的数字代码
  例如:chmod 0755 file # 把 file 的文件权限改变为 -rwxr-xr-x
     chmod g+w file # 向file的文件权限中加入用户组可写权限

20. chown命令改变文件所有者
  chown [para]... [owner][:[group]] file...

  -c : 显示更改部分的信息
  -f : 忽略错误信息
  -h : 修复符号链接
  -R : 处理指定目录及其子目录下的所有文件
  -v : 显示详细的处理信息
  -deference 作用于符号链接的指向,而不是链接文件本身

  例如:chown -R -f -c root usr


21. chgrp命令,改变文件所属组
  
  -c : 显示改变时的调试信息
  -f : 不显示错误信息
  -R : 处理指定目录以及其子目录下的所有文件
  -v : 运行时显示详细的处理信息
  

22. useradd 命令建立用户账号
  
  useradd [-mMnr] [-c <备注>] [-d <登入目录>] [-e <有效期限>] [-f <缓冲天数>]
    [-g <群组>] [-G <群组>] [-s] [-u] [用户账号]

  -c : 加上备注文字,备注文字会保存在passwd的备注栏中
  -d : 指定用户登入时的起始目录
  -D : 变更预设值?
  -e : 指定账号的有效期限
  -f : 指定密码过期后多少天即关闭该账号
  -g : 指定用户所属的附加群组
  -G : 指定用户所属的附加群组
  -m : 建立用户的登入的目录
  -M : 不要建立用户的登入目录
  -n : 取消建立以用户名称为名的群组
  -r : 建立系统账号
  -s : 指定用户登入后所使用的的shell
  -u : 指定用户ID

  例如:useradd -m -r -g xx xx2


23. usermod修改用户信息
  usermod [option] LOGIN

  -l : 修改账号名称
  -L : 暂时将用户密码冻结,让他无法登录,其实就是在密码前面加“!”
  -U : 将密码的“!”去掉


24. userdel删除用户
  userdel [option] LOGIN
  
  -f : 强制删除,包括用户的一切相关内容,
  -r : 删除用户的家目录和用户的邮件池

  例如:userdel -f -r xx2


25. groupadd命令用于将新组加入系统
  groupadd [-g gid] [- o] [-r] [-f] groupname

  -g gid : 指定组id号
  -o : 允许组ID号,不比唯一
  -r : 加入组ID号,低于499系统账号
  -f : 加入已有的组时,发展程序退出
  

26. groupdel命令删除组

  #如果组中有用户,先删除里面的用户以后才能删除组

  groupdel [options] GROUP


27. sudo用来以其他身份来执行命令,预设的身份为root  
  
  -b : 在后台执行指令
  -H : 将HOME环境变量设为新身份的HOME环境变量
  -k : 结束密码的有效期限,也就是下次再执行sudo时需要输入密码
  -l : 列出目前用户可执行与无法执行的指令
  -p : 改变询问密码的提示符号
  -s : 执行指定的shell
  -u : 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份
  -v : 延迟密码有效期5分钟


28. passwd设置用户的密码
  passwd [OPTION...] <accountName>

  -d : 删除密码 (root only)
  -l : 锁定密码
  -u : 解除密码锁定
  
  例如:sudo passwd xx2


29. groups显示用户所属组:
  groups # 默认显示当前用户的组
  
  例如:groups xx2 # 显示 xx2 用户的组


文本查看编辑命令


30. vi/vim 是使用vi编辑器的命令
  vi /var/log/aa.log #打开 /var/log/aa.log 文件并编辑

  vi/vim 分为三种模式,分别是命令模式,输入模式,和底线命令模式
  1)命令模式
    刚启动vim,便进入命令模式。此状态下敲击键盘动作会被vim识别为命令,而非输入字符。
    i : 切换到输入模式,以输入字符 (iao都可)
    x : 删除当前光标所在处的字符
    : : <冒号> 切换到底线命令行模式,以在最低一行输入命令
    若想要编辑文本:启动vim,进入命令模式,按下 i 键,切换到输入模式
    命令模式只有一些最基本的命令,因此一般使用底线命令模式输入更多命令

  2)输入模式
    在输入模式下按下 i 就进入了输入模式
    在输入模式中,可以使用一下按键
    a) 字符按键及 Shift 组合,输入字符
    b) ENTER,回车键,换行
    c) BACK SPACE,退格键,删除光标后一个字符
    d) DEL,删除键,删除光标后一个字符
    ... ...
    e) Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
    f ) ESC,退出输入模式,切换到命令模式
    
  3)底线命令模式
    在命令模式下按下 : (英文冒号)就进入了底线命令模式
    底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
    q 退出程序
    w 保存文件
    按 ESC 键可以随时退出底线命令模式


31. cat 是用于连接文件或标准输入并打印。这个命令常用来显示文件内容或者将几个文件连接起来显示,或者
  从标准输入读取内容并显示,它常与重定向符号配合使用

  cat [选项] [文件] ...
  -n : --number,由1开始对所有输出的行数编号
  -b : --number-nonblank , 和-n相似,只不过对于空白行不编号
  -s : --squeeze-blank,当遇到有连续两行以上的空白行,就代换为一行的空白行
  -v : --show-nonprinting,使用 ^ 和 M- 符号,除了 LFD和TAB之外
  -E : --show-ends,在每行结束处显示$
  -T : --show-tabs,将TAB字符显示为 ^|
  -A : show-all 等价于 -vET
  
  例如:
  cat -n textfile1 > textfile2 # 把textfile1的文档内容加上行号输入textfile2这个文档里
  cat -b textfile1 textfile2 >>textfile3 #把textfile1和textfile2的文档内容加上行号(空白行不加)
    之后将内容附加到textfile3文档里
  cat /dev/null > /etc/test.txt #清空 /etc/test.txt 文档内容


32. more命令和cat命令的功能类似,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的
  指令就是按空白键(space)就往下一页,按b键就会往回(back)一页显示,而且还有搜寻字串的功能

  -num : 一次显示的行数
  -d : 提示使用者,在画面下方显示[Press space to continue,'q' to quit],如果使用者按错键,则会显示
  [Press 'h' for instructions],而不是“哔”声
  -l : 取消遇见特殊字符元 ^L(送纸字元)时会暂停的功能
  -f : 计算行数时,以实际上的行数,而非自动换行后的行数,
  -p : 不以卷动的方式显示每一页,而是先清屏再显示内容
  -c : 与 -p 相似,不同的是先显示内容,再清除其他旧资料
  -s : 当遇到有连续两行以上的空白行,就代换为一行的空白行
  -u : 不显示下引号
  +/pattern : 在每个文档显示前搜寻该字串,然后从该字符串之后开始显示
  +num : 从第 num 行开始显示
  fileNames : 欲显示内容的文档,可为复数个

  例如: more +20 testfile #从第20行显示testfile的文档内容

  常用操作:
  Enter : 向下n行,需要定义,默认1行
  Ctrl + F : 向下滚动一屏
  空格键 : 向下滚动一屏
  Ctrl + B : 返回上一屏
  = : 输出当前行的行号
  :f : 输出文件名和当前的行号
  V : 调用vi编辑器
  ! : 调用shell,并执行命令
  q : 退出more


33. less 命令用法比起more更加的有弹性。在more的时候,我们并没有办法向前翻页,只能向后查看
  若使用的less,就可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件,更容易查看
文件的内容。此外,less里面有更多的搜索功能,不止可以向下搜索,还能向上搜索

  less [参数] 文件
  
  -b : <缓冲区大小>,设置缓冲区大小
  -e : 当文件显示结束后,自动离开
  -f : 强迫打开特殊文件,例如目录和二进制文件
  -g : 只标志最后搜索的关键词
  -i : 忽略搜索时的大小写
  -m : 显示类似more命令的百分比
  -N : 显示每行的行号
  -o : 将less输出的内容在制定文件中保存起来
  -Q : 不使用警告音
  -s : 显示连续空行为一行
  -S : 行过长时将超出部分舍弃
  -x : <数字>将tab键显示为规定的数字空格
  /字符串 : 向下搜索“字符串”的功能
  ?字符串 : 向上搜索“字符串”的功能
  n : 重复前一个搜索(与 / 或 ? 有关)
  N : 反向重复前一个搜索(与 / 或 ? 有关)
  b : 向后翻一页
  d : 向后翻半页
  Q : 退出 less 命令
  u : 向前滚动半页
  y : 向前滚动一行
  空格键 : 滚动一行
  回车键 : 滚动一页
  [pageup][pagedown]
  

34. tail命令,从指定点开始将文件写到标准输出。
  使用tail命令的 -f 选项可以方便的查阅正在改变的日志文件,tail -f filename 会将 filename里面最尾部的
 内容显示在屏幕上,并且不断刷新,是看到最新的文件内容

  tail [必要参数] [可选参数] [文件]
  
  -f : 循环读取
  -q : 不显示处理信息
  -v : 显示详细的处理信息
·  -c : <数目>显示的字节数
  -n : <行数>显示文件的尾部n行的内容
  --pid=PID 与 -f 合用,表示在进程ID,PID死之后结束
  -q,--quite,--silent : 从不输出给出文件名的首部
  -s, --sleep-interval=S 与-f 合用,表示每次反复的间隔休眠S秒

  例如: tail -f xx.log 此命令显示xx.log文件的最后10行,当将某些行添加至xx.log文件时,tail命令会一直
  继续,直到按下 Ctrl+c 组合键才停止显示。
  
  
35. head命令用于显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
  
  -q : 隐藏文件名
  -v : 显示文件名
  -c : <字节>显示的字节数
  -n : <行数>显示的行数

  例如:head -n 5 xx.sh


36. diff命令用于比较两个文件或目录的不同

  diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件是才有效。
以逐行的方式比较文本文件的异同处。如果指定比较的是目录的时候,diff命令会比较两个目录下名字相同
的文本文件,列出不同的二进制文件、公共子目录和只在一个目录出现的文件。

  diff [参数] [文件1或目录1] [文件2或目录2]
  
  -a : --text,diff预设只会逐行比较文本文件
  -b : --ignore-space-change,不检查空格字符的不同
  -B : --ignore-blank-lines,不检查空白行 
  ... ...


网络相关命令


37. ping用于确定主机与外部连接状态
  
  ping [参数] [主机名或IP地址]

  -d : 使用Socket的 SO_DEBUG 功能
  -f : 极限检测。大量且快速地送网络封包给一台机器,看它的回应。
  -n : 只输出数值
  -q : 不显示任何传送封包的信息,只显示最后的结果
  -r : 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题
  -R : 记录路由过程
  -v : 详细显示指令的执行过程
  -c : <数目>在发送指定数目的包后停止
  -i : <秒数>设定间隔几秒送一个网络封包给一台机器,预设是一秒一次
  -I : <网络界面>使用指定的网络界面送出数据包
  -l : <前置载入>设置在送出要求信息之前,先行发出的数据包
  -p : <范本样式>设置填满数据包的范本样式
  -s : <字节数>指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共641数据字节
  -t : <存活数值>设置存活数值TTL的大小

  例如: ping -v -i 1 www.baidu.com


38. ssh命令用于远程登录上Linux主机

  ssh [-l login_name] [-p port] [user@]hostname

  例如:ssh nwu@download3.internal.ng.movoto.net
     ssh -p22 omd@10.10.17.43


39. scp命令是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,
  不过cp是在本机进行拷贝不能跨服务器,而且scp传输是加密的

  scp [参数] [原路径] [目标路径]

  -1 : 强制scp命令使用协议ssh1
  -2 : 强制scp命令使用协议ssh2
  -4 : 强制scp命令使用IPv4寻址
  -6 : 强制scp命令使用IPv6寻址
  -B : 使用批处理模式(传输过程中不询问传输口令或短语)
  -C : 允许压缩(将-C标志传递给ssh,从而打开压缩功能)
  -p : 保留原文件的修改时间,访问时间和访问权限
  -q : 不显示传输进度条
  -r : 递归复制整个目录
  -v : 详细方式显示出输出。scp和ssh1会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
  -c : 以cipher将数据传输进行加密,这个选项将直接传递给ssh
  -F : ssh_config指定一个替代的ssh配置文件,此参数直接传递给ssh
  -i : identity_file从指定文件中读取传输时使用的秘钥文件,次参数直接传递给ssh
  -l : limit,限制用户所能使用的带宽,以Kbit/s为单位
  ... ...


40. telnet命令用来远程登录操作
  telnet [参数] [主机]
  
  -8 : 允许使用8位字符资料,包括输入与输出
  -a : 尝试自动登入远端系统
  -b : <主机别名>使用别名指定远端主机名称
  -c : 不读取用户专属目录里的.telnetrc文件
  -d : 启动排错模式
  -e : <脱离字符>设置脱离字符
  -E : 滤除脱离字符
  -F : 使用 kerberos V5 认证时,加上此参数可以把本地主机的认证数据上传到远端主机
  -k : <域名>使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名
  -K : 不自动登入远端主机
  -l : <用户名称>指定要登入远端主机的用户名称
  -L : 允许输出8位字符资料
  -n : <记录文件>指定文件记录相关信息
  -r : 使用类似rlogin指令的用户界面
  -S : <服务类型>设置telnet连线所需的IP TOS信息
  -x : 假设主机有支持数据加密的功能,就使用它
  -X : <认证形态>关闭指定的认证形态

  例如:telnet www.baidu.com
  
  另,ssh命令和telnet命令都能远程登录另一台机器,但ssh更安全。telnet是明文传送,ssh是加密且支持压缩


41. wget是从远程下载的工具

  wget [参数] [URL地址]
  
  参数太多,略...

  例如:wget https://www.python.org/ftp/python/...


42. ifconfig命令用来查看和配置网络设备。当网络环境发生改变时,可通过此命令对网络进行相应的配置。

  ifconfig [网络设备] [参数]

  -a : 显示全部接口信息
  -s : 显示摘要信息(类似于netstat -i)

  例如:ipconfig -a


43. route命令用于显示和操作IP路由表

  例如:route -n
     route


搜索文件

44. whereis命令

  whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码
文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找速度非常快,这是因为linux系统会将
系统内的所有文件都记录在一个数据库文件中,当使用whereis和locate时,会从数据库中查找数据,而不是像find
命令一样,通过遍历硬盘来查找,效率会很高。但是该数据库文件并不是实时更新,默认情况下一个星期更新一次,
因此,我们在用whereis和locate查找文件时,有时会找到已经被删除的文件数据,或者刚刚建立文件,却无法找到,
原因就是数据库文件没有更新

  whereis [-bmsu] [BMS 目录名 -f] 文件名


45. locate命令
    locate命令可以在搜索数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周
  期性建立的,locate命令在搜索数据库比由整个从硬盘上搜索资料快,但较差劲的是locate所找到的档案是最近才
  建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以修改crontab来更新设定值。


46. which命令会在PATH变量指定的路径中,搜索某个系统命令的位置,并返回第一个搜索的结果

  which 可执行文件名称

  -n : 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
  -p : 与 -n 参数相同,但此处包括了文件的路径
  -w : 指定输出时栏位的宽度
  -V : 显示版本信息

  例如: which java


其他


47. grep命令

 该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道
命令一起用,用于对一些命令的输出进行筛选加工等等,比如可以加在 ps,tail, cat后面
  
  grep [-acinv] [--color=auto] '查找字符串' filename

  例如:ps aux|grep py


48. clear命令用于清除终端屏幕上现有的文字内容
  

49. date命令用于显示或设定时间

  例如:date '+%D'
  
50. ln命令是为某一文件在另一位置建立一个同步的链接
  

 

原文链接:http://www.cnblogs.com/lili-xia/p/11232618.html