我已经使用 Linux 几年了,但我仍然没有弄清楚某些目录名称在 Unix 和类 Unix 系统上的起源或含义是什么。例如代表什么etc或var?哪里的opt名字从何而来?
无论如何,我们都在讨论这个话题。有人可以清楚地解释哪个目录最适合用于什么。我有时会困惑某些软件的安装位置或最合适的软件安装目录。
背景:物理服务器,大约两年,7200-RPM SATA 驱动器连接到 3Ware RAID 卡,ext3 FS 挂载 noatime 和 data=ordered,不在疯狂负载下,内核 2.6.18-92.1.22.el5,正常运行时间 545 天. 目录不包含任何子目录,只有数百万个小(~100 字节)文件,还有一些更大的(几 KB)文件。
我们有一台服务器在过去几个月中出现了一些问题,但我们直到前几天才注意到它,因为它开始无法写入目录,因为它包含太多文件。具体来说,它开始在 /var/log/messages 中抛出这个错误:
ext3_dx_add_entry: Directory index full!
Run Code Online (Sandbox Code Playgroud)
有问题的磁盘有大量剩余的 inode:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 60719104 3465660 57253444 6% /
Run Code Online (Sandbox Code Playgroud)
所以我猜这意味着我们达到了目录文件本身可以有多少条目的限制。不知道会有多少文件,但正如您所见,不能超过三百万左右。不是那么好,请注意!但这是我的问题之一:上限到底是多少?是可调的吗?在我被骂之前——我想把它调低;这个庞大的目录导致了各种各样的问题。
无论如何,我们在生成所有这些文件的代码中找到了问题,我们已经更正了它。现在我坚持删除目录。
这里有几个选项:
rm -rf (dir)
我先试过这个。在它运行了一天半没有任何明显影响后,我放弃并杀死了它。
while [ true ]; do ls -Uf | head -n 10000 | xargs rm -f 2>/dev/null; …我有 Eclipse 项目和“.project”文件,目录结构看起来像' myProject/.project'。我想将这些“.project”文件复制到另一个目录,但我希望保留封闭目录名。
假设我有 ' a/myProject/.project',我想将 ' myProject/.project'复制到 ' b',所以它是 ' b/myProject/.project',但 ' b/myProject' 不存在。当我尝试:
cp -r ./myProject/.project ../b
Run Code Online (Sandbox Code Playgroud)
它只复制“.project”文件本身,不复制“myProject”目录。请指教。
如果在我们的日志文件中发现了一条新的错误消息并想知道这个.well_known-folder 代表什么。
哪个应用程序客户端需要访问这样的文件夹,哪个应用程序会在其中创建文件?
以下是我的域之一的 PHP 错误日志的一些条目。(我删除了日期、IP 和目标域)。
0000/00/00 00:00:00 [error] 851#0: *88611 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/apple-app-site-association HTTP/1.1", host: "exampleA.com"
0000/00/00 00:00:00 [error] 850#0: *89749 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/assetlinks.json HTTP/1.1", host: "exampleA.com"
0000/00/00 00:00:00 [error] 850#0: *89767 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/assetlinks.json HTTP/1.1", host: "exampleB.com"
0000/00/00 00:00:00 [error] 853#0: *90120 access forbidden by …Run Code Online (Sandbox Code Playgroud) 是否可以logrotate考虑目录及其所有子目录中的日志文件?(即没有明确列出子目录。)
使用 rsync 备份时,如何保留完整的目录结构?
比如远程服务器是saturn,我想把saturn的/home/udi/files/pictures备份到本地一个名为backup 的目录下。
我想要(本地)backup/home/udi/files/pictures而不是backup/pictures。
根据Linux 目录结构指南,/usr/适用于应用程序文件,/var/适用于更改的文件(我认为这意味着“属于应用程序的文件”)。这样对吗?
如果是这种情况,那么我在使用两者之间有点纠结。网站是一个应用程序(如果它是动态的,可以这么说),但在其他情况下,它只是 Apache 使用的文件集合。
默认的 www 目录位于/var/www/,所以我们应该通过使用/var/websites/(或类似的东西)来效仿,还是/usr/websites/因为它们可能是应用程序而选择?
这是一个非常微不足道的问题,但它仍然困扰着我。对于我们的案例,我倾向于/usr/web或类似的东西,因为我们的网站都是应用程序。
这是针对我们公司的网站;它不是共享托管服务器,因此我们无需担心将它们分开/home/或类似的事情。
有什么方法可以将远程 CIFS/SMB/SAMBA 共享挂载为文件夹/目录而不是驱动器号。例如,我想要这张地图:
\\Server\ShareName -> C:\Folder\ShareName
而不是像这样的通常地图:
\\服务器\共享名称 -> Z:\
服务器是 Linux/Samba,客户端是 Windows 7 Professional 64 位。我发现的最接近的是能够使用 Windows 磁盘管理器将本地卷安装为子文件夹,但它似乎无法处理远程 CIFS 共享(请参阅http://support.microsoft.com/kb/307889) .
我正在备份 Linux 服务器并将其存储在另一台服务器上。
我从一个简单的开始
rsync -aPh --del server.example.com:/ /mnt/backup
Run Code Online (Sandbox Code Playgroud)
然后有人指出我不应该备份/proc,因为您不想/proc在另一台服务器上恢复一台服务器的 。
还有什么我应该/不应该包括的吗?
例如,怎么样/sys?