본문 바로가기

Web/LINUX

리눅스 폴더 링크걸기 & 파일 찾기

반응형
출처 : http://lanplaza.net


그 파일의 위치를 알게해주는 명령어가 있습니다.
find / -name 파일이름 <-----하시면 위치가 나옵니다.









파일이나 디렉토리나 링크 잡아주는 것은 똑같습니다.



ln -s root/asses/log2 xxx/log



여기서 xxx라는 디렉토리는 존재해야되고, 이놈은 링크와는 무관한 실제 디렉토리입니다.



log라는 링크파일이 생성되고 이후부터는 커널이 알아서 root/asses/log2로 mapping을



시켜줄것입니다.



그러나 여기서 신경을 쓰셔야 하는 문제가 있습니다.



링크를 걸때 절대 경로, 즉 / 로 시작하는 경로를 걸지 않고 상대 경로를 걸었을때인데요,



링크파일은 항상 링크 파일 자체가 있는 디렉토리에서부터 mapping을 시작한다는 점입니다.





예를 들어...



현재 디렉토리가 /var이라고 하고



이 이하에 root/asses/log2 디렉토리와 xxx 디렉토리를 만들었다고 가정하면,



ln -s root/asses/log2 xxx/log



요렇게 만들어버리면... xxx/log 파일은 /var/root/asses/log2로 찾아가는 것이 아니라



/var/xxx/root/asses/log2로 찾아갈려고 합니다.



따라서 링크를 걸때는 절대경로를 이용하거나



ln -s /var/root/asses/log2 xxx/log



또는 상대적인 위치를 고려하여 다음과 같이 해야 합니다.



ln -s ../root/asses/log2 xxx/log



즉, 현재 ln 명령어를 사용하는 곳의 경로보다는 링크 파일이 생성되는 위치를 고려하여



target의 path를 정해주어야 합니다.





참고로, 링크를 따라 cd 이동했을 때와 그렇지 않을 때 pwd의 결과는 달라질 수 있읍니다.



pwd -P



또는



pwd -L



을 참고하세요. (제 시스템엔 저런 옵션이 있네요. ^^;)





이해가 안되거나 부족한 점이 있으시면 메일 주세요.













----------



zlib-2.4.5.523 이 /usr/local/zlib-2.4.5.523 에 위치한다고 가정할 때.

* ln 명령을 주는 현재경로(pwd)가 중요합니다.



ln -s zlib-2.4.5.523 zlib

둘 다 같은 디렉토리(/usr/local)에 있도록 링크 걸기.

(/usr/local 에서 실행한 예) - 상대경로 사용

ln -s zlib-2.4.5.523 /usr/zlib

다른 디렉토리(/usr)에 링크를 만드는 경우

(/usr/local 에서 실행한 예) - 상대경로 사용



ln -s /usr/local/zlib-2.4.5.523 /usr/local/zlib

둘 다 같은 디렉토리(/usr/local) 에 있을 경우.

(명령을 주는 위치는 상관없음) - 절대경로 사용

(출처 : '리눅스에서 링크거는법' - 네이버 지식iN)
반응형