一、文件和目录查找(find 命令进阶)
前提:打开终端并进入操作目录
- 按
Ctrl + Alt + T
打开终端。 - 进入
linux_study
目录(后续操作主要在这里进行):cd ~/linux_study
1. 按文件名查找(-name/-iname)
操作 1:查找当前目录下的 “long_text.txt”
- 目的:练习精确匹配文件名(区分大小写)。
- 输入命令:
find ./ -name "long_text.txt"
- 预期结果:终端会显示文件路径,类似
./long_text.txt
(如果文件存在)。
操作 2:不区分大小写查找 “LONG_TEXT.TXT”(模拟大写文件名)
- 目的:练习
-iname
忽略大小写。 - 输入命令:
find ./ -iname "LONG_TEXT.TXT"
- 预期结果:即使文件名是小写,也能找到,显示
./long_text.txt
。
2. 按文件类型查找(-type f/-type d)
操作 1:查找用户主目录下所有目录
- 目的:区分文件和目录,只找目录。
- 输入命令:
find ~ -type d
- 预期结果:终端会列出主目录下所有子目录(如
/home/your_username/Documents
、/home/your_username/linux_study
等)。
操作 2:在当前目录下查找所有普通文件(非目录)
- 目的:只找文件,排除目录。
- 输入命令:
find ./ -type f
- 预期结果:列出
linux_study
目录下的所有文件(如day1_note.txt
、long_text.txt
等)。
3. 按文件大小查找(-size)
操作:查找根目录下大于 10M 的文件(需要管理员权限)
- 目的:练习按大小筛选文件,了解
sudo
的使用。 - 输入命令(注意:根目录文件较多,可能需要等几秒):
bash
sudo find / -size +10M
- 步骤解析:
- 输入命令后,终端会提示
[sudo] password for 你的用户名:
,输入你的登录密码(输入时密码不显示,输完按回车)。 - 系统会开始查找,过程中可能出现 “权限被拒绝” 的提示(正常,忽略即可)。
- 输入命令后,终端会提示
- 预期结果:列出根目录下所有大小超过 10M 的文件(如
/usr/lib
下的一些大型程序文件)。
4. 按修改时间查找(-mtime)
操作:查找当前目录下 1 天内修改过的文件
- 目的:筛选近期修改的文件(适合找刚创建的文件)。
- 输入命令:
find ./ -mtime -1
- 预期结果:列出
linux_study
目录下今天修改过的文件(如你刚创建的day1_note.txt
、long_text.txt
等)。
5. 查找后的操作(删除 / 显示详情)
操作 1:查找并显示所有.sh 文件的详细信息(先创建测试文件)
- 步骤 1:先创建 2 个空的.sh 文件(用于测试):
bash
touch test1.sh test2.sh
- 步骤 2:查找并显示详细信息:
find ./ -name "*.sh" -exec ls -l {} \;
- 预期结果:终端会显示类似以下内容(显示文件权限、大小等):
-rw-r--r-- 1 你的用户名 你的用户名 0 7月 8 15:00 ./test1.sh -rw-r--r-- 1 你的用户名 你的用户名 0 7月 8 15:00 ./test2.sh
操作 2:删除刚才创建的 test1.sh(慎用,确认文件无用)
- 目的:练习查找后删除(仅删除测试文件,避免误删重要文件)。
- 输入命令:
find ./ -name "test1.sh" -delete
- 验证:输入
ls
查看,test1.sh
已消失,只剩test2.sh
。
二、用户和用户组管理
1. 创建用户并设置密码
操作 1:创建用户 “workuser”
- 目的:学习
useradd
命令,创建新用户。 - 输入命令(需要管理员权限):
sudo useradd workuser
- 提示:输入你的登录密码(密码不显示,输完回车)。
- 验证:查看用户是否创建成功:
cat /etc/passwd | grep workuser
- 预期结果:显示类似
workuser:x:1001:1001::/home/workuser:/bin/sh
的行(表示用户存在)。
操作 2:给 “workuser” 设置密码
- 目的:新用户必须设置密码才能登录。
- 输入命令:
sudo passwd workuser
- 步骤:
- 终端提示
Enter new UNIX password:
,输入一个密码(如123456
,实际用复杂密码)。 - 提示
Retype new UNIX password:
,重复输入密码,按回车。 - 显示
passwd: password updated successfully
表示成功。
- 终端提示
2. 创建用户组并添加用户
操作 1:创建用户组 “workgroup”
- 输入命令:
sudo groupadd workgroup
- 验证:查看组是否存在:
cat /etc/group | grep workgroup
- 预期结果:显示
workgroup:x:1002:
(表示组存在)。
操作 2:将 “workuser” 加入 “workgroup”
- 输入命令:
sudo usermod -aG workgroup workuser
操作 3:查看 “workuser” 所属的组
- 输入命令:
groups workuser
- 预期结果:显示
workuser : workuser workgroup
(表示用户属于自身组和 workgroup)。
3. 查看登录用户(可选)
-
查看当前登录用户名:
whoami
预期结果:显示你的主用户名(如
your_username
)。 -
查看所有登录用户:
who
预期结果:显示当前登录的终端信息(一般只有你的主用户)。
4. 清理:删除测试用户和组(避免占用系统资源)
- 删除用户 “workuser” 及家目录:
sudo userdel -r workuser
- 删除用户组 “workgroup”:
sudo groupdel workgroup
三、文件压缩与解压缩
1. tar 命令(打包 + 压缩 / 解压缩)
操作 1:打包并 gzip 压缩 “linux_study” 目录
- 目的:将目录压缩为
.tar.gz
格式(Linux 最常用)。 - 输入命令(在
~/linux_study
目录下执行):tar -zcvf linux_study.tar.gz ~/linux_study
- 选项解释:
-z
(gzip 压缩)、-c
(创建)、-v
(显示过程)、-f
(指定文件名)。
- 选项解释:
- 预期结果:终端会列出压缩的文件列表,最后生成
linux_study.tar.gz
文件(用ls
可看到)。
操作 2:解压缩到指定目录 “test_unzip”
- 步骤 1:创建解压缩目录:
mkdir ~/test_unzip
- 步骤 2:解压缩到该目录:
tar -zxvf linux_study.tar.gz -C ~/test_unzip
- 选项
-C
表示指定解压缩目录(必须先创建目录)。
- 选项
- 验证:进入目录查看是否有文件:
ls ~/test_unzip/home/你的用户名/linux_study
预期结果:显示day1_note.txt
等文件(和原目录内容一致)。
2. zip 和 unzip 命令(需先安装)
操作 1:安装 zip 和 unzip 工具
- 输入命令:
sudo apt install zip unzip
- 提示:输入密码后,按
Y
确认安装(等待进度条完成)。
操作 2:用 zip 压缩 “day2_note.txt” 为 “note.zip”
- 输入命令:
zip note.zip day2_note.txt
- 预期结果:显示
adding: day2_note.txt (deflated 0%)
,生成note.zip
文件(用ls
查看)。
操作 3:解压缩 “note.zip” 到当前目录
- 输入命令:
unzip note.zip
- 预期结果:显示
inflating: day2_note.txt
,当前目录会出现解压后的文件(若已存在会提示是否覆盖,输入y
确认)。
3. gzip 命令(压缩单个文件)
操作 1:压缩 “test2.sh”(之前创建的测试文件)
- 输入命令:
gzip test2.sh
- 预期结果:原文件
test2.sh
消失,生成test2.sh.gz
(用ls
查看)。
操作 2:解压缩 “test2.sh.gz”
- 输入命令:
gunzip test2.sh.gz
- 预期结果:
test2.sh.gz
消失,恢复为test2.sh
(用ls
确认)。
关键注意事项
- 所有
sudo
命令需要输入你的登录密码(不是新用户密码),输入时密码不显示,输完直接回车。 - 压缩 / 删除操作前,先用
ls
确认文件 / 目录名称,避免拼写错误导致误操作。 - 若命令执行卡住,按
Ctrl + C
强制取消,重新输入。