Linux基础知识整理

一、基础知识

1、Linux简介

  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位64位硬件。Linux继承了Unix网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

  简单点说,linux就是一个操作系统,和windows、mac的os x 一样。

Linux的版本号又分为两部分:内核(Kernel)版本和发行(Distribution)版本。内核版本的序号由3部分数字构成,其形式:2.4.20

  Linux国外主要发行版本
  1.Red Hat Linux
  2.SuSE Linux
  3. Turbo Linux
  4. Ubuntu
   Linux国内主要发行版本
  1.红旗Linux【红旗Linux是由北京中科红旗软件技术有限公司开发的一系列Linux发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式Linux等产品。目前在中国各软件专卖店可以购买到光盘版,同时官方网站也提供光盘镜像免费下载。红旗Linux是中国较大、较成熟的Linux发行版之一】
  2.中标普华Linux【上海中标软件有限公司发布的面向桌面应用的操作系统产品】
  3. 蓝点Linux【蓝点软件技术(深圳)有限公司研发,早期研发个人桌面linux,但现蓝点(BluePoint)主要产品:防毒及邮件过滤 , 防火墙】

Linux内核版本号的含义:Linux内核版本由3个数字组成:r.x.y,
  r:目前发布的Kernel主版本
  x:偶数是稳定版本,奇数是开发中的版本 
  y:错误修补次数 
  一般来说,x位为偶数的版本表明这是一个可以使用的稳定版本,如: 2.6.18;x位为奇数的版本一般加入了一些新内容,不一定稳定,是测试 版本,如:2.7.22。 
查询内核版本命令: uname -r

2、Linux特点

  1、开源的

  2、强大的数据库支持

  支持Oracle、Sqlite、Sybase、DB2、MySQL、PostgreSQL

  3、强大的网络功能

  可以充当应用服务器、文件服务器、打印服务器、邮件服务器、新闻 服务器等

  4、支持多用户

   Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响【win只能一个用户连接,如果一个用户连接了win,其他人都不能再连接了;而linux支持多个用户可以同时连接同一台linux服务器】

  5、支持多种文件系统

  6、良好的可移植性

  Linux是世界上唯一能够在嵌入式设备、个人计算机、服务器、小型机甚至大型机上运行的操作系统

  7、可靠性高

3、Linux远程登录工具

  1、telnet远程登录

  2、SSH远程登录

  SSH远程登录常用工具:secureCRT/xshell/ssh命令远程登录等

  注:win下用ssh命令连接远程服务器,即命令: ssh 用户名&IP【需安装OpenSSHWindows包才有SSH命令】

  

      

4、Linux上传下载工具

  1、Xftp、FileZilla、Winscp等工具

  2、RZ、SZ命令

    Rzsz需要在linux下安装:

         a、Rzsz命令安装:使用yum安装,yum –y install lrzsz【需要网络】

         b、编译安装:http://blog.chinaunix.net/uid-20639775-id-154615.html【不需网络】

       缺点:RZsz命令只能上传文件,不能上传文件夹,如果上传文件夹必须将其压缩才可以上传

5、Linux系统管理

  1)、注销、重启命令

  a、注销:exit(常用于字符界面,图形界面只关闭终端窗口)
           logout(仅文本终端)
  b、重启命令
  reboot
    -w:不实际关机,用户登录信息写入/var/log/wtmp
    -d:不将用户登录信息写入/var/log/wtmp
    -f:强制重启
    reboot 可以不接参数【直接重启】
  shutdown
    shutdown -r 延时分钟数 “提示信息”
    shutdown -r now(now表示立即执行)
    不能单独用,至少2个参数

  c、关机
  halt
    -w:不实际关机,用户登录信息写入/var/log/wtmp  -d:不将用户信息写入/var/log/wtmp
       -f:强制关机
       -p:关机后,关闭电源
     可以不接参数
  poweroff
     除了无-p参数,其他与halt同
  init 0
  shutdown
    shutdown -h 延时分钟数 “提示信息”
    shutdown -h now(now表示立即执行)
    不能单独用,至少2个参数

  2)、图形化界面和文本界面

   a、 /etc/inittab文件中的initdefault参数可以修改默认启动图形化界面还是文本界面,3为默认进入文本界面,5为默认进入图形化界面。

       

       原因:虚拟机里只安装了文本界面,未安装图形化界面,如果initdefault改为5,重启虚拟机时,会一直按图形化界面启动但是系统又未安装图形化界面,所以启动不起来

   b、文本界面下输入init5或者startx切换图形化界面;图形化界面下输入init3切换文本界面

   c、一般默认进入文本界面

6、Linux用户、组

   1)、Linux用户 

   a、添加用户
  useradd -d 家目录 -g 组名 -G 组集合(逗号间隔) -p 密码 -s 用户shell程序 用户名
    useradd -d /usr/local/nginx/ -g nginx -G nginx,oracle -p123456 -s /bin/bash test4
  若没有使用-p,可以使用命令加密:passwd 用户名
   passwd test4
  可以不加参数直接useradd test5,添加一个用户,默认使用bash shell,家目录在/home/下
  看Linux中有哪些用户:进入home目录,在该目录下ls

  b、修改用户
  usermod -l 新用户名 -d 新家目录 旧用户名
    usermod –l tom –d /usr/local/tomcat test4
  家目录要存在,且为绝对路径
  Usermod中同样可以使用useradd参数

  c、删除用户
  userdel -r 用户名
    userdel –r test3
    -r用于删除家目录及其所有文件
  注:-c comment 指定一段注释性描述。
      -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
    -g 用户组 指定用户所属的用户组。
    -G 用户组,用户组 指定用户所属的附加组。
    -s Shell文件 指定用户的登录Shell。
    -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  d、切换用户su
  用法: su root 或者 su - root
  这两者的区别是su root不会重新加载切换用户的用户变量,su - root会重新加载用户的用户变量
  注:$和#,$代表普通用户,#代表root用户

  e、获取超级用户权限sudo
  用法:sudo reboot
  有一些命令是普通用户没有权限操作的,所以要用sudo来获取超级用户权限
  如果普通用户要使用sudo命令,需要在/etc/sudoers文件中配置才可以使用,例如要besttest用户可以使用sudo获取root用户权限,使用root用户编辑/etc/sudoers文件,找到 root ALL=(ALL) ALL 这一行,在它下面加入bestest ALL=(ALL) NOPASSWD:ALL然后保存即可。NOPASSWD代表该用户使用sudo的时候不用输入密码

    2)、Linux组

  a、增加组groupadd
  groupadd -g 组ID -r 组名
    Groupadd –g 451 –r besttest
  -r:建立系统组,组ID小于499
  新组ID在500-60000之间,小于500的为系统组
  所有参数均可省(除了组名)
  groupadd dba 添加一个dba组

  b、修改组groupmod
  groupmod –g 组新id –n 组新名 组旧名
    groupmod –g 561 –n test besttest

  c、删除组groupdel
  groupdel 组名
    groupdel test

7Linux网络配置

  1)、设置ip地址【设置静态IP】

  1、在/etc/sysconfig/network-scripts/ifcfg-eth0文件中设置

  2、Linux下ip地址信息以及ip获取方式都是存放在ifcfg-eth0这个文件下的,如果有多块网卡的话就是ifcfg-eth0、ifcfg-eth1依次

        

  2)、设置临时ip地址

  命令:ifconfig eth0 192.168.1.102 【eth0指定第1块网卡】

    注:临时设置ip地址可以使用ifconfig 网卡 ip地址临时设置ip地址,重启后会失效

    注:如果没有ifconfig命令,可以用ip a来查看ip地址

          自动获取ip地址命令:dhclient

  3)、设置dns【上网的话需要配置DNS,解析成IP地址】

  修改文件:/etc/resolv.conf

      

  一般不要设置静态IP地址和DNS,因为如果网络发生变化需要重新设置IP和DNS,可用命令dhclient自动获取ip地址。

  全局网络配置文件:/etc/sysconfig/network

    主要有两个配置项 NETWORKING(网络工作状态)和HOSTNAME(主机名)

    修改主机名的话修改HOSTNAME的值即可

    查看ip地址,ifconfig命令

    重启、启动、停止网络命令:service network restart/start/stop

 4)、VMware的3种网络类型

  1、VMnet0:用于虚拟桥接网络下的虚拟交换机【桥接方式】

  2、VMnet1:用于虚拟Host-Only网络下的虚拟交换机【仅主机模式】

  3、VMnet8:用于虚拟NAT网络下的虚拟交换机【NAT模式】

   VMware Network Adapter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡

  VMware Network Adapter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡。

   

  虚拟机有三种连接方式:桥接方式、NAT模式、Host-only模式(仅主机模式);三者区别:
    桥接方式:去局域网获取IP,不同的网络,IP地址会变
    NAT模式和Host-only模式都是把电脑本身当成转换器去获取IP,所以不同网络IP地址不变,如果想IP地址不变可以选择NAT模式或Host-only模式,但是Host-only模式有时会上不了网,所以建议用NAT模式连接

8Linux文件系统

  • 树状结构,/为最高的根目录
  • root:root用户的个人文件夹(家目录)
  • bin:存放多数用户可用的命令
  • boot:存放启动文件和配置信息,系统启动时会用
  • dev:存放设备文件,/dev/hdc代表光驱
  • etc:存放服务配置文件
  • home:其他用户的家目录
  • lib:存放程序运行所需要的库文件
  • media:可移动设备的挂载目录
  • mnt:设备挂载目录
  • usr:用户程序存放目录
  • var:存放经常改动的数据文件
  • tmp:存放临时文件
  • sbin:存放维护系统所需命令,一般仅root可用
  • proc:存放核心运行时产生的文件,这些文件位于内存而非硬 盘中
  • sys:与proc类似,设计比proc更清晰,文件位于内存
  • srv:服务需要的数据的存放目录
  • lost+found:文件系统修复时找回的丢失文件
  • opt:额外软件安装目录
  • misc:不方便归类的杂项文件
  • selinux:SELinux文件系统实例

 9、文本编辑器VI

  vi是Linux/Unix底下最常用的文本编辑器,可以理解为和Windows下的txt一样。

  vim:vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性,可以把vim理解为vi的升级版

  1)、vi有两种模式:命令模式和编辑模式

   a、命令模式

  • 进入vi时的默认模式,此模式下所有的用户输入都视为命令
  • 用户在此模式下进行搜索、复制、替换

   b、编辑模式

  • 用户在此模式下可以编辑文本内容

  2)、vi模式切换

  默认进入命令模式,切换成编辑模式按键如:i(当前位置) 、a(下一位置)、o(下一行);
  编辑模式切换成命令模式:esc[在键盘的左上角]

  3)、VI对文件的编辑方式

 1)、  光标定位

  • M 移动光标到页面中央
  • L移动光标到页面尾处
  • H移动光标到页面开始处
  • Ctrl+f向后翻页
  • Ctrl+b向前翻页
  • 0移动光标到行首
  • $移动光标到行尾
  • /:从上往下开始查找【格式:/查找的内容】
  • ?:从下往上开始查找【格式:?查找的内容】
  • Ctrl + d:往下翻半屏内容
  • Ctrl + u:往上翻半屏内容
  • Shift + g:到文件末尾
  • u复原前一个动作
  • . 重复前一个动作
  • nyy  复制光标所在的向下n行内容
  • yw复制光标后的单词,以空格为分界
  • p在光标处粘贴复制的内容
  • ndd删除光标所在向下n行的内容
  • r:替换当前位置字符
  • x:删除当前位置字符
  • dd:删除整行
  • :1,3y 复制第一行到第三行
  • :1,3d 删除第一行到第三行
  • :1,3s/str/str_new/g 替换第一行到第三行中的字符串
  • :1,3s/str/str_new    替换第一行到第三行中的字符串第一个字符
  • :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行
  • set number:显示行号
  • set nonu:取消显示行号

  2)、  撤销和重复

  • u复原前一个动作
  • . 重复前一个动作

    3)、  复制 粘贴 删除 替换

  • nyy 复制光标所在的向下n行内容
  • yw复制光标后的单词,以空格为分界
  • p在光标处粘贴复制的内容
  • ndd删除光标所在向下n行的内容
  • r:替换当前位置字符
  • x:删除当前位置字符
  • dd:删除整行
  • :1,3y 复制第一行到第三行
  • :1,3d 删除第一行到第三行
  • :1,3s/str/str_new/g 替换第一行到第三行中的字符串

      • :%s/str/str_new/g 替换文件中所有【将文件中所有str字符串替换成str_new】
  • :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符
  • :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行

   4)、 设置行号

  • set number:显示行号
  • set nonu:取消显示行号

       

   5)、 搜索字符串

  • 输入/+要查找的字符串
    • /bestest
  • 按n键重新查找下一个

   6)、 退出

  • q 退出vi
  • q! 不保存退出
  • wq 保存退出
  • e!不保存修改的文件
  • w 保存
  • !强制,后面加叹号的话表示强制

二、Linux常用命令

1、帮助命令

    whatis命令:简单描述命令功能
  -help选项:命令使用摘要及参数列表
  man命令:命令说明文件
  info命令:更详细的说明文件
  说明/usr/share/doc/

2、文件管理命令

1、alias给命令起别名、unalias取消别名
    alias给命令起别名,想要用该命令可以直接用别名即可
    格式:alias 命令别名='命令'
    unalias取消别名(格式:unalias 别名)
    eg:启动/停止lampp时总是要到它响应的目录下,这时可起个别名,直接用别名启动、停止lampp,简化操作,具体如下图:
    

    上图方式只在本次启动有效,如果虚拟机注销,此别名失效;要想让其一直有效可以在用户的家目录下编译.bashrc文件【该文件是用户环境变量文件】,添加命令别名后用source命令使其生效,如下图:

      

    输入alias查询系统别名

          

2、ls查看

  • ls:列举指定目录下的子目录和文件
    • 用法:ls [-arltrx] [name……]
    • 主要参数:
      • -a, --all:不隐藏任何以“.” 字符开始的项目。 -i, --inode:列出每个文件的inode号。 -l:使用较长格式列出信息。
      • -t 以时间排序。
      • -r, --reverse:依相反次序排列。
      • -R, --recursive:同时列出所有子目录层。 -s, --size:以块大小为序
  •   ls -l 显示文件信息【例如:大小、权限等】
  •   命令可以和通配符"*"一起使用:eg:ls p* :查看当前目录下所有p开头的文件

3、cd进入目录

  •  cd回车:退到当前用户个人目录
  • cd / :退到最根目录
  • cd ../xx:退到上级目录的xx目录
  • cd .:停留在当前目录
  • cd .. :返回上级目录
  • cd –:回到上一次操作的目录
  • cd ~: 回到用户家目录

     

4、cp: 复制文件夹/文件
  • cp:复制指定文件到另一文件或目录
  • 用法:cp [-abrifLP] [source] [dest]
  • 主要参数:
  • -a:尽可能的将文件的属性、权限的内容都照原状复制
  • -b:如果目的文件存在,就创造一个备份
  • -r:若源中有子目录,则将子目录下的文件及目录亦全部复制至目的目录
  • -i:若目的地有重复的文件,询问是否覆盖
  • -f:若目的地有重复的文件,则覆盖原有文件
  • -L:复制符号链接,自动修改链接以保证链接有效
  • 举例:
  • cp -rf a.txt /tmp
  注:复制时如果使用-rf时若有重复文件,依然提示是否覆盖,原因:使用alias下查看cp别名,会发现alias cp='cp -i'默认cp命令加了-i,如果不想提示是否覆盖,可以unalias cp。

      

5、scp:在两台电脑间复制

      

6、mv移到文件/还有改名的功能

  • mv:用来为文件或目录改名,或者将文件由一个目录移入另一个目录中
  • 用法:mv[options] 源文件或目录 目标文件或目录
  • 主要参数:
    • -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆 盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可 以避免误覆盖文件。
    • -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任 何指示,指定此参数后i参数将不再起作用。
    • 举例:将/usr/local/tomcat下所有文件移动到 /tmp/tomcat下
    • mv /usr/local/tomcat/* /tem/tomcat
    • 将a.txt改名为b.txt
    • mv a.txt b.txt
       

  注:mv[options] 源文件/目录 目标【与源文件/源目录路径相同名称不同】---->改名
  mv[options] 源文件/目录 目标【与源文件/源目录路径、名称均不同】---->移动并改名
  mv[options] 源文件/目录 目标【与源文件/源目录路径不同、名称相同】----->移动

7、rm删除文件/文件夹
  • rm:用来删除文件或目录
  • 用法:rm [-ifr] name
  • 主要参数:
    • -r:删除目录及子目录,目录下如果有子目录及文件也会被删除
    • -f:不询问直接删除
    • -i:删除前逐一询问确认
    • 注意: 删除的文件非常难恢复,没有windows的回收站
    • 举例:删除/tmp/logs下所有文件
    • rm -rf /tmp/logs/*
    • rmdir:用来删除一个空文件夹
    • 主要参数 -p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
    • rmdir不能删除非空目录

8、pwd列出当前目录

  

9、mkdir创建文件夹

  • mkdir:创建文件夹
    • 用法:mkdir [options] name
    • 主要参数:
      • -p:如果创建的文件夹父目录不存在会连父目录一起创建
      • -m :配置文件案的权限喔!直接设定,不需要看预设权限 (umask)的脸

     

10、rmdir删除空文件夹
  • rmdir:用来删除一个空文件夹
    • 主要参数 -p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
    • rmdir不能删除非空目录
11、cat查看文件内容
  • cat:用于连接并显示指定的一个和多个文件的有关信息
    • 用法:cat [options] 文件1 [文件2]……
  • 主要参数:
    • -n:由第一行开始对所有输出的行数编号。
    • -b:和-n相似,只不过对于空白行不编号。
    • -s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。
    • 举例:

      •将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件
        • cat a.txt b.txt > c.txt
      • 对行进行编号
        • cat -b a.txt
    • cat 可以不添加任何参数直接使用

12、more/less分屏显示文件内容
  • more和less:分屏显示文件内容,可以逐页或者逐行 显示文件内容
    • 用法:more [参数] 文件 less [参数] 文件
    • 举例:less a.txt more a.txt
    • 回车为显示下一行
    • 空格为转到下页
    • G 移动到最后一行 #less
    • g 移动到第一行 #less
    注:more/less查看内容后也可以“/+搜索内容”搜索

13、tail动态查看文件内容
  • tail:查看文件末尾内容
    • 用法:tail [参数] [文件]
    • 主要参数:
      • -f 动态读取
    • 举例
      • 动态查看日志 tail -f err.log
      • 查看末尾10行日志 tail -10 err.log
      • 动态查看末尾5行日志 tail -5f err.log

14、head显示文件的开头至标准输出中
  • head:显示文件的开头至标准输出中
    • 用法:head [参数]... [文件]...
    • 主要参数:
      • -n<行数> 显示的行数
  head 是从头开始显示内容,head -10 filename:显示前10行内容
  cat、more/less、tail的区别:
    cat会将文件内容全部显示出来,如果文件内容较多只能看到最后的部分
    more/less是一页一页的显示,即分屏显示文件内容
    tail查看文件末尾内容,也可以动态查看文件内容;cat、more、less不能动态查看

15、ln创建文件链接
  ln创建文件链接,即添加快捷键
  • ln:创建文件链接
  • Linux中,每一个文件都对应于文件系统上的唯一索引节点
  • 硬链接:
    • 一个文件可以有多个文件名,每一个文件名都是一个硬链接,它们指向目标文件所在文件系统中的索引节点,硬链接指向的是同一个物理位置,所以同一文件系统中的文件间才能建立硬链接
    • 硬链接可以看做文件别名,所有硬链接都删除时,文件才被真正删除
    • 目录不可以建立硬链接,否则目录遍历会陷入死循环
    • ln 源文件 硬链接目标文件
  • 软连接【即添加快捷键】
    • 包含目标文件或目录的路径信息
    • 软连接可以跨越文件系统,也可以连接目录
    • 相当于Windows的快捷方式
    • ln -s 源文件 软连接目录或文件【即添加快捷键】


16、du文件和目录的磁盘使用空间
  • 用法:du [选项][文件]
  • 主要参数:
    • -s或--summarize 仅显示总计,只列出最后加总的值
    • -h或--human-readable 以K,M,G为单位,提高信息的 可读性
    • -k或--kilobytes 以KB(1024bytes)为单位输出
    • -m或--megabytes 以MB为单位输出
    • -S或--separate-dirs 显示个别目录的大小时,并不含其子 目录的大小

     

   常用du -sh [文件]查看大小

17、lsof列出当前系统打开文件的工具
  • lsof:列出当前系统打开文件的工具
    • 用法:lsof [options] filename
    • 常用参数:
      • lsof filename 显示打开指定文件的所有进程
      • lsof -c string 显示COMMAND列中包含指定字符的进程所有打 开的文件
      • lsof -u username 显示所属user进程打开的文件
      • lsof +d DIR/ 显示目录下被进程打开的文件
      • lsof +D DIR/ 上,但是会搜索目录下的所有目录,时间相对较长

   lsof输出说明:
    • COMMAND:进程的名称
    • PID:进程标识符
    • USER:进程所有者
    • FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、 txt等
    • TYPE:文件类 型,如DIR、REG等
    • DEVICE:指定磁盘的名称
    • SIZE:文件的大小
    • NODE:索引节点(文件在磁盘上的标识)
    • NAME:打开文件的确切名称


18、chmod赋权限
  • chmod:用来给文件或者文件夹赋权限
    • 用法:chmod [选项][文件]
    • chmod有两种方式,数字方式和文本方式:
      • 数字方式:
        [n][n][n] r=4 w=2 x=1
        rwx:4+2+1; r-x:4+1; rw-:4+2
      • 文本方式
        u -- 该档案的拥有者;
        g -- 与该档案的拥有者属于同一个群体(group)者;
        o -- 其他以外的人;
        a -- 所有
        + -- 增加权限
         - -- 去掉权限
        -R 递归,主要用于一个目录,把该目录下所有的文件/文件夹赋权限
  注:给文件赋权限不需要加-R,给文件夹赋权限时需加-R,如果给文件夹赋权限未加-R,那文件夹的权限修改了但该文件夹下的文件权限未被修改

  示例:
    • 给text文件赋予rwxr-xr-x权限
      chmod 755 text
    • 给text及其子目录底下所有文件赋予rwxr-xr-x权限
      chmod -R 755 text
    • 为文件abc的组拥有者增加rw权限
      chmod g+rw abc
    • 为abc文件的用户拥有者去除x权限
      chmod u-x abc
    • 指定文件abc的其他用户权限为rw-
      chmod o=rw-
    • 为文件abc及其子目录底下的所有文件的全体用户增加x权限
      chmod -R a+x abc

19、chgrp改变文件所属组
  • chgrp:改变文件所属组
    • 用法:chgrp [选项] [组] [文件]
    • 主要参数:
    • -R 递归
    • 注意:改变所属组的使用权限必须是超级用户


20、chown改变文件所有者和所属组
  • chown:改变文件所有者和所属组
    • 用法:chown [选项] 用户或组 文件名
    • 主要参数: -R 递归式地改变指定目录及其所有子目录、文件 的文件主
    • 注意:使用权限是超级用户
    举例: chown -R test:test foo


21、wc统计文件中的行数、字节数、字数
  • wc:统计指定文件中的行数、字节数、字数,并将统计结果显示输出
    • 用法:wc [选项] [文件]
    • 主要参数:
      • -c 统计字节数。
      • -l 统计行数。
      • -m 统计字符数。这个标志不能与 -c 标志一起使用。
      • -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
      • -L 打印最长行的长度。
      • -help 显示帮助信息
      • 可以不加任何参数使用
22、clear清屏
23、history查看历史命令

3、搜索命令

1、grep显示文件中的匹配行【即查找文件的内容】

  • grep:显示文件中的匹配行
    • 用法:grep [参数] 字符串 文件名
    • 主要参数:
      • 无参:显示匹配行内容
      • -c:显示匹配行数【即总共匹配了几行】
      • -e 字符串:匹配特殊字符串,如-开头
      • -i:忽略大小写
      • -v:输出不匹配行
      • -w:匹配指定字符串
      • 可以和别的命令通过"|"管道符连接使用
    • 示例:
      • grep -c “foo” a.txt【例1】
      • ps -ef|grep httpd |grep -v "grep"【例2】
      • grep常和其他命令结合使用,例如例2

      

2、find查询文件或文件夹

  • find:查找目录下的文件
    • 用法: find 目标目录 搜索参数 操作参数
    • 主要参数:
      • -name 文件名:可以跟通配符
      • -amin 分钟数:文件最后访问时间为指定分钟之前,负数表示之后
      • -atime 天数:文件最后访问时间为指定天数之前,负数表示之后
      • -cmin 分钟数:文件最后修改时间为指定分钟之前,负数表示之后
      • -ctime 天数:文件最后修改时间为指定天数之前,负数表示之后
      • -user 用户名:属于用户的目录和文件
      • -type 文件类型
    • 示例:
    •  find / -name besttest

3、定位文件位置

  • locate 命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库( /var/lib/locatedb)【此数据库存放了Linux系统所有的目录】,这个数据库中含有本地所有文件信息,locate命令需要安装,系统本身不自带
  • whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数 -b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省 略参数,则返回所有信息。同locate一样,查询数据库( /var/lib/locatedb)文件
  • which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且 返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
  • 区别:locate可以搜索所有文件,whereis是搜索程序名,如果是一个普通的文件是找不到的,which命令只查找环境变量中path里面的路径
  • 示例:locate besttest.txt
  • whereis mysql
  • which locate

  

原文地址:https://www.cnblogs.com/lyftest/p/5864737.html