这篇是linux查找和补全命令的基础命令

这篇主要讲的是一下几个命令

  • 更改文件组群命令(必须root用户)chgrp
  • 更改文件所有者命令chown
  • 文件查找命令find
  • 搜索命令grep

无法显示

chgrp命令

详细

  • 格式:chgrp组群 文件
  • 功能:改变文件的所属组群
  • 注意:该命令只有 超级用户可以使用
  • 例:chgrp root XX.php
  • 注意

在当前用户主目录下创建文件XXXf2,并修改其所属组群为root。使用ls –l 查看执行结果是否正确

  1. 新建文件
1
$ touch XXXf2
  1. 切换root
    1
    $ su root
  2. 更改文件组群
    1
    $ chgrp root XXXf2
  3. 查看
    1
    2
    $ ls -l XXXf2
    返回值: -rw-rw-r-- . 1 XXXxf13 root 0 4月 11 09:42 XXXf2

chown命令

详细

  • 格式:chown文件所有者[:组群] 文件
  • 功能:改变文件的左右者,并修改文件所属组群
  • 注意:该命令只有超级用户可以使用
  • 例:chown root:root XX.php
    chown root XX.php

修改XXXf2其所属所有者为root。使用ls –l 查看执行结果是否正确。

  1. 更改文件所有者/组群
    1
    $ chown root XXXf2
  2. 查看
    1
    2
    $ ls -l XXXdir2
    返回值: -rw-rw-r--. 1 root root 0 4月 11 09:42 XXXf2

find命令

详细

  • 格式:find 【文件或目录】 【参数】
  • 功能:搜索出指定目录下的文件
  • 常用参数:

    -name:搜索指定文件名字的文件,支持通配符;

    -size [+|-] 文件大小:查找指定的文件;

    -group 组群名 :搜索指定组属的文件;

    -user 用户名:搜索指定用户所属的文件;

    -type 文件类型:查找指定类型的文件(d:目录 l:符号链接文件);

实列:

  1. 目前目录及其子目录下左右延申文件名是c的文件列出来
    1
    $ find -name "*.c"

2.列出/etc目录下以conf为扩展名的文件

1
$find /etc -name "*.conf"
  1. 将目前目录及其子目录下左右大于20kb的文件和目录列出来

    1
    $ find -size +20k
  2. 列出当前目录下的所有文件的所有者是root的文件

    1
    $ find -user root

实践

  1. 查找/etc目录中文件名以conf为扩展名的文件

    1
    2
    3
    4
    5
    6
    7
    $ find /etc -name "*.conf"
    返回值:
    /etc/resolv.conf
    /etc/fonts/conf.d/62-google-crosextra-caladea-fontconfig.conf
    /etc/fonts/conf.d/61-urw-fallback-backwards.conf
    /etc/fonts/conf.d/65-0-ttf-arphic-uming.conf
    ......
  2. 查找用户主目录下以当前用户为组群的文件或目录

    1
    2
    3
    $ find -group guoxf13
    返回值:
    ./XX.js
  3. 查找用户主目录下以root为所有者的文件或目录

    1
    2
    3
    $ find -user root
    返回值:
    ./XXXf2
  4. 查找当前目录及其子目录下所有链接文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ find /etc -type l
    返回值:
    /etc/mtab
    /etc/fonts/conf.d/62-google-crosextra-caladea-fontconfig.conf
    /etc/fonts/conf.d/61-urw-fallback-backwards.conf
    /etc/fonts/conf.d/65-0-ttf-arphic-uming.conf
    /etc/fonts/conf.d/31-cantarell.conf
    /etc/fonts/conf.d/65-0-lohit-oriya.conf
    /etc/fonts/conf.d/59-liberation-sans.conf
    ······

grep命令

详细

  • 格式:grep[选项]字符串 文件列表
  • 功能:查找文件中符合条件的字符串
  • 参数:

    -n:显示行号;

    -v:显示不包含指定字符串的行;

    -i:查找时不区分大小写;

实践

  1. 使用grep命令在/etc/passwd文件中查找字符串/home

    1
    2
    3
    4
    5
    $ grep "/home" /etc/passwd
    返回值:
    snowfly:x:1000:1000:snowfly:/home/snowfly:/bin/bash
    guoxf13:x:1001:1001::/home/guoxf13:/bin/bash
    liuyh16:x:1002:1002::/home/liuyh16:/bin/bash
  2. 使用grep命令在/etc/passwd文件中查找含有当前用户名的行及行号

    1
    2
    3
    v grep -n "guoxf13" /etc/passwd
    返回值:
    f13:x:1001:1001::/home/guoxf13:/bin/bash

shell的功能–命令补齐[Tab]

详细

在输入命令或者文件名的部分内容后:

  • 按下Tab键,可以自动补齐所需的内容
  • 双击Tab键,可以把所有以此字母开头的命令列出来
  • 输入ch,双击Tab键列出ch开头的命令:
  • 例:
    chomd chgrp chown

history命令

详细

  • history 查看所有输入的命令

    -c:清除当前shell里的全部history内容;

    -n:列出最近执行的n条命令;

    history

    history 10
  • 使用键显示最近的历史命令;
  • 如何执行指定的命令号?

    ! 序号

    如:!100