티스토리 뷰
파일을 만들고 바로 해당 파일로 이동할 수 있다.
mkdir dir1 && cd dir1
* 리눅스에는 확장자라는 개념이 없다.
파일마다 있는 링크와 헤더만 복구가 되면 해당 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. 파일 유형 출력
#file [파일/디렉터리명]
7. 문자를 잘라서 가져오기/출력
#cut [옵션...] [파일명] : 특정 파일 내에서 문자를 잘라 가지고 올 수 있음
< 옵션 >
-c : 문자 단위로 자르기
-f : 필드 단위로 자르기. 필드 구분은 스페이스바가 아닌, tab 키로 구분
-d: 구분자
# cut -c 2-4 passwd7
# cut -f 2,3 country.txt : 만약 1행을 구성하는 필드가 1 필드 하나 일 경우, 2번째와 3번째 필드가 없으므로 1필드만 가지고 오게 됨
=========================================================
[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으로 띄워줌
9. 파일/디렉터리 목록 출력
#ls [옵션]
<옵션>
-a : all을 의미. 모든 파일/디렉터리 출력(숨김 파일까지)
-l : long을 의미. 자세히 출력
-Al : 현재 디렉터리(.)와 상위 디렉터리(..) 제외하고 숨김 파일/디렉터리를 포함한 모든 파일/디렉터리 출력
-al : 현재 디렉터리(.)와 상위 디렉터리(..)부터 숨김 파일/디렉터리까지를 포함한 모든 파일/디렉터리 출력
-h : Human Readable
-F : 파일의 유형을 표시해줌. * 표시는 실행파일, / 표시는 디렉터리, @ 표시는 링크 파일, = 표시는 소켓 파일을 나타냄)
-R : 하위 디렉터리 목록 출력
-S : 파일 크기 순으로 출력(내림차순)
-r : 역순으로 출력(오름차순으로도 출력할 수 있겠구나 ~)
-t : 생성 시간 순으로 출력(가장 최근 것부터 출력됨)
10. 정렬
#sort [옵션] [파일....]
<옵션>
-r : reverse를 의미. 역순으로(내림차순)
-o : output을 의미. 파일로 저장
-k + 숫자 : 해당 순서의 필드를 기준으로 정렬
-b : 공백 무시
-f : 대소문자 구별 무시
-t + 문자 : 구분자 지정
-n : 숫자로 인식. 해당 옵션이 없으면 숫자도 문자로 인식하고 정렬한다.
===========================
현재활동 > 모든메뉴 > 설정 > 키보드 > 입력소스 추가 버튼 > 한국어(Hangul) 선택 > 우측 상단 언어 메뉴 참고
shift + space바 : 한영 변환
맨 앞에 .을 붙인 파일명이나 디렉터리명은 숨긴 파일/디렉터리로 들어간다. 따라서 ls -a 명령어를 통해 확인해야 한다.
숨긴 파일은 rm -rf를 통해 직접 삭제 해야한다. rm -rf *로는 삭제 되지 않는다.(보안의 목적 혹은 중요한 파일이 실수로 삭제되는 상황을 방지하는 목적을 의미함)
`
- Total
- Today
- Yesterday
- 프론트엔드
- 기계어
- SWLIfeCycle
- 알고리즘
- 브라우저
- 크롬
- ADL
- 사이트만들기
- javase
- 프로그래밍언어
- 비주얼스튜디오
- 소스파일
- jre
- vscode
- 개발계발
- 익스플로러
- 데이터추상화
- D&C
- 구글크롬
- Abstraction
- 앱개발
- 데이터구조
- 의사코드
- 브라우저뜻
- VisualStudio
- SW생명주기
- 웹개발자
- 바이트코드
- 구현
- jvm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |