magedu第一周作业

2. 总结什么是shell,以及常见的各类shell。

1.Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行

2.常见的shell有

●sh:Steve Bourne

●bash:Bourne-Again ShellGPLCentOS Ubuntu 默认使用

●csh:c shell , C 语言风格

●tcsh

●ksh :Korn Shell, AIX 默认 shell

●zsh MacOS默认shell

3 .结合man命令总结linux常用基本命令用法,以及查看帮助文档的方法。

常见命令

  1. ls

    ls:列出当前目录下的文件和文件夹;ls -l:以长格式列出详细信息;ls -a:显示所有文件,包括隐藏文件。
  2. cd

    cd directory:切换到指定的目录。
  3. pwd

    pwd:显示当前工作目录的完整路径。
  4. mkdir

    mkdir directory:创建一个新目录。
  5. rmdir

    rmdir directory:删除一个空目录。
  6. rm

    rm file:删除一个文件。 rm -r directory:递归删除目录及其内容。
  7. cp

    cp source destination:复制文件或目录。
  8. mv

    mv source destination:移动或重命名文件或目录。
  9. touch

    touch file:创建一个空文件或更新文件的时间戳。
  10. cat

    cat file:显示文件内容。

帮助文档

  1. man命令

    使用man命令可以查看几乎所有Unix命令的手册页。例如,要查看ls命令的帮助文档,你可以输入man ls

4. 总结linux文件系统目录结构和目录的功能

/boot           #引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin            #所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin           #管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib            #启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64          #专用于x86_64系统上的辅助共享库文件存放位置

/etc            #配置文件目录

/home/USERNAME  #普通用户家目录

/root           #管理员的家目录

/media          #便携式移动设备挂载点

/mnt            #临时文件系统挂载点
/dev            #设备文件及特殊文件存储位置, b:block device,随机访问,c:character device,线性访问

/opt            #第三方应用程序的安装位置

/srv            #系统上运行的服务用到的数据

/tmp            #临时文件存储位置

/usr            #universal shared, read-only data

/usr/bin        #保证系统拥有完整功能而提供的应用程序

/usr/sbin       #同上

/usr/lib        #32位使用

/usr/lib64      #只存在64位系统

/usr/include    #C程序的头文件(header files)

/usr/share      #结构化独立的数据,例如doc, man

/var            #variable data files,可变数据目录

/var/cache      #应用程序缓存数据目录

/var/lib        #应用程序状态信息数据

/var/local      #专用于为/usr/local下的应用程序存储可变数据/var/lock       #锁文件

/var/log        #日志目录及文件

/var/opt        #专用于为/opt下的应用程序存储可变数据
/var/run        #运行中的进程相关数据,通常用于存储进程pid文件/var/spool      #应用程序数据池

/var/tmp        #保存系统两次重启之间产生的临时数据

/proc           #用于输出内核与进程信息相关的虚拟文件系统
/sys            #用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux        #security enhanced Linuxselinux相关的安全策略等信息的存储位置

5. 总结文件操作常见的命令和文件夹常见操作命令

文件常用命令

  1. ls列出当前目录下的文件和文件夹。ls -l 显示详细信息,包括权限、所有者等。

  2. cat 显示文件内容。

  3. touch 创建一个空文件或更新现有文件的时间戳。

  4. cp 复制文件或文件夹

  5. mv 移动或重命名文件或文件夹

  6. rm 删除文件

  7. less 分页查看文件内容

  8. more less类似,但不支持向后翻页。

文件夹常用命令

  1. mkdir 创建新文件夹。

  2. rmdir 删除空文件夹。

  3. cd  改变当前工作目录。

  4. pwd  显示当前工作目录的完整路径。

  5. tree  以树状图显示目录结构。

6. 总结文件元数据相关的知识点,包含硬链接和软连接的区别等知识

文件元数据相关知识点

元数据(metadata):用来描述一个文件的特征的系统数据
数据:泛指普通文件中的实际数据;

硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个则是inode区(inode table),用于储存文件元信息的区域。

inode与文件是一一对应的关系,每个文件都有自己的inode(inode: 中文译名为"索引节点")。根据 inode的编号,查询inode table,即可知道对应文件的元数据信息

  1. File Name(文件名):文件的名称。
  2. Size(文件大小):文件的大小,单位通常是字节。
  3. Blocks(占用扇区数):文件所占的扇区个数,通常为8的倍数。
  4. IO Block(数据块大小):每个数据块的大小,单位是字节。
  5. File Type(文件类型):文件的类型,例如普通文件、目录等。
  6. Inode(索引节点号):文件的唯一标识,包含文件的元数据信息,但不包含文件名。
  7. Links(硬链接次数):指向该文件的硬链接数量。
  8. Permissions(权限):文件的访问权限。
  9. Uid/Gid(用户ID/组ID):文件所有者的用户ID和组ID。
  10. Access Time(访问时间):文件最后一次被访问的时间。
  11. Modify Time(修改时间):文件内容最后一次被修改的时间。
  12. Change Time(状态改变时间):文件的元数据最后一次被改变的时间

硬链接和软链接的区别

硬链接(Hard Link)和软链接(Symbolic Link)都是文件链接的方式,但它们在实现和行为上有所不同:

  1. 硬链接

    • 硬链接指向的是文件的索引节点(inode),多个硬链接共享同一个inode和数据块。
    • 硬链接只能在同一个文件系统内部创建,不能跨文件系统。
    • 不能对目录创建硬链接,因为这可能导致循环引用等问题。
    • 删除硬链接不会影响文件本身,只有当所有硬链接都被删除时,文件内容才会被删除。
    • 硬链接拥有相同的inode号。
  2. 软链接

    • 软链接是一个特殊的文件,它包含目标文件的路径信息,类似于Windows中的快捷方式。
    • 软链接可以跨越不同的文件系统,不受文件系统限制。
    • 可以对文件或目录创建软链接。
    • 如果软链接的目标文件被删除或移动,软链接将失效。
    • 软链接拥有自己的inode号,不同于它所指向的文件。

 7. 总结通配符,管道,重定向,并且结合示例,添加注释信息

通配符

在Linux中,通配符用于匹配文件名。

  • *:匹配任意数量的字符。

    • 示例:ls *.txt 列出当前目录下所有以.txt结尾的文件。

  • ?:匹配任意单个字符。

    • 示例:ls ?.log 列出当前目录下所有以单个字符开头并以.log结尾的文件。

  • [ ]:匹配括号内的任意单个字符。

    • 示例:touch [a-z]* 创建所有以小写字母开头的文件。

管道用于将一个命令的输出作为另一个命令的输入。

  • 基本管道:将grep命令的输出传递给less命令。

    • 示例:ls | grep .txt 查找当前目录下所有以.txt结尾的文件列表。

  • 多个管道:将多个命令连接起来,逐个处理输出。

重定向

重定向用于改变命令的输入和输出流。

  • 输出重定向(>):将命令的输出重定向到文件中,如果文件存在,则覆盖。

    • 示例:ls -l > filelist.txt 将当前目录的详细列表输出到filelist.txt文件中。

  • 追加重定向(>>):将命令的输出追加到文件末尾。

    • 示例:date >> filelist.txt 将当前日期追加到filelist.txt文件末尾。

  • 输入重定向(<):将文件内容作为命令的输入。

    • 示例:sort < filelist.txt 读取filelist.txt文件内容并排序。

 8. 总结linux用户和用户组相关知识点以及常见的操作命令,添加注释信息

用户和用户组的基本概念

  1. 用户名(Username):用来识别用户的名称,可以是字母、数字组成的字符串,区分大小写。
  2. 密码(Password):用于验证用户身份的特殊验证码。
  3. 用户标识(UID):用来表示用户的数字标识符。
  4. 用户主目录(Home Directory):用户的私人目录,也是用户登录系统后默认所在的目录。
  5. 登录Shell:用户登录后默认使用的Shell程序,默认是/bin/bash
  6. 组(Group):具有相同属性的用户属于同一个组。
  7. 组标识(GID):用来表示组的数字标识符。

常见操作命令

用户管理命令
  1. 添加用户(useradd)

    • useradd [选项] 用户名:创建一个新用户。
    • 选项包括-c(注释性描述)、-d(指定用户主目录)、-g(指定用户所属的用户组)、-G(指定用户所属的附加组)、-s(指定用户的登录Shell)、-u(指定UID)。
  2. 设置/修改密码(passwd)

    • passwd 用户名:为指定用户设置或修改密码。
  3. 切换用户(su)

    • su 用户名:切换到指定用户,相当于“select user”的缩写。
  4. 删除用户(userdel)

    • userdel [-r] 用户名:删除用户,-r选项表示同时删除用户的主目录。
  5. 修改用户属性(usermod)

    • usermod [选项] 用户名:修改用户的属性,如用户名、用户组、UID等。
用户组管理命令
  1. 创建用户组(groupadd)

    • groupadd 用户组名:创建一个新的用户组。
  2. 修改用户组(groupmod)

    • groupmod [-n] 新组名 原组名:修改用户组的名称。
  3. 删除用户组(groupdel)

    • groupdel 用户组名:删除一个用户组。
  4. 给组添加用户

    • usermod -aG 组名 用户名:将用户添加到指定的用户组。
  5. 查看用户组信息(getent group)

    • getent group:查看所有用户组信息。

9. 总结文件权限管理相关的知识点,包括权限位,特殊权限和ACL,添加详细的注释和解释

文件权限管理相关知识点

1. 权限位

Linux文件系统的权限位分为读(r)、写(w)、执行(x),分别对应数字4、2、1。权限位分为三组,分别对应所有者(owner)、所属组(group)和其他用户(others)。

  • 读(r):允许查看文件内容或列出目录内容。
  • 写(w):允许修改文件内容或在目录中创建、删除文件。
  • 执行(x):允许执行文件或进入目录。

例如,chmod 755 file 会给文件所有者读写执行权限,所属组和其他用户读执行权限。

2. 特殊权限

特殊权限包括SUID、SGID和Sticky位,它们提供了额外的权限控制。

  • SUID(Set User ID):当执行一个设置了SUID的文件时,程序会以文件所有者的权限运行,而不是执行者的身份。这通常用于如passwd这样的命令,普通用户可以使用它来更改自己的密码。
  • SGID(Set Group ID):类似于SUID,但是以文件所属组的权限运行。这通常用于像mail这样的程序。
  • Sticky位:通常用于/tmp这样的公共目录,它确保只有文件所有者、目录所有者或root能够删除或重命名文件。
3. ACL(Access Control List)

ACL提供了比传统权限更细粒度的控制,允许对单个用户或组设置特定的权限。

  • 添加ACL权限setfacl -m u:username:rwx file 给特定用户设置读、写、执行权限。
  • 查看ACL权限getfacl file 查看文件的ACL权限。
  • 删除ACL权限setfacl -x u:username file 删除特定用户的ACL权限。
4. umask

umask(用户文件创建掩码)是一个系统默认设置,它决定了新创建文件的默认权限。umask值从所有可能的权限中减去,以确定新文件的权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值