运维学习(第二周)

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

1.通配符

通配符用于匹配文件名,简化文件操作。

通配符描述示例用途
*匹配0个或多个任意字符*.txt 匹配所有以 .txt 结尾的文件
匹配任意单个字符file?.txt 匹配 file1.txt, fileA.txt 等
[ ]匹配括号内任意一个字符file[12].txt 匹配 file1.txt 或 file2.txt
[! ]匹配不在括号内的任意一个字符file[!1].txt 匹配 fileA.txt 但不匹配 file1.txt
{ }匹配逗号分隔的字符串或范围(Bash特有){a...c}.txt 扩展为 a.txt b.txt c.txt

示例:

# 创建一些测试文件
touch file1.txt file2.txt file3.log filea.txt fileb.txt

# 使用通配符列出文件
ls *.txt  # 输出: file1.txt  file2.txt
ls file?.txt # 输出: file1.txt  file2.txt
ls file[a-b].txt # 输出: filea.txt  fileb.txt
ls file[!1].txt # 输出: file2.txt  file3.log  filea.txt  fileb.txt

2.管道

管道符号 | 将一个命令的输出作为另一个命令的输入,这允许你将多个命令组合起来,完成更复杂的操作。

· 基本语法:命令A | 命令B

· 命令A的输出结果变成命令B的输入结果

示例:

# 列出当前目录下的所有文件,并按大小排序
ls -l | sort -k5 -n  # ls -l 列出文件详细信息,sort -k5 -n 按第五列(文件大小)进行数字排序

# 统计当前目录下 .txt 文件的数量
ls *.txt | wc -l  # ls *.txt 列出所有 .txt 文件,wc -l 统计行数 (即文件数量)

3.重定向

重定向用于改变命令默认的输入来源和输出目的地。

重定向符号描述
>将命令的标准输出重定向到文件,如果文件存在,则覆盖文件内容
>>将命令的标准输出追加到文件末尾
<将文件作为命令的标准输入
2>将命令的标准错误重定向到文件
&>或>&将命令的标准输出和标准错误都重定向到文件

示例:

# 将 ls -l 的输出保存到文件
ls -l > file_listing.txt

# 将错误信息保存到 error.log 文件
find / -name "nonexistent_file" 2> error.log

# 将标准输出和标准错误都保存到 output.log 文件
./my_script.sh &> output.log

# 丢弃命令的输出和错误信息
ping google.com > /dev/null 2>&1


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

1.用户

· 用户类型:

        · 超级用户(root):拥有系统最高权限,可以执行所有操作

        · 普通用户:权限受限,只能操作自己拥有的文件或被授权的资源

· 用户信息存储:

        · /etc/password:存储用户账户信息,但不包含密码

        · /etc/shadow:存储用户加密后的密码,仅root用户可以读取

        · /etc/group:存储用户组信息

2.用户组

· 用户组类型:

        · 主要用户组:用户创建文件时默认所属的用户组

        · 附加用户组:用户可以加入的其他用户组,以获得更多权限

· 用户组信息存储:

        · /etc/group:存储用户组信息及组成员

3.常见操作命令

3.1.用户管理

# 添加新用户
sudo useradd [-m] [-s shell] username  # -m 创建用户家目录,-s 指定默认shell

# 删除用户
sudo userdel [-r] username  # -r 删除用户家目录及文件

# 修改用户信息
sudo usermod [-l new_username] [-d home_dir] [-s shell] username  # 修改用户名、家目录、shell

# 锁定/解锁用户
sudo passwd -l username  # 锁定用户
sudo passwd -u username  # 解锁用户

# 设置/修改用户密码
sudo passwd username

3.2.用户组管理

# 添加新用户组
sudo groupadd groupname

# 删除用户组
sudo groupdel groupname

# 修改用户组信息
sudo groupmod [-n new_groupname] groupname  # 修改组名

# 将用户添加到附加组
sudo usermod -aG groupname username  # -a 保留原有组,-G 添加到附加组

3.3.查看用户和用户组信息

# 查看当前用户信息
id username  # 显示用户UID、GID及组信息

# 查看所有用户
cut -d: -f1 /etc/passwd  # 提取所有用户名

# 查看所有用户组
cut -d: -f1 /etc/group  # 提取所有组名

# 查看用户所属的组
groups username

3.4.切换用户和权限

# 切换用户
su [-] username  # 切换到指定用户,- 切换到根目录环境

# 使用sudo临时获取root权限
sudo command  # 执行单个命令
sudo -i  # 进入root交互shell

3.5.文件权限与所有权

# 修改文件所有者
sudo chown owner[:group] filename  # 修改文件所有者及组

# 修改文件所属组
sudo chgrp groupname filename

# 修改文件权限
chmod [u/g/o/a][+/-=][rwx] filename  # 修改权限

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

内容描述
基本权限用户、组其他的读、写、执行权限,使用rwx表示,数字表示法方便权限设置
特殊权限SUID、SGID、Sticky Bit,提升权限或控制目录中文件删除权限
ACL细粒度权限控制,支持为多个用户和组单独设置权限,超越传统权限模型
常用命令chmod(修改权限)、chown(修改所有者)、chgrp(修改组)、getfacl、setfacl

示例:

# 查看权限
ls -l filename

# 设置权限为 rwxr-xr--
chmod 754 filename

# 设置SUID位
chmod u+s filename

# 设置SGID位
chmod g+s directory

# 设置Sticky位
chmod +t /tmp

# 查看ACL
getfacl filename

# 给用户liu添加读写权限
setfacl -m u:liu:rw filename

# 删除用户liu的ACL权限
setfacl -x u:liu filename

四、总结文件时间戳的用法

时间戳含义更新条件主要用途
atime访问时间文件被读取或访问追踪文件使用情况,缓存策略
mtime修改时间文件内容被修改备份,版本控制,构建系统
ctime状态改变时间文件元数据被修改追踪元数据修改,安全审计

示例:

# 查找7天内未被访问的文件
find /path -type f -atime +7

# 查找24小时内被修改的文件
find /path -type f -mtime -1

# 查看文件状态改变时间
stat -c %Y file.txt
# 修改文件权限,更新 ctime
chmod 644 example.txt

五、总结find和xargs的用法

1.find命令

1.1.基本用法

find [路径] [表达式]

1.2.常用选项

· -name:按名称搜索文件

find /path -name "*.txt"

· -type:按文件类型搜索(如f表示普通文件,d表示目录)

find /path -type f

· -size:按文件大小搜索

find /path -size +100k

· -mtime:按文件修改时间搜索

find /path -mtime -7

2.xargs命令

2.1.基本用法

command1 | xargs command2

2.2.常用选项

· -I:指定替换字符串

find /path -name "*.txt" | xargs -I {} mv {} new_directory/

· -n:指定每次运行命令时传递的参数数量

find /path -name "*.txt" | xargs -n 1 grep "pattern"

· -P:指定并运行的进程数

find /path -name "*.txt" | xargs -P 4 grep "pattern"

六、总结几种压缩工具的使用方法

1.tar

# 打包
tar -cvf archive.tar files/

# 解包
tar -xvf archive.tar

# 打包并压缩(gzip)
tar -czvf archive.tar.gz files/

# 解压并解包
tar -xzvf archive.tar.gz

2.gzip/gunzip

# 压缩文件(原文件会被删除)
gzip file.txt

# 解压文件
gunzip file.txt.gz
# 或
gzip -d file.txt.gz

# 保留原文件
gzip -k file.txt

3.zip/unzip

# 压缩文件或目录
zip archive.zip file1 file2
zip -r archive.zip directory/

# 解压文件
unzip archive.zip

# 解压到指定目录
unzip archive.zip -d /path/to/extract/

4.7z

# 压缩
7z a archive.7z files/

# 解压
7z x archive.7z

# 查看压缩包内容
7z l archive.7z

5.rar

# 压缩(需要rar工具)
rar a archive.rar files/

# 解压
unrar x archive.rar

# 查看内容
unrar l archive.rar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值