리눅스에서는 모든 것을 파일로 다루므로 파일 조작 방법을 익혀야 한다.
디렉터리 : 여러 개의 파일을 담아서 정리할 수 있는 것이다. 폴더 개념과 동일하다.
디렉터리 안에 있는 디렉터리를 서브 디렉터리 혹은 자식 디렉터리라고 한다.
반대로 위에 있는 디렉터리를 부모 디렉터리라고 한다.

/ : 루트 디렉터리
디렉터리 트리 : 루트 아래에 디렉터리와 파일이 있는 계층 구조이다.
PATH : /usr/bin/perl과 같은 경로이다. 리눅스에서는 구분자로 /을 사용한다.
윈도와 차이
/bin : 시스템과 관련된 중요한 명령어를 포함한다.
/dev : 디바이스 파일이 배치되어있다.
/etc : 애플리케이션의 설정 파일이 있다. 리눅스 자체의 설정 파일도 있다. 중요하다.
/home : 사용자별로 홈 디렉터리가 배치된다.
/sbin : bin과 비슷하게 실행 파일을 포함한다. 관리자용 명령어가 있다.
/usr : User System Resource 애플리케이션의 실행파일, 문서 등이 있다.
/var : variable 한 데이터를 저장한다. 앱 실행 중 생성된 데이터나 로그 등이 있다. 용량이 부족해질 수 있다.
로그인 직후에는 사용자의 홈 디렉토리 /home/jisu에서 시작한다.
절대 경로 : 루트 디렉터리부터 표시한다.
상대 경로 : 현재 디렉터리를 기준으로 표시한다.
cd /usr : /usr로 이동한다.
cd -p /usr/local
커맨드 라인 인자 : -p /usr/local
명령어 : cd
pwd : 현재 위치를 보여준다.
경로에도 tab키를 이용하여 자동완성을 할 수 있다.
~ : 사용자의 홈 디렉터리로 이동한다.
틸드 확장 : 틸드가 셸에 의해 홈 디렉토리 경로로 치환되는 기능
cd ~/report : 서브 디렉토리로 바로 이동이 가능하다.
ls /bin/cp : 인자로 파일을 지정하면 경로를 출력한다.
ls / /usr : /와 /usr의 내용을 모두 보여준다.
파일이 하나도 없으면 아무것도 출력하지 않는다.
* : 임의의 문자열
ls ba* : ba로 시작하는 것들을 보여준다.
ls co*l : co로 시작하고 l로 끝나는 것들을 보여준다.
ls *.html : 확장자가 html인 것들을 보여준다.
? : 임의의 한 문자
ls ba?? : ba로 시작하는 길이가 4개인 글자를 의미한다.
ls /bin/a?? : a로 시작하는 길이가 3개인 문자를 보여준다.
-l : Long 파일 속성, 상세정보까지 출력한다.
-a : 숨겨진 파일도 출력한다.
. 로 시작하는 파일을 숨긴 파일로 판단한다.ls -a -F == ls -aF
drwxr-xr-x. 20 root root 4096 9월 7 11:04 var
파일 타입 / 링크수(바로가기가 몇 개인지) / 소유자 / 소유그룹 / 크기 / 타임스탬프 / 파일 이름.디렉토리 이름
타입
- : 보통 파일
d : 디렉토리
l : 심볼릭 링크
rwx : read, write, execute
ls -F (Format) : 파일 이름 뒤에 파일의 종류를 의미하는 기호를 추가해 출력한다.
( / : directory, @ : link, * : 실행 가능 파일 binary파일 , none : 일반 파일 )
ls -F / bin : /bin@ (바로가기) 디렉토리 자체의 정보를 보여준다.
ls -F /bin/* : 모든 파일 뒤에 *가 붙어 있다.
ls -w 30 : 출력 폭을 30으로 지정한다.
ls --quote-name : 롱 옵션이다. 파일 이름을 "로 묶어서 출력한다.
"bin" "etc" ...
롱 옵션에서 다른 옵션과 혼동될 여지가 없으면 뒷부분을 생략할 수 있다.
-w == --width 롱 옵션은 뜻이 명확하다.