Mam folder o nazwie ~kernel-ppa
wewnątrz ~/Downloads
.
aditya@aditya-desktop:~$ cd Downloads/
aditya@aditya-desktop:~/Downloads$ ls
~kernel-ppa
Teraz po wpisaniu cd ~k
i prasa Tabdo automatycznego rozszerzania, powłoka rozszerza go cd ~kernoops/
zamiast cd ~kernel-ppa/
chociaż folder z samych znaków wyjściowych jest już obecny.
Aby automatyczne rozszerzenie działało, muszę z tym uciec \
. W ten sposób prawidłowe użycie cd \~k
i naciśnięcie Tabrozszerza to do cd \~kernel-ppa/
. Nawet użycie cd \
i naciśnięcie Tabzałatwia sprawę.
Dlaczego tak jest i dlaczego muszę uciec? Co więcej, przed czym uciekam, skoro nawet ~
nie jest wymagana do automatycznej ekspansji?
Jeśli pójdę z przepływem i biegnę cd ~kernoops/
i nacisnę Enter, stan terminala zmienia się na //
:
aditya@aditya-desktop:~/Downloads$ cd ~kernoops/
aditya@aditya-desktop://$ pwd
//
aditya@aditya-desktop://$ ls
bin cdrom etc initrd.img lost+found mnt proc run srv tmp var
boot dev home lib media opt root sbin sys usr vmlinuz
aditya@aditya-desktop://$
To wygląda jak /
katalog, ale pwd
mówi, że tak //
. Co to dokładnie jest
tree
lub za pomocą, ls
a zauważysz, że tak się składa, że jest to pierwszy podfolder.
~kernel-ppa
jest jedynym folderem w nim; jeśli po prostu uruchomię cd
i naciśniesz klawisz Tab, zostanie ono rozszerzone do cd \~kernel-ppa/
. Nie muszę też uciekać!