Linux的文件类型软硬链接打包解压用户管理一文件类型与软硬链接1.1文件/文件夹长什么样红色那一段的第一个字符是文件类型首字符文件类型普通文件d目录l链接文件b块设备c字符设备文件1.2 inode是什么inode是Linux文件系统中的”文件身份证“记录文件的元数据提示: 这里可以理解为文件名和数据是分开的由inode连接在同一分区的情况下inode编号是唯一的2.1硬链接硬链接同一inode的多个文件改动其中一个文件内的内容另一个也会变但是删除相同inode的文件另一个还可以用提示我在这里理解为硬链接就是同内容异文件名好用3.1软链接软链接指向另一个文件路径的“快捷方式”工作环境中软连接目标通常使用绝对路径提示 这里可以理解为就是给源文件创建了一个快捷方式这个快捷方式会有一点点的”内容“4.1软硬链接对比对比硬链接软链接inode共享同一inode独立inode删除原文件还可以访问失效跨文件系统不可以可以链接目录不可以可以生产用途多路径保护关键文件版本切换日志统一路径二Linux打包压缩1.1核心概念打包Archive将多个文件/目录合并成一个文件不能减少体积压缩Compress通过算法减小文件体积不能合并文件2.1最常用的工具tartar是 Linux 上最强大的归档工具既能打包也能调用压缩算法。tar基本命令tar [选项] [归档文件名] [要处理的文件/目录]常用选项选项长选项说明-c--create创建归档文件打包-x--extract解包/解压-t--list查看归档内容-v--verbose显示详细过程-f--file指定归档文件名必须放在选项最后-z--gzip通过 gzip 压缩/解压.tar.gz-j--bzip2通过 bzip2 压缩/解压.tar.bz2-J--xz通过 xz 压缩/解压.tar.xz3.1常见压缩格式详解这里使用“/etc这个文件举例1. tar.gz最常用gzip# 打包并压缩创建 tar -czvf etc.back.tar.gz /etc # 解压 tar -xzvf etc.back.tar.gz # 解压到指定目录 tar -xzvf etc.back.tar.gz -C /etc # 查看内容不解压 tar -tzvf etc.back.tar.gz2. tar.bz2压缩率更高速度较慢 bzip2# 创建 tar -cjvf etc.back.tar.bz2 /etc # 解压 tar -xjvf etc.back.tar.bz23. tar.xz压缩率最高速度最慢 xz# 创建 tar -cJvf etc.back.tar.xz /etc # 解压 tar -xJvf etc.back.tar.xz4. 仅打包不压缩tar# 创建 .tar 文件 tar -cvf etc.back.tar /etc # 解包 tar -xvf etc.back.tar3.2如何把Linux压缩包移动到widows上面在Linux上选择合适的压缩工具1.选择打包并压缩为.zip格式打包并压缩工具提示zip格式可以把原始文件夹或文件完好无损的保留下来压缩包是额外生产的gzip格式需要加上-k选项才可以在Linux终端中使用zip命令可以将一个目录/文件打包并压缩成.zip文件#将 my-folder 目录压缩为 my-folder.zip zip -r my-folder.zip my-folder2.选择打包压缩为.tar.gz格式Linux更常见.tar.gz格式windows系统虽然不能直接解压但用WinRAR,7-Zip等免费解压软件也能打开#将 my-folder 目录打包并压缩为 my-folder.tar.gz tar -caf my-folder.tar.gz my-folder # a 选项是可以让tar根据你文件后缀来选择压缩工具将压缩包传输到windows文件准备好后可以根据你的使用场景选择一种传输方式。方法适用场景操作简述SSH文件传输工具通过SSH连接的远程服务器如云服务器在Windows上使用WinSCP或FileZilla这类支持SFTP协议的软件。连接服务器后就像操作本地文件夹一样直接把压缩包从Linux拖拽到Windows里即可。终端传输命令 (sz)通过SSH客户端如Xshell、SecureCRT连接在Linux终端输入sz 你的压缩包名.zip文件就会自动通过SSH连接下载到你指定的Windows本地目录非常便捷。跨平台传输工具两台在同一局域网下的电脑使用LocalSend这类开源免费的工具。它在Linux和Windows上都有客户端只要两台电脑连在同一个Wi-Fi或路由器下就可以像手机传文件一样以极快的速度安全传输无需经过互联网三用户与组管理3.1统一使用root管理的弊端问题说明后果无法审计所有人都用root分不清谁执行了命令出问题找不到责任人误操作风险root拥有最高权限一个误操作可能导致灾难系统崩溃权限无分区开发运维DBA都使用root权限没有边界安全失控安全风险root密码一旦泄露系统完全沦陷数据泄露3.2用户与组配置文件提示用户管理命令实际上是在修改这三个文件你也可以不适用命令直接使用vim来对文件内的内容进行修改/etc/passwd文件字段含义上图信息1用户名root2密码占位符x(密码占位符加密密码在shadow文件中)3UID0root用户统一为零普通用户是1000开外系统用户是1-999这里daemon就是系统用户4GID主组ID0(GID是这个用户组的ID这里root用户的组在Ubuntu中是sudo组rocky中是weel组这两个组都是管理员组)5描述信息root可修改也就是设置这个用户的便签6家目录/root(以为第一个是管理员用户使用他的家目录是root如果是普通用户就是在/home下面系统用户则没有家目录)7登录Shell/bin/bash可登录的用户用的shell几乎都是bash系统用户一般是/usr/bin/nologin/etc/shadow文件不同版本使用的哈希算法不同字段格式是一致的rocky 9使用666(SHA-512),Rocky10和Ubuntu26使用的是yyyyescrypt字段含义1用户名2加密密码串3最后修改时间以1970-01-01的那一天开始算4修改密码最小间隔天5密码有效期天6过期前警告天数7过期后锁定天数8账号过期时间9保留字段/etc/group文件字段含义上图列1组名developer2密码占位符x3GID10034组成员列表附加组成员逗号分隔ruoyi-dev提示创建一个用户默认是会创建一个主组这个主组里面是不会显示本人的三个文件的相关命令文件存储内容相关命令/etc/passwd用户名UIDGID,家目录Shelluseradd,usermod,userdel/etc/shadow加密密码密码过期时间passwd,chpasswd,chage/etc/group组名GID组成员groupadd,groupmod,groupdelUbuntu中默认是不主动创建家目录和分配启动Shell使用在使用useradd时要添加 -m -s /bin/bash提示“-m”是创建家目录 “-s”是指定Shell组管理常用命令及选项命令选项及含义groupadd-g 指定GID -f 创建系统组groupmod-g 修改组GID -n 修改组的名字groupdel删除组groups查看用户所属组getent查看组中的成员用户管理常用命令及选项useradd-----创建用户选项含义注意事项-m创建家目录rocky非必要Ubuntu必须使用-s指定Shellrocky非必要Ubuntu必须使用-u指定UID-g指定主组不建议使用-G指定附加组多个组用逗号分隔-d指定家目录通常与-m配合使用-r创建系统用户-c添加描述信息usermod—修改用户选项含义-s修改某个用户的shell-G一般跟“-a”一起使用否则覆盖原有附加组-d用户的新主目录-m将用户的家目录内容移动新位置仅于 -d 一起使用-L锁定用户-U解锁用户-l修改用户名-u修改用户的UIDuserdel—删除用户选项含义-r删除用户并删除家目录及邮箱提示不加-r只删除用户的命不删除家目录及邮箱passwd—修改用户密码root用户改普通用户的密码不需要输入旧密码而普通用户改普通用户的密码需要输入旧密码非交互式设置密码echo “用户名:密码” | sudo chpasswd组成员管理gpasswd—组成员管理选项含义-a添加某个用户到哪一个组里-d将莫格用户从哪一个组里移除rocky与Ubuntu的命令差异操作rocky LinuxUbuntu创建用户useradduseradd 用户名useradd -m -s /bin/bash 用户名非交互式设置密码echo “123” |passwd --stdin userecho “用户名:密码” | chpasswd加入管理员组usermod -aG wheel 用户名usermod -aG sudo 用户名提示非交互式设置密码Ubuntu的命令在rocky里面也可以使用但是rocky的命令不可以在Ubuntu中使用