• 【树莓派不吃灰】简要了解Linux文件系统 以及 树莓派debian文件系统


    在这里插入图片描述

    • ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️
    • ❤️ 本篇创建记录 2022-11-05 ❤️
    • ❤️ 本篇更新记录 2022-11-05 ❤️
    • 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言 📝
    • 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!
    • 🔥 Arduino ESP8266教程累计帮助过超过1W+同学入门学习硬件网络编程,入选过选修课程,刊登过无线电杂志🔥

    1. 前言

    玩了一段时间树莓派之后,觉得还是需要回溯本源Linux系统的学习。

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步,深入了解Linux文件目录结构的标准和每个目录的详细功能,对于我们用好Linux系统非常重要。
    在这里插入图片描述

    所以本篇会简要学习一下树莓派官方系统的目录结构。

    有一个点务必记住:

    整个Linux操作系统就是文件的集合

    1.1 Linux 的发行版

    Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包
    在这里插入图片描述
    目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
    在这里插入图片描述

    2. Linux的树状目录结构

    整个Linux系统最重要的地方就是在于目录树架构,所谓的目录树架构就是以根目录为主, 然后向下呈现分支状的目录结构的一种树形档案架构。
    在这里插入图片描述
    在这里插入图片描述

    Linux里面所有一切的目录和文件都是从树根开始,这个树根就是Linux的根目录。我们在Linux里面去找目录或者文件的话,就得从根开始找。这个根目录就是我们第一个要记住的目录,也是最重要的一个目录。

    类比windows会有点不一样,windows它有C盘、D盘、E盘等盘符,所以每一个盘符就是一个根目录,但是Linux只有一个根目录,它就是。

    其次,认识了Linux的根目录,就可以了解一下根目录下的其他目录。

    Linux中的重要的目录:

    • 主目录:/root/home/<普通用户name>
    • 用户可执行文件:/bin/usr/bin/usr/local/bin
    • 系统可执行文件:/sbin/usr/sbin/usr/local/sbin
    • 其他设备挂载点:/media/mnt
    • 配置文件:/etc
    • 临时文件:/tmp
    • 内核和Bootloader:/boot
    • 服务器数据:/var/srv
    • 系统信息:/proc/sys
    • 共享库:/lib/usr/lib/usr/local/lib

    重要知识点:

    • 每个用户都拥有一个主目录。
    • 所有用户的个人文件(配置、数据甚至应用程序)都放在其中。
    • 根的主目录为/root。大多数非根主目录包含在/home 树中,通常以用户命名。
    • 重要的二进制位于 /bin(用户二进制)以及 /sbin(系统二进制)中。不重要的二进制(如图形环境或Office 工具)安装在/usr/bin 和 /usr/sbin中。进行这种分隔是为了尽可能地缩小根分区。使用源代码编译的软件通常位于 /usr/local/bin 和/usr/local/sbin中。

    额外知识点: /bin,/sbin,/usr/bin,/usr/sbin区别

    • / : this is root directory root 用户根目录
    • /bin : commandsin this dir are all system installed user commands 系统的一些指令
    • /sbin: commands in this dir are all system installedsuper user commands 超级用户指令系统管理命令,这里存放的是系统管理员使用的管理程序
    • /usr/bin: usercommands for applications 后期安装的一些软件的运行脚本
    • /usr/sbin:super user commands for applications 超级用户的一些管理程序
    • /usr/X11R6/bin: X application user commands
    • /usr/X11R6/sbin: X application super usercommands

    简单来说,博主觉得学习Linux非常重要的思维就是:

    根据用户权限来区分文件目录,系统级别放在公共目录,用户级别放在各自用户目录下。

    Raspberry Pi OS 是基于debian开发而来,而debian本身也是linux系统的一个版本。我们也看看树莓派根目录下是不是也是差不多的结构?

    ls -al
    在这里插入图片描述
    可以对比看看,本质上都是差不多树形结构。

    2.1 /root

    系统用户root的主目录,也就是超级用户或者叫系统管理员的主目录;它就类似windows中的Administrator目录的作用;

    关键词:

    • root用户主目录
    2.1.1 树莓派 /root

    在这里插入图片描述
    普通用户没有这个访问权限(当然,我们尽量也不要去修改这里的权限)。
    在这里插入图片描述
    那么我们需要切换到root用户(默认没有密码,最好设置一下):

    • sudo su #切换root用户
    • su pi #切换普通用户
    • sudo passwd root # 更改root用户密码
    • sudo passwd pi # 更改普通用户密码

    在这里插入图片描述

    2.2 /bin

    Binary的缩写,这个目录存放着系统必备执行命令。

    常用命令基本都在这里,而且所有用户(不管是系统用户还是普通用户)都可用;它类似windows中除了C盘的Progrom Files文件夹以外,其他用来存放用户安装的程序的作用;如:catchmodchownmkdircp

    关键词:

    • 所有用户都可以执行的命令
    2.2.1 树莓派 /bin

    在这里插入图片描述
    bin 是一个链接,对应目录 usr/bin
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    可以看到,命令非常多。实际上我们大多数都是与这些命令打交道。

    2.3 /sbin

    sbin,也就是 system binary。

    s就是Super User。系统用户管理命令都在这个目录里面,此目录里面的命令只有系统用户才能使用,普通用户是使用不了的;它类似windows中C盘的Progrom Files文件夹的作用,用来存放的是系统程序;

    fdiskshutdownmount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用

    关键词:

    • 超级用户可以执行的命令
    2.3.1 树莓派 /sbin

    在这里插入图片描述
    比如我们常用的rebootshutdown命令。
    在这里插入图片描述
    相比常用命令,这里命令数量少了很多。

    2.4 /boot

    这里存放的是启动Linux时使用的一些核心文件,包括linux内核文件、一些链接文件以及镜像文件,自己的安装别放这里。了解即可,基本上不会去动它。

    关键词:

    • 启动相关文件
    2.4.1 树莓派 /boot

    在这里插入图片描述
    也是启动相关文件,包括一些Linux内心Kernel文件。

    2.5 /dev

    Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。只要通过访问这个目录下面的某个文件就相当于访问该设备。类似windows的驱动盘(DVD驱动/U盘)的作用; 正常情况下也不会去改动。

    关键词:

    • 设备相关文件
    2.5.1 树莓派 /dev

    在这里插入图片描述
    在这里插入图片描述

    2.6 /etc

    • 系统配置文件存放的目录。如用户账号、密码、各种服务起始文件等、该目录下的文件普通用户可以查看,但只有root用户有权修改。FHS建议不要放置可执行文件(binary)在此目录。类似windows的注册表功能。如/etc/fstab、/etc/rc*.d、/etc/init.d、/etc/hosts等等
    • 安装各种软件的配置文件目录。如 /etc/mysql、/etc/nginx 等等我们自己安装的软件

    这个目录需要重点学习

    关键词:

    • 配置相关文件
    2.6.1 树莓派 /etc
    pi@raspberrypi:/ $ cd etc/
    pi@raspberrypi:/etc $ ls -al
    total 1212
    drwxr-xr-x 130 root root   12288 Nov  5 02:10 .
    drwxr-xr-x  18 root root    4096 Sep 22 02:02 ..
    -rw-r--r--   1 root root    2981 Sep 22 01:02 adduser.conf
    drwxr-xr-x   3 root root    4096 Sep 22 01:11 alsa
    drwxr-xr-x   2 root root   12288 Sep 22 01:22 alternatives
    drwxr-xr-x   3 root root    4096 Sep 22 01:12 apache2
    drwxr-xr-x   2 root root    4096 Sep 22 01:22 apparmor
    drwxr-xr-x   7 root root    4096 Sep 22 01:22 apparmor.d
    drwxr-xr-x   8 root root    4096 Sep 22 01:07 apt
    drwxr-xr-x   3 root root    4096 Sep 22 01:07 avahi
    -rw-r--r--   1 root root    1994 Mar 27  2022 bash.bashrc
    -rw-r--r--   1 root root      45 Jan 24  2020 bash_completion
    drwxr-xr-x   2 root root    4096 Sep 22 01:10 bash_completion.d
    -rw-r--r--   1 root root     367 Mar 29  2022 bindresvport.blacklist
    drwxr-xr-x   2 root root    4096 Sep 13 02:58 binfmt.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 bluetooth
    drwxr-xr-x   3 root root    4096 Sep 22 01:03 ca-certificates
    -rw-r--r--   1 root root    5662 Sep 22 01:03 ca-certificates.conf
    drwxr-s---   2 root dip     4096 Sep 22 01:07 chatscripts
    drwxr-xr-x   3 root root    4096 Sep 22 01:10 chromium
    drwxr-xr-x   2 root root    4096 Sep 22 01:10 chromium.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:05 cifs-utils
    drwxr-xr-x   2 root root    4096 Sep 22 01:07 console-setup
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 cron.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 cron.daily
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 cron.hourly
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 cron.monthly
    -rw-r--r--   1 root root    1042 Feb 22  2021 crontab
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 cron.weekly
    drwxr-xr-x   5 root lp      4096 Nov  5 01:15 cups
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 cupshelpers
    drwxr-xr-x   4 root root    4096 Sep 22 01:06 dbus-1
    drwxr-xr-x   3 root root    4096 Sep 22 01:08 dconf
    -rw-r--r--   1 root root    2969 Jun 10  2021 debconf.conf
    -rw-r--r--   1 root root       5 Sep 12 01:26 debian_version
    drwxr-xr-x   2 root root    4096 Sep 22 02:01 default
    -rw-r--r--   1 root root     604 Jun 26  2016 deluser.conf
    drwxr-xr-x   4 root root    4096 Sep 22 01:03 dhcp
    -rw-rw-r--   1 root netdev  1777 Jul 25 16:48 dhcpcd.conf
    drwxr-xr-x   2 root root    4096 Sep 22 01:14 dictionaries-common
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 dillo
    -rw-r--r--   1 root root    1100 Sep 22 01:07 dphys-swapfile
    drwxr-xr-x   4 root root    4096 Sep 22 01:07 dpkg
    -rw-r--r--   1 root root     685 Jun  7  2021 e2scrub.conf
    drwxr-xr-x   3 root root    4096 Sep 22 01:08 emacs
    -rw-r--r--   1 root root       0 Sep 22 01:02 environment
    -rw-r--r--   1 root root    1816 Dec 27  2019 ethertypes
    -rw-r--r--   1 root root      20 Nov  5 02:17 fake-hwclock.data
    -rw-r--r--   1 root root   24501 Apr  3  2020 fb.modes
    drwxr-xr-x   3 root root    4096 Sep 22 01:21 firebird
    drwxr-xr-x   4 root root    4096 Sep 22 01:06 fonts
    -rw-r--r--   1 root root     216 Sep 22 02:02 .fstab
    -rw-r--r--   1 root root     314 Sep 22 02:02 fstab
    -rw-r--r--   1 root root     694 Jun 20  2021 fuse.conf
    -rw-r--r--   1 root root    2584 Mar 29  2022 gai.conf
    drwxr-xr-x   3 root root    4096 Sep 22 01:07 gdb
    drwxr-xr-x   2 root root    4096 Sep 22 01:20 geoclue
    drwxr-xr-x   4 root root    4096 Sep 22 01:12 ghostscript
    drwxr-xr-x   3 root root    4096 Sep 22 01:08 glvnd
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 gnome
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 groff
    -rw-r--r--   1 root root     955 Sep 22 02:02 group
    -rw-r--r--   1 root root     999 Sep 22 02:01 group-
    -rw-r-----   1 root shadow   793 Sep 22 02:02 gshadow
    -rw-r-----   1 root shadow   837 Sep 22 02:01 gshadow-
    drwxr-xr-x   3 root root    4096 Aug 23 21:49 gss
    drwxr-xr-x   2 root root    4096 Sep 22 01:09 gtk-2.0
    drwxr-xr-x   2 root root    4096 Sep 22 01:09 gtk-3.0
    -rw-r--r--   1 root root       9 Sep 12 01:26 host.conf
    -rw-r--r--   1 root root      12 Sep 22 01:05 hostname
    -rw-r--r--   1 root root     132 Sep 22 01:05 hosts
    -rw-r--r--   1 root root     411 Sep 22 01:06 hosts.allow
    -rw-r--r--   1 root root     711 Sep 22 01:06 hosts.deny
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 hp
    -rw-r--r--   1 root root     206 Jun 28  2021 idmapd.conf
    drwxr-xr-x   3 root root    4096 Sep 22 01:07 ifplugd
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 init
    drwxr-xr-x   2 root root    4096 Sep 22 02:02 init.d
    drwxr-xr-x   5 root root    4096 Sep 22 01:05 initramfs-tools
    -rw-r--r--   1 root root    1865 Sep 22 01:07 inputrc
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 insserv.conf.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 ipp-usb
    drwxr-xr-x   4 root root    4096 Sep 22 01:03 iproute2
    -rw-r--r--   1 root root      29 Sep 12 01:26 issue
    -rw-r--r--   1 root root      22 Sep 12 01:26 issue.net
    drwxr-xr-x   3 root root    4096 Sep 22 01:20 .java
    drwxr-xr-x   3 root root    4096 Sep 22 01:22 java
    drwxr-xr-x   5 root root    4096 Sep 22 01:20 java-11-openjdk
    drwxr-xr-x   5 root root    4096 Sep 22 01:22 java-17-openjdk
    drwxr-xr-x   5 root root    4096 Sep 22 01:05 kernel
    -rw-r--r--   1 root root   85378 Sep 22 01:22 ld.so.cache
    -rw-r--r--   1 root root      34 Mar 29  2022 ld.so.conf
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 ld.so.conf.d
    -rw-r--r--   1 root root      54 Sep 22 01:05 ld.so.preload
    -rw-r--r--   1 root root     191 Jan  6  2021 libaudit.conf
    drwxr-xr-x   3 root root    4096 Sep 22 01:06 libblockdev
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 libibverbs.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:05 libnl-3
    drwxr-xr-x   2 root root    4096 Jun 25  2019 libpaper.d
    drwxr-xr-x   3 root root    4096 Sep 22 01:22 libreoffice
    drwxr-xr-x   2 root root    4096 Sep 22 02:01 lightdm
    drwxr-xr-x   4 root root    4096 Sep 22 01:12 lighttpd
    -rw-r--r--   1 root root    2996 Aug 30 16:11 locale.alias
    -rw-r--r--   1 root root    9372 Sep 22 01:04 locale.gen
    lrwxrwxrwx   1 root root      33 Sep 22 01:07 localtime -> /usr/share/zoneinfo/Europe/London
    drwxr-xr-x   4 root root    4096 Sep 22 01:06 logcheck
    -rw-r--r--   1 root root   10516 Sep 22 01:07 login.defs
    -rw-r--r--   1 root root     494 Jan 30  2022 logrotate.conf
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 logrotate.d
    -r--r--r--   1 root root      33 Sep 22 02:01 machine-id
    -rw-r--r--   1 root root     111 Nov 19  2020 magic
    -rw-r--r--   1 root root     111 Nov 19  2020 magic.mime
    -rw-r--r--   1 root root   26356 Sep 22 01:22 mailcap
    -rw-r--r--   1 root root     449 Feb 25  2021 mailcap.order
    -rw-r--r--   1 root root    5215 Feb 19  2021 manpath.config
    -rw-r--r--   1 root root   39901 Feb  2  2021 matplotlibrc
    drwxr-xr-x   2 root root    4096 Sep 22 01:09 menu-methods
    -rw-r--r--   1 root root   70481 Jan 15  2021 mime.types
    -rw-r--r--   1 root root     812 Jun  7  2021 mke2fs.conf
    -rw-r--r--   1 root root   19354 Jul 10  2021 mkshrc
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 modprobe.d
    -rw-r--r--   1 root root     203 Sep 22 01:13 modules
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 modules-load.d
    -rw-r--r--   1 root root     286 Sep 12 01:26 motd
    lrwxrwxrwx   1 root root      19 Sep 22 02:01 mtab -> ../proc/self/mounts
    drwxr-xr-x   4 root root    4096 Sep 22 01:22 mysql
    -rw-r--r--   1 root root   10056 Nov 21  2021 nanorc
    -rw-r--r--   1 root root     767 Aug  1 15:26 netconfig
    drwxr-xr-x   7 root root    4096 Sep 22 01:07 network
    drwxr-xr-x   7 root root    4096 Sep 22 01:07 NetworkManager
    -rw-r--r--   1 root root      60 Sep 22 01:03 networks
    -rwxr-xr-x   1 root root     228 Jul 20  2021 nftables.conf
    -rw-r--r--   1 root root     526 Sep 22 01:07 nsswitch.conf
    drwxr-xr-x   2 root root    4096 Sep 22 01:10 openal
    drwxr-xr-x   2 root root    4096 Sep 22 01:10 openni2
    drwxr-xr-x   2 root root    4096 Sep 22 01:02 opt
    lrwxrwxrwx   1 root root      21 Sep 12 01:26 os-release -> ../usr/lib/os-release
    drwxr-xr-x   2 root root    4096 Sep 22 01:11 PackageKit
    -rw-r--r--   1 root root     552 Jan 30  2021 pam.conf
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 pam.d
    -rw-r--r--   1 root root       3 Sep 22 01:10 papersize
    -rw-r--r--   1 root root    2095 Sep 22 02:02 passwd
    -rw-r--r--   1 root root    2171 Sep 22 02:01 passwd-
    -rw-r--r--   1 root root    2668 Dec 25  2016 paxctld.conf
    drwxr-xr-x   3 root root    4096 Sep 22 01:05 perl
    -rw-r--r--   1 root root      57 Jul 16  2021 pip.conf
    drwxr-xr-x   3 root root    4096 Sep 22 01:13 pipewire
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 plymouth
    drwxr-xr-x   4 root root    4096 Sep 22 01:06 polkit-1
    drwxr-xr-x   8 root root    4096 Sep 22 01:07 ppp
    -rw-r--r--   1 root root     801 Sep 22 01:07 profile
    drwxr-xr-x   2 root root    4096 Sep 22 01:09 profile.d
    -rw-r--r--   1 root root    2932 Apr  1  2013 protocols
    drwxr-xr-x   3 root root    4096 Sep 22 01:13 pulse
    -rw-------   1 root root       0 Sep 22 01:02 .pwd.lock
    drwxr-xr-x   2 root root    4096 Sep 22 01:15 python2.7
    drwxr-xr-x   2 root root    4096 Sep 22 01:05 python3
    drwxr-xr-x   2 root root    4096 Sep 22 01:05 python3.9
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 rc0.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 rc1.d
    drwxr-xr-x   2 root root    4096 Sep 22 02:01 rc2.d
    drwxr-xr-x   2 root root    4096 Sep 22 02:02 rc3.d
    drwxr-xr-x   2 root root    4096 Sep 22 02:01 rc4.d
    drwxr-xr-x   2 root root    4096 Sep 22 02:01 rc5.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 rc6.d
    -rwxr-xr-x   1 root root     420 Sep 22 01:07 rc.local
    drwxr-xr-x   2 root root    4096 Sep 22 01:22 rcS.d
    -rw-r--r--   1 root root    1889 Feb 10  2020 request-key.conf
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 request-key.d
    -rw-r--r--   1 root root      49 Sep 22 02:02 resolv.conf
    -rw-r--r--   1 root root      19 Sep 22 02:02 resolv.conf.bak
    -rw-r--r--   1 root root     500 Jan  2  2021 resolvconf.conf
    lrwxrwxrwx   1 root root      13 Feb 17  2021 rmt -> /usr/sbin/rmt
    -rw-r--r--   1 root root     887 Apr  1  2013 rpc
    -rw-r--r--   1 root root     145 Sep 22 02:01 rpi-issue
    -rw-r--r--   1 root root    1974 May 20 22:05 rsyslog.conf
    drwxr-xr-x   2 root root    4096 May 20 22:05 rsyslog.d
    -rw-r--r--   1 root root   12100 Aug 19  2015 RTIMULib.ini
    drwxr-xr-x   3 root root    4096 Sep 22 01:06 runit
    drwxr-xr-x   3 root root    4096 Sep 22 01:13 sane.d
    drwxr-xr-x   4 root root    4096 Sep 22 01:04 security
    drwxr-xr-x   2 root root    4096 Sep 22 01:02 selinux
    -rw-r--r--   1 root root   10593 Jan 30  2021 sensors3.conf
    drwxr-xr-x   2 root root    4096 Sep 22 01:09 sensors.d
    -rw-r--r--   1 root root   12813 Mar 27  2021 services
    drwxr-xr-x   2 root root    4096 Sep 22 01:14 sgml
    -rw-r-----   1 root shadow  1184 Nov  5 02:10 shadow
    -rw-r-----   1 root shadow  1155 Sep 22 02:01 shadow-
    -rw-r--r--   1 root root     188 Sep 22 01:06 shells
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 skel
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 snmp
    drwxr-xr-x   4 root root    4096 Jan  1  1970 ssh
    drwxr-xr-x   4 root root    4096 Sep 22 01:04 ssl
    -rw-r--r--   1 root root      16 Sep 22 01:05 subgid
    -rw-r--r--   1 root root      16 Sep 22 01:05 subuid
    -rw-r--r--   1 root root    3975 Feb 27  2021 sudo.conf
    -r--r-----   1 root root     669 Feb 27  2021 sudoers
    drwxr-xr-x   2 root root    4096 Sep 22 02:02 sudoers.d
    -rw-r--r--   1 root root    6169 Feb 27  2021 sudo_logsrvd.conf
    drwxr-xr-x   3 root root    4096 Sep 22 01:06 sv
    -rw-r--r--   1 root root    2355 Apr  6  2021 sysctl.conf
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 sysctl.d
    drwxr-xr-x   5 root root    4096 Sep 22 01:05 systemd
    drwxr-xr-x   2 root root    4096 Sep 22 01:02 terminfo
    -rw-r--r--   1 root root      14 Sep 22 01:07 timezone
    drwxr-xr-x   2 root root    4096 Sep 22 01:10 timidity
    drwxr-xr-x   2 root root    4096 Sep 13 02:58 tmpfiles.d
    drwxr-xr-x   3 root root    4096 Sep 22 01:04 triggerhappy
    -rw-r--r--   1 root root    1260 Jun 16  2020 ucf.conf
    drwxr-xr-x   4 root root    4096 Sep 22 01:03 udev
    drwxr-xr-x   2 root root    4096 Sep 22 01:07 udisks2
    drwxr-xr-x   3 root root    4096 Sep 22 01:06 ufw
    drwxr-xr-x   3 root root    4096 Sep 22 02:02 unbound
    drwxr-xr-x   2 root root    4096 Sep 22 01:02 update-motd.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:13 UPower
    -rw-r--r--   1 root root    1523 Jul 10  2020 usb_modeswitch.conf
    drwxr-xr-x   2 root root    4096 Feb 24  2020 usb_modeswitch.d
    -rw-r--r--   1 root root      51 Apr  9  2020 vdpau_wrapper.cfg
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 vim
    drwxr-xr-x   4 root root    4096 Nov  5 01:10 vnc
    drwxr-xr-x   5 root root    4096 Sep 22 01:08 vulkan
    -rw-r--r--   1 root root    4942 Nov 23  2021 wgetrc
    drwxr-xr-x   2 root root    4096 Sep 22 02:02 wpa_supplicant
    drwxr-xr-x  10 root root    4096 Sep 22 01:19 X11
    -rw-r--r--   1 root root     642 Dec 24  2020 xattr.conf
    drwxr-xr-x  12 root root    4096 Sep 22 01:14 xdg
    drwxr-xr-x   3 root root    4096 Sep 22 01:22 xml
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231

    /etc 目录包含各种系统配置文件。

    • 启动、或改变运行级时运行的脚本或脚本的目录
      在这里插入图片描述

    • 用户数据库,其中的域给出了用户名、真实姓名、用户起始目录、加密口令和用户的其他信息。
      在这里插入图片描述

    • 指定启动时需要自动安装的文件系统列表(可用于自动挂载)。
      在这里插入图片描述

    • 类似/etc/passwd ,但说明的不是用户信息而是组的信息。包括组的各种数据。
      在这里插入图片描述

    • init 的配置文件。
      在这里插入图片描述

    • host配置
      在这里插入图片描述

    2.7 /home

    • 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    • 它类似windows中的User文件夹的作用;只要我们创建了一个普通用户,这个目录下就会自动生产一个目录文件,通常目录文件名就是创建的用户名;

    关键词:

    • 用户目录
    2.7.1 树莓派 /home

    在这里插入图片描述
    当前存在一个pi用户目录。

    2.8 /lib

    • 系统开机所需要最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库(/bin/ 以及/sbin/中二进制文件必要的库文件)。/lib/modules/这个目录下放置内核相关的驱动程序。

    关键词:

    • 必要动态链接共享库
    2.8.1 树莓派 /lib

    在这里插入图片描述

    pi@raspberrypi:/lib $ ls -al
    total 6732
    drwxr-xr-x 106 root root    4096 Sep 22 01:22 .
    drwxr-xr-x  11 root root    4096 Sep 22 01:02 ..
    drwxr-xr-x   2 root root    4096 Sep 22 01:21 apparmor
    drwxr-xr-x   5 root root    4096 Sep 22 01:03 apt
    drwxr-xr-x   2 root root    4096 Sep 22 01:10 arandr
    drwxr-xr-x  90 root root   86016 Sep 22 01:22 arm-linux-gnueabihf
    drwxr-xr-x   3 root root    4096 Sep 22 01:06 arm-linux-musleabihf
    drwxr-xr-x   3 root root   12288 Sep 22 01:18 aspell
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 bfd-plugins
    drwxr-xr-x   2 root root    4096 Sep 13 02:58 binfmt.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 blt2.5
    drwxr-xr-x   7 root root    4096 Sep 22 01:09 chromium-browser
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 compat-ld
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 console-setup
    lrwxrwxrwx   1 root root      21 Sep 22 01:07 cpp -> /etc/alternatives/cpp
    drwxr-xr-x   3 root root    4096 Sep 22 01:05 crda
    drwxr-xr-x  10 root root    4096 Sep 22 01:12 cups
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 dbus-1.0
    drwxr-xr-x   5 root root    4096 Sep 22 01:19 debug
    drwxr-xr-x   3 root root    4096 Sep 22 01:07 dhcpcd
    drwxr-xr-x   3 root root    4096 Sep 22 01:06 diet
    drwxr-xr-x   3 root root    4096 Sep 22 01:03 dpkg
    drwxr-xr-x   3 root root    4096 Sep 22 01:08 emacsen-common
    drwxr-xr-x   2 root root    4096 Sep 22 01:02 environment.d
    drwxr-xr-x   6 root root    4096 Sep 22 01:18 erlang
    drwxr-xr-x   2 root root    4096 Sep 22 01:05 file
    drwxr-xr-x   3 root root    4096 Sep 22 01:07 firewalld
    drwxr-xr-x  41 root root    4096 Sep 22 01:07 firmware
    drwxr-xr-x   3 root root    4096 May 15  2020 gcc
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 girepository-1.0
    drwxr-xr-x   3 root root    4096 Sep 22 01:10 git-core
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 gnome-session
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 gnome-settings-daemon-3.0
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 gnupg
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 gnupg2
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 gold-ld
    drwxr-xr-x   4 root root    4096 Sep 22 01:03 groff
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 gui-pkinst
    drwxr-xr-x   2 root root    4096 Sep 22 01:08 gvfs
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 ifupdown
    drwxr-xr-x   2 root root    4096 Sep 22 01:02 init
    drwxr-xr-x   2 root root    4096 Sep 22 01:08 ispell
    drwxr-xr-x   5 root root    4096 Sep 22 01:21 jvm
    drwxr-xr-x   3 root root    4096 Sep 22 01:02 kernel
    drwxr-xr-x   3 root root    4096 Sep 22 01:05 klibc
    -rwxr-xr-x   1 root root   75224 Jun 10  2021 klibc-krh8Sgsh8PW7Qbsa0KsFm65rfDw.so
    lrwxrwxrwx   1 root root      30 Aug 30 16:11 ld-linux-armhf.so.3 -> arm-linux-gnueabihf/ld-2.31.so
    lrwxrwxrwx   1 root root      24 Sep 22 01:05 ld-linux.so.3 -> /lib/ld-linux-armhf.so.3
    -rw-r--r--   1 root root 1151988 Dec 23  2020 libBLT.2.5.so.8.6
    -rw-r--r--   1 root root  263748 Dec 23  2020 libBLTlite.2.5.so.8.6
    lrwxrwxrwx   1 root root      20 Apr 26  2012 libcompface.so.1 -> libcompface.so.1.0.0
    -rw-r--r--   1 root root   20344 Apr 26  2012 libcompface.so.1.0.0
    lrwxrwxrwx   1 root root      27 Sep 19  2016 libhardsid-builder.so.0 -> libhardsid-builder.so.0.0.1
    -rw-r--r--   1 root root   12568 Sep 19  2016 libhardsid-builder.so.0.0.1
    lrwxrwxrwx   1 root root      16 Nov 11  2016 libident.so.0 -> libident.so.0.22
    -rw-r--r--   1 root root    7976 Nov 11  2016 libident.so.0.22
    lrwxrwxrwx   1 root root      19 Mar 30  2021 libpigpiod_if2.so -> libpigpiod_if2.so.1
    -rw-r--r--   1 root root   78576 Mar 30  2021 libpigpiod_if2.so.1
    lrwxrwxrwx   1 root root      18 Mar 30  2021 libpigpiod_if.so -> libpigpiod_if.so.1
    -rw-r--r--   1 root root   62192 Mar 30  2021 libpigpiod_if.so.1
    lrwxrwxrwx   1 root root      14 Mar 30  2021 libpigpio.so -> libpigpio.so.1
    -rw-r--r--   1 root root  259928 Mar 30  2021 libpigpio.so.1
    lrwxrwxrwx   1 root root      24 Mar 31  2021 libpigpioultrasonic.so -> libpigpioultrasonic.so.2
    -rw-r--r--   1 root root    5440 Mar 31  2021 libpigpioultrasonic.so.2
    lrwxrwxrwx   1 root root      21 May  2  2021 libpypy-c.so -> pypy/bin/libpypy-c.so
    lrwxrwxrwx   1 root root      28 Feb  5  2021 libqscintilla2_qt5.so.15 -> libqscintilla2_qt5.so.15.0.0
    lrwxrwxrwx   1 root root      28 Feb  5  2021 libqscintilla2_qt5.so.15.0 -> libqscintilla2_qt5.so.15.0.0
    -rw-r--r--   1 root root 3266236 Feb  5  2021 libqscintilla2_qt5.so.15.0.0
    drwxr-xr-x   5 root root    4096 Sep 22 01:21 libreoffice
    lrwxrwxrwx   1 root root      25 Sep 19  2016 libresid-builder.so.0 -> libresid-builder.so.0.0.1
    -rw-r--r--   1 root root  170832 Sep 19  2016 libresid-builder.so.0.0.1
    lrwxrwxrwx   1 root root      16 Apr 19  2021 libRTIMULib.so -> libRTIMULib.so.7
    lrwxrwxrwx   1 root root      20 Apr 19  2021 libRTIMULib.so.7 -> libRTIMULib.so.7.2.1
    -rw-r--r--   1 root root  155140 Apr 19  2021 libRTIMULib.so.7.2.1
    lrwxrwxrwx   1 root root      19 Dec 23  2020 libscsynth.so.1 -> libscsynth.so.1.0.0
    -rw-r--r--   1 root root  521668 Dec 23  2020 libscsynth.so.1.0.0
    lrwxrwxrwx   1 root root      20 Sep 19  2016 libsidplay2.so.1 -> libsidplay2.so.1.0.1
    -rw-r--r--   1 root root  204980 Sep 19  2016 libsidplay2.so.1.0.1
    lrwxrwxrwx   1 root root      20 May 24  2012 libsigc-1.2.so.5 -> libsigc-1.2.so.5.0.7
    -rw-r--r--   1 root root   23724 May 24  2012 libsigc-1.2.so.5.0.7
    -rw-r--r--   1 root root   16500 Aug 29  2016 libsupp.a
    drwxr-xr-x   3 root root    4096 Sep 22 01:04 locale
    drwxr-xr-x   2 root root    4096 Sep 22 01:22 lp_solve
    drwxr-xr-x   3 root root    4096 Sep 22 01:02 lsb
    drwxr-xr-x   2 root root    4096 Sep 22 01:09 lxinput
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 lxplugins
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 man-db
    drwxr-xr-x   2 root root    4096 Sep 22 01:08 menu-cache
    drwxr-xr-x   3 root root    4096 Sep 22 01:05 mime
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 modprobe.d
    drwxr-xr-x   6 root root    4096 Sep 22 01:04 modules
    drwxr-xr-x   2 root root    4096 Sep 13 02:58 modules-load.d
    drwxr-xr-x   6 root root    4096 Sep 22 01:07 NetworkManager
    drwxr-xr-x   3 root root    4096 Sep 22 01:21 nodejs
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 openssh
    -rw-r--r--   1 root root     309 Sep 12 01:26 os-release
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 p7zip
    drwxr-xr-x   2 root root    4096 Sep 22 01:02 pam.d
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 piclone
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 pipanel
    drwxr-xr-x   2 root root    4096 Apr 21  2020 pkgconfig
    -rw-r--r--   1 root root      20 Apr 21  2020 pkg-config.multiarch
    drwxr-xr-x   3 root root    4096 Sep 22 01:07 pm-utils
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 policykit-1
    drwxr-xr-x   3 root root    4096 Sep 22 01:07 pppd
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 printer-driver-escpr
    drwxr-xr-x   3 root root    4096 Sep 22 01:11 pulse-14.2
    drwxr-xr-x   8 root root    4096 Sep 22 01:12 pypy
    drwxr-xr-x  26 root root   20480 Sep 22 01:20 python2.7
    drwxr-xr-x   3 root root    4096 Sep 22 01:05 python3
    drwxr-xr-x  34 root root   12288 Sep 22 01:12 python3.9
    drwxr-xr-x   2 root root    4096 Sep 22 01:10 qpdfview
    drwxr-xr-x   2 root root    4096 Sep 22 01:07 raspberrypi-net-mods
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 raspberrypi-sys-mods
    drwxr-xr-x   2 root root    4096 Sep 22 01:05 raspi-config
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 rc-gui
    drwxr-xr-x   3 root root    4096 Sep 22 01:07 resolvconf
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 rp-prefapps
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 rsyslog
    drwxr-xr-x   5 root root    4096 Sep 22 01:18 ruby
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 runit-helper
    drwxr-xr-x   2 root root    4096 Feb 25  2022 sasl2
    drwxr-xr-x   5 root root    4096 Sep 22 01:19 scratch3
    lrwxrwxrwx   1 root root      19 Jul  1 23:37 sftp-server -> openssh/sftp-server
    drwxr-xr-x   3 root root    4096 Sep 22 01:19 sonic-pi
    drwxr-xr-x   4 root root    4096 Sep 22 01:19 squeak
    drwxr-xr-x   3 root root    4096 Sep 22 01:04 ssl
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 sudo
    drwxr-xr-x   3 root root    4096 Sep 22 01:19 SuperCollider
    drwxr-xr-x   2 root root    4096 Sep 22 01:08 sysctl.d
    drwxr-xr-x  16 root root    4096 Sep 22 01:06 systemd
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 sysusers.d
    drwxr-xr-x   4 root root    4096 Sep 22 01:03 tasksel
    drwxr-xr-x   2 root root    4096 Sep 22 01:03 tc
    drwxr-xr-x   3 root root    4096 Sep 22 01:12 tcltk
    drwxr-xr-x  16 root root    4096 Jan  1  2021 terminfo
    drwxr-xr-x   2 root root    4096 Sep 22 01:09 thunar-archive-plugin
    drwxr-xr-x   2 root root    4096 Sep 22 01:12 tmpfiles.d
    drwxr-xr-x   4 root root    4096 Sep 22 01:14 udev
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 udisks2
    drwxr-xr-x   2 root root    4096 Sep 22 01:06 userconf-pi
    drwxr-xr-x   2 root root    4096 Sep 22 01:15 valgrind
    drwxr-xr-x   2 root root    4096 Sep 22 01:11 vnc
    drwxr-xr-x   2 root root    4096 Feb 15  2021 X11
    drwxr-xr-x   3 root root    4096 Sep 22 01:09 xorg
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148

    包括了各种软件的动态链接库。比如 vnc、x11、dpkg、python、systemd等等常用的。

    2.9 /media

    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

    关键词:

    • 外接设备
    2.9.1 树莓派 /media

    在这里插入图片描述
    挂载一个U盘看看:
    在这里插入图片描述

    2.10 /mnt

    与/media功能相同,只是有了/media之后,这个目录用来暂时挂载某个设备使用。

    系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容。

    关键词:

    • 挂载外部设备
    2.10.1 树莓派 /mnt

    在这里插入图片描述

    2.11 /var

    这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

    /var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。原来/var目录中有些内容是在/usr中的,但为了保持/usr目录的相对稳定,就把那些需要经常改变的目录放到/var中了。每个系统是特定的,即不通过网络与其他计算机共享。

    2.11.1 树莓派 /var

    在这里插入图片描述

    • /var/lib
      存放系统正常运行时要改变的文件。
    • /var/local
      存放/usr/local 中安装的程序的可变数据(即系统管理员安装的程序)。
    • /var/log
      各种程序的日志( log )文件,尤其是login (/var/log/wtmp log纪录所有到系统的登录和注销) 和syslog (/var/log/messages 纪录存储所有核心和系统程序信息)。/var/log里的文件经常不确定地增长,应该定期清除。
    • /var/run
      保存在下一次系统引导前有效的关于系统的信息文件。例如, /var/run/utmp 包含当前登录的用户的信息。
    • /var/tmp
      比/tmp 允许更大的或需要存在较长时间的临时文件。注意系统管理员可能不允许/var/tmp 有很旧的文件。

    2.12 /usr

    这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

    /usr 是个很重要的目录,通常这一文件系统很大,因为所有程序安装在这里。/usr 里的
    所有文件一般来自linux发行版( distribution);本地安装的程序和其他东西在/usr/local 下,因为这样可以在升级新版系统或新发行版时无须重新安装全部程序。/usr目录下的许多内容是可选的,但这些功能会使用户使用系统更加有效。/ usr可容纳许多大型的软件包和它们的配置文件。下面列出一些重要的目录(一些不太重要的目录被省略了)。

    2.12.1 树莓派 /usr

    在这里插入图片描述

    • /usr/bin
      集中了几乎所有用户命令,是系统的软件库。另有些命令在/bin 或/usr/local/bin 中

    • /usr/sbin
      包括了根文件系统必要的系统管理命令,例如多数服务程序。

    • /usr/include
      包含了c语言的头文件,这些文件多以. h结尾,用来描述c语言程序中用到的数据结构、子过程和常量。为了保持一致性,这实际上应该放在/usr/lib 下,但习惯上一直沿用了这个名字。
      在这里插入图片描述

    • /usr/lib
      包含了程序或子系统的不变的数据文件,包括一些site - wide配置文件。名字l i b来源于库(library); 编程的原始库也存在/usr/lib 里。当编译程序时,程序便会和其中的库进行连接。也有许多程序把配置文件存入其中。参考 2.8

    • /usr/local
      本地安装的软件和其他文件放在这里。
      在这里插入图片描述

    2.13 /tmp

    用于存放各种临时文件,是公用的临时文件存储点。

    我们可以下载文件到这里

    2.13.1 树莓派 /tmp

    在这里插入图片描述

    2.14 /sys

    Sysfs文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。其实,就是在用户态可以通过对sys文件系统的访问,来看内核态的一些驱动或者设备等。

    2.14.1 树莓派 /sys

    在这里插入图片描述

    2.15 /proc

    正在运行的内核信息映射。

    • /proc下文件基本都是只读的,除了/proc/sys目录,它是可写的(查看和修改内核的运行参数)。

    • /proc下数字命令的目录就是对于PID的进程目录

    /proc/cmdline 			启动时传递给kernel的参数信息(就是bootargs信息)
    /proc/cpuinfo 			cpu的信息
    /proc/crypto 			内核使用的所有已安装的加密密码及细节
    /proc/devices 			已经加载的设备并分类
    /proc/dma 				已注册使用的ISA DMA频道列表
    /proc/execdomains 		Linux	内核当前支持的execution domains
    /proc/fb 				帧缓冲设备列表,包括数量和控制它的驱动
    /proc/filesystems 		内核当前支持的文件系统类型
    /proc/interrupts 		x86架构中的每个IRQ中断数
    /proc/iomem 			每个物理设备当前在系统内存中的映射
    /proc/ioports 			一个设备的输入输出所使用的注册端口范围
    /proc/kcore	 			代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb
    /proc/kmsg 				记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理
    /proc/loadavg 			根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关
    /proc/locks 			内核锁住的文件列表
    /proc/mdstat 			多硬盘,RAID配置信息(md=multiple disks)
    /proc/meminfo 			RAM使用的相关信息
    /proc/misc 				其他的主要设备(设备号为10)上注册的驱动
    /proc/modules 			所有加载到内核的模块列表
    /proc/mounts 			系统中使用的所有挂载
    /proc/partitions 		分区中的块分配信息
    /proc/pci 				系统中的PCI设备列表
    /proc/slabinfo 			系统中所有活动的 slab 缓存信息
    /proc/stat 				所有的CPU活动信息
    /proc/uptime 			系统已经运行了多久
    /proc/swaps 			交换空间的使用情况
    /proc/version 			Linux内核版本和gcc版本
    /proc/bus 				系统总线(Bus)信息,例如pci/usb等
    /proc/driver 			驱动信息
    /proc/fs 				文件系统信息
    /proc/ide 				ide设备信息
    /proc/irq 				中断请求设备信息
    /proc/net 				网卡设备信息
    /proc/scsi 				scsi设备信息
    /proc/tty 				tty设备信息
    /proc/net/dev 			显示网络适配器及统计信息
    /proc/vmstat 			虚拟内存统计信息
    /proc/vmcore 			内核panic时的内存映像
    /proc/diskstats 		取得磁盘信息
    /proc/schedstat 		kernel调度器的统计信息
    /proc/zoneinfo 			显示内存空间的统计信息,对分析虚拟内存行为很有用
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    以下是/proc目录中进程N的信息

    /proc/N/cmdline 	进程启动命令
    /proc/N/cwd 		链接到进程当前工作目录
    /proc/N/environ 	进程环境变量列表
    /proc/N/exe 		链接到进程的执行命令文件
    /proc/N/fd 			包含进程相关的所有的文件描述符	(ls /proc/<PID>/fd | wc -l 查看某个进程打开多少FD)
    /proc/N/maps 		与进程相关的内存映射信息
    /proc/N/mem 		指代进程持有的内存,不可读
    /proc/N/root 		链接到进程的根目录
    /proc/N/stat 		进程的状态
    /proc/N/statm 		进程使用的内存的状态
    /proc/N/status		进程状态信息,比stat/statm更具可读性
    /proc/self 			链接到当前正在运行的进程
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    2.15.1 树莓派 /proc

    在这里插入图片描述
    当前正在跑的PID进程:
    在这里插入图片描述
    挑一个 PID 920看看:
    在这里插入图片描述

    3. 总结

    玩了一段时间树莓派之后,觉得还是需要回溯本源Linux系统的学习。

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步,深入了解Linux文件目录结构的标准和每个目录的详细功能,对于我们用好Linux系统非常重要。同时也来对比学习一下我们的debian树莓派系统。

  • 相关阅读:
    智能语音机器人系统和电话系统的区别是什么
    网络安全(黑客)自学
    mybatis在springboot当中的使用
    大数据测试入门介绍
    1131. 绝对值表达式的最大值
    专业英语词汇(计算机)
    信号量机制实现进程互斥,进程同步,进程的前驱关系
    接口测试学习笔记(基础知识、Jmeter、Postman)
    一次jenkins-kubernetes服务报错排查记录 (Request Header Fields Too Large)
    学习WCET(一)
  • 原文地址:https://blog.csdn.net/weixin_44614230/article/details/127661184