1. 파일과 디렉토리

클릭: 앞 포스팅 글
# Print Working Directory: 현재 작업 디렉토리
pwd

# List Segments: 현재 위치에 있는 파일과 디렉토리
ls
ls -al

# Change Directory: 디렉토리 이동
cd [디렉토리 이름]

# 파일 속성 조회
stat [파일명]

# 파일 삭제
rm [파일 또는 디렉토리 이름]
rm -rf [파일 또는 디렉토리 이름]
(r옵션은 recursive라는 의미로 디렉토리 안에 있는 파일 삭제 원할 때)
(f옵션은 forced라는 의미로 묻지 않고 삭제)


# Concatenate: 파일 내용 조회
cat

head [파일 이름]
head -n 10 [파일 이름]

tail

# 파일 내용 중에서 찾고자 하는 문자열 검색
grep ["찾는 문자열"] [파일 이름]
ls -al | grep ["찾는 문자열"]

# 파일 검색
find
find [원하는 경로] -name ["찾고 싶은 파일 이름"] -print
(원하는 경로 포함 하위 디렉토리를 모두 검색)
(ex. find /etc -name "*.txt" -print)
(ex. find -name "*.conf" -print)

(find | grep "conf" 간단하게 이렇게 써도 된다)
# 압축 관련 커맨드  

확장자: .zip, .gz, .tar.bz, .tar.gz

# .gz 파일로 압축하기
gzip [파일명]

# .gz 파일 압출 풀기
gunzip [파일명]


tar는 여러 파일들을 하나로 엮어주는 역할을 하는 툴 -> tar.gz는 여러 파일을 tar를 통해 하나로 묶고 gzip으로 압축한 파일

# tar 파일로 만들기
tar -cf [만들 파일명] [파일 목록]

# tar 파일 + gzip으로 압축까지 하기
tar -cfz [만들 파일명] [파일 목록]
(ex. tar -czf test.tar.gz filelist.gz snap/ 사진) -> filelist.gz, snap/, 사진이라는 파일과 디렉토리들을 tar.gz 파일로 만든다

# tar.gz 파일 압축 풀기
tar -zxf [파일경로]

1) 파일 관련 추가 명령어

# 빈 파일 만들기
touch [파일명]

# 파일 작성해서 만들기
nano [파일명] -> nano편집기로 이동

# 파일 이동(또는 이름 바꾸기)
mv [원래 파일명] [바꿀 파일명 또는 경로]

2) 디렉토리 관련 추가 명령어

# 디렉토리 만들기
mkdir [디렉토리명]

# 빈 디렉토리 삭제하기
rmdir [디렉토리명]

# 비어있지 않은 디렉토리 삭제하기
rm -rf [디렉토리명]

# 디렉토리 이동(또는 이름 바꾸기)
mv [디렉토리 명] [바꿀 디렉토리명 또는 경로]

3) 파일 실행

  • 쉘 스크립트 예시
#!/bin/bash

ls
pwd
...
# 명령어 위치 검색
which [명령어]
명령어는 기본적으로 실행될 때 환경변수에 지정된 경로에서 명령어를 찾아 실행
-> 내가 만든 파일을 실행시키려면 실행할 때 경로를 함께 적어주거나, 환경변수에 경로를 추가한다

# 경로 함께 적어서 실행
[경로 포함된 파일명]
(ex. /home/apple/firstscript)
(ex. ./firstscript)

# 환경변수에 경로 추가해놓기
근데 파일 실행하려고 환경변수에 추가하면 환경변수가 지저분해져서 지양한다

# 파일 실행안되면 파일 권한에 실행 권한(x)이 있는지 확인하기

2. 아이노드, 하드링크, 소프트링크

하드링크와 소프트링크는 복사와 비슷한 개념입니다.

  • 아이노드: 파일의 크기, 소유자, 저장 위치와 같은 메타데이터
  • 하드링크: 새로운 파일 이름(경로)를 갖지만 아이노드와 데이터는 공유 -> 파일 크기 같다
  • 소프트링크: 새로운 파일 이름(경로)와 새로운 아이노드, 데이터는 원래 파일을 가리키는 정보만 가진다 -> 파일크기 훨씬 작다

1) 파일의 아이노드(메타 데이터) 조회

# 파일들의 아이노드 인덱스
ls -i

2) 하드링크

ln [원래 파일명] [하드링크로 만들 파일명]

3) 소프트링크

ln -s [원래 파일명] [소프트링크로 만들 파일명]

Tags:

Categories:

Updated: