본문 바로가기

Linux

[Linux] 명령어

  • cat

cat [옵션] [파일명]

*파일은 touch [파일명] 으로 생성함

- cat [파일명] [`파일명] [``파일명] :

여러 파일의 내용을 한번에 출력

 

- cat [파일명] [`파일명] .... > [``파일명]

여러 파일을 합쳐서 큰 파일을 만듬 * ``파일명은 기존에 없던 새로운 파일이여함 ( 기존 파일이라면 덮어씌어짐 )

 

- cat [파일명] >> [`파일명]

기존 파일의 내용을 `파일명에 덧붙여준다

 

옵션

-b : 화면 왼쪽에 줄번호 표시 (비어있는 행 제외)

-n : 화면 왼쪽에 줄번호 표시 (비어있는 행 포함)

-e : 제어문자를 ^형태로 출력하면서 각행의 끝에 $를 추가

-v : tab과 행 바꿈 문자를 제외한 제어문자를 ^형태로 출력

-t : tab문자를 출력

-A : same as -vte

 

  • cp

파일이나 디렉토리를 복사하기 위한 명령어

cp [옵션] [원본파일명] [목적파일/디렉토리명]

 

옵션

-r : 보통 디렉토리를 복사할 때 안에 내용이 있으면 복사되지 않는다.

     이 경우 하위 디렉토리를 포함한 모든 디렉토리를 복사한다

-p : 복사하는 사용자의 기본 소유권, 퍼미션이 새로 지정되는데 원본의 모든 속성을 그대로 가지고 복사한다.

-f : 복사할 때 덮어쓰기 제한 등이 걸려있을 때 강제로 복사한다.

 

ex) \cp -rf ../dir1/dir2/ .

# \ > 강제적으로 실행

  .. > 현재 디렉토리의 하위 디렉토리

  dir1 > 하위 디렉토리에서의 디렉토리 선택

  dir2/ > dir1에 들어있는 dir2를 복사하겠다.

  . > 현재 디렉토리 위치

 

그 외는 man,help를 활용해서 사용한다.

 

  • cut

파일 내용을 각 필드로 구분하고 필드별로 내용을 추출하며 각 필드들을 구분자로 구분할 수 있는 명령어

cut [옵션] [파일명]

 

옵션

-b : 바이트 단위로 선택

-c : 문자 단위로 선택

-f : 지정한 필드만 출력

 

  • df

파일 내용을 확인하는 명령어 OS에 마운트되어 있는 파일시스템의 용량, 사용량, 여유공간 등의 정보 출력

df [옵션] [파일명]

 

- Filesystem : 마운트된 파일 시스템 목록
- 1K-blocks : 전체 용량
- Used : 사용량
- Available : 남은 용량
- Use% : 사용중인 용량의 %
- Mounted on : 마운트 지점 명칭

 

옵션

-h : 읽기 편한 단위로 용량 출력

-T : 파일 시스템의 종류와 함께 디스크 정보를 출력

 

  • du

특정 디렉토리내에 존재하는 모든 서브디렉토리와 파일 크기 개별적으로 보기

-sh : 사용자별 홈디렉토리 사용량 보기

 

  • cmp, diff, comm

파일 간의 비교 명령어

cmp [옵션] [파일명] [`파일명]

두 파일의 내용을 비교해보고 처음으로 다른 부분이 나타나는 위치를 알려줌

두 파일의 내용이 서로 다른지만 확인하는 용도

 

diff [옵션] [파일명] [`파일명]

옵션

-c  : 자세하게 파일의 다른점을 출력

두 파일 사이의 내용을 비교해서 보여준다

 

comm [옵션] [파일명] [`파일명]

옵션

-1 : 첫번째 파일과 다른 파일의 내용과 공통 부분과 다른파일의 다른 부분 보여줌

-2 : 두번째 파일과 공통 부분, 다른 부분을 보여줌

-3 : 공통된 부분을 제외하고 차이만 보여줌

 

  • find

파일 시스템에서 파일을 검색하기 위한 명령어

find [경로] [옵션] [액션]

경로 

.        : 현재 디렉토리 이하

/        : 시스템 전체

/경로 : /경로 디렉토리 이하

 

옵션

-empty : 비어있는 파일

-name  : 지정된 형식의 패턴을 가지는 파일

-atime[N] / mtime[N]  : 최근 [N]*24시간 전에 액세스된 적이 있는 파일 / 변경된 적이 있는 파일

-excutable / readable / writable : 실행 / 읽기 / 쓰기 가능한 파일

-regex [pattern] : pattern에서 지정한 정규표현식에 매칭되는 파일

-type [type] : 지정한 파일타입에 해당하는 파일 [ d(directory) , f(file) ..... ]

 

액션 (검색 후 수행작업)

-delete : 검색된 파일 삭제

-exec [command] ;  : 지정한 커맨드를 실행

 

  • grep

파일 내에서 지정한 패턴이나 문자열을 찾은 후, 포함하고 있는 모든 행을 출력

grep [옵션] [찾을 문자열, 표현] [파일명]

옵션

-i : 지정한 문자열에 대소문자 구분하지 않음

 

검색문자패턴 정규표현식

.  : 아무문자나 한문자를 의미

*  : 어떤 문자열이나 문자길이에 무관한 문자열을 의미함

^  : 행의 시작 문자를 의미

$  : 행의 마지막 문자를 의미

[ ] : 한문자 길이의 패턴리스트

[^ ] : 지정된 문자들 이외에 문자들을 의미함 (^ : 여집합)

\  : 뒤에 오는 문자를 그대로 인식 (특수문자 표현할 때)

/< : 단어의 시작 위치를 의미

/> : 단어의 마지막 위치를 의미

 

  • chmod

파일과 디렉토리의 사용권한을 변경하는 명령어

chmod [옵션] [모드] [파일]

- 문자열모드

chmod [옵션] (reference) (operator) (modes) 파일

 

reference(대상) :

u : user 권한

g : group 권한

o : other 권한

a : 위의 셋 다

 

operator :

+ : 추가 , - : 제거 , = : 설정한대로 변경

 

modes :

r : read 권한 , w : write 권한 , x : execute 권한 , - : 권한없음

 

ex) chmod u+rwx 파일명 : 파일에 user에게 읽기 쓰기 실행 권한 추가

     chmod u=rw 파일명 : 파일에 user에게 읽기 쓰기 권한을 줌

 

- 8진법 수 모드

chmod [옵션] (8진법 수) [파일명]

우선 ls -l을 입력해 현재 상태를 보자.

ex) rw-r--r--

앞의 3개는 user / 중간 3개 group / 마지막 3개 other 권한

r=4,w=2,x=1로 더해서 사용한다.

 

ex) chmod 777 파일명 : user, group, other에게 각각 읽기 쓰기 실행 권한을 부여한다.

     > rwxrwxrwx

  • less

파일 내용 확인하는 명령어

less [파일명]

 

 

  • more

파일 내용 확인 명령어

more [옵션] [파일명]

옵션

+number : 입력한 행부터 화면을 출력

-number : 입력한 값만큼 끊어서 화면에 출력

Space bar를 사용해서 화면을 넘길 수 있음

화면 가장 아래에 --more--(%)이라는 메시지는 전체 중 지금 보고 있는 부분의 %

  • tail

tail [옵션] [파일명]

기본 값으로 마지막 10줄을 출력 오류나 파일 로그를 실시간으로 확일할 때 유용하게 사용

 

  • head

head [옵션] [파일명]

앞에서 부터 10행까지의 내용을 출력

 

  • mv 

파일을 옮기거나 이름을 변경하는데 사용하는 명령어

mv [옵션] [원본파일/디렉토리] [사본파일/디렉토리]

 

mv 원본파일 디렉토리 - 현재 디렉토리의 파일을 서브 디렉토리에 이동

mv 원본파일 파일명 - 현재 디렉토리에 있는 파일의 이름을 파일명으로 변경

 

  • rename

파일명 일괄변경할 때 사용하는 명령어

rename [변경전filename] [변경후filename] [대상file path]

 

  • echo

화면에 텍스트 출력, 파일 생성, 등등 여러 기능

echo text

text를 화면에 출력

echo -e abc\\n123 (\\n은 줄바꿈)

 

echo -e abc\\n123 > 파일명

파일 생성 ( 기존에 있던 파일명을 쓰면 이전 내용이 삭제됨 )

 

echo 123456 >> 파일명

기존 파일에 새로운 문자열을 추가

(\\n 안먹힘 한줄 씩 추가 하는듯?)

 

  • uniq

입력 데이터를 검사하여 연속적, 반복적인 줄을 찾아냄

uniq [옵션] [파일명]

옵션

-c : 각 줄이 몇번씩 있는지 센다.

-d : 연속적으로 중복된 줄의 복사본을 출력

-u : 중복되지 않은 줄만 저장

 

  • wc

특정 파일의 단어, 행, 문자수 구하기

wc [opt] [filename]

옵션

-c   : 지정한 파일의 byte수를 출력

-m  : 지정한 파일의 문자수를 출력

-l    : 지정한 파일의 총 행의 갯수

-w  : 지정한 파일의 총 단어 갯수

-L   : 지정한 파일의 모든 행 중에서 가장 길이가 긴 행 문자의 갯수를 출력

 

  • sed

vi편집기처럼 편집에 특화된 명령어 >> 실제 파일에 수정이 이뤄지는게 아니라 출력으로만 보여줌

subcommand 

a\  : 현재 행에 하나 이상의 새로운 행을 추가

c\  : 현재 행의 내용을 새로운 내용으로 교체

d  : 행을 삭제

p  : 행을 출력

n  : 다음 입력 행을 첫번째 명령어가 아닌 다음 명령어에서 처리

q  : sed종료

r  : file로부터 행을 읽어온다

!  : 선택된 행을 제외한 나머지 전체 행에 명령어 적용

s  : 문자열 치환

 - g : 치환이 행 전체에 대해 이루어짐

 - p : 행을 출력

 - w : 파일에 쓰기

 - y : 한 문자를 다른 문자로 변환

 

ex) 삭제

sed 'nd' file >> n번째 행을 삭제 후 나머지 행들이 출력

sed 'n,n`d' file >> n~n`번째 행을 삭제 후 나머지 행들이 출력

sed '/pattern/d' file >> 패턴을 포함한 행을 삭제 후 나머지 행들이 출력

ex) 치환

sed 's/target/replace/g' file >> target을 replace로 치환 (모든 행에 대해) 하여 출력

'Linux' 카테고리의 다른 글

[Linux] tar / gzip 명령어  (0) 2023.04.05
[linux] 알아두면 좋은 명령어 모음  (0) 2022.06.24
[Linux] 기본 명령어  (0) 2022.05.07