<기본>
#find [경로][옵션][설정값]
#find / -name file1.txt
;
;
<날짜>
#find / -atime -1 ===> -1의 `+이전/-이내` 개념
#find / -atime +1 ===> 1일 단위 기준.
<분>
#find / -amin -1
#find / -amin +1
;
;
<외부 명령어 실행 (삭제)>
#find / -name passwd -exec rm -rf {} \;
;
;
<옵션>
-name: 파일/디렉터리 이름
-type: 파일 유형(d:디렉터리, f:파일)
-empty: 빈 파일 찾기
-atime: 파일/디렉터리 접근 시간(n*24시간 전)
-mtime: 파일/디렉터리 수정 시간(n*24시간 전)
-ctime: 파일/디렉터리 '허가권/소유권/속성' 변경 시간(n*24시간 전)
-exec: 외부 프로그램(명령어) 실행
만일 현재시간이 7월 19일 이라고 가정한다면,
find -mtime -2 # 2일(48시간)전 ~ 현재시간 -> 7.17 ~ 7.19
find -mtime 2 # 3일(72시간) 전 ~ 2일(48시간)전까지 -> 7.16 ~ 7.17
find -mtime +2 # 3일(72시간)전보다 과거 -> ~ 7.16
#vi ===>vi 편집기 실행
#vi [존재하지 않는 파일명] ===>존재하지 않는 해당 파일명
#vi [존재하는 기존 파일명] ===>존재하는 실제 파일명
[편집모드] ->(ESC)-> [명령모드] ->(:)-> [실행모드]
<옵션>
x ===> 한 문자 삭제
dw ===> 한 단어 삭제
[n/숫자]dd ===> n 문장 삭제
u ===> 되돌리기
[n/숫자]yy ===> n 문장 복사하기
p ===> 붙여넣기
r ===> 한 문자 치환
[n/숫자]G ===> n번째 열로 이동
<옵션>
:q (저장X 나가기)
:wq (저장O 나가기)
:wq! (강제로 저장O 나가기)
:x (저장하고 빠져나가기)
:w (저장하기)
:w [파일명] (해당 파일명으로 저장)
:set number (행 번호 붙이기)
:set nonumber (행 번호 제거)
[old=대상 문자/new=바꿀 문자]
:%s/old/new/g ===> 해당 문자 전체 치환
:%s/old/ /g ===> 해당 문자 전체 삭제
:10,15s/old/new/g ===> 10~15줄 문자 치환
:10,15s/old/ /g ===> 10~15줄 문자 삭제
치환 결과
- 기본
- 전체 치환 (IOS->Apple)
- 전체 삭제(Apple 삭제)
- 해당 열 문자 치환(1~10열 Linux->Redhat)
- 해당 열 문자 삭제(1~10열 Redhat 삭제)
/root/.exrc
<- 설정하는 위치#cat [옵션] [파일명]
<옵션>
-n: 행 번호 출력
-b: 행 번호 출력(빈 행 제외)
> : 표준 출력 (덮어쓰기)
>> : 내용 추가
< : 표준 입력
cat 명령어 응용
- cat > china (china 이름의 파일 생성)
- cat japan > japan1 (japan의 내용을 japan1에 덮어쓰기)
- cat korea >> japan (korea의 내용을 japan 내용에 추가)
#more [파일명]
#less [파일명]
#head [옵션] [파일]
ex)
head -5 passwd1
head +10 passwd1
#tail [옵션] [파일]
ex)
tail -5 passwd1
tail -f passwd1
#wc [옵션] [파일명]
<옵션>
-l: 라인 수
-w: 단어 수
-c: 문자 수
wc 실습 결과
(라인 / 단어 / 문자 수)
라인 수
단어 수
문자 수
#split -l 10 passwd
=> 생성 파일 알파벳
#split -l 10 -d passwd
=> 생성 파일 숫자
#split -l 10 -d -a 4 passwd
=> 생성 파일 4자리 숫자
#split -l 10 -d -a 4 passwd file.
=>맨 앞의 x를 file.로 대체
# split -l 10 -d -a 4 --additional-suffix=.txt passwd file
=>맨 뒤의 확장자 느낌으로 문자 추가
<옵션>
-l: 행 수
-d: 파일명 숫자 지정
-a [n/숫자]: 확장자 자릿수 지정
split 실습 결과
(passwd 파일을 10줄씩 자르기 = 10*4+5 총 5개의 파일 생성)
(생성파일의 이름 숫자 형태로 지정)
(생성파일의 이름 숫자 4자리 형태로 지정)
(맨 앞글자 x를 file.으로 대체)
(맨 뒷글자 .txt 추가)
#cmp [파일1][파일2]
#comm [옵션][파일1][파일2]
#diff [파일1][파일2]
파일 내용 비교 실습
cmp 명령어 (단순히 몇개가 다른지)
comm 명령어 (몇개가 다른지 알려주고 전체 보여줌)
diff 명령어 (다른 곳만 보여줌)
#cut [옵션] [파일]
<옵션>
-c [n/숫자]: n개의 글자 자르고 출력
-f [n/숫자]: n개의 필드 자르고 출력(tab으로 필드 구분)
-d [구분자]: 구분자를 기준으로 자르고 출력
-c 실습
1글자까지 자르고 출력
1-3, 2-5글자까지 자르고 출력
-f 실습
1번째 필드, 2번째 필드 출력
1~2번째 필드 출력
1,3번째 필드 출력 / 1~3번째 필드 출력
-d 실습
passwd의 구분은 :로 되므로 구분자를 :로 주어 필드 출력
#awk -F ',' '{print $1 $3}' file1 ===> 콤마로 구분된 첫번째, 세번째 필드 출력
#awk -F ',' '{print $NF}' file1 ===> 맨 마지막 필드 출력
#awk -F ',' '{print $(NF-1)}' file1 ===> 맨 뒤에서 두번째 필드 출력
', '로 구분된 1번째, 3번째 필드 출력
':'로 구분된 마지막 필드 출력
':'로 구분된 뒤에서 두번째 필드 출력
심볼릭 링크
a. 파일/디렉터리 모두 가능
b. 모든 사용자에 대한 읽기/쓰기/실행 권한 자동부여 O
c. 링크 수가 증가하지 않는다.
d. 원본파일이 존재해야 사용 가능
e. i-node 번호가 다름
하드 링크
a. 파일만 가능
b. 권한 자동부여 X
c. 링크 수가 증가함
d. 원본파일이 존재하지 않아도 사용 가능
e. i-node 번호 같음
#ln [옵션] [원본파일/디렉터리] [생성할 링크 파일]
ex)
ln -s passwd passwd1
심볼릭 링크 실습
file1에 대해 file7이란 심볼릭 링크 생성
- file1과 file7의 내용은 같다.
원본파일인 file1이 삭제가 된다면 file7은 실행되지않음
하드 링크 실습
hardfile1에 대한 hardfile7이란 하드 링크 생성
- 내용 또한 같다.
원본파일인 hardfile1이 삭제가 되어도 hardfile7은 그대로 실행된다.
/home/dir1/file1 파일을 찾아서 자세히 출력하는 명령어
cat /home/dir1/file1
passwd 이름의 파일만 찾는 명령어
find / -type f -name passwd
2일 이전에 수정한 파일만 출력하는 명령어
find / -mtime +1
/home/dir1/file2 파일을 찾아서 삭제하는 명령어
rm -rf /home/dir1/file2
편집 모드로 진입하는 명령어(모두)
vi / vi (생성할 파일명) / vi (편집할 존재 파일명)
편집모드에서 실행 모드로 진입하기 위한 과정(키 입력순)
esc -> :
파일을 편집 후 강제로 저장하고 나가는 명령어 완성
:q!
현재 커서에서 10줄을 복사/붙여넣기 하는 명령어 완성
(실행 모드) 10yy, p
현재 커서에서 5줄을 삭제한 후 되돌리기하는 명령어 완성
(실행 모드) 5dd, u
test라는 단어 삭제 명령어 완성
:%s/test//g
파일 편집 후 행 번호 붙이는 명령어 완성
:set number
root 사용자가 사용하는 vi 편집기의 환경 설정 파일의 경로와 파일명 쓰기
/root/.exrc
3번째 행에서 10번째 행의 unix 단어를 linux로 치환하는 명령어
:3,10s/unix/linux/g
편집모드에서의 상하좌우 이동키
kjhl
한 번에 100번째 행으로 이동하는 명령어
100G
cat 명령어로 file1 파일을 출력할 때 빈행을 제외하고 행 번호를 출력하는 명령어
cat -b file1
file1 파일의 내용을 file2 파일에 추가하는 명령어
cat file1>>file2
cat 명령어로 'linux, unix'라는 내용을 작성하고 file3.txt로 저장하는 명령어/과정
cat > file3.txt
linux, unix
컨트롤+d
file5 파일을 10줄씩 분할하여 저장하는 명령어
split -l 10 file5
파일의 내용을 비교하는 명령어(3개)
cmp, comm, diff
파일 내용을 페이지 단위로 출력하는 명령어(2개)
more less
파일의 내용을 부분 출력하는 명령어(2개)
head tail
기본적으로 /etc/passwd 파일의 행, 단위, 문자 수는 각각 얼마?
45, 92, 2383
cut 명령어로 두번째 문자, 다섯번째 문자를 출력하는 명령어 (passwd)
cut -c 2,5 passwd
cut 명령어로 두번째 필드, 다섯번째 필드를 출력하는 명령어 (passwd, 구분자',')
cut -f 2,5 -d , passwd
awk 명령어로 /etc/passwd 파일의 두번째, 다섯번째 필드를 출력하는 명령어(구분자 :)
awk -F ':' '{print $2 $5}' /etc/passwd
awk 명령어로 맨 마지막 필드를 출력하는 명령어(passwd)
awk -F ':' '{print $NF}' passwd
file7 파일을 file8 파일로 심볼릭 링크하는 명령어
ln -s file7 file8
심볼릭 링크와 하드링크의 차이점 상세 설명
원본 파일 삭제 후 링크 파일 실행 유무(O,x) / 파/디 아니면 파일만 / 사용자에 대한 권한 자동 부여 유무(O,X)
소중한 정보 감사드립니다!