Search

Expression

Date
2024/11/29
Category
Devops
Tag
Linux
목차

파일 생성

touch

새로운 파일을 생성할 때 사용
사용 시 파일의 마지막 수정 시간을 변경

cat

일반 파일 내용을 출력하는 명령어
Shell의 리다이렉션(>, >>) 기능을 통해 파일을 생성하거나 내용 추가 가능
cat > 파일명 파일 내용 작성 # (Ctrl + D: 내용 입력 종료) # (Ctrl + Z: 파일 저장 후 작성 종료)
Shell
복사
Ctrl + Z 는 정상 종료에 대한 커맨드가 아니니 Ctrl + D 로 수행하는 것이 나아보임

echo

환경 변수나 문자열을 출력
Shell의 리다이렉션 기능을 사용해 파일에 내용을 저장 가능
echo 문자열 # 기본 사용 - 문자열이 그대로 출력됨 echo 문자열 > 파일명 # 새로운 파일에 문자열 작성 echo 추가_문자열 >> 파일명 # 기존 파일에 문자열 추가
Shell
복사

파일 링크

파일 시스템에서 파일에 대한 참조를 생성하는 방법
링크는 실제 데이터 파일을 가리키는 포인터 역할을 함

Hard Link

ln [original file] [link filename]
동일한 파일 시스템 내에서 원본 파일과 동일한 inode를 공유하는 파일
원본 파일과 동일한 데이터를 가리킴
원본 파일을 삭제하더라도 상관없이 사용 가능
디렉토리 링크 불가능

Soft Link / Symbolic Link

ln -s [original file] [link filename]
원본 파일의 경로를 가리키는 파일로, 하드 링크와 달리 원본 파일의 경로를 저장
원본 파일이 삭제되거나 이동하면 ‘broken link’가 되어 데이터 접근 불가능
다른 파일 시스템에서도 생성 가능
파일, 디렉토리 모두 링크 가능

i-node

Unix 계통 파일 시스템에서 사용되는 자료구조로, 파일에 대한 메타데이터 저장
파일 시스템의 모든 파일은 i-node를 가짐
메타데이터는 다음과 같은 정보를 포함:
소유권: 파일의 소유자 및 그룹에 대한 정보
허가권: 파일에 대한 읽기, 쓰기, 실행 권한 정보
실제 위치: 파일의 데이터 블록이 저장된 위치에 대한 정보
파일 크기: 바이트 단위의 파일 크기
타임스탬프: 파일의 생성 시간, 수정 시간, 접근 시간 등의 정보
각 i-node는 고유 식별번호를 가지며, 이를 통해 파일 시스템에서 파일 참조
식별번호를 통해 파일의 물리적 위치와 메타데이터 연결
hard_link 파일과 origin 파일의 inode가 같음을 확인할 수 있음
origin 파일을 삭제하니 soft_link의 데이터 접근이 불가능해졌지만 hard_link는 정상 작동함

grep

Global Regular Expression Print
시스템 내부에서 패턴과 키워드를 활용한 검색 명렁어
grep [option] "패턴+키워드" [file]

option

옵션
의미
-n
라인 표현
-i
대소문자 구분없이 검색
-v
검색 단어가 제외된 내용 검색
-b
문자와 일치하는 줄의 시작점 출력
-c
문자와 일치하는 라인 수 출력
-w
해당 문자열(단어)와 일치한 경우 출력
-W
해당 문자 한 글자와 일치한 경우 출력
-A
특정 문자 아래 추가로 여러 행 출력
-B
특정 문자 위 추가로 여러 행 출력
-m
라인번호와 내용 검

정규 표현식 pattern

패턴
의미
.
임의 문자 하나
?
문자 존재하거나 존재하지 않음(0, 1)
*
문자 미존재 또는 무한대로 존재(0~*)
+
문자 한번 이상 존재(1~*)
^
기호 바로 뒤 문자로 문자열 시작
$
기호 바로 앞의 문자로 문자열이 끝남
{숫자}
숫자만큼 반복
{숫자,}
숫자 이상만큼 반복
{숫자1, 숫자2}
숫자 1 이상, 숫자 2 이하 만큼 반복
(문자열)
문자나 문자열 묶음
[문자1, 문자2,…]
대괄호 안에 있는 문자들이 존재하는지 검색
[^ ]
[ ] 안에 포함되지 않는 문자
[:알파벳:]
알파벳만 검색
[:알파벳숫자]
알파벳과 숫자 검색
[:숫자:]
숫자 검색
[:upper:]
대문자 검색
\\
\ 글자 자체를 검색
\d
모든 숫자 검색 [0-9]와 동일
\D
[^0-9]와 동일, 숫자를 제외한 모든 문자 검색
\s
공백 검색
\S
공백이 아닌 문자 검색
\w
숫자 또는 문자 검색 [a-zA-Z0-9]word 를 표현
\W
숫자 또는 문자가 아닌 것 검색 [^a-zA-Z0-9] non word를 표현
[ ]
[ ] 안에 포함된 임의의 문자 하나
[xy]
문자 선택, x 와 y 중 하나( x와 y 중에 먼저 나온 단어 검색)
[^xy]
x 및 y 를 제외한 문자
[a-z]
범위 , a ~ z 사이 문자
\^
escape, ^ 를 문자로 사용함
\b
문자와 공백 사이의 문자
\B
문자와 공백 사이가 아닌 문자
\d
숫자
\D
숫자가 아닌 것
패턴 예시
# number ^[0-9]*$ # alphabet ^[a-zA-Z]*$ # KR ^[가-힣]*$ # email ## 계정@도메인.최상위도메인 ^[a-zA-Z0-9+-_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$ # phone number ## 3자리-3or4자리-4자리 ^\d{3}-\d{3,4}-\d{4}$ ## +82-01x-xxxx-xxxx 검증 ^\+82-01[0|1]-\d{4}-\d{4}$ # password ## 최소 8자, 최소 1개 문자, 숫자, 특수문자 포함 ^(?=.*[A-Za-z])(?=.*\d)(?=.*[@!%*#?&])[A-Za-z\d@!%*#?&]{8,}$ # KR-Resident Registration Number, RRN ## 예시 123456-(1, 2, 3, 4)234567 ^\d{6}-[1-4]\d{6}$ ## yyMMdd 형식을 맞춘 정규식 ^\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])-[1-4]\d{6}$ # Post Code ### 예시 123-456 ^\d{3}-\d{3}$ # ID ## 영문조합만 사용, 5~10자 사이 ^[a-zA-Z]{5, 10}$
Bash
복사