728x90

아카이브

여러 개의 파일을 하나의 파일로 묶어서 보관하는 방식
백업 및 복제 등의 용도로 사용

 

tar 옵션

옵션 설명
c(create) 새로운 묶음 생성
x(extract) 묶인 파일을 풀어줌
t(list) 묶음을 풀기 전에 목록을 보여줌
f(file) 묶음 파일명을 지정해줌
v(visual) 파일이 묶이거나 풀리는 과정을 보여줌

 

아카이브 생성

tar cf [TAR_FILE] [FILE1] [FILE2] [FILE3]
tar cVf [TAR_FILE] [FILE1] [FILE2] [FILE3]

 

아카이브 파일 목록 확인

tar tf [TAR_FILE]
tar tvf [TAR_FILE]

 

아카이브 해제

tar xf [TAR_FILE]
tar xvf [TAR_FILE]

 

압축

파일의 크기를 줄이는 방식

 

압축 옵션

압축 방식 옵션 확장자 특징
gzip z .tar.gz 가장 오래되고 속도가 빠름
bzip2 j .tar.bz2 고용량에 압축률이 gzip보다 좋음
xz J .tar.xz 가장 최근에 만들어짐, 압축률이 좋음

 

아카이브 및 gzip 압축 생성

tar zcf [TAR_GZIP_FILE] [FILE1] [FILE2] [FILE3]
tar zcvf [TAR_GZIP_FILE] [FILE1] [FILE2] [FILE3]

 

gzip 아카이브 파일 목록 확인

tar ztf [TAR_GZIP_FILE]
tar ztvf [TAR_GZIP_FILE]

 

gzip 아카이브 해제

tar zxf [TAR_GZIP_FILE]
tar zxvf [TAR_GZIP_FILE]

 

728x90
728x90

표준 입출력

프로세스는 입력 값에 대한 연산 이후 결과를 출력함
명령어는 일반적으로 키보드 입력 및 터미널 출력

 

번호 채널 이름 설명 장치
0 stdin 표준 입력 키보드
1 stdout 표준 출력 모니터(터미널)
2 stderr 표준 에러 모니터(터미널)

 

 

리다이렉션

프로세스의 입력 또는 출력 대상을 변경
일반적으로 출력 값을 파일로 저장하는 용도로 사용
표준 입출력 및 표준 에러에 대한 처리 가능

 

메타 문자 기능
< 표준 입력 재지정
> 표준 출력 재지정(덮어쓰기)
>> 표준 출력 재지정(이어쓰기)
2> 표준 에러 재지정(덮어쓰기)
2>> 표준 에러 재지정(이어쓰기)
&> 표준 출력 & 에러 재지정(덮어쓰기)
&>> 표준 출력 & 에러 재지정(이어쓰기)

 

 

파이프와 티

파이프

선행 프로세스의 실행 결과를 후속 프로세스의 입력으로 전달하는 것

 

파이프와 유사하지만 출력에 대한 처리를 2가지 방식으로 제공
리다이렉션과 파이프의 기능 동시 사용

 

728x90
728x90

정규 표현식

 - 특정한 규칙을 가지는 문자열을 정의하기 위한 표현 방식

 

정규 표현식 메타 문자

메타 문자 설명
^ 행의 시작 지정
$ 행의 마지막 지정
. 임의의 문자 1개 매칭
* 0개 ~ 무한대 갯수의 임의의 문자 매칭
[] 패턴 내에서 1개 문자 매칭
[^] 패턴을 제외한 1개 문자 매칭

 

정규 표현식 사용 예제

//정규 표현식을 이용한 파일 내용 검색
grep 'root' /etc/passwd

//root를 포함하는 행 검색 후 행번호 출력
grep -n 'root' /etc/passwd

//root를 포함하지 않은 행을 검색
grep -v 'root' /etc/passwd

//root가 매치되는 패턴 개수 구하기
grep -c 'root' /etc/group

//행의 처음에서 검색
grep '^root' /etc/passwd

//nologin으로 끝나는 행 검색
grep 'nologin$' /etc/passwd

//p로 시작하고 x로 끝나는 7자리 단어가 포함된 행 검색
grep 'p.....x' /etc/passwd

//bash 패턴을 단어 단위로 검색
grep -w 'bash' /etc/passwd

grep -w 'a..' /etc/passwd
grep -w 'g..' /etc/passwd

grep 'o*t' /etc/passwd

grep 'a[abcde][a-z]' /etc/passwd
grep 'a[^a-d][a-z]' /etc/passwd
grep 'a[^a-l][a-z]' /etc/passwd

 

728x90
728x90

1. 파이썬 설치 파일 다운로드

 

아래 링크로 접속하여 파이썬 설치 파일 다운로드

 

https://www.python.org/

 

Welcome to Python.org

The official home of the Python Programming Language

www.python.org

 

 

2. 파이썬 설치

Add Python 3.10 to PATH 옵션 누락 시 실습할 때 오류가 발생할 수 있음
(파이썬이 어느 곳에서든지 실행될 수 있도록 해당 옵션 반드시 체크)

 

 

설치가 완료되면 Close 클릭

 

파이썬 실행

728x90
728x90

vi 편집기

- 리눅스 시스템의 기본 편집기
- vi 편집기의 향상된 버전
- 텍스트 기반의 동작 방식
- 4가지 동작 모드 지원

 

MODE 설명
Command mode 커서 이동 및 단순 편집 기능
 - vi 에디터의 기본 모드
 - 명령을 수행하는데 사용(복사, 삭제, 이동)
Edit mode 내용 추가 및 수정
Extended mode 추가 기능 지원
 - vi 에디터의 환경 설정
 - 파일 저장, 종료
 - 검색, 치환(찾아바꾸기)
Visual edit mode 블록 처리 기능 제공

 

vi 편집기 단축키 정리

  단축키 설명
command 모드 > edit mode i 커서 앞
a 커서 뒤
o 커서 아래 라인에
I 라인에 앞
A 라인에 뒤
O 커서 위에
R REPLACE 모드
r 문자 하나만 수정
S 라인 자체를 삭제하면서 edit mode 진입
s 한 단어 삭제 후 edit mode 진입
C 커서부터 라인 끝까지 삭제 후 edit mode 진입
cw 한 단어 삭제하고 edit mode 진입
lastline mode :q 수정을 안했을 시에 종료
:q! 수정을 저장하지 않고 종료
:w 저장하기
:wq 저장하고 종료
:x 저장하고 종료
:w or wq or :x PATH/file 명 다른 이름으로 저장하기
:set nu or set number 행 번호 표시
:set nonu 행 번호 표시 취소
:n,m,d n라인부터 m라인까지 삭제
:n,m co l n 라인부터 m 라인까지 복사해서 l 라인 아래에 붙여넣기
:n,m m l n 라인부터 m 라인까지 잘라내서 l 라인 아래로 이동
:%s/A/B/g 문서 전체에서 A를 B로 바꾸기
SP, EP s/A/B/g SP 라인부터 EP 라인까지 A를 B로 바꾸기
/string string 검색(내림차순)
?string string 검색(오름차순)
커서 이동 h 왼쪽 이동
j 아래 이동
k 위로 이동
l 오른쪽 이동
^ 라인에 맨 앞에
$ 라인에 맨 뒤에
H 화면에 처음 라인
L 화면에 마지막 라인
gg or 1G 문서의 처음
G 문서의 마지막 라인
num G number 라인
삭제 dd 라인 삭제(잘라내기)
dw 단어 삭제(잘라내기)
d^ 커서 앞에서 라인 처음까지 삭제(잘라내기)
d$ 커서 포함 라인 뒤까지 삭제(잘라내기)
x 한 문자 삭제(잘라내기)
실행 취소/재실행 U 라인에 수정한 것으로 원복하고 싶을 때
u 작업 취소
ctrl + r 작업 재실행
복사/붙여넣기 yy 라인 복사
yw 단어 복사
y^ 커서 앞부터 라인 앞까지 복사
y$ 커서 포함 라인 뒤까지 복사
P - 라인 복사 시에는 커서의 윗라인에 붙여넣기
- 라인이 바뀌지 않는 복사 시에 커서의 앞에 붙여넣기
p - 라인 복사 시에는 커서의 아래에 붙여넣기
- 커서의 뒤에 붙여넣기

 

728x90
728x90

파일(File)이란?

 - 데이터를 가지고 있는 저장 장치에 저장된 객체

 

디렉토리(Directory)란?

 - 파일을 포함할 수 있는 특수한 파일

 

디렉토리 및 파일 내용 확인

파일 내용 확인

명령어 옵션 설명
cat cat [FILE] 파일 내용 전체 확인
head
head [OPTION] [FILE] 파일의 맨 앞 내용 확인
-n [NUM] 파일의 맨 앞부터 출력하고자 하는 행의 갯수 지정
tail
tail [OPTION] [FILE] 파일의 후반부 확인
-n [NUM] 파일의 맨 뒤부터 출력하고자 하는 행의 갯수 지정
more/less  more/less [FILE] 파일 내용을 페이지 단위로 확인
grep  grep [OPTION] [PATTERN] [FILE]

[OPTION]
 -i: 대소문자 상관없이 검색
 -n: 찾는 내용이 있는 행 번호를 같이 출력
 -v: 특정 내용을 제외하고 검색
 -c: 찾는 내용이 포함된 행의 갯수 출력
 -w: 단어(word) 단위 검색 
파일 내용에서 찾고자 하는 내용이 포함된 행 출력

 

디렉토리 및 파일 관리 작업

파일 관리 명령어

명령어 사용 용도 사용법
mkdir 디렉토리 생성 mkdir <DIRECTORY>
rmdir 디렉토리 삭제 rmdir <DIRECTORY>

 

 

명령어 사용 용도 사용법
touch 새로운 빈 파일 생성 touch [FILE]
cp 파일/디렉토리 복사 cp [SOURCE DESTINATION]
mv 파일/디렉토리 이동 mv [SOURCE DESTINATION]
rm  파일 삭제 rm [FILE]

 

 

생성 touch [파일 이름]
mkdir [디렉토리 이름]
빈 파일 생성
디렉토리 생성
복사
cp [원본 파일] [사본 파일]
cp [원본 파일] [디렉토리]
단일 파일 복사
cp [원본 파일1] [원본 파일2] [원본 파일N] [디렉토리] 다중 원본 파일 복사
cp -R [원본 디렉토리1] [원본 디렉토리2] [원본 디렉토리N] [디렉토리] 다중 원본 디렉토리 복사
cp -R [원본 디렉토리] [대상 경로] 디렉토리 복사
이동
mv [원본 파일] [디렉토리] 단일 파일 이동
mv [원본 파일1] [원본 파일2] [원본 파일 N] 디렉토리 다중 파일 이동
mv [원본 디렉토리] [디렉토리] 단일 디렉토리 이동
mv [원본 디렉토리1] [원본 디렉토리2] [원본 디렉토리N] [디렉토리] 다중 원본 디렉토리 이동
삭제 rm [파일]
rm [파일 1] [파일2] [파일3]
rmdir [디렉토리]
rm -r [디렉토리]
rm -rf [디렉토리1] [디렉토리2] [디렉토리N]
단일 파일 삭제
다중 파일 삭제
빈 디렉토리 삭제
디렉토리 및 하위 파일 삭제
다중 디렉토리 및 하위 파일 삭제

 

링크 파일

기본 파일 구조

- 파일의 데이터를 접근할 때는 *i-node 테이블을 통해 접근

- 테이블에서 데이터블록의 위치 확인

- 데이터 블록에 기록된 위치(섹터)에 데이터 저장

* i-node table이란? 파일의 정보를 담고 있는 테이블

 

링크 파일이란?

- 데이터블록에 대한 접근 경로를 추가해주는 방식의 파일

- 파일에 대한 접근성 향상

- 디스크 공간 절약

- 하드 링크와 심볼릭 링크로 구분

 

구분 하드 링크 심볼릭 링크
명령어 ln [원본 파일] [링크 파일] ln -s [원본 파일] [링크 파일]
정의 파일이 물리적으로 저장된 주소를 가리키는 링크 파일이 저장된 논리적인 경로를 가리키는 링크
접근 방식 원본과 같은 i-node 테이블(inode 값 공유) 원본과 다른 테이블(inode 값 공유 x)
디스크 공간 필요 없음 약간의 공간 필요
디렉토리 불가능 가능
파일 시스템 동일한 파일 시스템만 가능 다른 파일 시스템도 가능
가리키는 대상 파일 파일 혹은 디렉토리
원본 파일 제거 이상 없음 접근 불가능

- 파일은 하나의 하드 링크

- 디렉토리는 두 개의 하드 링크를 가짐
- i-node가 동일함 = 물리적으로 저장된 디스크의 위치가 동일함

 

 

심볼릭 링크는 경로를 가르키기 때문에 해당 경로에 원본 파일이 지워지면 접근 불가 (=바로가기)

하드 링크의 경우에는 원본 파일이 지워지더라도 하드 링크를 통해 접근 가능

 

파일 및 디렉토리 검색

명령어 설명 사용법
locate - 기존 데이터베이스 내에서 검색
- 검색 속도가 빠름
- 파일 시스템 구조 변경 시 검색이 안될 수 있음
- 파일 이름으로만 검색
locate [PATTERN]
find - 직접 접근해서 검색하는 방식
- 시간이 오래 걸릴 수 있음
- 여러 가지 조건으로 검색 가능
- 검색과 동시에 추가 작업 가능
find [PATH] [EXPRESSION] [ACTION]

EXPRESSION - 검색 조건
 - name [FILENAME]: 파일 이름 지정
 - type [FILETYPE]: 파일 종류 지정
 - perm [PERM]: 퍼미션 지정
 - user [USER]: 소유자 지정
 - size [+|-][SIZE]: 파일 크기

ACTION - 검색 후 실행할 작업
 - print: 검색한 파일 경로 및 이름 표시
 - ls: 검색한 파일에 대해 자세한 정보를 표시(ls -l과 유사한 형태)
 - exec [COMMAND] {} \;: 검색한 파일에 대해 특정 명령어 실행
 - ok [COMMAND] {} \;: 검색한 파일에 대해 특정 명령어 실행 전 사용자에게 물어본 후 작업 실행

 

728x90
728x90

리눅스 명령어 실습

 

uname [OPTION]

- 운영 체제 버전, 커널 버전 등을 확인하는 명령어

 

OPTION 설명
-s 운영체제 종류 확인
-r 커널 버전 확인

 

cal

- 달력 출력 명령어

 

OPTION 설명
cal 오늘 날짜의 달력 출력
cal MM YYYY 특정 연월 달력 출력
cal DD MM YYYY 특정 일의 달력 출력

 

 

여러 명령어를 한 줄에 입력($ COMMAND1;COMMAND2)

 - 명령어와 명령어 사이의 구분자로 세미콜론(;)을 사용하여 여러 명령어를 한 줄에 입력할 수 있음

 - 명령어를 입력한 순서대로 출력(COMMAND1 실행 > COMMAND2 실행)

728x90
728x90

계층 구조 소개

 

* 점선: 링크를 의미함

 

bin 일반 명령어
boot bootloader 관련 설정 파일, 초기 부팅 파일 시스템
dev 시스템의 장치(하드웨어 장치) 파일
etc 시스템 설정 파일
home 일반 사용자의 홈 디렉토리가 위치함
root 루트 사용자 디렉토리
tmp 모든 사용자들이 사용 가능한 디렉토리
usr 소프트웨어 설치 시 설치되는 파일들이 위치함
var 로그 파일 저장

 

작업 디렉토리와 파일 경로 지정

 

홈 디렉토리

 - 사용자가 파일 생성, 삭제 등의 작업을 할 수 있는 경로

 

작업 디렉토리

 - 사용자가 명령어를 실행할 때 기준이 되는 경로

 - 사용자 로그인 후 기본 작업 디렉토리는 사용자의 홈 디렉토리로 지정됨

 - 작업 디렉토리 변경 시 cd 명령어를 사용하여 변경할 수 있음

 - 현재 작업 디렉토리는 pwd 명령어로 확인할 수 있음

 

절대 경로

 - 최상위 디렉토리(/)부터 시작하는 전체 경로

 

상대 경로

- 작업 디렉토리로부터 대상 파일의 상대적인 경로

. : 현재 디렉토리

.. : 1단계 상위 디렉토리

 

728x90

+ Recent posts