/var/log/
루트 디렉터리( )의 일부 파일을 홈 디렉터리( )로 복사한 home/test/copyfromlogs/
다음 루트 디렉터리에서 해당 파일을 삭제하고 싶습니다.
복사하려는 파일은 에 있습니다 /var/log/
. 루트 디렉터리가 가득 차서 거기에서 다음 파일을 삭제하고 싶습니다. .
btmp-20200401 >> 894M
;secure-20200322 >> 187M
secure-20200329 >> 235M
secure-20200405 >> 180M
secure-20200412 >> 119M
home
혹시라도 필요할 경우를 대비해 이 파일을 백업하기 위해 아래 디렉토리를 만들었습니다 . 새 디렉터리의 전체 경로는 "/home/test/copyoflogfiles/"입니다.
나는 새로운 학습자입니다. 나는 묻고 싶다
다음 명령이 올바른 경우 에서 으로
btmp-20200401
복사 하려는 경우 올바른 명령은 무엇입니까? 그렇지 않은 경우 올바른 명령은 무엇입니까?/var/log
/home/test/copyoflogfiles/
cp /var/log/btmp-20200401 /home/test/copyoflogfiles/
복사 명령을 실행할 때 현재 디렉터리는 무엇입니까? 내가 그 안에 있다고 가정해보자
/home/test/copyoflogfiles/
. 이 경우 명령이 달라지나요?디렉토리에서 단일 파일을 삭제하는 명령이 무엇인지 알려주실 수 있나요? 파일을 복사한 후 삭제
btmp-20200401
하고 싶어요/var/log/
친절한 안부
답변1
질문 1: 귀하의 명령이 정확합니다.
cp /var/log/btmp-20200401 /home/test/copyoflogfiles/
파일을 복사할 수 있는 파일 시스템 권한이 없는 경우 sudo
다음 명령을 사용하여 권한을 높일 수 있습니다.
sudo cp /var/log/btmp-20200401 /home/test/copyoflogfiles/
질문 2:
cp
전체 경로를 사용하는 경우 모든 디렉터리에서 다른 디렉터리로 명령을 사용할 수 있으므로 다른 디렉터리에서 명령을 실행할 수 있습니다.
질문 3:
rm /var/log/btmp-20200401
파일이 제거되고 해당 파일을 사용할 수 있는지 확인하기 위해 rm -i filename
올바른 파일을 입력하라는 메시지가 표시됩니다 .
그러나 다음 명령을 따르는 것 mv
보다 이 명령을 사용하는 것이 더 나을 수도 있습니다.cp
rm
따라서 명령은 다음과 같이 변경됩니다.
mv /var/log/btmp-20200401 /home/test/copyoflogfiles/
파일을 복사하고 삭제하는 대신 파일을 이동합니다.
답변2
cp
, , - 등의 명령을 실행한rm
후에도mv
현재 작업 디렉터리는 변경되지 않습니다.
여기몇 가지 유용한 명령이 있습니다
답변3
또한 권한(사용자, 그룹, 세계) 및 소유권에 주의를 기울이십시오. 이것이 바로 /var/log 아래의 파일이 루트에서만 읽을 수 있는 파일이 sudo cp
아닌 하나의 답변을 사용하는 이유입니다. cp
이 경우 sudo cp
권한도 복사되고 소유권은 루트 사용자로 설정됩니다. 따라서 /var/log의 파일은 사용자 apache, 그룹 apache가 소유하고 600의 액세스 권한을 가지며(그룹이나 나머지 세계가 아닌 소유자만 읽을 수 있음) 궁극적으로 루트가 소유합니다. 또한 사용자 디렉토리에서 루트로만 읽을 수 있습니다.
따라서 대상 디렉터리의 소유권을 사용 및/또는 확인하고 ls -l
문제를 해결할 수 있습니다. 이는 소유자가 다른 폴더에 다른 권한을 가진 로그 파일이 노출되어 보안 위험이 있다고 생각합니다. 적절한 보관 및/또는 삭제를 고려하세요.sudo chown
sudo chmod