becool

20210402 본문

linux

20210402

gusalstm 2021. 4. 2. 10:12
반응형

시작

 

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  페이지



728x90

'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
Comments