과 .. 삭제가 가능한가요?

과 .. 삭제가 가능한가요?

.삭제할 수 있나요 ..?

이 작업을 수행할 수 있는 Linux 커널용 패치가 있다는 것을 어디선가 읽었습니다. Google과 duckduckgo가 s 를 무시하기 때문에 어디서 읽었는지, 어떻게 검색해야 하는지 모르겠습니다 ..

답변1

기술적으로 이는 ext4 파일 시스템에서 가능합니다 e2test.img.

$ sudo mount e2test.img /mnt/temp
$ sudo mkdir /mnt/temp/dir{1,2}
$ sudo umount /mnt/temp
$ debugfs -w e2test.img
debugfs 1.45.6 (20-Mar-2020)
debugfs:  unlink dir1/..
debugfs:  unlink dir1/.
debugfs:  quit
$ sudo mount e2test.img /mnt/temp
$ ls -a /mnt/temp/dir{1,2}
/mnt/temp/dir1:

/mnt/temp/dir2:
.  ..

쉘은 특별히 혼란스럽지 않습니다.

$ cd /mnt/temp/dir1
$ pwd
/mnt/temp/dir1
$ cd ..
$ pwd
/mnt/temp

예상대로, e2fsck이에 만족하지 않습니다.

$ e2fsck e2test.img
e2fsck 1.45.6 (20-Mar-2020)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Missing '.' in directory inode 113793.
Fix<y>? yes
Setting filetype for entry '.' in ... (113793) to 2.
Missing '..' in directory inode 113793.
Fix<y>? yes
Setting filetype for entry '..' in ... (113793) to 2.
Pass 3: Checking directory connectivity
'..' in /dir1 (113793) is <The NULL inode> (0), should be / (2).
Fix<y>? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information

e2test.img: ***** FILE SYSTEM WAS MODIFIED *****
e2test.img: 14/128016 files (0.0% non-contiguous), 18478/512000 blocks

정확한 동작은 사용된 특정 파일 시스템에 따라 다릅니다. 일부는 항목을 저장하지 않고 에뮬레이트합니다(POSIX에서는 적절한 디렉터리를 요구 .하고 이해 하고 해석하지만 실제로 존재할 필요는 없습니다)......

관련 정보