$> ls ../../../../..
나에게 같은 결과를주지 않습니다.
$> cd ../../../../..
$> ls
왜? 링크가있는 것? 무슨 일이야?
[ johanrj@jamin ] ~/XXX/broadcom/asuswrt/release/src-rt-6.x/linux/linux-2.6/drivers/net/phy/WRT/openwrt-git-8.09.2/package/swconfig/src
$> ls ../../../../..
9145-D5B0 asuswrt BCM53125 bcm_switch jrj Packages workspace
[ johanrj@jamin ] ~/XXX/broadcom/asuswrt/release/src-rt-6.x/linux/linux-2.6/drivers/net/phy/WRT/openwrt-git-8.09.2/package/swconfig/src
$> cd ../../../../..
[ johanrj@jamin ] ~/XXX/broadcom/asuswrt/release/src-rt-6.x/linux/linux-2.6/drivers/net/phy
$> ls
adm6996.c cicada.c libphy.ko lxt.c mdio-boardinfo.h mdio_bus.o phy_device.c smsc.c swconfig.mod.c WRT
adm6996.h davicom.c libphy.mod.c Makefile mdio_bus.c Module.symvers phy_device.o swconfig.c swconfig.mod.o
b53 fixed.c libphy.mod.o marvell.c mdio_bus.c.orig phy.c phy.o swconfig.ko swconfig.o
broadcom.c Kconfig libphy.o mdio-boardinfo.c mdio_bus.c.rej phy.c.orig qsemi.c swconfig_leds.c vitesse.c
예, 쉘은 symlink 디렉토리로 변경하는 데 현명하게 노력합니다.
$ mkdir a
$ ln -s a b
$ cd b
$ pwd
/home/michas/b
$ pwd -P
/home/michas/a
심볼릭 링크로 변경 한 후 b
쉘은 실제로 "디렉토리"에있는 것처럼 b
보이지만 대신 심볼릭 링크는 디렉토리로 사용자를 보냈습니다 a
.
참조 help pwd
:
-P print the physical directory, without any symbolic links
외부 명령 (예 ls
:)은 항상 물리적 경로를 사용하지만 셸 내장은 기본적으로 가상 심볼릭 링크 경로를 사용합니다.
이 cd
명령은 쉘 내장이며 cd ..
"물리적 부모 사용"대신 "현재 심볼릭 링크 유지" 로 해석 됩니다. 하지만 그 행동을 바꿀 수 있습니다. help cd
말한다 :
-P use the physical directory structure without following symbolic
links: resolve symbolic links in DIR before processing instances
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다