linux系统文件结构

image-20240303175300088

我们看一下实际的目录:

image-20240303175745986

介绍一个工具 tree,可以类似树型显示文件

sudo apt install tree

image-20240303175927351

image-20240303180034254

bin -> usr/bin
├── boot
├── cdrom
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib32 -> usr/lib32
├── lib64 -> usr/lib64
├── libx32 -> usr/libx32
├── lost+found
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── snap
├── srv
├── swapfile
├── sys
├── tmp
├── usr
└── var

使用chatgtp来了解下各个文件目录

  • bin -> usr/binbin 目录包含了用户和系统操作中必需的可执行文件(二进制文件)。在最新的系统中,bin 目录通常是一个指向 usr/bin 的符号链接,这是为了简化文件系统的结构。
  • boot:包含启动 Linux 系统所需的文件,如内核(vmlinuz),初始内存盘映像(initrd)。
  • cdrom:通常用作挂载 CD-ROM 的点,虽然现代系统可能不经常使用光驱。
  • dev:包含设备文件,这些文件代表系统中的硬件设备,允许程序通过标准的文件操作接口与这些设备交互。
  • etc:包含系统的配置文件,这些文件通常由系统管理员编辑。
  • home:包含普通用户的主目录,在这里用户存储个人文件和设置。
  • lib*lib32lib64libx32 -> usr/lib*:这些目录包含系统和应用程序需要的共享库文件。在最新的系统中,这些目录通常是指向 usr/lib* 的符号链接。
  • lost+found:这个目录用于文件系统恢复过程中存放恢复的文件。
  • media:用于挂载可移动媒体设备,如 USB 驱动器。
  • mnt:传统上用于临时挂载文件系统。
  • opt:用于安装“可选”的应用程序,通常是第三方软件。
  • proc:一个虚拟文件系统,提供对内核和进程信息的接口。
  • root:系统管理员(root 用户)的主目录。
  • run:包含自系统上次启动以来的运行时数据。
  • sbin -> usr/sbin:包含系统管理程序的目录。与 bin 类似,sbin 目录通常是一个指向 usr/sbin 的符号链接。
  • snap:用于 Ubuntu Snap 包管理器的包和相关数据。
  • srv:用于存储系统提供的服务相关的数据。
  • swapfile:一个文件,用作交换空间,支持虚拟内存。
  • sys:一个虚拟文件系统,提供对内核内部信息的接口。
  • tmp:用于存储临时文件,系统重启时可能会清除这里的数据。
  • usr:包含大部分用户级别的应用程序和文件,如程序、库、文档等。
  • var:包含经常变化的文件,如日志、缓存、邮件队列等。

这个结构遵循了 Filesystem Hierarchy Standard(FHS),它定义了 Unix 和 Unix-like 系统中目录的布局和含义。

linux常见命令

  • whoami :显示当前活动用户的用户名(当前登录使用的用户名)

image-20240303184903231

  • hostname :查看当前系统的主机名

image-20240303185009517

可以看到当前系统主机名比较长,来更改一下

sudo hostnamectl set-hostname newbie

image-20240303185206635

image-20240303190423720

  • pwd 显示当前目录

linux中文件类型

记忆口诀 bcd-lsp bcd-老色批

b :block 块设备

c : char 字符设备

d :directory 目录文件,文件夹

-:普通文件

l :link 链接文件

s:socket套接字

p :pipeline管道文件

image-20240303191606984

  • ls -l 查看文件更多信息 l --->long

image-20240303192822783

  • 文件权限

image-20240303192952493

更改文件权限chmod

语法: chmod xxx file 其中:第一个x代表所有者的权限 ,第二个x代表所属组的权限,第三个代表其他用户的权限

image-20240303193702117

我当前文件main.c的权限为777,我需要将其他用户的读写执行权限关闭,使用命令

chmod 770 main.c

image-20240303193858100

image-20240303193245540

image-20240303194123992

image-20240303194657650

  • mkdir创建目录
  • rm 删除文件,rm不能直接删除目录 删除目录需要加-r 选项 ,一般使用rm -rf

image-20240303200214345

拷贝文件夹需要加 -r

image-20240303201044569

重命名还可以使用rename

要使用 rename 命令将单个文件 main.c 更改为 test.c,可以使用如下命令:

rename 's/main.c/test.c/' main.c

win与linux共享文件夹目录

/mnt/hgfs

如果查找不到,开机状态时,禁用该目录再开启该目录即可

  1. 分别描述以下命令的作用:pwd、ls、cd、touch、mkdir、cp、mv、rm、cat。
  2. 根目录、家目录的路径分别是什么?可以用什么符号表示,用来快速访问?

1.

pwd:查看当前路径

ls 查看当前目录下文件

cd :打开目录

touch :创建普通文件

mkdir :创建目录

cp 拷贝文件或目录

mv:移动文件或文件夹

rm 删除文件或文件夹

cat :查看文件内容

2.

根目录是 /

家目录是 /home/用户名

cd / 可快速访问根目录

cd 可直接回到家目录

如果觉得我的文章对你有用,请随意赞赏