目录

Linux基础(3)命令2

Linux基础(3)命令2

学习目标

  • 查看文件内容
  • 链接
  • 文本搜索命令
  • 查找文件命令
  • 压缩和解压缩命令
  • 获取管理权限命令
  • 用户相关操作
  • 用户组相关操作

查看文件内容

命令 说明
cat 查看小型文件内容
more 查看大型文件内容,可分页显示

管道| 是一个输出的容器,前面命令的输出是后一命令的输入

比如ls /bin | more


链接

链接命令是创建链接文件,链接文件分为:软链接硬连接

命令 说明
ln -s 创建软链接
ln 创建硬链接
  • 软链接

    软链接是快速访问的入口,语法:ln -s [原路径] [创建链接文件]

    创建软链接时源文件路径使用相对路径可能会导致软链接访问不到原文件,

  • 硬连接

    相当于源文件的别名,也就是说两个名字指向的是同一个文件数据。有防止文件丢失的作用,比如a文件创建了一个硬连接b,删除a后b还能继续访问a的原来的内容。

    1. 软链接和硬连接在改变文件内容时均会同时发生改变,但是删除后,软链接访问不到原文件,但是硬连接是可以访问的。

    2. 硬连接文件不依赖源文件,因此创建时可以使用相对路径。

    3. 无法给目录创建硬连接。


文本搜索命令

文件中搜索内容可以用grep命令,搜索的结果以行为单位,grep命令的语法是:grep [匹配文本] [目标] [选项],选项的使用如下:

命令选项 说明
-i 忽略大小写
-n 显示匹配的行号
-v 显示不包含匹配文本的结果
  1. grep表达式可以和正则表达式进行结合使用,^指的是以指定的字符串开头,$指的是以特定的字符串结尾,.指的是匹配(代替)一个非换行字符。

  2. grep命令可以结合管道中的内容进行查找。

  3. 使用grep的时候可以省略匹配文本前后的引号。


查找文件命令

指定目录下查找某个文件名使用find命令,可以使用-name选项(完全匹配),结果为路径+文件名,可以根据文件名(包括目录名)进行查找,find的语法是find [目标] [选项] [匹配文本]

  1. 可以结合通配符使用,*代表0或多个任意字符,?表示一个任意字符,结合通配符使用时必须加上引号

压缩和解压缩命令

在Linux中默认支持的压缩格式为:

  • .gz (使用tar命令,官方)
  • .bz2 (使用tar命令)
  • .zip (使用zip压缩,unzip解压缩,兼容)

tar命令支持压缩和解压缩,打包语法是tar [选项] [文件名] [目标]解包语法是tar [选项] [目标] -C [路径] ,选项通常是:[文件类型] [解包还是打包] [显示细节] [指定文件名称]。

选项 说明
-c 创建打包文件
-v 显示打包或者解包的细节
-f 指定文件名称,必须放在所有选项后
-z 压缩或解压缩(.gz)
-j 压缩或解压缩(.bz2)
-x 解包
-C 解压缩到指定目录

zip命令是zip格式的打包命令,语法是zip [文件名] [目标]解包命令是unzip,其语法为unzip [目标] [选项] [目录],选项用如果有-d则需要指定目录。

zip命令比较通用,在不同系统兼容性高,打包一个官方的压缩包使用tar,压缩率更高。


文件权限命令

修改文件的权限使用chmod命令,修改文件权限有两个方法:

  • 字母法

    角色说明

    角色 说明
    u user指的是该文件的所有者
    g group表示用户组
    o other表示其他用户
    a all表示所有用户

    权限说明

    权限 说明
    r 可读
    w 可写
    x 可执行
    - 无权限

    权限操作

    操作符号 说明
    + 增加权限
    - 取消权限
    赋值权限
  • 数字法。

    数字 说明
    4 r也就是读
    2 w也就是写
    1 x也就是执行

获取管理员权限的相关命令

命令 说明
sudo -s 切换到root管理员用户
sudo 某个命令需要获取管理员权限的时候可以在命令前面加上sudo
whoami 查看当前用户
exit 退出当前用户
who 查看用户登陆情况
which 查看命令的路径

用户相关操作

添加用户

创建添加用户是使用sudo useradd命令,是一个需要获取管理员权限的命令,前面要加上sudo

选项 说明
-m 自动创建用户主目录,主目录的名字就是用户名
-g 指定所属的用户组,默认不指定则创建同名的用户组
  • /etc/passwd 这个文件会存储用户的信息,信息格式为:

    用户名:密码:用户id:用户组id:用户描述:用户主目录:shell类型

  • /etc/group 这个文件会存储用户组的信息, 其信息格式为:

    用户组名:用户组密码(unix一般没有):组id

  • 或者使用id命令查看用户信息

修改用户密码,修改组

修改用户的密码使用sudo passwd 用户 命令,切换用户使用su - 用户,新用户使用sudo需要添加附加组使用usermod来修改用户信息,-G可以设置一个附加组,-g修改用户组,每个用户只有一个用户组(主组),附加组可以有很多个。

选项 说明
-G 设置一个附加组
-g 修改用户组

扩展:删除附加组

删除附加组使用gpasswd命令来删除附加组。

选项 说明
-a 用户名 给用户添加附加组
-d 用户名 给用户删除附加组

删除用户

删除用户使用userdel命令,会删除同名用户组。

选项 说明
-r 用户名 删除用户目录,必须设置,否则用户主目录不会删除,

用户组相关操作

groupadd是用来创建用户组的命令,创建用户时指定用户组时用-g选项,修改用户组时用usermod命令,删除组时用groupdel,但是如果组下有用户则无法删除,必须先删除用户。

说明 命令
创建用户组 groupadd 组名
创建用户时指定用户组 useradd -g 组名 用户名
修改用户组 usermod -g 组名 用户名
删除用户组 groupdel 组名

总结