! 명령어와 argument는 한 칸 이상의 blank로 구분됨
! cmd + l : terminal 화면 clear
! 프로세스: 동작 중인 프로그램
Linux Directory 구조 & 역할
-Linux file system hierarchy standard (Tree 구조의 규칙)

Basic 명령어
> 명령어 도움말 보기
- man <옵션> keyword(명령어 or 파일이름)
(Ubuntu 20.04 cd /usr/share/man에 매뉴얼 모아져있음)
+ option
-k : 매뉴얼 목록을 검색
-s [section number] : 입력한 섹션에서 매뉴얼 검색해서 출력 (생략 가능)
(1) User Commands
(2) System Calls
(3) Subroutines
(4) Devices
(5) File Formats
Ex. man (-s) 5 passwd : 5번째 section의 manual에서 passwd 검색해줘
! space :next page
! enter : next line
! b: backward
! q: backward
> 파일 목록 보기
- ls <옵션> <파일|디렉토리>
+ option
-a : (all) dot(.)로 시작하는 숨겨진 파일까지 모두(ex. config, log나 cache 정보 들어있는)
-l : (long) file/dir의 자세한 정보(permission, owner, size, last modified, file name, type 등)
-R : (recursive) 하위 디렉토리까지 모두 출력
-d : dir's content가 아닌 dir 자체를 출력
Ex. ls (자동적으로 ls --color=auto 적용돼서 파란색: 바로가기 symboling link, 초록색: binary 프로그램(실행 ㄱㄴ), 빨간색: special한 permission이 있음)
Ex. ls -l /tmp (파란색: dir)
Ex. ls -ld /tmp (파일 내용 출력 없이 디렉토리 자체의 목록)
Ex. ls -l /etc/passwd /etc/hosts /etc/hostname
> Directory 생성/삭제/이동
- mkdir <옵션> <dir_name>
+ option
-m : 퍼미션 설정
-p : 존재하지 않는 parent directories까지 같이 생성
Ex. mkdir ~/tmp-dir
Ex. mkdir -p ~/dir/subdir/subsubdir (subdir 없는 상태에서)
Ex. mkdir -m 777 share
- rmdir <옵션> <dir_name>
+ option
-p : 비어있는 parent directories를 함께 삭제
Ex. rmdir share
Ex. rmdir -p ~/dir/subdir/subsubdir
! Empty dir만 지울 수 있음!!!
- cd <dir_name>
+ argument
~ : Home dir로 이동
.. : 하나 상위 dir로 이동
> File 복사, 이동, 삭제
- cp <옵션> <원본파일> <목적지파일>
+ option
-i : (interactive) 복사할 때 overwrite할 것인지 질문 (y 가 아닌 모든 문자는 명령어 취소시킴)
-f : 복사할 때 overwrite할 것인지 질문 없이 무조건 덮어쓰기 (default)
-r : dir 전체 복사(하위 dir 까지)
Ex. cp /etc/passwd . (현재 디렉토리에 같은 이름으로 복사해라)
Ex. cp /etc/passwd /etc/hosts conf.d/ (passwd, hosts file을 conf.d dir에 복사해라! file에는 복사 안됨)
Ex. cp -r conf.d conf.d.backup
- mv <옵션> <원본파일이름> <새이름(Rename) Or 디렉토리(이동)>
+ option
-i : (interactive) 이름을 바꿀 때 overwrite할 것인지 질문
-f : 이름을 바꿀 때 overwrite할 것인지 질문 없이 무조건 덮어쓰기 (default)
Ex. mv hosts hosts.file
Ex. mv passwd /tmp/ (ls /tmp에서 passwd 확인 ㄱㄴ)
Ex. mv conf.d.backup admin.d (dir 이름 바꾸기는 -r 없이 ㄱㄴ)
Ex. mv home/* . (home dir의 모든 파일을 현재 dir로)
- rm <옵션> <파일이름 Or Dir이름>
+ option
-i : (interactive) 파일 삭제할 때 삭제 여부를 한 번 더 질문
-f : 파일 삭제할 때 질문없이 무조건 삭제 (Linux는 휴지통 없으니까..이런 짓 x)
-r : 하위내용을 포함한 디렉토리를 삭제
Ex. rm -ri admin.d/ (admin.d라는 dir 물어보고 지워라)
> 기타
- tree (구조 보여줌)
- cat <file_name> : file 내용 보여줘라
<참고>
http://daddynkidsmakers.blogspot.com/2018/03/
https://www.youtube.com/@ttabae-learn
https://seosh817.tistory.com/157#mv%20%5B파일명%5D%5B디렉토리%5D일%20경우-1