리눅스 - 파일 및 디렉터리 관리

김명주·2024년 12월 30일
0

파일 및 디렉터리 생성, 삭제, 이동

  • 디렉토리 생성 : mkdir
  • 디렉토리 삭제 : rmdir 또는 rm -r
  • 파일 이동 및 이름 변경: mv
  • 파일 삭제 : rm

파일 검색

  • 파일 찾기 : find
    • 파일 이름을 기준으로 검색할 때 사용된다.
    • find / -name "*.log" : 특정 디렉토리에서 주어진 패턴에 맞는 파일을 찾기
    • find /home -type f -size +100M : /home 디렉터리에서 100mb보다 큰 파일을 찾기
    • find . -mtime -7 : 현재 디렉토리에서 최근 7일 이내에 수정된 모든 파일 찾기
  • 파일 내용 검색 : grep
    • 파일 내용을 기준으로 검색할 때 사용된다.
    • grep "error" /var/log/syslog : 특정 파일 안에서 주어진 문자열을 검색. 이 예시는 /var/log/syslog 안에서 error 단어를 찾고자 하는 예시.
    • grep -r "error" /var/log/ : 특정 디렉토리와 그 하위 디렉터리에서 "error" 문자열을 포함한 모든 파일 검색. 이 예시는 /var/log/ 안에 있는 모든 파일 중 error 담고 있는 파일을 검색함.
    • grep -i "warning" *.txt : 현재 디렉터리의 모든 .txt 파일에서 대소문자를 구분하지 않고 "warning" 문자열을 검색.

파일 권한 및 소유권 관리

리눅스 계정을 만들게 되면 그 계정은 각각 권한이 부여되어 있다.
내가 어떤 권한을 가진 사람한테 이 파일을 사용할 수 있게 해야겠다 식으로 널을 작성한다.


위 사진처럼 ls -al을 입력하면 -rw~ 같은 문자들이 나열되어 있는걸 확인할 수 있는데, d로 시작되는 것은 디렉토리라는걸 의미하고 -로 시작되는 것은 일반 파일이란 걸 의미한다.

그 뒤로 나열된 문자열은 3개씩 끊어서 봐야한다. 첫 3개는 파일의 소유자가 가지게 되는 권한을 의미한다.

위 사진에서 첫 ubuntu는 파일의 소유자, 두 번째 ubuntu는 파일 소유자의 그룹에 해당한다.
그리고 첫 3개의 해당하는 rwx가 의미하는 것은 이 파일의 소유자는 읽기, 쓰기, 실행권한이 부여되어 있다는 것을 의미한다.

  • 파일 권한 변경 : chmod

    • 우리가 최초로 파일을 생성하게 되면 실행권한이 없다.


    • chmod 644 file.txt : 파일의 권한 변경

    • chmod +x script.sh : 실행 권한 추가

  • 파일 소유권 변경 : chown

    • chown user:group file.txt : 파일의 소유자와 그룹 변경

파일 압축 및 아카이브

  • 파일 압축 : gzip, bzip2
    • gzip file.txt : 해당 파일을 압축
    • bzip2 file.txt : 해당 파일을 bzip2로 압축
  • 파일 아카이브 : tar
    • tar -cvf archive.tar files/ : 디렉토리를 tar 파일로 아카이브
    • tar -xvf archive.tar : tar 파일을 압축 해제

파일 압축과 아카이브의 차이?

압축과 아카이브는 비슷해 보이지만 실제로는 다른 목적을 가지고 있다.
압축은 주로 개별 파일의 크기를 줄이는데 사용되며, 데이터를 더 효율적으로 저장하거나 전송할 수 있게 해준다.
아카이브는 여러 파일과 디렉토리를 하나의 파일로 묶는 과정으로, 주로 백업이나 파일 그룹의 이동을 위해 사용된다.

아카이브오 압축을 동시에 수행할 수도 있다. tar' 명령어와 함께 '-z' 옵션을 사용하면 아카이브 생성과 동시에 gzip 압축을 적용할 수 있다. 이렇게 하면 여러 파일을 하나로 묶으면서 동시에 전체 크기를 줄일 수 있어, 저장 공간을 절약하고 전송 시간을 단축할 수 있다.

파일 링크

  • 하드 링크 생성 : ln
    • 같은 파일을 참조하는 또다른 파일을 생성하는 명령어
    • 무조건 같은 파일 시스템이어야 사용 가능
    • 하드 링크를 생성하게 되면 원본 파일과 아이노드 라는 파일의 고유 번호를 공유하게 되는데, 원본 파일을 삭제하면 하드 링크로 연결된 파일 또한 삭제된다.
    • ln file.txt hardlink : 하드 링크 생성
  • 심볼릭 링크 생성 : ln -s
    • 경로를 참조하는 파일을 생성한다.
    • 서로 다른 파일 시스템이어도 사용 가능
    • 원본 파일의 위치를 지정하는 별도의 파일을 생성한다. 그렇기 때문에 원본 파일과는 서로 다른 아이노드 고유번호를 가진 파일을 생성한다.
    • 원본 파일이 삭제되도 심볼릭 링크 파일은 남아있지만, 심볼릭 링크로 접근하려 하면 원본 파일이 삭제되었기 때문에 정상적으로 작동하지 않는다
    • ln -s file.txt symlink : 심볼릭 링크를 생성
profile
개발자를 향해 달리는 사람

0개의 댓글