第一周作业

1、VMware Fusion安装rocky8.5和ubuntu22.04
1.1 安装VMwarefusion

vmware现在对个人用户可以免费使用,去到vmware官网下载即可。

broadcom地址:Home - Support Portal - Broadcom support portal

注册一个broadcom账号并登入,在My Downloads中搜索VMware Fusion下载对应的版本即可

1.2安装rocky8.5

首先下载好对应的镜像,在阿里云镜像中即可。

使用VMware Fusion选择rocky8.5镜像,跳过验证,直接安装rocky8.5在该界面配置好账号密码、时间、网络、磁盘等再开始安装

1.3 安装ubuntu22.04

        同样下载好对应的镜像,跟着提示一步步配置好账号密码、网络、磁盘、镜像加速即可,大体一致,只是界面不同。

1.4 使用iterm2命令行工具登入安装好的系统

        在安装好的系统中检查/etc/ssh/sshd_config文件中是否开启远程登入,是否运行root账号登入,是否运行使用ssh密钥登入,确定允许后,在home目录下的.ssh目录下中的authorized_keys文件中配置好自己主机ssh公钥即可开启ssh免密登入。

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

        Shell 是用户与操作系统之间的命令解释器,提供了用户与内核交互的接口。它既可以接受用户输入的命令并执行,又支持编程,通过脚本实现自动化任务。Shell 是一种工具,同时也是一个脚本编程环境。常见的shell有sh、bash、zsh、ash等

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

        常用的基础命令有ls、cd、mv、cp、pwd、who、w等。man命令 是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。首先可以通过man man命令查看一下man命令的说明,man man命令详细解释了每个数字章节对应的含义。如果需要查看指定的章节,格式如何下man 1 ls。

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

        Linux 文件系统采用树状层级结构,以根目录 / 为起点,所有文件和目录都位于其下。以下是常见目录及其功能的总结:

目录功能描述
/根目录,是整个文件系统的起点,包含所有其他目录和文件。通常只存放子目录而不直接存放文件。
/bin基本命令目录,存放系统的基本命令,例如 lscpmvbash 等,普通用户和管理员都可以使用。
/sbin系统管理员命令目录,存放系统管理和维护工具,如 ifconfigshutdown 等,通常需要 root 权限执行。
/boot引导目录,存放启动相关的文件,如引导加载程序(grub)、内核文件(vmlinuz)。
/dev设备文件目录,包含所有设备的文件接口,如磁盘 (/dev/sda)、终端 (/dev/tty) 等。
/etc配置文件目录,存放系统和应用程序的配置文件,例如 /etc/fstab/etc/ssh/sshd_config
/home用户家目录,每个用户的个人文件和配置文件存储在此目录中,例如 /home/username
/lib基本共享库目录,存放系统运行所需的共享库文件(类似 Windows 的 .dll),以及内核模块。
/lib6464 位共享库目录,专为 64 位系统提供的库文件。
/media挂载目录(可移动设备),自动挂载可移动存储设备(如 U 盘、光盘)的默认位置。
/mnt挂载点目录,用于临时挂载文件系统或设备。
/opt可选软件目录,存放第三方软件或附加包。
/proc进程信息目录,一个虚拟文件系统,存放运行进程和系统信息,例如 /proc/cpuinfo
/root超级用户目录,root 用户的家目录。
/run运行时数据目录,存放系统运行时的临时文件,如 PID 文件和套接字文件。
/srv服务数据目录,存储服务提供的数据,如 Web 服务器文件(/srv/www)。
/sys系统信息目录,另一个虚拟文件系统,用于访问硬件信息和系统配置。
/tmp临时文件目录,用于存放临时文件,系统会定期清理此目录。
/usr用户应用程序目录,存放用户级别的程序和文件。通常包含以下子目录:
/usr/bin用户安装的程序,类似 /bin,但非系统核心命令。
/usr/sbin用户安装的管理工具,类似 /sbin
/usr/lib用户安装程序的共享库文件。
/usr/local本地安装的软件和程序。
/var可变数据目录,存放经常变化的数据,如日志文件、邮件队列、数据库文件等。
/var/log系统日志文件目录,如 /var/log/syslog
/var/tmp应用程序使用的临时文件,生命周期比 /tmp 更长。
5、总结文件操作常见的命令和文件夹常见操作和命令

        常见的文件操作命令有拍ls、cat、head、tail、sed、grep、vim、touch、rm、mv等,常见的文件夹操作命令有cd、mkdir、rm、mv、ls、du等

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

        文件元数据是文件的属性信息,包括文件的权限、所有者、大小、时间戳等。这些信息存储在文件系统的 inode 中,而不是文件内容本身。以下总结了文件元数据的主要知识点,以及硬链接和软链接的区别等内容。可以通过ls -l命令和stat命令进行查看。        

属性硬链接软链接
链接关系指向文件 inode指向目标文件路径
inode 编号相同 inode独立 inode
对原文件依赖性无依赖,删除目标文件仍可访问内容有依赖,删除目标文件会导致软链接失效
跨文件系统不支持支持
指向目录不支持支持
创建命令lnln -s
7、总结通配符,管道,重定向,并且结合示例,添加注释信息
7.1 通配符

通配符是一种简化匹配文件名或路径的方式,用于文件操作命令(如 lscprm 等)。

通配符作用示例说明
*匹配任意长度的字符(包括空字符)ls *.txt匹配当前目录下所有 .txt 文件
?匹配任意单个字符ls file?.txt匹配文件名为 file1.txt 等文件
[ ]匹配指定范围内的任意单个字符ls file[1-3].txt匹配 file1.txtfile3.txt
[! ]匹配不在指定范围内的任意单个字符ls file[!1-3].txt匹配 file4.txt
{ }匹配多个字符串中的一个ls {file1,file2}.txt匹配 file1.txtfile2.txt
\转义特殊字符ls file\*匹配文件名包含 * 的文件
# 列出所有以 "test" 开头的文件或目录
ls test*

# 删除以 ".bak" 结尾的所有备份文件
rm *.bak

# 复制文件名为 "log1.txt" 到 "log5.txt" 的文件
cp log[1-5].txt /backup/

# 创建文件,匹配字符串
touch file{1,2,3}.txt  # 创建 file1.txt, file2.txt, file3.txt
7.2 管道

管道符(|)用于将一个命令的输出作为另一个命令的输入,以实现多步骤处理

# 仅显示目录中包含 ".log" 的文件
ls -l | grep ".log"

# 统计 file.txt 文件的行数
cat file.txt | wc -l

# 对 data.txt 文件的内容排序并去重
cat data.txt | sort | uniq

7.2 重定向

重定向将命令的输入或输出重定向到文件或其他目标。

符号作用示例说明
>将输出重定向到文件(覆盖)echo "Hello" > file.txtHello 写入文件,覆盖内容
>>将输出重定向到文件(追加)echo "World" >> file.txtWorld 追加到文件末尾
<将文件内容作为命令的输入cat < file.txtfile.txt 读取内容
2>将错误输出重定向到文件(覆盖)ls nonexistent 2> error.log将错误信息写入 error.log
2>>将错误输出重定向到文件(追加)ls nonexistent 2>> error.log将错误信息追加到 error.log
&>将标准输出和错误一起重定向command &> output.log同时记录正常输出和错误到文件
/dev/null丢弃输出ls nonexistent > /dev/null 2>&1丢弃所有输出和错误信息
 8、总结linux用户和用户组相关知识点以及常见的操作命令,添加注释信息 

        Linux 是一个多用户、多任务的操作系统,用户和用户组是系统权限管理的重要基础。以下从概念、文件结构、权限模型以及常见命令操作角度进行总结。

8.1 用户与用户组概念
8.1.1 用户

每个用户都有一个唯一的用户标识(UID)和用户名。

Linux 系统分为三类用户:

        超级用户(root):UID 为 0,拥有系统的全部权限。

        系统用户:UID 一般为 1~999,通常用于运行系统服务。

        普通用户:UID 大于等于 1000,通常用于普通操作。

8.1.2 用户组

用户组(Group)是用户的集合,用于统一管理权限。

        每个用户必须属于一个主用户组(Primary Group),可以加入多个附加用户组(Secondary Groups)。

        每个用户组都有一个唯一的组标识(GID)。

8.2 用户管理

命令作用示例说明
whoami查看当前用户whoami输出当前登录用户名称
id查看用户 ID 和组信息id user1显示用户的 UID 和所属组信息
adduseruseradd添加用户adduser user1创建用户并设置初始密码
passwd修改用户密码passwd user1为用户 user1 设置新密码
deluseruserdel删除用户deluser user1删除用户及其主目录(加 --remove-home
usermod修改用户信息usermod -aG wheel user1将用户 user1 添加到 wheel

8.3 组管理
命令作用示例说明
groupadd添加用户组groupadd developers创建名为 developers 的用户组
groupdel删除用户组groupdel developers删除用户组
gpasswd管理用户组gpasswd -a user1 developers将用户 user1 添加到 developers
groups查看用户所属组groups user1显示用户 user1 所在的所有用户组

8.4 文件权限管理
命令作用示例说明
chmod修改文件权限chmod 755 file设置文件权限为 rwxr-xr-x
chown修改文件的所有者chown user1 file将文件所有者改为 user1
chgrp修改文件的所属组chgrp group1 file将文件所属组改为 group1

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

每个文件和目录的权限由 三组权限 组成:

  • 用户(Owner)
  • 组(Group)
  • 其他用户(Others)

权限位以 rwx 形式表示:

  • r:读(Read)权限,值为 4
  • w:写(Write)权限,值为 2
  • x:执行(Execute)权限,值为 1
9.2 特殊权限

除了基本权限外,Linux 提供了 三种特殊权限,用于增强权限控制。

9.2.1 SUID(Set User ID)
  • 作用:程序执行时,进程会临时拥有文件所有者的权限。
  • 标记:所有者执行权限位显示为 s,如 rwsr-xr-x
  • 应用场景:常用于程序需要提升权限的情况,例如 passwd 命令。
chmod u+s file        # 设置 SUID 位
chmod 4755 file       # 通过数值设置权限

#查看passwd的特殊权限s
ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 54256 Nov 24 10:00 /usr/bin/passwd
9.3.2 SGID(Set Group ID)
  • 作用:程序执行时,进程会临时拥有文件所属组的权限;若应用于目录,目录内新建的文件会自动继承目录的组。
  • 标记:组执行权限位显示为 s,如 rwxr-sr-x
chmod g+s dir         # 设置 SGID 位
chmod 2755 dir        # 通过数值设置权限

mkdir /shared
chmod g+s /shared     # /shared 目录内的文件继承父目录组
9.3.3 Sticky Bit(粘滞位)
  • 作用:应用于目录时,只有文件的所有者或管理员才能删除该目录下的文件。
  • 标记:其他用户执行权限位显示为 t,如 rwxrwxrwt
  • 应用场景:常用于共享目录,如 /tmp
chmod +t dir          # 设置 Sticky Bit
chmod 1777 dir        # 通过数值设置权限

ls -ld /tmp
drwxrwxrwt 1 root root 4096 Nov 24 10:00 /tmp
9.3 ACL(访问控制列表)

        ACL(Access Control List)用于对文件和目录设置更加细粒度的权限控制,超越了传统的用户、组、其他用户的权限模型。

9.3.1 基本概念
  • 作用:为特定用户或组分配单独的访问权限。
  • 依赖:需要文件系统支持(如 ext4)。
9.3.2 常用命令
命令作用示例
getfacl查看 ACL 权限getfacl file.txt
setfacl设置 ACL 权限setfacl -m u:user1:rw file.txt
setfacl -x删除 ACL 权限setfacl -x u:user1 file.txt
setfacl -m d:...设置目录默认 ACL 权限setfacl -m d:u:user1:rwx /shared

 

# 1. 为特定用户分配权限
setfacl -m u:user1:rw file.txt  # 为 user1 设置读写权限

# 2. 为特定组分配权限
setfacl -m g:developers:r-- file.txt  # 为 developers 组分配只读权限

# 3. 查看文件 ACL 权限
getfacl file.txt
# 输出示例
# file: file.txt
# owner: root
# group: root
# user::rw-
# user:user1:rw-
# group::r--
# mask::rw-
# other::r--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值