实验四: Linux中Shell实用功能及文件权限


实验目的

  • 掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令别名,管道及输入输出重定向。
  • 掌握文件权限设置的方法,以及如何修改文件所有者及用户。
  • 掌握LINUX下建立链接文件的方法。

实验内容

1、使用命令“cat /etc/named.conf”设置为别名named,然后再取消别名。

在Linux系统中,可以使用alias命令来设置命令的别名,但需要注意的是,alias设置的别名只在当前会话中有效,一旦关闭终端或者重新登录,别名就会失效。如果想要永久设置别名,需要将别名添加到用户的shell配置文件中,比如.bashrc.bash_profile

以下是如何设置和取消别名的步骤:

设置别名

  1. 打开终端

  2. 设置别名
    你可以在终端中直接设置别名,但这个别名只会在当前会话中有效。使用以下命令:

    alias named='cat /etc/named.conf'
    

    在这里插入图片描述

    这样,当你输入named时,系统会执行cat /etc/named.conf命令。

  3. 永久设置别名
    如果你想要每次登录时都自动设置这个别名,你需要将上述命令添加到你的shell配置文件中。对于bash shell,通常是.bashrc文件。使用文本编辑器打开这个文件,比如使用nano

    nano ~/.bashrc
    

    然后在文件的末尾添加:

    alias named='cat /etc/named.conf'
    

    保存并关闭文件。之后,你需要重新加载配置文件,使更改生效:

    source ~/.bashrc
    

取消别名

  1. 在当前会话中取消别名
    如果你只是想在当前会话中取消别名,可以使用unalias命令:

    unalias named
    

    这将取消named的别名。

  2. 从配置文件中取消别名
    如果你之前将别名添加到了配置文件中,你需要编辑那个文件来移除别名。使用文本编辑器打开配置文件,比如.bashrc

    nano ~/.bashrc
    

    找到添加的别名行并删除它。保存并关闭文件。然后,重新加载配置文件:

    source ~/.bashrc
    

这样,可以设置和取消Linux中的命令别名了。

2、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。

在Linux系统中,可以使用echo命令结合输出重定向和追加重定向来创建和修改文本文件。下面是具体的步骤:

  1. 创建文本文件并写入内容
    使用echo命令和输出重定向>来创建一个名为/root/nn的文件,并写入内容"hello"。输出重定向>会创建文件(如果文件不存在)或者覆盖文件(如果文件已存在)。

    echo "hello" > /root/nn
    
  2. 追加内容到文本文件
    使用追加重定向>>来向文件/root/nn追加内容"word"。追加重定向>>会将内容添加到文件的末尾,而不会覆盖现有内容。

    echo "word" >> /root/nn
    

完成上述步骤后,文件/root/nn的内容将会是:

hello
word

请注意,需要有适当的权限才能在/root目录下创建和修改文件。如果你不是root用户,你可能需要使用sudo来执行这些命令:

sudo echo "hello" > /root/nn
sudo echo "word" >> /root/nn

在这里插入图片描述

使用sudo时,系统可能会提示输入用户密码。

3、使用管道方式分页显示/etc/passwd的内容。

在Linux系统中,可以使用管道(|)将一个命令的输出作为另一个命令的输入。如果想分页显示/etc/passwd文件的内容,可以使用less命令,它允许逐页浏览输出内容。以下是具体的命令:

cat /etc/passwd | less

这条命令做了以下几件事:

  1. cat /etc/passwd:这个命令用于显示/etc/passwd文件的内容。
  2. |:管道符号,它将左侧命令的输出作为右侧命令的输入。
  3. less:这个命令用于分页显示输入的内容,允许你使用键盘上下键逐页浏览。
    在这里插入图片描述

使用说明

  • 打开less后,你可以使用键盘的上下箭头键来上下滚动。
  • q键退出less
    在这里插入图片描述

这样,你就可以方便地分页查看/etc/passwd文件的内容了。

4、分别用文字设定法和数字设定法,对/root/ab文件设置权限,所有者为读取、写入和执行权限,同组用户为读取和写入权限,其他用户没有任何权限。

在Linux系统中,可以使用两种方法来设置文件权限:文字设定法和数字设定法。

文字设定法

文字设定法使用字母来表示权限,其中:

  • r 代表读取权限(read)
  • w 代表写入权限(write)
  • x 代表执行权限(execute)

要设置/root/ab文件的权限,使得所有者具有读取、写入和执行权限,同组用户具有读取和写入权限,其他用户没有任何权限,可以使用以下命令:

chmod u=rwx,g=rw,o= /root/ab

这条命令的意思是:

  • u=rwx:设置所有者(user)的权限为读取(r)、写入(w)和执行(x)。
  • g=rw:设置同组用户(group)的权限为读取(r)和写入(w)。
  • o=:设置其他用户(others)没有任何权限。

数字设定法

数字设定法使用数字来表示权限,其中:

  • 4 代表读取权限
  • 2 代表写入权限
  • 1 代表执行权限

权限的数字表示是将上述权限的数字相加得到的。例如,读取(4)+ 写入(2)+ 执行(1)= 7。

要设置相同的权限,可以使用以下命令:

chmod 760 /root/ab

这条命令的意思是:

  • 7(4+2+1):设置所有者(user)的权限为读取、写入和执行。
  • 6(4+2):设置同组用户(group)的权限为读取和写入。
  • 0:设置其他用户(others)没有任何权限。

注意

由于/root/ab位于/root目录下,可能需要使用sudo来执行这些命令,除非已经是root用户:

sudo chmod u=rwx,g=rw,o= /root/ab
sudo chmod 760 /root/ab

5、将文件/root/ab所有者更改为用户zhangsan。

要更改文件/root/ab的所有者为用户zhangsan,可以使用chown命令。这个命令允许更改文件或目录的所有者和/或所属组。以下是具体的命令:

sudo chown zhangsan /root/ab

这条命令的意思是将/root/ab文件的所有者更改为用户zhangsan

注意事项

  1. 权限:由于/root/ab文件位于/root目录下,通常只有root用户有权限更改其所有者。因此,你需要使用sudo来执行这个命令,除非你已经是root用户。

  2. 用户存在性:确保用户zhangsan在系统中已经存在。如果用户不存在,你需要先创建这个用户。可以使用以下命令创建用户(如果需要):

    sudo useradd zhangsan
    
  3. 文件路径:确保文件路径正确。如果文件路径或文件名有误,命令将无法执行。

完整示例

假设你不是root用户,以下是完整的操作步骤:

  1. 创建用户(如果需要)

    sudo useradd zhangsan
    
  2. 更改文件所有者

    sudo chown zhangsan /root/ab
    

这样,你就可以成功地将/root/ab文件的所有者更改为用户zhangsan了。

6、将目录/root/b连同它的下级文件/root/b/cc的所有者和用户组一起更改为newuser。

要将目录/root/b及其下级文件/root/b/cc的所有者和用户组一起更改为用户newuser,可以使用chown命令的递归选项-R来实现。以下是具体的命令:

sudo chown -R newuser:newuser /root/b

这条命令的解释如下:

  • sudo:由于/root目录通常只有root用户有权限修改,因此需要使用sudo来获取超级用户权限。
  • chown:这是更改文件或目录所有权的命令。
  • -R:这是递归选项,意味着对指定目录及其所有子目录和文件应用相同的所有权更改。
  • newuser:newuser:指定新的所有者和组,这里所有者和组都是newuser
  • /root/b:指定要更改所有权的目录。

请确保newuser用户已经存在于系统中,否则命令会报错。如果newuser用户不存在,需要先创建这个用户,可以使用以下命令:

sudo useradd newuser

然后再执行上述更改所有权的命令。

7、使用命令创建/root/a文件的硬链接文件/root/b和软链接文件/root/c,并用ls –l命令查看输出信息的第二列(链接数)以及第五列(文件尺寸)。

在Linux系统中,创建硬链接和软链接(符号链接)是两种不同的文件链接方式。以下是如何创建它们以及如何查看链接数和文件尺寸的步骤:

创建硬链接

硬链接是直接链接到文件数据的,而不是文件名。创建硬链接的命令是ln,使用-s选项可以创建软链接。

要创建/root/a文件的硬链接/root/b,可以使用以下命令:

sudo ln /root/a /root/b

创建软链接

软链接(符号链接)更像是指向另一个文件的快捷方式。创建软链接的命令是ln,加上-s选项。

要创建/root/a文件的软链接/root/c,可以使用以下命令:

sudo ln -s /root/a /root/c

查看链接数和文件尺寸

使用ls -l命令可以查看文件的详细信息,包括链接数和文件尺寸。链接数显示在输出信息的第二列,文件尺寸显示在第五列。

查看/root/a/root/b/root/c的链接数和文件尺寸,可以使用以下命令:

sudo ls -l /root/a /root/b /root/c

输出示例可能如下所示:

-rw-r--r-- 2 root root 0 Sep 10 12:34 /root/a
-rw-r--r-- 2 root root 0 Sep 10 12:34 /root/b -> /root/a
lrwxrwxrwx 1 root root 8 Sep 10 12:34 /root/c -> /root/a

在这个示例中:

  • /root/a/root/b的链接数都是2,因为/root/b/root/a的硬链接,它们共享相同的数据。
  • /root/c是一个软链接,它的链接数是1,因为它只是一个指向/root/a的引用。
  • 文件尺寸都是0,因为这些是示例,文件可能还没有写入任何数据。

请注意,由于/root目录通常只有root用户有权限访问,因此创建链接和查看文件时需要使用sudo。如果你不是root用户,你可能需要联系系统管理员来执行这些操作。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值