<학습목표>
1. 디렉터리 및 파일에 관련된 명령어에 대해 알아보자.
1. 디렉터리
pwd, ls, file
(1) 현재 작업 디렉토리 확인 : pwd
(2) 디렉토리 변경 : cd <directory>
(3) 파일목록 : ls
◆ls가 자주 사용하는 옵션
◇ -a
■ . :현재 디렉토리
■ .. :상위 디렉토리 ( root디렉토리는 눌러도 그대로 root디렉토리)
◇ -F
출력화면==> dirA/ fileA fileB@
■ / : 디렉토리
■ *(애스태리스크): 실행파일 ex) windows에서 확장자 .exe인 파일
■ @(앱마스크): 심볼릭 링크 /소프트 링크
■ 없음 : txt파일
◇ -R
■ 하위 디렉토리까지 모두 출력
◇ -d
■ 해당 디렉토리 자체를 가리킴 (-l 과 주로 같이사용, 현재 디렉토리 안에 해당 디렉토리가 존재하는지 확인 )
◇ -l
■ 파일의 속성을 확인할 수 있음
drwxr-xr-x. 2 root root 6 7 Feb 17 2022 dev
■ d: 파일의 형식
□ d: 디렉토리
□ l : 심볼릭링크
□ - : 텍스트파일/실행파일
□ b: 블록장치
□ s: 소켓파일 (네트워크)
□ c: 문자장치 (원시(raw)장치)
□ p: 파이프 (Pipe)
■ rwxr-xr-x: permission(권한)
□ rwx: 소유자 권한
□ r-x: 소유 그룹 권한
□ r-x: 기타 사용자 권한
■ . : ACL (Access Control List, 접근제어 목록)
■ 2 : 하드 링크 수 (반드시 최소 1개 이상 존재)
■ root: 소유자(Owner, 이 파일을 생성한 사람)
■ root: 소유 그룹(Group)
■ 6: 파일의 크기(단위: byte)
■ 7 Feb 17 2022 : Modified Time (마지막으로 수정한 시간)
◆ 파일의 상태 확인
$ stat (파일명)
◇ Access
◇ Modify : 수정시간
◇ Change
□ MAC timestamp
- M: Modified (파일 내용 수정&저장)
- A: Access (파일 열기)
- C: Changed (속성 변경)
■ Modify VS Change 차이점이 뭘까요?
파일 수정 후 저장을 하면 Modify Time이 변경됩니다.
파일 속성이 변경될 경우, Change Time이 변경됩니다.
파일 속성? → drwxr-xr-x. 2 root root 6 7 Feb 17 2022 dev
이 중에 하나라도 변경되면 Change time이 변경됩니다.
2. 파일
cat, more, less, head, tail, wc
◆ 파일 출력
◇ cat
■ 파일 한번에 출력 (처음부터 끝까지 바로 출력되기 때문에 내용이 짧을 경우, 권장 )
◇ more
■ 페이지단위로 보여짐
■ 실행파일은 사용하면 안되고, txt파일 등 실행상태가 아닌 파일에만 사용해야 함
■ more를 가장 많이 사용
■ b : 이전페이지
■ Enter키: 한줄씩 출력
■ Space바 : 다음페이지 출력
■ /문자열 : 문자열 검색 가능 n: 아래로 N:위로
◇ less
■ 화살표 키를 사용가능
■ /문자열 : 문자열 검색 가능 n: 아래로 N:위로 (하이라이트 기능도 있음)
◇ head
■ 파일의 처음 10줄 출력
◇ tail
■ 파일의 끝 10줄(기본) 출력 ex) tail -3 일 경우, 3줄 출력
■ tail -n +20 /var/log/~~ +20줄 이후부터 내용부터 출력
◇ wc (word counter)
■ ex) wc /etc/services
→11176 61033 670293
라인수 | 단어 수 | 문자의 수
■ 옵션 -l (line counter)
→ Only 라인 수만 출력
3. 디렉토리 및 파일 내용 변경
cp, mv, touch, mkdir, rm, rmdir, ln
1) 복사
cp [option] source(s) target
◆ option
◇ -i : 덮어쓸 것인지 확인
◇ -r : source(s)에 '디렉토리 디렉토리' 일 경우, 반드시 r 옵션을 지정해주어야 복사 가능
source target
-------------------------------
파일 파일
파일 디렉토리
디렉토리 디렉토리
2) 이동
mv [option] source(s) target
◇ 얘는 디렉토리 디렉토리 상관X
◇ source와 target의 경로가 같으면 이름 변경
3) 생성
◆ touch : 파일생성
◇ 빈파일(size=0).
◇ 이미 파일이 존재한다면 mtime을 현재 시각으로 변경(atime, ctime, mtime)
◆ mkdir : 디렉토리 생성
◇ 경로 안에 존재하지않은 디렉토리 넣으면 안됨! ex) mkdir dirA/dirB/dirC 불가능!
◇ -p : 부모 디렉토리까지 같이 생성
4) 디렉토리
◆ rmdir <directory>
◇ 반드시 디렉터리 안에 내용이 없어야 함.
◆ rm
◇ rm dirA/*
◇ [option]
■ -r (recursive,재귀) : 하위디렉터리 포함
ex) rm -r :하위디렉터리 포함해서 모두 삭제
5) 링크
◆ 심볼릭 링크(Symbolic)/소프트 링크
◇ ln -s source target
■ 윈도우의 바로가기와 똑같다.
■ ex) ln -s origin symbolic
-> 내용: symbolic 파일에는 origin파일이름 (6byte) 글자가 들어있음.
■ 디렉토리도 심볼릭 링크 걸 수 있음!
■ 다른 장치에 생성 가능
■ 여러개 만들수록 사이즈가 늘어남
■ 원본과 inode 값이 다름
◆ 하드 링크
◇ ln source target
■ 수정하면 원본파일도 수정됨. inode를 공유
■ ex) ln origin symbolic hard
■ 파일은 모두 하드링크가 하나는 반드시 존재. (심볼릭링크도 디폴트 1)
■ 디렉토리는 하드 링크를 걸 수 없음!
■ 다른 장치에 생성 불가 다른 장치?=물리적인 공간(disk)이 다름
■ 여러개 만들어도 사이즈 늘어나지 않음.
■ 원본과 inode값이 같음
'Linux' 카테고리의 다른 글
6. 사용자 및 그룹 관리 (0) | 2023.09.18 |
---|---|
5. Permission(권한) (0) | 2023.09.18 |
4. vi Editor(에디터) (0) | 2023.09.18 |
3. 파일 및 디렉터리 검색 (0) | 2023.09.18 |
[Linux] 리눅스 기본 환경 (0) | 2023.09.18 |