일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- yum
- docker network
- 엑셀파일명변경
- 같은폴더
- Kubernetes
- ssh
- chmod
- chatGPT
- mount
- MSBing
- journalctl
- lvcreate
- swapon
- vgcreate
- M365필터
- docker image
- tar
- docker
- 프로세스
- nmcli
- 날짜변경
- permission
- 랜카드인식불량
- HTTPD
- newbingai
- 리다이렉션
- ansible
- pvcreate
- vagrant kubernetes
- firewalld
- Today
- Total
becool
20210402 본문
시작
1. 파일 기본 동작
복사, 붙혀넣기 : $ cp source target
이동, 이름변경 : $ mv source target
디렉터리 삭제 (빈디렉터리인 경우만 가능) : $ rmdir
여러개의 디렉터리 삭제 $ rm -r source1 source2 .... sourceN
(디렉터리안에 파일이 있는경우 -R 옵션 이용하여 삭제)
================
2. root 사용자의 얼럿
root 권한 : 파일 덮어쓰기, 이동/삭제에 대한 (y/n)얼럿 후 실행
→ -i 옵션
user 사용자 : 파일 덮어쓰기 이동/삭제에 대한 얼럿 없이 실행됨.
================
3. 링크 파일 ( $ ln original target )
- 링크 : 대상 파일을 가리키는 파일
- 하드 링크 : 원본 파일의 물리적 주소(i-node) 값을 가리키는 링크
- 심볼릭(소프트) 링크 : 원본 파일의 논리적 경로를 가리키는 링크
※ inode 보는 법 : ls -i 옵션
→ 일반적으로 -li 옵션으로 사용함.
$ ln original target
$ ln -s original target
1) gedit 통한 내용 수정 시, 각각의 링크에도 변경됨 original ↔ link
2) 심볼릭링크의 경우 아래와 같이 경로를 달리 할 수 있음. (원본링크의 경로)
$ ln -s /home/user/20210402/link_test/file_original link_sym2
74185 lrwxrwxrwx. 1 user user 13 Apr 2 11:14 link_sym -> file_original
74212 lrwxrwxrwx. 1 user user 43 Apr 2 11:14 link_sym2 -> /home/user/20210402/link_test/file_original
===============================================
4. $ grep PATTERN FILE
파일에서 해당 패턴 포함된 행 찾기
$ grep root /etc/passwd/
행 넘버링 : -n 옵션
단어 단위 찾기 : -w 옵션
→ 단어가 일치하는 경우만 찾아줌 (not. 단어중 일부가 일치하는경우를 생략해줌. ex. bin과 sbin 의 차이)
$ grep -w bin /etc/passwd/ : sbin은 빼고 찾아줌.
해당되는 행 숫자 카운트 : -c 옵션
$ grep -c root /etc/passwd/
일치하지않는 내용(행) 찾기 : -v 옵션
================================================
5. <<정규표현식 (Regular Expression)>>
메타 문자 | 의미 |
^ | 라인의 시작 |
$ | 라인의 마지막 |
. | 임의의 한 문자 대치 |
* | 아무것도 없거나 여러 문자 대치 |
[] | 패턴 중의 집합 범위를 나타냄 |
[^] | 패턴 중 제외할 집합 범위를 나타냄 |
행의 시작에서 찾기
$ grep ^root /etc/passwd
행의 마지막에서 찾기
$ grep bash$ /etc/passwd
임의의 한 문자 대치하여 찾기
$ grep r..t /etc/passwd root
$ grep d....ns /etc/passwd daemons
$ grep da....s /etc/passwd daemons
$ grep -w d.....s /etc/passwd daemons (특수문자나 기호를 배제하는 옵션 활용)
아무것도 없거나 여러문자 대치 포함하여 찾기
$ grep c*lue /etc/passwd clue (중간에 아무것도 없이 이어지므로 찾아짐)
패턴중 한 문자 대치하여 찾기
$ grep pu[a-z]se /etc/passwd pulse
배제하고 찾기
$ grep [^a-r]oot /etc/passwd root를 배제함
================================================
6. find
find pathname expression action
path 유형 | 검색 대상 범위 |
. | 현재 디렉터리 이하 |
/ | 시스템 전체 |
~ID | 사용자계정(ID)의 홈디렉터리 이하 |
/경로 | 지정된 경로 디렉터리 이하 |
[expression]
-name : FILENAME 파일이름
$ find /etc/ -name passwd
-type : TYPE_OF_FILE 파일종류
f : 일반 파일
d : 디렉터리
l : symbolic link
b : 블록디바이스
c : 문자디바이스
s : 소켓
p : FIFO
[user@localhost ~]$ find ~ -name test -type d
/home/user/20210402/test
[user@localhost ~]$ find ~ -name test -type f
/home/user/20210402/test/test
-perm : PERM 파일 권한
[user@localhost ~]$ find / -perm 4755 -name passwd 2>/dev/null
/usr/bin/passwd
-user : LoginID 지정한 사용자 소유의 파일 검색
[user@localhost ~]$ find /home/user -user user 2>/dev/null
-size : FILE_SIZE 파일 용량
[user@localhost ~]$ find / -size +100M 2>/dev/null
+ : 초과
- : 미만
[action]
-print : 찾은 파일을 표시(기본값)
-ls : 찾은 파일에 대한 상세정보 표시
-exec COMMNAD {} \; : 찾은 파일에 대해 지정한 명령어를 실행
[user@localhost ~]$ find /etc/ -name hosts -exec cp {} /home/user/20210402 \; 2>/dev/null
[user@localhost 20210402]$ find /home/user/20210402 -name test1234 -exec cp {} /tmp \;
-ok COMMAND {} \; : 찾은 파일에 대해 지정한 명령어를 실행 (단, 단 실행전에 실행여부 창이 발생함)
===============================
7. vim
< 개념도 >
[edit mode] <- i - [command mode] <- V, v, ^v -> [visual edit mode]
-esc->
↑enter ↓ :
[extended command mode]
:wq
<세 가지 모드>
Command 모드
- vi 편집기의 가장 기본이 되는 모드
- 명령을 수행할 때 사용하는 모드 (복사, 삭제, 이동)
Edit 모드 (INSERT, REPLACE)
Last Line 모드 (Extended 모드)
<방향키>
h : 왼쪽으로 이동
j : 아래로 이동
k : 위로 이동
l : 오른쪽으로 이동
^ : 라인의 처음으로 이동
$ : 라인의 끝으로 이동
H : 현재 화면의 맨 처음으로 이동
L : 현재 화면의 맨 마지막으로 이동
G : 문서의 끝으로 이동 또는 숫자 행으로 이동 (10G : 10번째 행으로 커서 이동)
gg : 문서의 처음으로 이동
<편집>
dd : 라인 삭제
dw : 단어단위 삭제
x : 한글자 삭제 (delete 키와 같음)
d^ : 커서부터 앞쪽으로만 한 라인 삭제
d$ : 커서부터 뒷쪽으로만 한 라인 삭제
yy : 라인 복사
yw : 단어단위 복사
2yy : 2라인 복사
3yy : 3라인 복사 ..... Nyy : N라인 복사
p : 라인 복사시 커서의 아랫쪽에 붙여넣기
라인 변경이 없는 복사시 커서의 다음에 붙여넣기
P : 라인 복사시 커서의 윗쪽에 붙여넣기
라인 변경이 없는 복사시 커서의 앞에 붙여넣기
u : 되돌리기 UNDO
ctrl + R : 되돌리기취소 REDO
<Command 모드 → Edit 모드>
i : Edit 모드 진입
I : 커서 라인의 맨처음으로 이동 하여 Edit 모드 진입
a : 커서 한칸 뒤로 이동 하여 Edit 모드 진입
A : 커서 라인의 맨마지막으로 이동 하여 Edit 모드 진입
o : 커서 아래라인 새줄 처음으로 이동하여 Edit 모드 진입
O : 커서 윗라인 새줄 처음으로 이동하여 Edit 모드 진입
<편집 마친 후 저장/종료>
: : edit mode -> extended mode
:w : 저장
:q : 나가기
:wq : 저장 후 나가기
:q! : 수정사항 취소 후 나가기
:w or :wq or :x PATH/file명 = 다른이름으로 저장하기
:set nu or set number = 행 번호 표시
:set nonu = 행 번호 표시 취소
:n,m d = n 라인부터 m 라인까지 삭제
:n,m co l = n 라인부터 m 라인까지 복사 해서 l 라인 아래에 붙이기
:n,m m l = n 라인부터 m 라인까지 잘라내서 l 라인 아래로 이동
:%s/A/B = 문서 전체에서 A를 B로 바꾸기
:%s/A/B/g = 문서 전체에서 첫번째 것만 A를 B로 바꾸기
:SP,EP s/A/B/g = SP 라인부터 EP라인까지 A를 B로 바꾸기
/string = string 검색 (내림차순)
?string = string 검색 (오름차순)
n : (찾은검색결과값에서) 다음,아래로
N : (찾은검색결과값에서) 이전,위로
================================
※ 버추얼박스 클립보드 활용 참고 블로그 : qjadud22.tistory.com/26
1. 명령어 --help
2. man 명령어로 메뉴얼페이지 확인
<Unix System V 계열>
섹션 설명
1 일반 명령어
1M 시스템 관리 명령어 및 데몬
2 시스템 콜
3 C 라이브러리 기능
4 파일 포멧
5 기타 정보(Misc)
6 게임 관련
7 특수 파일(장치파일 및 드라이버)
8 커널 관련
<Linux, BSD, OS X>
섹션 설명
1 일반 명령어
2 시스템 콜
3 C 라이브러리 기능
4 특수 파일(장치파일 및 드라이버)
5 파일 포멧
6 게임 관련
7 기타 정보(Misc)
8 시스템 관리 명령어 및 데몬
섹션 지정
$ man -s 섹션번호 페이지
메뉴얼페이지 검색
$ man -k 키워드
해당 이름을 가진 메뉴얼 페이지 전부 열람
$ man -a 페이지
'linux' 카테고리의 다른 글
20210408 (목) (0) | 2021.04.08 |
---|---|
20210407 (수) -NEW (0) | 2021.04.07 |
20210407 (수) (0) | 2021.04.07 |
20210406 (화) (0) | 2021.04.06 |
20210405 (월) (0) | 2021.04.05 |