[Linux] 활용 기초
1) 파일 시스템 명령어
명령어 설명을 보는 방법
- 원하는 명령어의 설명(manual)을 볼 수 있다.
- manual이 한눈에 안들어온다면, vi key로 이동, 검색을 할 수 있다.
파일 시스템 이용을 위한 명령어
- / : root, 시스템의 첫 시작
- ~ : home, 로그인한 유저의 home 경로
- / : 디렉토리를 구분하는 구분자
- .. : 상위 디렉토리
- . : 현재 디렉토리
- ’-‘ : 이전 위치
- pwd (Print Work Directory) : 현재 터미널이 위치한 디렉토리 경로를 볼 수 있다.
- ls (List Segments) : 디렉토리의 모든 파일 정보를 보여줌
ls -al은 숨심파일과 파일의 모든 정보를 표시
ls -il는 파일 또는 디렉토리의 inode number를 표시 - cd (Change Directory) : 지정한 디렉토리로 이동
- mkdir (Make Directory) : 새 디렉토리(폴더)를 만든다.
- rm (Remove) : 지정한 파일 또는 디렉토리를 지운다.
- rmdir (Remove Dirctory) : 디렉토리를 삭제한다.
- df (Disk Filesystem) : 디스크 공간에 대한 정보를 볼 수 있다.
파일 MODE 관리
- chmod
- change mode의 줄임말로, 파일의 접근 권한을 변경할 수 있다.
- 파일 권한의 종류는 r(read), w(write), x(excute) 세 가지 종류가 있다.
- 파일 권한의 범위는 파일 소유자(u, user), 그룹(g, group), 그외 사용자(o, other)가 있다. 이 모든 것을 포함하는 모든 사용자(a, all)도 있다.
- 변환하는 방법에는 추가(+), 제거(-), 지정(=)이 있다.
- 3자리의 8진수 형식으로도 파일 모드를 지정할 수 있다.
파일 관리를 위한 명령어
- touch : 빈 파일을 생성
- cat : 파일 내용을 출력
- head : 파일 또는 파이프된 데이터의 시작점을 볼 수 있다.
- tail : 파일의 마지막 행부터 지정한 행까지 내용을 출력한다.
- tail -f $filename : 실시간으로 append 되는 내용을 확인할 수 있다. 로그를 실시간으로 볼 때 자주 활용한다.
- comm (Compare) : 두 파일을 라인별로 비교한다.
- cmp : 두 파일을 바이트 단위로 비교한 결과를 stdout에 프린트
- diff : difference의 약자
- 두 파일을 라인별로 비교해서 차이점만 보여준다.
- symbol로 어떤 차이인지 표시한다
- a : add
- c : change
- d : delete
- less
- 터미널 세션에 프린트하지 않고 파일 내용을 볼 수 있다.
- vi 처럼 파일 전체를 여는 것이 아니라 보고 있는 부분만 열어서 파일이 큰 경우, vi에 비해 빠르게 열어 내용을 확인할 수 있다.
- 양방향 탐색이 가능하므로 more 보다 편리하다.
- ln
- 심볼릭 링크를 만든다.
- 심볼릭 링크란?
- 절대 경로 또는 상대 경로의 형태로 된 다른 파일이나 디렉토리에 대한 참조를 포함하고 있는 특별한 종류의 파일
- alia
- 다른 문자열에 대체하는 단어를 지정
- 주로 복잡한 명령어의 약어를 지칭할 때 쓰임
- 환경변수와는 다름
검색에 사용하는 명령어
- find : 파일을 검색할때 사용
- which
- $PATH에 등록된 경로 중에서, 주어진 이름의 실행 파일 위치를 찾는다.
- 사용하고 있는 명령어가 설치된 위치를 찾는데 유용
- grep
- 대량의 파일에서 주어진 텍스트 또는 정규 표현식 패턴에 일치하는 텍스트를 찾는 명령어
- 파이프와 함께 다양한 명령어와 조합하여 사용
- sed
- 텍스트를 필터링하거나 변환하는 스트림 에디터
- sed ‘s/old_word/new_word/g’ target_file : target_file에서 old_word를 new_word로 모두 교체한 결과를 출력