Linux系统目录结构与more、less基础命令

那天在实验室,我盯着屏幕上的Linux命令行,突然发现光标有点烦人地闪烁。
为了查看某个日志文件最后发生了什么,我在键盘上输入了 tail -f /var/log/syslog 。
信息开始在屏幕上一页一页地滚动,就像播放一部老式电影一样。
等等,这和昨天我用more查看配置文件的时候不一样了。
对于更多的,我必须按空格键翻页,但是对于更少的,我可以直接使用鼠标滚轮。
我快速打开终端,使用 head -n 3 拉出 /etc/passwd 的前几行,发现数字相当直观。
我想统计某个脚本文件的行数并使用 wc -l script.sh。
结果后面跟着1 2 5 script.sh、行数、字数、字节数。
这就是发生的事情。
最后,整个/home/user/docs被打包成tar -cvf backup.tar.gz docs。
解压的时候忘记用-C指定目录了。
结果,所有文件都被移动到当前目录。
我把它们删除并重新解压到/tmp。
这时我注意到已经是晚上1 1 点3 0分了,实验室的灯还亮着。

详解Linux系统中的usr目录

老实说,Linux中/usr目录的名称是UnixSystemResources。
说白了,它存储的是系统共享资源。
但现在这个目录和以前不一样了。

最早在 2 0 世纪 7 0 年代,/usr 是用户的主目录。
当时系统很小,只能装一个目录。
后来我发现并不起作用。
用户太多,主目录一片混乱。
2 0世纪8 0年代,我们开始创建/home目录并分离用户的主目录。

现在看看/usr,这个目录是Linux的核心所在。
想一想,系统中所有的共享文件都在这里了。
二进制可执行文件、库文件、各种头文件、文档都有。

目录结构也很有趣。
/usr/bin 包含所有可执行程序,例如 ls 和 cp。
/usr/include是头文件,编译程序时使用。
/usr/lib 包含库文件,程序运行时需要这些文件。
/usr/local主要是手动安装的软件,与系统自带的软件分开。
/usr/share是共享文件,比如字体、图标、文档等。
/usr/src是Linux内核源代码,对技术感兴趣的人应该阅读一下。

还有几个小目录。
/usr/X1 1 R6 是 X 系统文件。
使用 X Window 的人必须在这里安装它。
/usr/games 包含游戏,这很有趣。
/usr/sbin是管理命令,root可以使用,权限较高。

这个目录有一个特点,就是非常大。
为什么? 因为基本上所有的软件都是用这个安装的。
文件的来源也清晰区分。
系统自带的安装在/usr,我们自己安装的放在/usr/local。
这样做的好处是通过网络共享/usr目录非常方便。
管理员安装了一个新软件,共享该目录的所有计算机都可以使用它。
无需一一安装。

总之,/usr目录是Linux的核心,包含系统级共享资源。

linux的root目录

Linux根目录结构?这个话题其实很有趣。
上次被一个新运维的人问我,我给他解释了一下,他很困惑哈哈。

您提到的结构大部分是正确的。
让我告诉你要点:
/ 是绝对根目录,这是一切挂起的地方。
/boot 存储启动文件。
在开始之前,系统首先会查看这里的内核镜像。
/ 是主目录,但一定要区分清楚:
/home 是普通用户的主目录,例如您的/home/user。

/root 是 /home 中 root 用户的主目录,但通常直接从 /root 访问。

/etc是一组基本的配置文件,其中大部分是文本文件。
介绍如何启动系统。
/sys是一个伪文件系统,实时反映硬件的状态。
例如,如果你触摸存储卡,这里可能会发生变化。
/tmp 临时文件位于此处。
重新启动后它们就会消失。
通常,您不需要担心它们。
/mnt 是用于挂载 USB 驱动器和 ISO 映像的临时挂载点。
/media是自动挂载光驱、移动硬盘等移动设备的地方。
/run 是一个新事物。
它存储当前的运行时数据,并将在重新启动时清除,例如进程ID文件。
/var 更改文件、日志和电子邮件存储在此处。
如果没有足够的空间,那就很麻烦了。
/usr 是一个“辅助用户数据层”,为某些应用程序和命令提供支持。
例如,/usr/bin 比/bin 更重要。
/usr/local 是您手动安装的。
更新系统不会删除您已安装的所有内容。
/dev 是存储硬件文件的地方。
硬盘可以是sda,U盘可以是sdb,光驱可以是sr0。
/proc是一个超级伪文件系统,存储内核信息和进程状态。
改起来基本上没什么用,但是很有趣。

---
在 Linux 中当前用户(根)主目录中创建一个目录(新)?在其实很简单。
我会给你步骤:
1 首先检查您所在的位置,输入 pwd 并按 Enter。
例如,如果打印 /root,则表示您位于根主目录中。
2 .只需使用新的mkdir即可。
无需转到/home/root。
直接在root用户的主目录下工作是最方便的。
3 .您想确认一下吗?输入 ls -l,新目录就会出现。
4 .命令参数?你提到的一切都有效:
-p 最常用,例如 mkdir -p a/b/c 会自动创建 a/b/c 的完整路径。

-m 可以直接设置权限,例如 mkdir -m 7 5 5 new
-v 显示创建过程,适合脚本编写
---
Linux存放用户密码信息的目录?我应该说清楚,记笔记:
1 /etc/passwd 存储用户信息,但密码为空,例如: 根:x:0:0:根:/根:/bin/bash 这个x代表密码(以前用纯文本,现在不再这样了)
2 .真正的密码在/etc/shadow中,但是这个文件是加密的并且权限受到严格控制: 根:$1 $xxxx$xxxx:1 9 7 3 1 :0:9 9 9 9 9 :7 ::: 这个$1 是加密算法,使用grep root /etc/shadow可以看到。

3 更改密码?您应该使用 passwd 命令,例如 passwd user。

---
如何查看Linux root账户密码?这里有一个误解。
许多人想查看 root 密码。
事实上Linux中没有这样的东西。
可以直接使用 su 更改 root 密码(如果允许)。

但是可以使用 getent Shadow root 查看加密后的密码:
$ getent Shadow root 根:$1 $xxxx$xxxx:1 9 7 3 1 :0:9 9 9 9 9 :7 :::
---
root密码是什么?这个问题其实有点危险,那么我就直入重点:
1 . root是系统管理员,拥有比Windows管理员更高的权力,可以做任何事情。
2 . 默认情况下,不建议以root身份登录,错误的命令可能会导致整个系统崩溃。
3 . 服务器上的root帐户通常被锁定。
要临时提升权限,您可以使用常规 sudo su 帐户。
4 . 如果root密码泄露,整个系统会丢失,所以一定要安全
---
最后绕个话题:你知道为什么Linux用户的UID分为5 00以上为普通用户,0为root用户吗?
这实际上适用于早期的 Unix 系统。
例如,UID 1 -4 9 9 被系统保留。
Debian 后来扩大了范围。
但原理是一样的——权限完全由UID控制,改变UID就会改变用户类型。

你明白吗?不管怎样,你都能理解。
如果你想深入的话,可以继续问。