[2024.06.23]
01. 파일 디렉터리 목록 확인
#ls [옵션]
<옵션>
-a: 모든 파일/디렉터리 출력(숨김 파일/디렉터리)
-A: '.', '..'을 제외한 모든 파일 출력(숨김 파일/디렉터리) -- 수업용
-F: 파일/디렉터리를 심볼로 출력(실행 파일(*), 디렉터리(/), 링크 파일(@))
-l: 상세히 목록 출력
-ld: 해당 디렉터리 정보 출력
-h: 파일/디렉터리 크기를 M, KB, MB, GB로 출력
-i: i-node 번호 출력
-m: 가로로 출력 -- 수업용
-n: UID, GID 출력
-R: 하위 디렉터리 안의 파일/디렉터리 목록 출력
-r: 역순으로 출력(내림차순)
ex)
*uid가 0이기 때문에 권한을 갖게 된다
02. 파일/디렉터리 복사
#cp [옵션] [원본] [대상]
#cp file1 file5 <-- file1 파일을 file5 디렉터리로 복사
#cp file1 dir5 <-- file1 파일을 dir5 디렉터리로 복사
#cp f* dir5 <-- 파일명이 f로 시작하는 모든 파일을 dir5로 복사
#cp *.txt dir5 <-- .txt로 끝나는 모든 파일을 dir5로 복사
file1을 dir1으로 저장시키는 명령어
f로 시작하는 모든 파일과 디렉터리를 dir5에 저장시키는 명령어
해당 명령어 역시 .txt 확장자의 모든 파일을 디렉터리 dir5에 저장시키는 명령어다
*풀단어에는 하이픈(-)이 두 개, 하이픈이 하나인 경우에는 약어에 사용
단어와 단어 사이에는 하이픈(-)이 들어간다
<옵션>
-f: 복사/덮어쓰기 여부 확인 안 함
-i: 복사/덮어쓰기 여부 확인
-r: 디렉터리(하위 디렉터리 포함) 복사
-b: 기존 파일 존재 시 백업본 생성
-S: 백업 파일 확장자 지정
ex)
*man alias를 입력하게 되면 내부 명령어를 확인할 수 있다
03. 파일/디렉터리 옮기기
> 파일/디렉터리명 변경
#mv [원본] [대상]
#mv file1 dir1
ex)
04. 파일 내용 확인(부분 확인/출력)
1) cat
#cat [파일명]
2) more
#more: 한 페이지 단위 출력
more 명령어는 %를 표시해 주며, 방향키로 상하로 움직일 수가 없다
3) less
#less: 한 페이지 단위로 출력
반면에 less 명령어는 %로 남은 페이지를 확인시켜 주지는 않지만,
상하로 페이지를 자유자재로 넘길 수 있다
4) head
#head: 앞에서부터 10줄
위에서 10줄을 보고 싶을 때는 head 명령어를 사용한다
5) tail
#tail: 끝에서부터 10줄
끝에서부터 10줄을 보고 싶을 때는 tail 명령어를 사용한다
*끝에서나 앞에서나 원하는 수만큼만 보고 싶다면 head -5 passwd라고 사용하면 된다
ex)
<옵션 or 명령어>
|: 두 개 이상의 명령어를 연결해 주는 명령어
;: 두 개 이상의 명령어를 이어서 실행
ex)
05. 파일의 행, 단어, 문자 수 확인/출력
#wc: 행, 단어, 문자 수 출력
51(행) 126(단어) 3006(문자) passwd(파일명)
<옵션>
-l: 행 수 출력
-w: 단어 수 출력
-c: 문자 수 출력
ex)
06. 문자/문자열 출력
1) grep: 지정된 문자 출력
#grep [추출할 문자/문자열] [파일명]
<옵션>
-E: 여러 개의 문자열 출력
-i: 대소문자 구분하지 않음
-n: 행 수 출력
-v: 지정 문자열을 제외하고 출력
^: 문자열 시작
$: 문자열 끝
ex)
*지정 문자열을 제외하고 출력되는데, -v root라고 적으면 root가 적힌 문자열을 제외하고 출력된다
*콜론(:)이 구분자지만, ^를 사용하게 되면 root로 시작하는 것부터 보여 주게 된다
2) egrep
*egrep도 있어 egrep을 사용하지만, grep은 시험에도 나오기 때문에 사용해 봐야 한다
vi yrg.txt로 해당 파일을 생성하고
각종 옵션을 이용해 어떤 내용이 나오는지 확인
egrep도 사용할 수 있고 |로 추가 영역을 설정할 수 있다
07. 파일 분할/자르기
#split [옵션] [파일명]
#split -l 10 passwd <-- passwd 파일 내용을 10줄씩 분할
#split -l 20 -d -a 4 passwd file_ <-- file_ 파일명 지정
#split -l 20 -d -a 4 --additional-suffix=.txt passwd file_ <-- file_ 파일명에 .txt 확장자 지정
<옵션>
-a: 파일명 자릿수 지정
-c: 바이트 수로 분할
-d: 파일명을 숫자로 지정
-l: 줄 수로 분할
--additional-suffix=: 확장자 지정
ex)
08. 파일/디렉터리 검색 & 찾기
#find [경로] [옵션] [설정값]
<옵션>
-name: 파일/디렉터리 이름으로 검색
-type: 파일/디렉터리 지정(d: 디렉터리, f: 파일)
-exec: 또 다른 명령어 실행
ex)
경로를 설정하지 않으면 모든 경로의 passwd 파일을 찾아야 돼서 시간이 소요된다
그럴 때는 경로를 지정하여 검색하게 되면 훨씬 빠르게 진행된다
type을 이용하여 file만 찾고 싶으면 f, 디렉터리만 찾고 싶으면 d를 사용
이렇게 각종 파일의 위치를 찾아낼 수 있다
강의 소감
이번 시간에도 기본적이지만 그 안에서도 수많은 옵션의 명령어들을 익혔다
앞으로 보안 강의에서도 이 리눅스 강의에서도 실무에서도 사용할 명령어들이기에
더욱 더 기본에 충실하게 연습도 하고 있다