一、Linux系统目录结构

目录
|
说明
|
bin
|
命令,二进制文件的存放目录
|
boot
|
系统引导程序及系统内核文件存储目录
|
dev
|
设备、光驱、硬盘目录
|
etc
|
存放系统或服务的配置文件目录
|
home
|
普通用户的家目录
|
lib
|
库文件存放目录
|
lib64
|
库文件存放目录(64位)
|
lost+found
|
磁盘、文件系统损坏、断电、存放临时文件目录
|
mnt
|
临时的挂载点目录
|
opt
|
三方软件安装目录
|
proc
|
虚拟目录,显示硬件的信息及内核参数配置文件
|
root
|
超级用户的家目录
|
sbin
|
超级命令,二进制文件的存放目录,只有root用户能够使用的命令
|
/etc/selinux
|
selinux及其配置文件存放目录,安全上下文
|
sys
|
虚拟目录,内核配置信息
|
tmp
|
临时文件的存放目录
|
usr
|
存放用户程序目录
|
var
|
log:系统日志目录;spool/mail:邮件文件
|
二、文件与目录操作命令:pwd
1、打印工作目录命令 pwd
pwd
(Print Working Directory)是 Linux/Unix 系统中的基础命令,用于显示当前工作目录的绝对路径。它直接输出用户所在位置的完整目录结构,从根目录(/
)开始。
语法
pwd [选项]
选项
-P
|
显示出实际路径,而非使用连接
|
练习
如何结合 cd
命令切换到一个新目录,并再次使用 pwd
验证
2、目录切换命令:cd
cd
(Change Directory)是命令行中用于切换当前工作目录的指令。
语法
cd [目录名]
选项
命令
|
作用
|
cd
|
返回当前登录用户的家目录
|
cd ..
|
返回上级目录
|
cd ~
|
返回当前登录用户的家目录
|
cd -
|
返回上次跳转到当前目录的目录
|
cd /path
|
切换到指定目录
|
练习
3、目录内容查看命令:ls
ls
命令用于列出目录中的文件和子目录。在不带任何参数的情况下,默认显示当前工作目录的内容。
语句
ls [OPTION]... [FILE]...
选项
命令选项
| 作用 |
-a, --all
|
显示所有文件(包括以 . 开头的隐藏文件)
|
-l
|
使用详细列表格式显示文件或目录的详细信息
|
-h, --human-readable
|
使用人类可读的格式显示文件大小(例如 1K、2M)
|
-r, --reverse
|
以相反的顺序列出文件
|
-t
|
按照修改时间(最新的文件在前)排序
|
-s
|
按照文件大小排序
|
-d, --directory
|
显示目录本身,而非目录下的文件列表
|
-i, --inode
|
显示每个文件的 inode 号
|
--color=auto
|
自动根据文件类型显示不同的颜色
|
-R, --recursive
|
递归列出目录及其子目录中的文件
|
练习
如何列出当前目录下的所有文件和目录,包括隐藏文件?
如何以长格式显示/var/log
目录下的内容,并以人类可读的方式显示文件大小?
如何在当前目录下,按文件修改时间排序(最新的在前)并显示详细信息?
如何只列出当前目录下的所有子目录(不显示文件)?
如何递归显示当前目录下所有子目录中的内容,包括隐藏文件并显示详细信息?
4、文件查看命令:cat
cat
是 Linux 中常用的文本文件查看和处理命令,主要用于读取、拼接文件内容。
语法:
cat [选项] [文件]...
功能:
- 直接查看文件内容(如
cat file.txt
) - 一次性查看多个文件内容(如
cat a.txt b.txt
) - 创建新文本文件并输入内容(如
cat > new.txt
,按 Ctrl+D 结束) - 向已有文件末尾追加内容(如
cat >> old.txt
,按 Ctrl+D 结束) - 显示内容时带行号(如
cat -n file.txt
)
练习:
如何创建一个名为todo.txt
的文件,并写入 "购买书籍、整理文档" 这两行内容?
已有log1.txt
和log2.txt
,如何将两者内容合并到total.log
中?
4.2、more命令
more
是一个在 Unix/Linux 和 Windows 操作系统中用于分页显示文本文件内容的命令行工具。它允许用户逐页浏览文件内容,避免一次性显示过多信息导致屏幕滚动过快。
语法:
more [选项] [文件名]
练习:
在 more
模式下,可以使用以下交互命令:
- 空格键:向下翻一页。
- Enter 键:向下滚动一行。
q
键:退出more
。=
键:显示当前行号。/
键:搜索文本。输入/
后输入要搜索的字符串,按Enter
开始搜索。
4.3、less命令
less 是一个用于查看文件内容的命令行工具,支持向前和向后翻页,比 more 命令更强大。以下是基本用法:
语法:
less [选项] [文件名]
功能:
- 空格:向下翻一页
- b:向上翻一页
- 回车:向下滚动一行
- y:向上滚动一行
- /pattern:搜索指定模式
- n:跳转到下一个匹配项
- N:跳转到上一个匹配项
- q:退出 less
4.4、head命令
head
是 Linux/Unix 系统中的命令行工具,用于输出文件或标准输入的前几行内容(默认为前 10 行)。常用于快速预览文件开头部分或日志文件的初始内容。
语法:
head [选项] [文件名]
管道符:|
一种在计算机编程、命令行操作和数据流处理中常用的符号,用于将一个程序的输出直接传递给另一个程序作为输入。其核心作用是实现不同命令或功能之间的数据传递和协作。
选项:
-n <数字>
或 --lines=<数字>
:指定显示的行数。
-c <字节数>
:指定显示的字节数(适用于二进制文件或特定字节需求)。
-q
:隐藏文件名标题(处理多个文件时默认显示文件名)。
-v
:强制显示文件名标题(即使只有单个文件)。
练习:
显示文件前 10 行(默认行为):
[root@localhost opt]# ls
li.txt
[root@localhost opt]# head li.txt
dsa
asd
cxz
asda
ew
sad
cxz
adsa
awe
cxz
显示文件前 N 行(例如显示前 5 行):
[root@localhost opt]# head -n 5 li.txt
dsa
asd
cxz
asda
ew
4.5、tail命令
用于显示文件的末尾部分内容,默认显示最后 10 行
语法:
tail [选项] [文件名]
选项:
-n
参数可以指定显示的行数
-f
参数可以实时跟踪文件的新增内容,常用于监控日志文件
-c
参数可以从文件末尾显示指定字节数的内容
-q
参数可以在显示多个文件时v隐藏文件名标题
-v
参数可以显示详细的处理信息
练习:
显示文件最后 10 行(默认行为):
[root@localhost opt]# tail li.txt
sad
cxz
adsa
awe
cxz
sda
ds
scxz
sda
dsa
显示文件最后 N 行(例如显示最后 5 行):
[root@localhost opt]# tail -n 5 li.txt
sda
ds
scxz
sda
dsa
4.6、nl命令
用于为文件内容添加行号的命令行工具。它可以将输入文件的每一行前加上行号,并输出到标准输出或指定文件
语法:
-b
:指定要将行号添加到的行
-b a
:为所有行编号(包括空行)
-b t
:仅对非空行编号(默认行为)
-b n
:不显示行号
-s
:设置行号与内容之间的分隔符(默认为制表符 \t
)
-w
:指定行号字段宽度(默认为 6 个字符)
-n
:控制行号对齐方式
练习:
基本用法(默认跳过空行不编号)
[root@localhost opt]# nl li.txt
1 dsa
2 asd
3 cxz
4 asda
5 ew
6 sad
7 cxz
8 adsa
9 awe
10 cxz
11 sda
12 ds
13 scxz
14 sda
15 dsa
对所有行编号(包括空行)
[root@localhost opt]# nl -ba zhang.txt
1 dsa
2
3 dsa
4 a
5
6 ee
7 sad
8
9 ew
10 a
5、创建目录命令:mkair
语法:
mkdir [选项] 目录名
选项:
-p
:递归创建目录,自动创建父目录(如果不存在也会创建)
-m
:设置目录权限。例如创建一个权限为 755
的目录
-v
:显示详细操作信息
练习:
创建单个目录
[root@localhost opt]# mkdir mmm
[root@localhost opt]# ls
li.txt mmm zhang.txt
创建多个目录:
[root@localhost opt]# mkdir zz xx cc vv
[root@localhost opt]# ls
cc li.txt mmm vv xx zhang.txt zz
创建嵌套目录(父目录不存在时自动创建)
[root@localhost opt]# mkdir -p jj/dsa/re
[root@localhost opt]# ls
cc jj li.txt mmm vv xx zhang.txt zz
[root@localhost opt]# cd jj
[root@localhost jj]# ls
dsa
[root@localhost jj]# cd dsa/
[root@localhost dsa]# ls
re
6、创建文件命令
重定向符号:
>:覆盖重定向>>:追加重定向
查看文件的时间戳: stat 文件名称
6.1、touch命令
用于创建空文件或更新文件时间戳的工具
语法:
touch [选项]... 文件...
选项:
-a或 --time=access 如果文件不存在,创建一个新文件。同时更新访问时间和修改时间。
-t或 --time=date 使用指定的日期和时间更新文件的访问和修改时间。