티스토리 뷰

파일을 만들고 바로 해당 파일로 이동할 수 있다.

mkdir dir1 && cd dir1

 

* 리눅스에는 확장자라는 개념이 없다.

 

파일은 삭제 되어도 안에 있는 data는 삭제되지 않는다.

 

파일마다 있는 링크와 헤더만 복구가 되면 해당 data에 찾아갈 수 있다.

dir3의 부모 디렉터리는 dir2, dir2의 부모 디렉터리는 dir1.

부모 디렉터리만 삭제될 수는 없다. 자식 디렉터리도 함께 삭제되어야 한다.

따라서 부모 디렉터리를 삭제하면 자식 디렉터리도 함께 삭제된다.

자식 디렉터리만 삭제될 수는 있다.

 

1. 디렉터리 생성/수정/삭제

#mkdir dir{1..10} : dir1에서부터 dir10까지 10개를 한 번에 생성

#rm -rf dir{1..10} : dir1에서부터 dir10까지 10개를 한 번에 삭제

 

#mv

> 파일/디렉터리 옮기기

> 파일/디렉터리 이름 변경

 

 

2. 파일 생성/수정/삭제

#touch file{1..10} : file1에서부터 file10까지 10개를 한 번에 생성

#rm -rf file {1..10} : file1에서부터 file10까지 10개를 한 번에 삭제

#rm -rf [a-c]* : a~c로 시작하는 모든 파일/디렉터리 삭제. a,b,c,로 시작하는 모든 파일/디렉터리가 삭제된다.

#rm -rf [ac]* : a로 시작하거나 c로 시작하는 모든 파일/디렉터리가 삭제된다. 단, b로 시작하는 파일/디렉터리는 삭제되지 않음에 유의하자.

#rm -rf [^ace]* 또는 #rm -rf [!ace]* : a,c,e로 시작하는 파일/디렉터리를 제외하고 삭제함. 만약 a,c,e로 시작하는 파일이나 디렉터리가 없더라도 명령어가 먹힌다.(무시 되는 것에 가까운 것 같다.)

#rm -rf [^a-c]* 또는 #rm -rf [!a-c]* : a~c로 시작하는 파일/디렉터리를 제외하고 삭제함

 

touch file{01..10}.txt : file01.txt부터 file10.txt까지 10개를 한 번에 생성(끝에 오는 글자도 설정이 가능함)

 

3. 파일/디렉터리명 변경

#mv

#rename [변경할 범위] [변경할 이름] [파일/디렉터리명]

 

#rename file data- file1 : file1이 data-1로 변경됨

#rename file data- file{3..6} : file3부터 file6이 data-3부터 data-6으로 변경됨

#rename file data- file* : file로 시작하는 모든 파일/디렉터리가 data-로 시작하는 파일/디렉터리가 됨. 만약 file로 시작하는 파일도 있고, 디렉터리도 있는 상태면 파일과 디렉터리 모두 이름이 바뀌게 된다. 파일만 바뀌거나 디렉터리만 바뀌는 상황은 일어나지 않는다.

#rename .txt .bak f* : 문자 '.txt'를 '.bak'으로 변경

 

4. 파일/디렉터리 수정 시각 변경

#touch [파일/디렉터리] : 수정 시각 변경(파일/디렉터리가 존재할 때)

#touch [파일] : 파일 생성(파일이 존재하지 않을 때)

 

#touch -t 2402241430 [파일/디렉터리] : 2024년 2월 24일 14시 30분으로 수정 시각이 변경됨

#touch -t 2402241430.20 [파일/디렉터리] : 2024년 2월 24일 14시 30분 20초로 수정 시각이 변경됨

 

5. 행, 단어, 문자 수 출력

#wc [옵션] [파일명]

#wc passwd : passwd 파일의 행, 단어, 글자 수를 순서대로 출력함

 

< 옵션 >

-l : 행 수

-w : 단어 수

-c : 글자 수

 

 

 

* head passwd -n 5 | tee passwd8 : passwd 파일의 앞에서부터 5줄을 나에게 출력하며 보여주고 passwd8 이라는 파일에도 저장한다.

6줄을 화면에 출력하고, passwd9라는 파일에 저장됨을 확인할 수 있다.

 

6. 파일 유형 출력

#file [파일/디렉터리명]

 

 

7. 문자를 잘라서 가져오기/출력

#cut [옵션...] [파일명] : 특정 파일 내에서 문자를 잘라 가지고 올 수 있음

리다이렉션을 통해 잘라온 내용을 파일로도 저장할 수 있다.

 

< 옵션 >

-c : 문자 단위로 자르기

-f : 필드 단위로 자르기. 필드 구분은 스페이스바가 아닌, tab 키로 구분

-d: 구분자

 

# cut -c 2-4 passwd7

# cut -f 2,3 country.txt : 만약 1행을 구성하는 필드가 1 필드 하나 일 경우, 2번째와 3번째 필드가 없으므로 1필드만 가지고 오게 됨

필드 또한 범위를 지정할 수 있음을 알 수 있다. 모든 필드는 열(세로) 기준.
-d 옵션을 통해 구분자 지정도 가능하다.

 

 

 

 

=========================================================

 

[vi  편집기] ⭐⭐⭐⭐⭐

> 모드형 에디터(편집기)

1) 편집모드

2) 명령모드 : #vi만 치면 명령모드가 됨

3) 실행모드

> vi 편집기 환경설정 파일: etc/.exrc

(디폴트로 설정되어 있지 않기 때문에, 직접  vi 편집기를 열어 작성해주어야 함)

se nu

colo evening

 

#vi

> 명령모드 -> 편집모드(i / a / o) -> 명령모드(ESC) -> 실행모드(shift + ; 즉 :)

 

[명령모드]

x : 한 문자 지우기

dw : 한 단어 지우기

r + 문자 : 특정 문자로 치환

 

dd : 한 줄 지우기

ndd : n줄 지우기

nyy : n줄 복사

p : 붙여넣기

u : 되돌리기

 

nG : n줄로 이동

 

[실행모드]

q : 저장하지 않고 나가기(읽기 전용 파일은 q만으로 못 빠져나감)

q! : 강제로 저장하지 않고 나가기

wq : 저장하고 나가기

wq! : 강제로 저장하고 나가기

w : 저장하기(빠져 나가진 않음)

 

set number, set nu, se nu : 줄 번호 붙이기

set nonumber, set nonu, se nonu : 줄 번호 지우기

 

:%s/[바꿀 대상A]/[어떻게 바꿀지B]/g : 모든 A라는 단어를 B로 치환

:2,10s/[바꿀 대상A]/[어떻게 바꿀지B]/g : 1행부터 10행까지의 A를 B로 치환

 

 

8. 문자를 잘라서 가져오기/출력

#awk [옵션]...{정규식}...[파일명]

 

#awk '{print $1}' awk.txt

#awk -F, '{print $1}' awk.txt

#awk -F: '{print $1}' awk.txt

awk -F: '{print $1,"\t"$3}' passwd | tee awk3.txt : 필드를 tab으로 띄워줌

 

-F 옵션을 통해 구분자 ','설정 가능
순서를 섞어 출력하거나 중복 출력하는 것도 가능

 

9. 파일/디렉터리 목록 출력

#ls [옵션]

 

<옵션>

-a : all을 의미. 모든 파일/디렉터리 출력(숨김 파일까지)

-l : long을 의미. 자세히 출력

-Al : 현재 디렉터리(.)와 상위 디렉터리(..) 제외하고 숨김 파일/디렉터리를 포함한 모든 파일/디렉터리 출력

-al : 현재 디렉터리(.)와 상위 디렉터리(..)부터 숨김 파일/디렉터리까지를 포함한 모든 파일/디렉터리 출력

-h : Human Readable

-F : 파일의 유형을 표시해줌. * 표시는 실행파일, / 표시는 디렉터리, @ 표시는 링크 파일, = 표시는 소켓 파일을 나타냄)

-R : 하위 디렉터리 목록 출력

-S : 파일 크기 순으로 출력(내림차순)

-r : 역순으로 출력(오름차순으로도 출력할 수 있겠구나 ~)

-t : 생성 시간 순으로 출력(가장 최근 것부터 출력됨)

 

megabyte 이기 때문에 용량 표시에 M이 들어가 있음. 아무런 표시도 없을 때에는 기본이 byte 단위이다.

 

옵션은 자유롭게 조합하여 사용할 수 있다.

 

 

10. 정렬

#sort [옵션] [파일....]

 

<옵션>

-r : reverse를 의미. 역순으로(내림차순)

-o : output을 의미. 파일로 저장

-k + 숫자 : 해당 순서의 필드를 기준으로 정렬

-b : 공백 무시

-f : 대소문자 구별 무시

-t + 문자 : 구분자 지정

-n : 숫자로 인식. 해당 옵션이 없으면 숫자도 문자로 인식하고 정렬한다.

 

오름차순과 -r 옵션을 이용한 내림차순 출력
두 개의 파일명을 주게 되면, 하나의 파일로 내용이 섞인 후 !! 정렬이 된다.
필드를 지정해서 정렬시킬 수도 있음
-n 옵션이 없어 3번째 필드 내용을 숫자로 인식하지 못하고 있는 모습

 

 

-n 옵션을 추가하니 3번째 필드 내용을 숫자로 인식 후 오름차순으로 정렬하고 있다.

 

 

===========================

현재활동 > 모든메뉴 > 설정 >  키보드 > 입력소스 추가 버튼 > 한국어(Hangul) 선택 > 우측 상단 언어 메뉴 참고

shift + space바 : 한영 변환

 

맨 앞에 .을 붙인 파일명이나 디렉터리명은 숨긴 파일/디렉터리로 들어간다. 따라서 ls -a 명령어를 통해 확인해야 한다.

숨긴 파일은 rm -rf를 통해 직접 삭제 해야한다. rm -rf *로는 삭제 되지 않는다.(보안의 목적 혹은 중요한 파일이 실수로 삭제되는 상황을 방지하는 목적을 의미함)

 

 

 

 

 

 

`

 

 

 

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함