Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Javascript
- BOJ
- 숙명여자대학교 정보보안 동아리
- XSS Game
- 파이썬
- CSS
- HTML
- siss
- 생활코딩
- Sookmyung Information Security Study
- 백준
- lob
- PHP 웹페이지 만들기
- c++
- 풀이
- c
- WarGame
- 머신러닝
- 드림핵
- hackerrank
- 자료구조 복습
- 웹페이지 만들기
- Python
- BOJ Python
- hackctf
- 기계학습
- SWEA
- 숙명여자대학교 정보보안동아리
- C언어
- The Loard of BOF
Archives
- Today
- Total
혜랑's STORY
[2020-2학기 리눅스 5주차] : 이론 본문
#파일 속성으로 파일 찾기
- find 명령어 : 파일 이름이나 속성을 이용하여 해당되는 파일을 찾는다.
$ find 디렉터리 [-옵션] -> 옵션의 검색 조건에 따라 지전된 디렉터리 아래에서 해당되는 파일들을 모두 찾아 출력한다. |
- find 명령어 검색 조건
검색 조건 및 처리 방법 | 설명 |
-name 파일이름 | 파일 이름으로 찾는다. |
-atime +n | 접근 시간이 n일 이전인 파일을 찾는다. |
-atime -n | 접근 시간이 n일 이내인 파일을 찾는다. |
-mtime +n | n일 이전에 변경된 파일을 찾는다. |
-mtime -n | n일 이내에 변경된 파일을 찾는다. |
-perm nnn | 파일 권한이 nnn인 파일을 찾는다. |
-type x | 파일 종류가 x인 파일들을 찾는다. |
-size n | 사이즈가 n이상인 파일들을 찾는다. |
-link n | 링크된 개수가 n인 파일들을 찾는다. |
-user 사용자이름 | 사용자 이름으로 찾는다. |
-gruop 그룹이름 | 그룹이름으로 찾는다. |
찾은 파일의 절대 경로명을 화면에 출력한다. | |
-ls | 찾은 파일에 대해 ls -dils 명령어 실행 결과를 출력한다. |
-exec cmd {}; | 찾은 파일들에 대해 cmd 명령어를 실행한다. |
- find 명령어의 exec 옵션 : 검색한 모든 파일을 대상으로 동일한 작업(명령어)을 수행
# 파일 필터링
- grep 명령어
$ grep 패턴 파일* -> 파일(들)을 대상으로 지정된 패턴의 문자열을 검색하고, 해당 문자열을 포함하는 줄들을 출력한다. |
- grep 명령어의 옵션
옵션 | 기능 |
-i | 대소문자를 무시하고 검색한다. |
-l | 해당 패턴이 들어있는 파일 이름을 출력한다. |
-n | 각 줄의 줄번호도 함꼐 출력한다. |
-v | 명시된 패턴을 포함하지 않는 줄을 출력한다. |
-c | 패턴과 일치하는 줄 수를 출력한다. |
-w | 패턴이 하나의 단어로 된 것만 검색한다. |
- 정규식(Regular Expression)
문자 | 의미 | 예 |
? | 한 글자 혹은 없음을 의미한다. | ‘ab?’는 ab 혹은 ab 다음에 한 글자가 오는 문자열 |
. | 임의의 한 문자를 의미한다. | ‘a...b’는 a로 시작해서 b로 끝나는 5글자 문자열 |
* | 바로 앞의 것을 0번 이상의 반복 | ‘a*b’는 b, ab, aab, aaab, ... 등의 문자열 |
[] | [과 ] 사이의 문자 중 하나를 의미 - 기호 : 문자의 번위를 지정 |
‘[abc]d’는 ad, bd, cd를 뜻한다. [a-z]는 a부터 z까지 중 하나 |
[^...] | [^ 과 ]사이의 문자를 제외한 나머지 문자 중 하나를 의미한다. | ‘[^abc]d’는 ad, bd, cd는 포함하지 않고 ed, fd 등 은 포함. [^a-z]는 소문자가 아닌 모든 문자 |
^,$ | 각각 줄의 시작과 끝을 의미한다. | ‘^문자열’은 문자열로 시작하는 줄을 나타낸다. ‘문 자열$’은 문자열로 끝나는 줄을 나타낸다. |
# 파일 정렬
- sort 명령어
$ sort [-옵션] 파일* -> 텍스트 파일(들)의 내용을 줄 단위로 정렬한다. 옵션에 따라 다양한 형태로 정렬한다. |
- 정렬 필드 지정
필드 지정 | 기능 |
-k 필드 번호 | 필드번호에 해당하는 필드를 기준으로 정렬한다. 이 옵션에서 필드번호는 1부터 시작된다. |
+ 시작필드 - 종료필드 |
시작필드부터 종료필드-1까지의 필드들을 기준으로 정렬한다. 이때 필드버노는 0부터 시작된다. |
- sort 명령어의 옵션
옵션 | 기능 |
-b | 앞에 붙는 공백은 무시한다. |
-c | 이미 정렬된 상태인지 확인 |
-d | 숫자, 문자. 공백만 비교하여 사전식 순서로 정렬한다. [a-zA-Z0-9] |
-f | 대소문자를 구분하지 않고 정렬한다. |
-n | 숫자 문자열의 숫자 값에 따라 비교하여 정렬한다. |
-r | 역순(내림차순)으로 정렬한다. |
-t 문자 | 지정한 문자를 필드 구분자로 사용한다. |
# 파일 비교
- cmp 명령어
$ cmp 파일1 파일2 ->파일1과 파일2가 같은지 비교한다. -> 두 파일이 같으면 아무 것도 출력하지 않음. 두 파일이 서로 다르면 서로 달라지는 위치 출력 |
- diff 명령어
$ diff [-i] 파일1 파일2 -> 파일1과 파일2를 줄 단위로 비교하여 그 차이점을 출력한다. (-i옵션은 대소문자를 무시하여 비교한다.) -> 첫번째 파일을 두번쨰 파일 내용과 같도록 바꿀 수 있는 편집 명령어 형태로 출력 |
# 기타 파일 조작
- split 명령어 : 파일 나누기
$ split [-l n] 입력파일 [출력파일] -> 하나의 입력파일을 일정한 크기의 여러 개 작은 파일들로 분할한다. -l n 옵션을 이용하여 분활할 줄 수를 지정할 수 있다. |
- cat 명령어를 이용한 파일 합병
$ cat 파일1 파일2 > 파일3 -> 파일1과 파일2의 내용을 붗여서 새로운 파일3을 만들어 준다. |
- paste 명령어를 이요안 파일 병합
$ paste [-s][-d구분문자] 파일* -> 여러 파일들을 병합하여 하나의 파일을 만들어 준다. ( -s : 한 파일 끝에 다른 파일 내용을 덧붙인다. / -d구분문자 : 어떠한 문자로 열을 구분하는지 지정한다. 기본값은 탭문자) |
# 명령어 스케줄링
- 주기적 실행 : cron(유닉스의 명령어 스케줄링 시스템으로 crontab 파일에 명시된 대로 주기적으로 명령을 수행한다.)
- crontab 파일 등록법
$ crontab 파일 -> crontab 파일을 cron 시스템에 등록한다. |
- crontab 명령어
$ crontab -l [사용자] -> 사용자의 등록된 corntab 파일 리스트를 보여준다. $ crontab -e [사용자] -> 사용자의 등록된 corntab 파일을 수정 혹은 생성한다. $ crontab -r [사용자] -> 사용자의 등록된 corntab 파일을 삭제한다. |
- 한번 실행 : at(미래의 특정 시간에 지정한 명령어가 한 번 실행되도록 한다. 실행할 명령은 표준입력을 통해서 받는다.)
$ at [-f 파일] 시간 -> 지정된 시간에 명령이 실행되도록 등록한다. 실행할 명령은 표준입력으로 받는다. (-f : 실행할 명령들을 파일로 작성해서 등록할 수도 있다.) |
# 디스크 및 아카이브
- 아카이브 : 백업 또는 다른 장소로의 이동을 위해 여러 파일들을 하나로 묶어놓은 묶음. 아카이브를 만들거나 푸는데 tar(tape archive) 명령어 사용
$ tar -cvf 타르파일 파일+ -> 여러 파일들을 하나의 타르파일로 묶는다. 보통 확장자로 .tar사용 $ tar -xvf 타르파일 -> 하나의 타르파일을 풀어서 원래 파일들을 복원한다. $ tar -tvf 타르파일 -> 타르파일의 내용을 확인한다. |
# 파일 압축
- gizp 명령어 : 파일들을 하나의 타르파일로 묶은 후 compress/gzip을 사용해 압축
$ gzip [옵션] 파일* -> 파일들을 압축하여 .gz 파일을 만든다. -d : 압축을 해제한다. -l : 압출파일 안에 있는 파일 정보(압축된 크기, 압축물) 출력한다. -r : 하위 디렉터리까지 모두 압축한다. -v : 압축하거나 풀 때 압축률, 파일명을 출력한다. |
- compress/ uncompress 명령어
$ compress 파일* -> 파일들을 압축하여 .Z 파일을 만든다. $ uncompress 파일.Z* -> 압축된 파일들을 복원한다. |
# AWK
- 일반 스크립트 언어
- AWL(Aho, Weinberger, Kernighan)
- 텍스트 형태로 되어있는 각 줄을 필드로 구분하여 처리하낟.
- 필드 : 줄을 구성하는 단어
$ awk 프로그램 파일* $ awk [-f 프로그램파일] 파일* -> 텍스트 파일을 대상으로 하여 각 줄을 필드로 구분하고 이들을 awk 프로그램이 지시하는대로 처리한다. |
'2020 SISS 21기 활동 > 2학기 리눅스' 카테고리의 다른 글
[2020-2학기 리눅스 6주차] : 이론 (0) | 2020.11.07 |
---|---|
[2020-2학기 리눅스 5주차] : 실습 (0) | 2020.11.01 |
[2020-2학기 리눅스 3주차] : 실습 (0) | 2020.09.27 |
[2020-2학기 리눅스 3주차] : 이론 (0) | 2020.09.27 |
[2020-2학기 리눅스 1주차] : 실습 (0) | 2020.09.21 |