Linux에서 파일을 복사하고, 읽고, 삭제하는 명령은 무엇입니까?

Linux에서 파일을 복사하고, 읽고, 삭제하는 명령은 무엇입니까?

/var/log/루트 디렉터리( )의 일부 파일을 홈 디렉터리( )로 복사한 home/test/copyfromlogs/다음 루트 디렉터리에서 해당 파일을 삭제하고 싶습니다.

복사하려는 파일은 에 있습니다 /var/log/. 루트 디렉터리가 가득 차서 거기에서 다음 파일을 삭제하고 싶습니다. .

btmp-20200401 >> 894M;secure-20200322 >> 187Msecure-20200329 >> 235Msecure-20200405 >> 180Msecure-20200412 >> 119M

home혹시라도 필요할 경우를 대비해 이 파일을 백업하기 위해 아래 디렉토리를 만들었습니다 . 새 디렉터리의 전체 경로는 "/home/test/copyoflogfiles/"입니다.

나는 새로운 학습자입니다. 나는 묻고 싶다

  1. 다음 명령이 올바른 경우 에서 으로 btmp-20200401복사 하려는 경우 올바른 명령은 무엇입니까? 그렇지 않은 경우 올바른 명령은 무엇입니까?/var/log/home/test/copyoflogfiles/

    cp /var/log/btmp-20200401 /home/test/copyoflogfiles/

  2. 복사 명령을 실행할 때 현재 디렉터리는 무엇입니까? 내가 그 안에 있다고 가정해보자 /home/test/copyoflogfiles/. 이 경우 명령이 달라지나요?

  3. 디렉토리에서 단일 파일을 삭제하는 명령이 무엇인지 알려주실 수 있나요? 파일을 복사한 후 삭제 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보다 이 명령을 사용하는 것이 더 나을 수도 있습니다.cprm

따라서 명령은 다음과 같이 변경됩니다.

mv /var/log/btmp-20200401 /home/test/copyoflogfiles/

파일을 복사하고 삭제하는 대신 파일을 이동합니다.

답변2

  1. cp, , - 등의 명령을 실행한 rm후에도 mv현재 작업 디렉터리는 변경되지 않습니다.

여기몇 가지 유용한 명령이 있습니다

답변3

또한 권한(사용자, 그룹, 세계) 및 소유권에 주의를 기울이십시오. 이것이 바로 /var/log 아래의 파일이 루트에서만 읽을 수 있는 파일이 sudo cp아닌 하나의 답변을 사용하는 이유입니다. cp이 경우 sudo cp권한도 복사되고 소유권은 루트 사용자로 설정됩니다. 따라서 /var/log의 파일은 사용자 apache, 그룹 apache가 소유하고 600의 액세스 권한을 가지며(그룹이나 나머지 세계가 아닌 소유자만 읽을 수 있음) 궁극적으로 루트가 소유합니다. 또한 사용자 디렉토리에서 루트로만 읽을 수 있습니다.

따라서 대상 디렉터리의 소유권을 사용 및/또는 확인하고 ls -l문제를 해결할 수 있습니다. 이는 소유자가 다른 폴더에 다른 권한을 가진 로그 파일이 노출되어 보안 위험이 있다고 생각합니다. 적절한 보관 및/또는 삭제를 고려하세요.sudo chownsudo chmod

관련 정보