폴더가 실제로 심볼릭 링크인지 확인하는 방법과 폴더가 손상된 경우 수정하는 방법은 무엇입니까?

폴더가 실제로 심볼릭 링크인지 확인하는 방법과 폴더가 손상된 경우 수정하는 방법은 무엇입니까?

Linux에 심볼릭 링크, 일종의 바로가기 또는 폴더가 있는지 어떻게 알 수 있나요? 아래 스크린샷을 참조하세요.

Linux 셸의 심볼릭 링크

보시다시피, ls명령은 일부 객체를 나열하며, 그 중 일부는 진한 파란색이고 일부는 연한 파란색(청록색)입니다. 이 청록색 물체는 무엇입니까? 이것이 실제 심볼릭 링크입니까?

보시다시피 cdhdd라는 하드 드라이브에 액세스할 수 없습니다.

root@dm500hd:/# cd hdd
-sh: cd: can't cd to hdd

로 리디렉션해야 할 것 같은데 /media/hdd, hdd 폴더가 누락된 것을 발견했습니다.

이 문제를 해결할 방법이 있나요?

고쳐 쓰다:이것이 ls -al명령의 결과입니다.

Linux 셸 2의 심볼릭 링크

보시다시피 hdd -> /media/hdd빨간색이에요. 이는 손상되었거나 자동으로 마운트된다는 의미입니까(예: 물리적 하드 드라이브가 연결된 경우)?

고쳐 쓰다:이것이 grep media /etc/auto*명령의 결과입니다.

Linux 셸 3의 심볼릭 링크

이 항목 /etc/auto.master:/media/net/etc/auto.network항목은 무엇을 합니까?

이것이 ls -Fal /media명령의 결과입니다.

Linux 셸 4의 심볼릭 링크

이것이 도움이 됩니까? ...

stat다음은 및 file명령의 결과와 /usr 및 /bin 목록 입니다 .

Linux 셸 5의 심볼릭 링크

이것이 어떤 식으로든 나에게 도움이 됩니까? ...도움이 되나요? ...

반면에 이것은 임베디드 시스템인 BusyBox를 탑재한 Linux 기반의 STB라는 점을 아셔야 합니다. 따라서 모든 명령이 지원되는 것은 아닙니다.

고쳐 쓰다:마지막 스크린샷은 /sbin 및 /usr/sbin에 있는 파일과 지원되는 명령을 보여줍니다.

Linux 셸 6의 심볼릭 링크

고쳐 쓰다:새 공유가 추가되었습니다...

이제 이전 공유를 삭제하고 이전과 동일한 이름으로 공유를 다시 생성했으며 이제 두 번째 공유도 추가했습니다. 이제 두 개가 생겼습니다.

SHARES
remote share   local share
mydream        dream1
mydream2       dream2

LOCATIONS
remote        local
C:\mydream    /media/net/dream1
C:\mydream2   /media/net/dream2

녹음 파일은 /media/net/dream1/movie에 저장됩니다.

또한 공유 dream2의 경우 여러 개의 HDD가 HDD 역할을 하는 것이 가능할지 의심스럽기 때문에 설치 관리자에서 HDD 교체로 설치하지 않기로 결정했습니다. 어디에 기록되나요? 두 곳으로? 데이터 속도를 두 배로 늘리나요? ...그건 불가능할 것 같아요.

따라서 이러한 이유로 dream2 공유에는 movie라는 하위 폴더가 없습니다. 생성 시 HDD 교체용으로 지정된 폴더만 동영상 하위 폴더를 갖게 됩니다.

하드 드라이브를 루팅 하면 cd로 이동합니다 /media/net/dream1. 내가( cd부모 ..) 경우 로 돌아갑니다 root (/).

root.given.given 에 ls -al제공됩니다 . hdd -> media/hdd ls -al hddhdd -> media/hddls -al media/media/net/dream1

또한 다른 심볼릭 링크가 cd있는 경우에도 마찬가지입니다 . 나는 전에 그것을 눈치 채지 못했습니다. 공유가 마운트되면 자동으로 생성되는 것 같습니다. 이 하드 드라이브로 이동 하면 ./mediahddcd/media/net/dream1

하나의 심볼릭 링크 hdd(/hdd) hdd는 공유 폴더(/media/net/dream1)를 가리키는 다른 심볼릭 링크(/media/hdd)를 가리킵니다. .....어지러워...

Enigma2 이미지 버전 3.2.3 또는 적어도 버전 3.2.0 이전에는 그렇지 않았습니다.

편집하다:두 번째 공유를 HDD 교체로 설정하면 녹화용 활성 공유가 됩니다. 동시에, 이전에 HDD 교체로 작동하도록 설정된 공유는 여전히 "예"(HDD 교체로 작동)로 설정되어 있어도 더 이상 활성화되지 않습니다.

dream1을 처음 HDD 교체로 사용한 다음(교체로 "예" 선택) dream2를 HDD 교체로 사용하도록 설정하면 녹화에 사용되는 새 공유가 됩니다. dream1에 저장된 비디오 파일을 계속 보고 검토할 수 있지만 더 이상 녹화할 수는 없습니다. 다시 dream1을 사용하여 녹음하려면 먼저 dream2를 "no"(하드 드라이브 교체 역할 중지)로 설정한 다음 dream1을 "yes"로 재설정해야 합니다.

따라서 동시에 두 공유에 로그인할 수 없습니다. 둘 중 하나는 가야 해요. 따라서 꿈 1이나 꿈 2 중 하나일 뿐, 둘 다는 아닙니다. 여러 서비스(TV 채널)가 모두 동일한 트랜스폰더에 있으면 녹화가 가능하다는 점을 언급해야 하지만, 그렇지 않으면 "무료 튜너 없음" 메시지가 표시됩니다. 튜너가 하나만 있는 셋톱박스입니다.

답변1

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 루트 루트 15 1월 27일 07:55 /dev/stdout -> /proc/self/fd/1

통계:

stat 명령은 권한, 크기, 블록 수 등과 같은 파일 메타데이터를 인쇄합니다.

$ 통계/dev/stdout
  파일: '/dev/stdout' -> '/proc/self/fd/1'
  크기: 15 블록: 0 IO 블록: 4096 Symlink
장치: 5h/5d Inode: 1212 링크: 1
방문: (0777/lrwxrwxrwx) Uid: (0/ 루트) Gid: (0/ 루트)
접속시간 : 2014-01-27 11:22:47.971187828 -0200
수정: 2014-01-27 07:55:13.996981285 -0200
변경: 2014-01-27 07:55:13.996981285 -0200
 태어나다:-

답변2

큰 타격:

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

답변3

주어진 파일이 어떤 유형의 엔터티인지 확인하는 가장 쉬운 방법은 이 file명령을 사용하는 것입니다. ls분류자 태그가 무엇인지 기억하거나 사용자와 컴퓨터에 따라 다를 수 있는 색상 출력에 의존할 필요가 없는 선명하고 명확한 출력을 제공합니다 . 예를 들어:

mail ~ # file /test
/test: broken symbolic link to `/nonexist'
mail ~ # file /dev
/dev: directory
mail ~ # file /dev/fd
/dev/fd: symbolic link to `/proc/self/fd'

시스템에 파일 항목이 없는 경우 file이 명령을 사용하면 stat해당 파일 항목의 종류와 가리키는 위치를 알려줍니다. 링크가 깨졌는지 확인하려면 stat -L링크가 깨졌을 때 오류가 발생하는 역참조 링크를 실행해야 합니다.

질문의 두 번째 부분에 관해서는 디렉토리 media는 일반적으로 일종의 자동 설치 프로그램에 의해 관리됩니다. 이 /media/hdd항목은 시스템에서 USB 대용량 저장 장치용으로 사용될 수도 있고 올바른 유형의 하드 드라이브(ATA, SCSI, Xen 블록 장치)를 기다리고 있을 수도 있습니다. 깨진 링크는 프로그램이 이를 사용하려고 시도하지 않는 한 해를 끼치지 않으며 미디어 링크는 실제로 사용자의 편의를 위한 것입니다. /hdd원하는 경우 링크를 안전하게 유지하거나 삭제할 수 있습니다 .

답변4

  1. 예, 청록색은 심볼릭 링크입니다.
  2. 그들이 가리키는 곳을 확인하려면:ls -Fal
  3. 산출ls -Fal /media

이것은 아마도 일종의 자동 마운트 지점일 것입니다.

grep media /etc/auto*파문을 일으킬 수 있습니다.

관련 정보