심볼릭 링크를 생성했는데 ln -s /home/orca/www/* /var/
이제 삭제해야 합니다. 파일이 /var/www
가득 차서 네트워크 파일을 모두 옮겨야 합니다 ./home
/
이게 내가 한 일이야.
나는에서 보았다여기간단히 말씀드린 것 뿐인데 rm symlink_name
, 이름이 정확히 무엇인가요?
rm /home/orca/www/* ?
책을 많이 읽었음에도 불구하고 마음이 비정통적이기 때문에 머리가 어지러워지는 경향이 있습니다. 이것은 실제 프로덕션 서버이므로 조치를 취하기 전에 주의를 기울여야 합니다. 적은 것이 더 많습니다. 후회하는 것보다 안전하고 싶습니다. 백업이 준비되어 있습니다.
답변1
문서 보기만린.
세 번째 양식을 사용했습니다.
ln [OPTION]... TARGET... DIRECTORY
모든 사람을 위한 링크가 생성됩니다.표적입력하다목차.
명령이 의 모든 파일 및 디렉터리(및 기타 객체)에 대한 링크를 생성했거나 생성하려고 시도했습니다 /home/orca/www
.하지만이름이 이미 에 존재하는 경우 일부에서는 실패할 수 있습니다 /var
. (이 경우 명령은 오류 메시지를 인쇄할 수 있습니다.)
일반적으로 비어 있지 않기 때문에 /var
단순히 모든 것을 삭제할 수는 없습니다.
지금 제가 제안할 수 있는 최선의 방법은 (심볼릭 링크인 경우) /home/orca/www
에 있는 모든 이름을 삭제하는 것입니다./var
이 루프는 삭제될 내용을 보여줍니다.
for i in /home/orca/www/*
do
l=/var/"${i##*/}"
if [ -h "$l" ]
then
echo rm "$l"
fi
done
출력을 확인하십시오.이것이 원하는 경우 echo
실제로 rm
명령을 실행하려면 삭제하십시오.
for i in /home/orca/www/*
do
l=/var/"${i##*/}"
if [ -h "$l" ]
then
rm "$l"
fi
done
답변2
그리고 zsh
,
rm /var/*(@m-1)
/var
지난 24시간 이내에 생성된 모든 심볼릭 링크가 삭제됩니다.
하지만:
rm /var/*(@m-1e['[[ $REPLY:P = /home/orca/www/* ]]'])
지난 24시간 동안 생성된 모든 심볼릭 링크를 삭제합니다.실제 경로(표준 절대 경로)는 패턴과 일치합니다( /home/orca/www/*
또는 그 안에 있는 파일 자체에 심볼릭 링크가 있는 경우 작동하지 않습니다)./home
/home/orca
/home/orca/www
(파일을 삭제하기 전에 목록만 보고 싶다면 rm
로 바꾸세요.)ls -ld
GNU를 사용하면 find
다음도 수행할 수 있습니다.
find /var -maxdepth 1 -mtime -1 -lname '/home/orca/www/*' -delete
/var
대상이 패턴과 일치하는 지난 24시간 이내에 생성된 /home/orca/www/*
모든 심볼릭 링크를 제거합니다 .
(파일을 삭제하기 전에 목록을 보려면 -delete
다음으로 대체하십시오)-ls