首页 > 系统相关 >Linux目录结构

Linux目录结构

时间:2023-12-24 10:32:02浏览次数:45  
标签:文件 dev usr Linux root 目录 localhost 结构

视频地址:  https://space.bilibili.com/204411292

目录简介

Linux中一切皆文件,这些文件按照一定的规则存放在不同的目录当中。为了能够快速找到文件及以后的操作的规范性,我们必须记清楚Linux的目录结构。

Windows以多根的方式组织文件,如C:\ D:\ E:\,而Linux以单跟/的方式组织文件。

Linux目录结构_云计算

目录规范

命令相关目录

/bin: 普通用户使用的命令。例如:/bin/ls; /bin/date

/sbin: 超级管理员使用的命令。例如/sbin/service;/sbin/useradd

普通用户无法使用useradd的命令

[snoopy@localhost ~]$ useradd jack
-bash: /usr/sbin/useradd: Permission denied

用户家目录

用户家目录是用户在登录系统后默认进入的目录,用户可以在这个目录下存储个人文件和目录。就像Windows一样,不同的用户登陆系统显示的桌面环境是不一样的。

/home: 存放普通用户的家目录。

/root: 超级管理员root的家目录,普通用户无操作权限。

系统文件目录

/usr: 相当于C:\Windows

/usr/local: 通常用于存放用户自行编译安装的软件,相当于C:\Program File

/usr/bin: 普通用户使用的应用程序(重要)。

/usr/sbin: 超级管理员使用的应用程序(重要)。

/usr/lib: 库文件Glibc 32bit。若删除可能导致命令不可用。可通ldd命令查看命令依赖的库文件,如ldd /usr/bin/ls.

/usr/lib64: 库文件Glibc 64bit。若删除可能导致命令不可用。

启动目录

/boot: 存放的系统启动相关的文件,例如kernelgrub(引导装载程序)等。

[root@localhost ~]# ll /boot | grep vm
-rwxr-xr-x. 1 root root  6639904 Jul 24 23:38 vmlinuz-0-rescue-cc09b6cf7038418bae14d61df6427b48
-rwxr-xr-x. 1 root root  6639904 Nov  9  2018 vmlinuz-3.10.0-957.el7.x86_64

下图说明/boot目录下有关于开机引导相关的文件。

Linux目录结构_Linux_02

配置文件目录

/etc: 配置文件目录。极其重要,后续所有服务的配置文件都在这个目录中。

/etc/sysconfig/network-scripts/ifcfg-: 网络配置文件。

/etc/hostname: 主机名。

/etc/resolv.conf: 更改DNS,优先级小于网络配置文件中的DNS。具体格式如下:

[root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 10.0.0.254
nameserver 114.114.114.114

/etc/hosts: 本地域名解析文件,相当于Windows中的C:\Windows\System32\drivers\etc\hosts文件。

[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.201	www.node.com

测试解析结果

[root@localhost ~]# ping www.node.com
PING www.node.com (10.0.0.201) 56(84) bytes of data.
64 bytes from www.node.com (10.0.0.201): icmp_seq=1 ttl=64 time=0.046 ms
64 bytes from www.node.com (10.0.0.201): icmp_seq=2 ttl=64 time=0.050 ms

可变项目与临时目录

/var: 非常重要的目录,用于存储经常变动的文件,例如日志文件、临时文件等。例如日志文件通常会存储到/var/log/目录下。 查看登陆到服务器的用户:

[root@localhost log]# cat /var/log/secure
# 从192.168.199.1接受了一个root的密码。端口为12892
Nov  7 04:12:51 localhost sshd[10695]: Accepted password for root from 192.168.199.1 port 12892 ssh2
# 为root用户打开了一个会话。
Nov  7 04:12:51 localhost sshd[10695]: pam_unix(sshd:session): session opened for user root by (uid=0)

/tmp: 存储临时文件。这些文件通常是应用程序在运行期间创建的临时文件或缓存文件,用于加速某些操作或处理。

/run: 一个临时目录,用于存放应用程序在运行期间需要的一些短暂存在的文件,比如socketpid文件。

[root@localhost ~]# cat /run/sshd.pid

设备目录文件

/dev: 存放设备文件。比如硬盘、分区、光驱、会话终端等。

/dev/sd: 硬盘分区及硬盘分区。例如sda sdb sdc等。

[root@localhost log]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Jul 26 14:06 /dev/sda
brw-rw----. 1 root disk 8, 1 Jul 26 14:06 /dev/sda1
brw-rw----. 1 root disk 8, 2 Jul 26 14:06 /dev/sda2
brw-rw----. 1 root disk 8, 3 Jul 26 14:06 /dev/sda3

/dev/null: 黑洞设备,只进不出。

/dev/zero: 源源不断的产生数据。

[root@localhost ~]# dd if=/dev/zero of=/opt/test.txt bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 19.7035 s, 54.5 MB/s
[root@localhost ~]# ll -h /opt/test.txt 
-rw-r--r--. 1 root root 1.0G Jul 26 15:30 /opt/test.txt

/dev/random: 生产随机数的设备。

[root@localhost ~]# echo $RANDOM
29939
[root@localhost ~]# echo $RANDOM
26472
[root@localhost ~]# echo $RANDOM
22698

虚拟的文件系统

/proc: 反应当前系统正在运行的进程实时状态。 例:

查看ping相关的服务进程。

[root@localhost ~]# ps -ef | grep ping
root      10748  10607  0 04:15 pts/0    00:00:00 ping baidu.com

/proc中可以查看到这个进程号所对应的文件。

[root@localhost ~]# ll /proc/10748
total 0
dr-xr-xr-x. 2 root root 0 Nov  7 04:16 attr
-rw-r--r--. 1 root root 0 Nov  7 04:16 autogroup
-r--------. 1 root root 0 Nov  7 04:16 auxv
-r--r--r--. 1 root root 0 Nov  7 04:16 cgroup
--w-------. 1 root root 0 Nov  7 04:16 clear_refs
...

停止ping后,查看这个进程号所对应的文件。

[root@localhost ~]# ll /proc/10748
ls: cannot access /proc/10748: No such file or directory

软连接形式目录

CentOS7/bin,/sbin,/lib,/lib64都是以软链接的形式连接到/usr目录下。

[root@localhost ~]# ll / | grep lr
lrwxrwxrwx.   1 root root    7 Jul 24 23:31 bin -> usr/bin
lrwxrwxrwx.   1 root root    7 Jul 24 23:31 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Jul 24 23:31 lib64 -> usr/lib64
lrwxrwxrwx.   1 root root    8 Jul 24 23:31 sbin -> usr/sbin

其他目录

/media: 提供设备的挂载点。

/mnt: 提供设备的挂载点。

挂载光盘到/mnt目录。

[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only

/opt: 一个可选的软件安装目录,可以用于存放第三方软件。这个目录是用户级的程序目录,可以理解为D:/Software

标签:文件,dev,usr,Linux,root,目录,localhost,结构
From: https://blog.51cto.com/u_11441974/8954306

相关文章

  • linux 中 grep命令正则表达式匹配电话号码
     001、测试数据[root@pc1test]#lsa.txt[root@pc1test]#cata.txt010203040506070809101112131415137831204331617181920212223242524332233443262728293031323334353637383940[root@pc1test]#grep-E"1[3456789][0-9]......
  • NOI Linux Sublime Text 使用指南
    感觉noilinux的vscode还是太鸡肋,所以用了用subline,莫名好用下面是食用指难。首先打开,不好看,我们可以点击这里更改相应主题然后我们要点file打开文件夹打开/关闭侧边栏的快捷键是Ctrl+K+B(K和B同时按)然后sublime不能输入,直接用文件输入输出。所以这样的分屏比较优......
  • 深度探索Linux操作系统 —— Linux图形原理探讨
    文章目录系列文章目录前言一、渲染和显示1、渲染2、显示二、显存1、动态显存技术2、BufferObject三、2D渲染1、创建前缓冲2、GPU渲染3、CPU渲染(1)映射BO到用户空间(2)使用CPU在映射到用户空间的BO上进行绘制四、3D渲染1、创建帧缓冲2、渲染Pipleline3、交换前缓冲和后缓冲(1)谁......
  • 深度探索Linux操作系统 —— 构建根文件系统
    文章目录系列文章目录前言一、初始根文件系统(1)安装GCC库(2)建立相关目录(3)构建程序/sbin/init二、以读写模式重新挂载文件系统三、配置内核支持网络四、启动udev五、安装网络配置工具并配置网络六、安装并配置ssh服务七、安装procps八、安装X窗口系统1、安装M4宏定义2、安装X协议......
  • Linux三剑客——awk
    awk命令可以用来的处理数据流,它的作用非常强大,甚至和编程语言一样,甚至实现了条件语句,关联数组等功能。脚本结构与执行流程一个典型的awk脚本结构是这样的。awk'BEGIN{print"start"}pattern{commands}END{print"end"}'file这个脚本由三部分组成:pattern:匹配......
  • C++简单实现list链表数据结构(一)
    链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。链表的组成:链表由一系列结点组成结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域C++STL中的链表是一个双向循环链表由于链表的存储方式并不是连续的内存空......
  • Ubuntu 上使能 SELinux
    此文档说明如何在ubuntu上启用SELinux,测试环境为虚拟机,开始前一定一定一定先来个快照,不要问我为什么有三个一定。卸载apparmor(可选)ubuntu默认安装的安全组件为apparmor,网上文档说最好卸载掉apparmor,可能冲突之类的问题,说法可能有点有误啊,apparmor和selinux不兼容,当启用s......
  • Linux下解压命令大全
    .tar解包:tarxvfFileName.tar打包:tarcvfFileName.tarDirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzipFileName.gz解压2:gzip-dFileName.gz压缩:gzipFileName.tar.gz和.tgz解压:tarzxvfFileName.tar.gz压缩:tarzcvfFileName.tar.gz......
  • Linux Zookeeper在Docker 安装与简单通信
    一、在本地计算机上安装Docker1.安装Docker(安装最新的Docker版本)yuminstalldocker-cedocker-ce-clicontainerd.iodocker-bulidx-plugindocker-compose-plugin2.查看Docker版本并启动Dockerdockerversion安装成功的Docker版本为24.0.6systemctlstartdockerDock......
  • 使用Avalonia跨Linux平台
    https://blog.csdn.net/u012563853/article/details/128020416 Avalonia,读:阿瓦隆尼亚这里的跨平台指的是,使用c#语言开发跨Linux平台。c#在Windows桌面开发中很强,但是在Linux桌面中,不能跨平台,Qt可以在Linux中跨平台,但是那是另外一门语言了。Avalonia类似使用WPF的技术方法来开......