我如何判断一个文件夹是否实际上是一个符号链接,如果它坏了我该如何修复它?

Sam*_*mir 30 linux shell symlink

如何判断我是否有符号链接、某种快捷方式或 Linux 中的文件夹?请看下面的截图。

linux shell中的符号链接

如您所见,该ls命令列出了一些对象为深蓝色,而另一些对象为浅蓝色(青色)。这些青色物体是什么?这些是实际的符号链接吗?

如您所见,我无法cd使用名为 hdd 的硬盘。

root@dm500hd:/# cd hdd
-sh: cd: can't cd to hdd
Run Code Online (Sandbox Code Playgroud)

我认为它必须重定向到/media/hdd,我注意到 hdd 文件夹丢失了。

有没有办法来解决这个问题?

更新:这是ls -al命令的结果。

linux shell 2中的符号链接

正如你所看到的hdd -> /media/hdd,它是红色的。这是否意味着它已损坏或已自动安装,即连接物理硬盘时?

更新:这是grep media /etc/auto*命令的结果。

linux shell 3 中的符号链接

这些/etc/auto.master:/media/net/etc/auto.network条目有什么作用?

这是ls -Fal /media命令的结果。

linux shell 4 中的符号链接

这个有用吗?...

以下是statfile命令的结果,以及 /usr 和 /bin 的列表。

linux shell 5 中的符号链接

这对我有任何帮助吗?...它对你有帮助吗?...

另一方面,您应该知道这是一个带有 BusyBox 的基于 Linux 的机顶盒,它是一个嵌入式系统。因此,并非所有命令都受支持。

更新:最后一个屏幕截图,显示了 /sbin 和 /usr/sbin 中的文件和支持的命令。

linux shell 6 中的符号链接

更新:添加了新共享...

我现在已经删除了那个旧共享并重新创建了一个与以前同名的共享,现在还添加了第二个共享。所以现在我有两个。

SHARES
remote share   local share
mydream        dream1
mydream2       dream2

LOCATIONS
remote        local
C:\mydream    /media/net/dream1
C:\mydream2   /media/net/dream2
Run Code Online (Sandbox Code Playgroud)

录音放在/media/net/dream1/movie 中。

此外,对于共享 Dream2,我选择不将其安装为挂载管理器中的 HDD 替代品,因为我怀疑不可能有多个充当 HDD。它会记录在哪里?去两个地方?数据速率翻倍?...我认为这是不可能的。

因此,出于这个原因,dream2 共享没有名为电影的子文件夹。只有在创建时指定为 HDD 替换的那些才能获得电影子文件夹。

如果我cd从 root 转到 hdd,它会转到/media/net/dream1. 如果我cd..(父母),它会回到root (/).

ls -al给出hdd -> media/hdd. ls -al hddhdd -> media/hdd. ls -al media/media/net/dream1.

另外,如果我cd/media另外还有一个hdd符号链接。我以前没有注意到。我认为这是在安装共享时自动创建的。如果我cd转到这个硬盘,它会转到/media/net/dream1.

一个符号链接hdd(/hdd) 指向另一个hdd符号链接 (/media/hdd),后者又指向共享文件夹 (/media/net/dream1)?..... 我头晕了...

在版本 3.2.3 或至少 3.2.0 的 Enigma2 映像之前,它不是这样的。

编辑:通过将第二个共享设置为 HDD 更换,它成为用于录制的活动共享。同时,先前设置为替代 HDD 的共享不再处于活动状态,即使它仍设置为“是”(作为 HDD 替代)。

如果先将dream1用作HDD替换(“是”作为替换),然后将dream2设置为替换HDD,则它成为记录的新共享。我仍然可以查看和查看存储在 Dream1 中的视频文件,但无法再录制到其中。如果我想回去使用dream1 进行录制,我首先必须将dream2 设置为“no”(停止充当HDD 更换),然后将dream1 设置为“yes”。

所以不,它不能同时记录到两个共享。其中一个必须去。所以它要么是dream1,要么是dream2,而不是两者。虽然我应该提到,如果它们都在同一个转发器上,则可以录制多个服务(电视频道),否则您会收到“没有免费调谐器”的消息。这是只有一个调谐器的机顶盒。

fil*_*enf 31

您可以使用 file、stat 或 ls。

文件:

file 命令用于根据文件类型(符号链接、目录、设备)或内容(文本、gzip、图像、tar 等,无论其扩展名如何)对文件进行分类:

$ 文件 /dev/stdout
/dev/stdout: 符号链接到`/proc/self/fd/1'
$文件/proc/self/fd/1
/proc/self/fd/1: 符号链接到`/dev/pts/0'
$文件/dev/pts/0
/dev/pts/0: 特殊字符 (136/0)
$ 文件 /etc/passwd
/etc/passwd: ASCII 文本

ls:

$ ls -al /dev/stdout
lrwxrwxrwx 1 root root 15 Jan 27 07:55 /dev/stdout -> /proc/self/fd/1

状态:

stat 命令打印出文件元数据,如权限、大小、块数等...

$ 统计/开发/标准输出
  文件:'/dev/stdout' -> '/proc/self/fd/1'
  大小:15 块:0 IO 块:4096 符号链接
设备:5h/5d inode:1212 链接:1
访问: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
访问:2014-01-27 11:22:47.971187828 -0200
修改:2014-01-27 07:55:13.996981285 -0200
更改:2014-01-27 07:55:13.996981285 -0200
 出生:-


gle*_*man 8

重击:

if [[ -h dirname ]]; then
    echo "it's a symbolic link"
    if ! stat $(readlink dirname) &>/dev/null; then
        echo "link target does not exist"
    fi
fi
Run Code Online (Sandbox Code Playgroud)


Nil*_*ils 1

  1. 是的,青色是符号链接
  2. 要查看它们指向的位置:ls -Fal
  3. 输出ls -Fal /media

这可能是某种自动挂载点。

grep media /etc/auto*可能会产生轰动。