D1 Linux基础操作

📅 2026/7/6 13:40:14 👁️ 阅读次数 📝 编程学习
D1 Linux基础操作

D1

  1. 知识点:Linux目录结构,绝对路径、相对路径;cd、ls、pwd、mkdir、rm、cp、mv 基础命令

  2. 实操:新建多级文件夹,创建文件,复制、移动、删除,反复操作20遍

  3. 面试题:Linux根目录下各个文件夹大概作用是什么? 标准答案:/bin系统命令、/etc配置文件、/var日志和运行数据、/home用户目录、/usr应用程序、/tmp临时文件。

Linux的目录结构

所有文件都挂载再根目录/下,没有windows的分盘概念,所有都是文件连目录也是

目录:

1./bin :所有可执行二进制命令文件,存放在这,所有用户都可以用,对对对,连命令都是文件

2./sbin:这个呢就是存放专门管理员用的系统命令,普通用户大多数都是没有执行权限的

3./boot:系统启动文件:内核镜像,grub引导程序、initramfs临时根文件系统

4./dev:硬件设备文件:硬盘,硬盘分区,黑洞都在这

5./etc:全局系统配置文件目录(最重要),存放用户信息密码,其他程序配置,全局环境变量

6./home:普通用户家目录,每个用户独立用一个文件夹,相当与一个小区,每户都住这一家人

7./lib / /lib64 :系统运行库文件,lib64存放64位动态链接库.so,程序启动时会自动加载这里的库文件

8./media:临时自动挂载点:U盘,光盘、移动硬盘插入后挂载在这

9./mnt:手动临时挂载目录,手动挂载硬盘、镜像啊啥的

10./opt:大型第三方独立软件安装目录(商业软件),现在接触不多,不知道重不重要

11./proc:虚拟文件系统,内存映射,不占磁盘空间,实时查看内核/进程信息,cpuinfo CPU信息,meminfo 内存,pid就是对应进程详情

12./root:超级管理员root的家目录,高端大气上档次,你们住小区,他住独栋别野

13./run:运行时临时数据,存放进程pid文件、套接字,重启自动清空,相当于缓存啦

14./srv:服务数据目录,服务器对外提供服务的数据

15./sys:虚拟文件系统,内核硬件驱动信息,管理硬件参数

16./tmp:临时文件目录,所有用户可读可写,系统定时清理/重启清空

17./usr:系统软件资源,最大目录,/usr/bin /usr/sbin

18./var:可变数据目录,运行中不断变化的文件,日志文件/var/log

高频目录:

查日志:/var/log

改配置:/etc/

源码安装软件:/usr/local

用户数据:/home/

进程硬件查看:/proc

开机引导:/boot

数据库/服务数据:/var/lib /srv

Linux基础命令

1.目录操作命令

pwd --- 查看当前所在目录

cd --- 切换目录
/etc #进入/etc绝对路径
~ #回到家目录
.. #返回上一级目录
- #返回上一次所在目录
#直接回家目录

ls --- 列出目录内容
#普通列出
-l #详细信息(权限、大小、时间)
-a #显示隐藏文件(以.开头)
-lh 或 ll -h #人性化显示文件大小
-lt #按修改时间排序
-R #递归列出
-d #只看目录本身信息,不显示目录里面的内容

mkdir --- 创建目录
testdir #创建单个目录
-p a/b/c #递归创建多级目录
dir1 dir2 dir3 #一次性创建多个目录

rmdir --- 删除空目录
testdir #!!!只能删除空文件夹

2.文件操作命令

touch --- 创建空文件 / 更新时间
test.txt #创建单个文件
file1 file2 file3 #创建多个文件

cp --- 复制文件/目录
源文件 目标路径
test.txt /tmp/ #复制文件到/tmp
-r dir1 /tmp/ #递归复制整个目录
test.txt test2.txt #同目录复制改名

mv --- 移动/重命名
test.txt /tmp/ #移动文件到/tmp目录中
oldname newname #重命名文件/目录
dir1 /home/ #移动整个目录

rm --- 删除文件/目录
test.txt #删除文件
-r dir1 #删除非空目录
-rf dir1 #强制递归删除,不提示

查看文件内容
cat test.txt #一次性查看全部

more test.txt #分页查看,回车下一行

less test.txt #分页上下滚动,q退出

head test.txt #看前10行

head -n 5 test.txt #看前5行

tail test.txt #看后10行

tail -f test.txt #实时跟踪文件变化(日志常用)

3.文件查找命令

1.find --- 全盘精准查找
语法:find 查找路径 -条件 匹配内容
find . -name "*.txt" #在当前目录找所有txt文件

find /etc -name hosts #查找/etc下名字为hosts的文件

find . -type d #查找当前目录下所有目录
ps:文件类型
- #普通文件 --- 文件、日志、脚本、图片、压缩包 find指令中对应字母f
d #目录文件 --- 文件夹
l #软链接文件 --- 快捷方式
b #块设备文件 --- 硬盘、U盘、磁盘(块设备)
c #字符设备文件 --- 键盘、鼠标、终端
p #管道文件 --- 进程间通信管道
s #套接字文件 --- 进程网络通信(mysql、nginx 常用)

find . -size +10M #查找大于10M的文件

find . -mtime +7 #查找7天前修改过的文件

2.which查找命令所在路径
which ls
which python

3.whereis 查找命令、配置、帮助文件
whereis nginx
whereis mysql

4.grep文本内容过滤查找
grep "root" /etc/passwd #在文件中查包含root的行

grep -i "error" log.txt #忽略大小写

grep -r "192.168" /etc/ #递归查目录下所有文件含关键字

4.压缩和解压命令

1.tar 打包 + 压缩 (Linux常用)
打包压缩.tar.gz
tar -zcvf dir1.tar.gz dir1/ #压缩: 把dir1打包成dir1.tar.gz

tar -zxvf dir.tar.gz -C /tmp/ #解压到指定目录

参数说明:
z: gzip压缩
c: 创建压缩包
v:显示过程
f:指定压缩包文件名
x:解压
C:指定目录

tar.bz2格式
把z换成j
j:bz2压缩

2.zip/uzip通用Windows/Linux
zip -r dir1.zip dir1/ #压缩目录

unzip dir1.zip -d /tmp/ #解压到指定目录

3.gzip/gunzip单文件压缩
gzip test.txt #压缩成test.txt.gz,原文件消失
gunzip test.txt.gz #解压

5.实操联系任务

1.在家目录创建 linux_test/a/b/c 多级目录

[root@AAA ~]# cd
[root@AAA ~]# mkdir -p linux-test/a/b/c
[root@AAA ~]# ll -R linux-test/

2.在 c 目录创建 test1.txt test2.txt

[root@AAA ~]# cd linux-test/a/b/c/
[root@AAA c]# touch test1.txt test2.txt
[root@AAA c]# ll

3.把 test1.txt 复制到 /tmp

[root@AAA c]# cp test1.txt /tmp/
[root@AAA c]# ll /tmp

4.把 test2.txt 重命名为 log.txt

[root@AAA c]# mv test2.txt log.txt
[root@AAA c]# ll

5.查找系统中 hosts 文件位置

[root@AAA c]# whereis hosts

[root@ServerA-one ~]# which hosts

6.查找 /etc 下所有包含 root 的行

[root@AAA c]# grep -r "root" /etc/

7.把 linux_test 整个目录压缩为 linux_test.tar.gz

[root@AAA ~]# tar -zcvf linux_test.tar.gz linux-test

8.解压到 /tmp 目录

[root@AAA ~]# tar -zxvf linux_test.tar.gz -C /tmp