• Linux 常用命令练习二 实验二


    PART 1

    1. 以root账号登录:

      su root
      
      • 1
    2. 查看CentOS根目录下有哪些内容:

      cd /
      ls -a
      
      • 1
      • 2
    3. 进入/tmp目录,创建一个名为example的目录,并进入该目录。

      cd tmp
      mkdir example
      cd example
      
      • 1
      • 2
      • 3
    4. 显示当前所在目录:

      pwd
      
      • 1
    5. 在当前目录下,建立权限为741的目录test:

      mkdir test
      chmod 741 test 
      
      • 1
      • 2
    6. 将root用户家目录下的.bashrc复制到/tmp/example目录下。

      我现在位于example目录中,如果你现在不是root用户,命令前面加上sudo

      cp /root/.bashrc ./
      
      • 1
    7. 重复步骤6,要求在覆盖前询问是否覆盖

      cp /root/.bashrc ./ -i
      
      • 1
    8. 用touch命令,在当前目录下建立文件abc

      touch abc
      
      • 1
    9. 查看文件abc的权限,大小,创建时间。

      ls -l abc
      
      • 1
    10. 强制删除该文件

      rm -f abc
      
      • 1

    PART 2

    1. 使用cat命令加行号显示文件/etc/issue的内容。

      我现在位于/根目录下

      cat -n etc/issue 
      
      • 1
    2. 使用more命令查看文件/etc/man_db.conf 的内容。

      more etc/man_db.conf
      
      • 1
    3. 使用less命令查看文件/etc/man_db.conf的内容

      less etc/man_db.conf
      
      • 1
    4. 使用head命令查看文件/etc/man_db.conf前15行的内容

      head -n 15 etc/man_db.conf
      
      • 1
    5. 将/usr/bin/passwd中的内容使用ASCII方式输出。

      od -c /usr/bin/passwd 
      
      • 1

    PART 3

    1. 将当前目录设为/root.

      在root用户下

      cd /root
      
      • 1
    2. 执行 echo pwd>>pwd.sh命令,了解命令产生的结果。

      在当前目录下创建pwd.sh文件并追加pwd内容。
      如果已经存在了pwd.sh文件,那么就是在pwd.sh文件中追加pwd
      
      • 1
      • 2
    3. 查看文件pwd.sh的权限。

      ls -l pwd.sh
      
      • 1
    4. 执行./pwd.sh,能否执行,为什么?

      不能,因为没有可执行权限
      
      • 1
    5. 将pwd.sh文件权限为可执行,再重新执行./pwd.sh。

      chmod 777 pwd.sh
      ./pwd.sh
      
      • 1
      • 2
    6. 新建用户user1,user2,user3。

      adduser user1
      adduser user2
      adduser user3
      
      • 1
      • 2
      • 3
    7. 在/tmp下新建文件夹test。

      mkdir /tmp/test
      
      • 1
    8. 查看test文件夹的权限是多少?

      ls -ld /tmp/test
      
      • 1
    9. 修改test文件夹的权限为777。

      chmod /tmp/test
      
      • 1
    10. 分别使用user1、user2和user3在/tmp/test下新建文件:用户名.txt

      以user1为例:

      su user1
      touch /tmp/test/user1.txt
      
      • 1
      • 2
    11. 以user1身份看能否删除user2和user3的文件?

      yes
      
      • 1
    12. 如何保证每个用户都可以在/tmp/test中新建文件,但只能删除自己的文件而不能删除别人的文件?

      将test设置sticky特殊权限即可

      chmod o+t /tmp/test
      
      • 1
    13. 修改/tmp/test的权限为1777

      这里其实和上面的设置是一样的

      chmod 1777 /tmp/test
      
      • 1
    14. 验证user1、user2和user3都可以在/tmp/test下新建、修改、删除自己的文件

      确实可以
      
      • 1
    15. 以user1身份看能否删除user2和user3的文件?

      不行,因为设置了sticky特殊权限
      
      • 1

    PART 4

    1. 用file命令查看/root/.bashrc的类型。

      file /root/.bashrc
      # 为 ASCII text,文本文件
      
      • 1
      • 2
    2. 用file命令查看以下三个文件的类型: /etc/passwd /bin/bash /dev/console 了解这三个文件的作用。

      /etc/passwd 文件:
      类型:文本文件
      作用:/etc/passwd 文件是Linux系统中存储用户账户信息的文件之一。每行代表一个用户账户,包含了有关该用户的各种信息,如用户名、用户ID(UID)、主组ID(GID)、用户的家目录、默认的shell等等。这些信息用于验证用户的身份和权限管理。
      
      /bin/bash 文件:
      类型:可执行文件
      作用:/bin/bash 是Bash Shell的执行文件路径。Bash是一种常用的命令行解释器和脚本语言,它允许用户与Linux系统进行交互,运行命令和脚本。通常,当一个用户登录到系统时,它的默认shell会被设置为Bash,以便用户可以使用Bash的功能。
      
      /dev/console 文件:
      类型:字符设备文件
      作用:/dev/console 是Linux系统的控制台设备文件。它提供了对系统控制台的访问权限,可以用于读取和写入控制台上的信息。这是一个特殊文件,通常不直接由普通用户操作,而是由系统管理员或特权用户使用,用于系统日志和维护目的。
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
    3. 用which命令查询ifconfig和mkdir命令的完整文件名。

      which ifconfig
      # /usr/sbin/ifconfig
      which mkdir
      # /usr/bin/mkdir
      
      • 1
      • 2
      • 3
      • 4
    4. 用find命令查找/下所有名称为man.config的文件。

      find / -type f -name man.config
      
      • 1
    5. 用locate命令查找/下所有名称为man.config的文件

      locate man.config
      
      • 1
    6. 用find命令找出系统中大于1M的文件

      find / -type f -size +1M
      
      • 1

    PART 5

    1. 新建组:software

      请确保你在root用户下,如果不是需要再命令前面加上sudo

      groupadd software
      
      • 1
    2. 新建账户student_1并设置主组群为software。分别查看/etc/passwd文件、/etc/shadow文件最后一行内容,并记录。

      useradd -m -G software -s /bin/bash student_1
      tail -n 1 /etc/passwd
      tail -n 1 /etc/shadow
      # 结果为:
      # student_1:x:1001:1002::/home/student_1:/bin/bash
      # student_1:!:19622:0:99999:7:::
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    3. 验证student_1账户在图形界面下能否登录系统?

      我密码都不知道,咋登录??这题目应该是想让我说不能
      
      • 1
    4. 修改账户student_1密码为:123456,查看/etc/shadow文件最后一行内容,并记录。

      passwd student_1
      tail -n 1 /etc/shadow
      # 结果为:student_1:$6$I5.OjvCHxCQP7M2U$nypnVO982w3d4IIgYoL1AmUgg1tGtSZuJpt9N72u9hlx/CDYmsdIMC9kYVTCcSf.CPamPFq6aTtCn1u/0KT130:19622:0:99999:7:::
      
      • 1
      • 2
      • 3
    5. 验证student_1账户在图形界面下能否登录系统?

      yes
      
      • 1
    6. 删除student_1账户的密码

      passwd -d student_1
      
      • 1
    7. 验证student_1账户在图形界面下能否登录系统?

      这题目应该是想让我说能,这里我们删除密码之后再看一下shadow,发现那里是空的,应该是如果是!就不可以登录,有显示加密密码或者空密码就可以登录。
      
      • 1
    8. 修改账户名为: test

      usermod -l test student_1
      
      • 1
    9. 删除账户及主目录和邮箱。

      userdel -r test
      
      • 1
    10. 创建一个新组,组名为computer,查看/etc/group文件最后一行内容,并记录。

      groupadd computer
      tail -n 1 /etc/group
      # computer:x:1003:
      
      • 1
      • 2
      • 3
    11. 创建两个新账户,名为test1,test2,并将其主组群和附属组都设为computer。查看/etc/group文件最后一行内容,并记录。设置computer组密码。

      useradd -m -G computer -s /bin/bash test1
      useradd -m -G computer -s /bin/bash test2
      tail -n 1 /etc/group
      # 我这里显示的是test2:x:1004:
      # 但我感觉题目想让我看到的是computer:x:1003:test1,test2,这是我这里倒数第三行的内容
      gpasswd computer
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    12. 将当前用户切换为test1,用touch命令在/home/test1下创建一个新文件,文件名为ex_test1.txt;将当前用户切换为test2,用touch命令在/home/test2下创建一个新文件,文件名为ex_test2.txt;

      su test1
      touch /home/test1/ex_test1.txt
      su test2
      touch /home/test2/ex_test2.txt
      
      • 1
      • 2
      • 3
      • 4
    13. 将当前用户切换为root,查找属于用户test1的文件,查找属于组computer的文件。

      su 
      find / -type f -user test1
      find / -type f -group computer
      
      • 1
      • 2
      • 3
    14. 在computer组中删除用户test2, 查看/etc/group文件最后一行内容,并记录。

      gpasswd -d test2 computer
      tail -n 1 /etc/group
      # 我这里显示的还是test2:x:1004:
      # 但是我感觉题目想让我看到的是computer:x:1003:test1,这是我这里倒数第三行的内容
      
      • 1
      • 2
      • 3
      • 4

    PART 6

    在这里哦,点我传送门~

  • 相关阅读:
    向日葵远程分辨率过低解决办法
    vscode+python开发之虚拟环境和解释器切换
    微服务项目:尚融宝(44)(核心业务流程:借款申请(1))
    vmware虚拟机开机之后一直闪烁
    模电专题-比较器要不要接正反馈
    Super easy to understand decision trees (part one)
    python_web1(前端开发之HTML、CSS、Bootstap、Javascript、JQuery)
    【毕业季|进击的技术er】工作七年的职场人,不希望你们再走弯路
    本、硕、博区别真的辣么大吗?
    WebSocket: 实时通信的新维度
  • 原文地址:https://blog.csdn.net/m0_66100833/article/details/133167025