리눅스 명령어 정리(cd, ls, cat, touch, cp, rm 등)
이 글은 Red Hat CentOS를 기준으로 작성되었습니다.
패키지 관리자 제외 다른 계열의 Linux와 모든 명령어는 비슷합니다!
1. command 문법
command [option] [argument]
띄어쓰기로 구분한다.
ex) ls -l /root
(command)[option][argument]
[ ]는 올 수도 있고, 안올 수도 있음.
옵션을 적지 않을 경우에는 기본(default) 값이 부여되는 경우가 많음.
option
: command
를 원하는 형태로 수정하는 것
2. 기본 명령어
2-1. cd
+ 특수문자(메타문자) : change directory
- 현재 사용자의 작업 디렉토리를 변경한다.
~
: 틸드 (접속한 계정의 홈 디렉토리)-
: 대쉬 (cd 하기 직전 디렉토리)- 상대 경로와 절대 경로를 잘 이해 해야하는데, 쉘 스크립트에서는 상대경로든 절대경로든 생략하지 않아야 함.
2-2. ls [option] [argument]
: list
- ls만 입력한다면, 사용자의 현재 작업 디렉토리 내부의 파일 정보를 보여준다.
ls -l
에서 맨 앞에 표현되는 -, d, l, c, b, p 같은 경우는 다음과 같은 의미가 있다.
-
: 일반파일
d
: 디렉토리
l
: 심볼릭 링크
c
: 캐릭터 파일
b
: 블록파일
p
: 파이프 파일
option
: ex) ls -l
, ls -d
, ls -ld
-i
: i-node 값-n
: 소유자 ⇒ uid 소유 그룹 ⇒ gid-d
: 디렉토리 자체를 가르킬 때 사용하는 옵션- 예를 들어 ls -l ~/directory 면, directory 내부의 파일들이 보임.
- directory 그 자체의 정보를 보고 싶으면 상위 디렉토리에서 ls -l 해줘야함.
- 하지만 ls -ld ~/directory면, 그 자체를 가리킴
-F
: 파일에 대한 종류를 출력- 일반 파일은 아무 것도 표시 안됨. (postfix로 붙는것)
- / : 디렉토리
- 심볼릭 링크 : @
- 실행파일 : *
-R
: 재귀적으로 탐색 (Recursive)- 하위 디렉토리가 없을 때까지(리프 노드) 파고 들어감.
3. 파일 조회 명령어
3-1. cat
- 파일의 내용을 한꺼번에 모두 출력한다.
- -n : 라인에 넘버링을 해준다.
3-2. more
/ less
- 화면에 출력할 때 한 화면씩 나누어서 출력
3-3. head
- 파일의 내용을 위에서부터 출력한다
-n
- ex)
head -n +3 <file>
: 위에서 3줄까지 출력해준다. - 참고: -1 하면 당연히 모든 문서가 다 출력됨.
3-4. tail
- 파일의 내용을 아래서부터 출력한다.
-n
- ex)
tail -n -3 <file>
: 밑에서 -3까지 출력해준다. - 참고: +1 하면 모든 문서가 다 출력됨.
TIP!
- ESC + .을 하게 되면 마지막 argument를 따온다.
4. 파일을 생성하는 방법
- 문서 편집기(
vim
) 에서 내용을 저장할 때 새로운 이름으로 저장하게 되면 파일이 생성. touch
명령어를 이용해서 용량이 0인 파일을 생성- 리다이렉션(방향 재지정, >, >>)을 이용해서 파일 생성
4-1. touch
- 용량이 0인 파일 생성
- 조건 분기용.
- 모든 파일에 대한 시간을 현 시간으로 바꿀 수 있음
- 만들 수 있는 것은 일반 파일만 생성할 수 있지만 시간을 바꾸는 것은 모든 파일(일반, 디렉토리, 링크 등)
5. 디렉토리를 생성하는 방법
5-1. mkdir
- 명령어를 통해서 생성 (make directory)
mkdir [option] [path]
- path를 여러개 적어줄 시 다중으로 만들 수도 있음
option
-p
: 부모 디렉토리까지 생성해준다.
6. 리소스 복사
6-1. cp
- 파일 하나를 복사
- 덮어쓰기 여부는 오직 파일에 대해서만.
- cp 원본(source) 복사파일 (파일명) / 복사위치(원본의 파일명 그대로 해당 위치로 복사)
- 2개 이상의 파일을 복사.
- cp 원본1 원본2 원본3 원본4 존재하는 디렉토리
option
-r
: 디렉토리 복사- ex)
cp -r <원본 디렉토리> <존재하지 않는 디렉토리명> or <존재하는 디렉토리명>
(존재할 때는 그 안으로 들어간다) cp -r <원본디렉토리1> <원본디렉토리2> <원본디렉토리3> <존재하는 디렉토리>
7. 리소스 이동
7-1. mv
- 파일 한개 이동
- mv <원본파일> <파일이름>(이동하고 이름변경) / 이동 위치(원본 파일명 그대로 이동만 됨)
- 디렉토리 이동
- mv <원본 디렉토리> <존재하지 않는 디렉토리>
- 원본 파일이 그대로 남아있냐, 변경되냐 그 차이로 overwrite 하겠냐고 물어보게 됨 (-i옵션)
- 비어있다는 기준하에 overwrite가 수행되고, 비어있지 않으면 overwrite가 수행되지 않음.
8. 리소스 삭제
8-1. rm
- 삭제
- 파일 삭제
- rm 삭제하고자 하는 파일들
- rm file01 file02 file03 file04
- root 삭제할 때에는 -i이 alias를 통해서 적용이 돼있기 때문에 모두 다 대화형 처리
- -r : 디렉토리 삭제
8-2. rmdir
- 비어있는 디렉토리 삭제
- -p : 젤 하위 디렉토리부터 비어있으면 삭제.
cp, mv, rm 명령어에는 공통적인 옵션이 존재
-i
: 덮어쓰기(cp, mv) 또는 삭제여부(rm)에 대해서 대화형으로 처리- 대개 alias로 -i를 붙여서 걸어놓음.
- 쉘에
alias
를 쳐보면 alias 걸어 놓은게 보임
-f
: -i 옵션을 무시하는 옵션
링크 파일
- 특정 파일에 대한 접근성을 높이기 위해서 만든 파일
링크 파일의 종류
이름 | 하드링크 | 심볼릭 링크 |
---|---|---|
명령어 | ln | ln -s |
데이터 접근 방식 | 원본과 같은 i-node 테이블 접근 | 다른 테이블을 통한 간접적 접근 |
디스크 공간 | 필요 없음 | 약간의 공간 필요 |
디렉토리 | 불가능 | 가능 |
파일시스템 | 동일한 파일시스템만 가능 | 다른 파일시스템 가능 |
원본 파일 제거시 | 이상 없음 (원본 파일이 돼버림) | 접근 불가능 |
심볼릭 링크
- 절대 경로 ⇒ 절대 경로로 생성하면 심볼릭 링크가 어디로 이동하던 상관 없이 원래 링크 돼있던 링크를 가리킨다.
- 상대 경로 ⇒ 심볼릭 링크 파일이 존재하는 디렉토리를 기준으로 상대경로가 적용되기 때문에 유의하여야 한다.
=> 웬만하면 절대경로로 생성!!
Author And Source
이 문제에 관하여(리눅스 명령어 정리(cd, ls, cat, touch, cp, rm 등)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@xonic789/리눅스-명령어-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)