第二周作业

1.通配符:用于匹配符合条件的多个文件,方便批量管理。

ls /data/* 获取匹配到的所有内容

echo {a..z} 获取a到z中间的所有内容

echo {1..100..2} 获取1到100的所有奇数

ls [n-q]* 获取n到q的任意内容

ls [^n-q]* 获取除n到q中其他任意内容

管道符:常用于将两个命令隔开,然后命令间(从左向右)传递信息使用。

env | grep SHELL 查看当前系统中的全局变量SHELL

重定向:有两类常见的重定向符号,分别是覆盖式重定向和追加式重定向。

echo "bts" > file.txt 将bts写入file.txt当中,并覆盖掉原有内容

echo "bts" >> file.txt 将bts写入file.txt当中,并追加到原有内容之后

2.linux用户:管理员:root, 0;普通用户:1000+,自动分配;系统用户:1-999,对守护进程获取资源进行权限分配。

useradd -m bts 创建用户

id bts 查看指定用户信息

userdel -r bts 删除用户

passwd bts 修改用户密码

echo bts:12345678 | chpasswd 修改密码,适合批量处理

linux用户组:在Linux系统中,为了方便批量对一个或多个用户进行快捷的操作,一般会将用户加入用户组中,通过对用户组的操作,从而实现对普通用户的属性的批量操作能力。

groupadd -g 923 btsgroup 创建用户组并指定组ID

getent group btsgroup 查看用户组

groupmod -g 924 btsgroup 修改用户组属性

groupdel -f btsgroup 强制删除用户组

3.文件权限体系是控制对文件和目录访问权限的重要机制,它决定了谁可以读取、修改或执行文件。这一体系是Linux系统安全性和数据保护的基础。文件的权限,主要体现在两个方面:文件属性、操作权限。  

文件权限主要分为三种类型:读权限(Readable):允许用户读取文件内容或查看目录中的文件列表。简写:r、4

写权限(Writable):允许用户修改文件内容或在目录中创建、删除或重命名文件。简写:w、2  

执行权限(eXcutable):对于文件,表示该文件是可执行的程序;对于目录,表示用户可以进入该目录。简写:x、1

权限分为三组,分别对应不同的用户群体:所有者(Owner):文件或目录的创建者,拥有对文件或目录的最高权限。简写:u    

所属组(Group):文件或目录被分配到的用户组,组内的所有成员将继承该组对该文件或目录的权限。 简写:g    

其他用户(Others):既不是文件所有者也不是所属组成员的所有其他用户。简写:o

默认情况下:创建的目录权限是755;创建的文件权限是 644

chown gidle chown/a.txt 修改所有者属性

chown gidle: chown/c.txt 修改所有者和归属组的属性

chown -R gidle chown 批量修改文件属性信息

chmod o+x chown/{a..e}.txt 指定文件的其他用户都增加x权限

特殊权限有三种:SUID(Set User ID):当SUID权限设置在可执行文件上时,执行该文件的用户将暂时获得该文件所有者的权限。执行者不是文件的所有者,他们也能以文件所有者的身份执行文件,并可能因此访问或修改只有文件所有者才能访问的资源。字符表示为s,八进制表示是4。设定方式: u+s、u-s、4xxx

chmod u+s /usr/bin/cat 为cat命令添加suid属性

chmod u-s /usr/bin/cat 权限恢复

SGID(Set Group ID):SGID权限可以应用于可执行文件或目录。对于可执行文件,它与执行SUID文件类似,但影响的是执行者的组身份。SGID更多地被用于目录,以便在该目录下创建的新文件自动继承目录的组身份。在多用户环境中,SGID目录可以确保在该目录下创建的所有文件都属于同一个组,从而方便组成员之间的文件共享和管理。字符表示为s,八进制表示是2。设定方式: g+s、g-s、2xxx

chmod g+s /tmp/gidle 为gidle目录添加SGID属性

chmod g-s /tmp/sswang1/ 权限恢复

Sticky Bit(粘滞位):Sticky Bit权限仅对目录有效。当一个目录被设置为Sticky Bit时,只有该目录的所有者、文件的所有者或root用户才能删除或重命名该目录下的文件。这有助于防止其他用户删除或移动他们不拥有但可能有权访问的文件。字符表示为t,八进制表示是1。设定方式: o+t、o-t、1xxx

chmod o+t /sticky/dir 为指定目录添加sticky属性

chmod o-t /sticky/dir 取消属性

ACL:一个文件可以被多个用户同时拥有。

setfacl -m u:gidle:r file 为用户设置acl权限

getfacl file 查看acl权限

4.包管理器主要有三种:apt(Debian/Ubuntu):用于Debian及其衍生版如Ubuntu中的软件包管理,能够自动处理依赖关系,并提供丰富的软件包仓库。 yum(CentOS/RHEL):CentOS和Red Hat Enterprise Linux(RHEL)等发行版中的软件包管理工具,同样支持自动处理依赖关系和软件包的搜索、安装、升级等操作,基于RPM。 dnf(Fedora):Fedora等发行版中的新一代软件包管理工具,旨在替代yum,提供更快的软件包安装速度和更丰富的功能。 包含的文件主要有:可执行文件、库文件、配置文件、帮助文件、服务脚本等。

rpm -ql package 查看rpm包安装的文件

dpkg -L package 查看deb包安装的文件

rpm -qf /bin/tree 查看已安装软件的文件查询包信息

rpm -qc NetworkManager 查看已安装软件的配置文件

rpm -ql tree 列出已安装软件的所有文件

rpm -qd tree 查看已安装软件的帮助文档文件

yum install nginx 安装包

yum remove nginx 卸载包

rpm -qa | grep httpd 列出已安装的包

apt install nginx 安装包

apt upgrade 升级所有包

apt show package 查看包信息

5.先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。先读取/etc/yum.repos.d/下的repo文件,然后下载元数据到本地缓存,解析完依赖关系后从仓库下载rpm包并进行安装。 

私有yum仓库:

6.apt工作原理:先进行读取/etc/apt/sources.list下的源列表,然后下载元数据到/var/lib/apt/lists里,解析完依赖关系后从仓库下载deb包后并进行安装。 

7.先获取源码,获取后解压,然后进行配置,然后在编译,编译完成后安装。

8.有三种时间戳,分别是atime,mtime,ctime,多用于日志管理和文件同步等。

查看时间戳:ls -l 显示mtime                       修改时间戳: touch -m file 更新mtime

ls -lu 显示atime                                                                  touch -a file 更新atime

ls-lc 显示ctime

9.find -name test-a.log  指定文件名查找

find -regex ".*\.log$"  正则查找
find -type d 根据类型查找,查看当前目录下的所有目录文件
find dir1/dir2/dir3/ -empty -type d 查找空目录
find dir1/dir2/dir3/ -empty -type f 查找空文件
find -name "*.txt" 排除查找,查找所有 txt文件
find /var/log/ -size 3k -ls 按照文件属性查找,大于2K,小于或等于3K的文件
find -amin +5 文件时间查找,查找五分钟之前被访问的文件
find /tmp -name "*.tmp" | xargs rm -f 批量删除文件
find . -name "*.jpg"  | xargs -I {} mv {} {}.bak 批量重命名
find /var/www -type f -name "*.php" |xargs chmod 644 批量修改权限
10.gzip包:gzip -vk fstab passwd  保留原文件,并显示压缩过程
                gzip -d qwq.gz 解压
                gzip -l qwq.gz 显示压缩文件信息
tar包:tar -cvf archive.tar files 创建tar包
           tar -xvf a.tar # 解压
           tar -czvf a.tar.gz files 创建gzip压缩的tar包
           tar -xzvf a.tar.gz  解压gzip压缩的tar包
           tar -cjvf a.tar.bz2 files  创建bzip2压缩的tar包
           tar -xjvf a.tar.bz2  解压bzip2压缩的tar包
zip包:zip -v hosts.zip hosts  压缩文件
            unzip -l hosts.zip 查看压缩包文件内容
            zip -i"*txt" txt.zip * 只压缩txt文件
            zip -vP 123456 test.zip /etc/fstab 设置密码,是非交互式加密解密
            zip -ve test.zip /etc/hosts 设置密码,是交互式加密解密
            zip -d txt.zip file-c.txt    删除文件,从 txt.zip 中删除 file-c.txt

 

posted on 2025-04-26 21:19  Healingcl  阅读(24)  评论(0)    收藏  举报