리눅스환경 개발/명령어 모음

리눅스 명령어 모음 1

정데브 2022. 1. 19. 13:39
알아야하는 리눅스 명령어 모음.

 

cat

파일 내용을 모두 출력하는 명령어
형식: cat[옵션][경로]…

cat 5가지 기능

1)보기 : <
-cat < sample.txt: 파일 내용 출력, (<) 생략 가능
 
2)생성 후 저장 : >
-cat sample.txt > /sampletest.txt : sampletest 를 생성할때 sample의 내용을 저장하고 문서 파일 생성
 
3)출력 후 생성 : >
-cat > sample2.txt
          hello
: a라는 파일을 생성하는데, 추가하고자 하는 내용을 입력하고 생성

4)내용 추가 : >>
-cat >> sample2.txt
          jeongdev
          (ctrl+d) 저장
: 원본파일 hello 다음에 jeongdev이 추가됨.
 
5)파일 병합 : >
-cat a b > c: a파일 내용과 b파일 내용을 c에 저장 후 생성

 

 

echo

인수로 지정된 문자열을 화면 그대로 출력해주는 명령어
형식: echo[옵션][문자열]
문자열과 함께 개행 문자를 덧붙여 출력한다.
자체적으로 포함하는 내부 환경 변수를 확인할 경우 주로 사용한다.

echo 옵션
-n : 마지막에 따라오는 개행 문자(newline) 문자 출력 X
-e : 문자열에서 역슬래시(\)와 조합되는 이스케이프 문자를 인용부호(“) 로 묶어 문자를 인식하도록 한다.

 

 

tar


아카이빙. 압축은 하지않고, 여러 개의 파일을 하나로 묶는다.
옵션을 통해서 압축기능을 수행할 수 있다.
형식: tar[옵션..][파일 명.tar][폴더 명]

tar 옵션

-f  : 대상 tar 아카이브 지정. (기본 옵션)

-c  : tar 아카이브 생성. 기존 아카이브 덮어 쓰기. (

-x  : tar 아카이브에서 파일 추출. (파일 풀 때 사용)

-v  : 처리되는 과정(파일 정보)을 자세하게 나열.

-z  : gzip 압축 적용 옵션.

-j  : bzip2 압축 적용 옵션.

-t  : tar 아카이브에 포함된 내용 확인.

-C  : 대상 디렉토리 경로 지정.

-A  : 지정된 파일을 tar 아카이브에 추가.

-d  : tar 아카이브와 파일 시스템 간 차이점 검색.

-r  : tar 아카이브의 마지막에 파일들 추가.

-u  : tar 아카이브의 마지막에 파일들 추가.

-k  : tar 아카이브 추출 시, 기존 파일 유지.

-U  : tar 아카이브 추출 전, 기존 파일 삭제.

-w  : 모든 진행 과정에 대해 확인 요청. (interactive)

-e  : 첫 번째 에러 발생 시 중지.

 

pwd


현재 작업중인 디렉터리의 절대 경로를 출력한다.
형식: pwd

pwd 옵션

-L, --logical : 심볼릭을 포함하고 있더라도 PWD 환경 변수를 사용한다.

-P, --physical : 심볼릭 정보를 무시하고 실제의 경로 정보를 출력한다.

 
 

vi


문서를 편집할 때 사용하는 명령어
형식: vi [파일명]

편집 문서 열기
- vi 파일명 : 편집 문서 열기.
- vi +n 파일명 : 편집 문서를 열고, 커서를 n 번째 줄로 이동 시킴.
- vi +/키워드 file : 편집 문서를 열고, 키워드를 검색하여 커서를 검색된 키워드가 있는 줄로 이동시킴.
- vi -R 파일명 : 읽기 전용으로 문서 열기.

문서 저장/닫기

:w(!) : 문서 저장 (강제 명령)

:q(!) : vi 닫기 (강제 명령)

:wq(!), ZZ(!) : 저장 후 닫기 (강제 명령)

 

file


지정된 파일의 종류(타입)을 확인하는 명령어
형식: file[옵션][파일명]

file 옵션

-c : 매직 파일의 포맷을 검사하는 옵션

-f : 많은 파일을 한번에 확인하기 위해서 파일리스트인 “목록파일”
     을 만들어서 그 안에 입력된 모든 파일을 한꺼번에 확인하는 옵션

-m : 지정된 매직파일로 대상을 확인하는 옵션

 

touch


파일의 날짜 시간 정보를 변경하는 명령어
형식: touch[옵션][파일명]

touch 옵션

-t : [년월일시분] 기존 파일의 생성 날짜와 시간을 지정한대로 바꿈

-d : [년월일] 기존 파일의 생성 날짜를 지정한대로 바꿈

리눅스의 3가지 타임스탬프

1. Atime : 최종 접근 시간 (access time)
2. Ctime : 최종 상태 변경 시간 (change time)
3. Mtime : 최종 수정 시간 (modify time)

 

mkdir


새로운 디렉토리를 생성하는 명령어 (make directory)
형식: mkdir[옵션][디렉토리명]

mkdir 옵션

-m (permission) : 권한을 설정 (default 755)

-p : 상위 폴더가 없으면 상위 폴더까지 생성

 

 

rm


파일 및 디렉토리를 제거하는 명령어 (remove)
형식: rm[옵션][파일명 또는 디렉토리명]

rm 옵션

-f : 삭제 여부를 묻지 않고 강제 삭제 실행

-i : 삭제 시 일일이 삭제할 것인지 묻는다.

-d : 디렉토리를 삭제한다. 디렉토리 안에 파일이나 서브 디렉토리가
     있을 경우 삭제되지 않는다.

-r : 하위 디렉토리를 포함한 모든 파일들을 삭제한다.

-v : 삭제 과정을 출력한다.

 

rmdir


빈 디렉토리를 삭제할때 쓰는 명령어
형식: rmdir[옵션][디렉토리 경로]

rmdir 옵션

-p : 상위 경로도 삭제

-v : 지워지는 디렉토리의 정보 출력

 

 

mv


기존 위치에 지정한 위치로 파일 및 디렉토리를 이동시키는 명령어
형식: mv[옵션][From 파일 및 디렉토리] [to 파일 및 디렉토리]
From 에서 to로 이동

 

 

cd


디렉토리를 이동할때 사용하는 명령어 (change directory)
형식: cd[디렉토리]

-현재 디렉토리 이동 : cd . (의미 없음)
-한 단계 상위 디렉토리 이동 : cd ..
-최상위(루트)디렉토리 이동 : cd /
-절대 경로를 사용하여 이동 : cd /경로1/경로2/경로3…
-사용자 자신의 홈 디렉토리로 이동 : cd ~
-이전 디렉토리로 이동 : cd -

 

 

ls


현재 경로에 있는 파일 및 디렉토리 정보를 확인하는 명령어
형식: ls[옵션][파일/디렉토리]

ls 옵션

-a, --all: .을 포함하여 경로 안의 모든 내용 출력

-d, --directory: 디렉터리의 경로 출력

-c: -lt옵션과 함께 마지막 변경 시간을 출력하고 시간을 기준으로

    정렬

-i, --inode:각 파일의 인덱스 값을 출력함

-I: 지정한 패턴에 매칭되는 목록은 출력하지 않음

-s: 각 파일이나 블록에 할당된 크기 출력

-l: 긴 리스트의 포맷으로 출력함

-r, --reverse: 정렬의 순서를 역방향으로 함

 

 

chmod


파일의 권한 변경하는 명령어 (change mod)
형식: chmod[모드][파일]

chmod 옵션

-c, --changes: 변경된 파일 정보를 출력함

-f, --silent, --quiet: 대부분의 에러 메시지를 출력하지 않음

-R, --recursive: 하위 디렉터리에 있는 모든 디렉터리/파일 변경

-v, --verbose: 각 파일 정보를 상세히 출력

권한

- r(읽고) w(쓰고) x(접근) : (소유자, 그룹, 그외 다른 사람들)

- 숫자로 표현 r:4 w:2 x:1 (숫자들이 작아질수록 접근 범위가 커짐)

 

 

history


전에 사용한 명령어를 순서대로 확인하는 명령어
형식: history [숫자][옵션]

history 옵션

-c: 모든 히스토리를 삭제함

-d offset: 히스토리 리스트 중 삭제하고 싶은 오프셋을 지정하여 삭제

-w 파일명: 현재 히스토리 내용을 지정한 파일에 저장함

-r 파일명: 히스토리 파일을 읽어서 출력

-a 파일명: 지정한 히스토리 파일에 현재 로그인 섹션의 히스토리 추가

-n 파일명: 지정한 히스토리 파일 목록을 다시 읽음

 

du


디렉토리별  사용량을 확인하는 명령어
형식: du[옵션][--세부옵션][경로]

du 옵션

-a, --all: 0블록의 파일시스템을 포함하여, 모든 파일시스템을 출력

-B, --block-size=SIZE: 블록의 크기(SIZE)를 지정하며, 지정한 블록
    단위로 용량을 출력

-b, --bytes: 바이트 크기로 출력

-c, --total: 모든 파일의 디스크 사용 정보를 출력하고 나서 합계

            출력. 해당 경로가 얼마만큼의 디스크 공간을 사용하는지 확인할 때 사용

-s, --summarize: 간단하게 총 사용량만 출력

-x, --one-file-system: 현재 파일시스템의 파일 사용량만을 출력

-l, --count-links:: 하드 링크되어 있는 파일도 있는 그대로 계산

 

 

 

df


파일 시스템 디스크 공간을 확인하는 명령어(disk free)
형식: df[옵션]

df 옵션

-a, --all: 현재 디렉터리 아래의 모든 파일과 디렉터리의 사용 정보 출력

-B, --block-size=SIZE: 지정한 크기를 블록단위로 정해 용량 표시

-h, --human-readable: 사람이 읽을 수 있는 형태의 크기로 출력

-H, --si: 사용자가 보기 편하도록 1kb를 1,000단위로 용량 표시

-i, --inodes: 아이노드의 남은 공간, 사용 공간, 사용 퍼센트 정보 출력

-k, --killobytes: 1kb 단위로 출력함

-l, --local: 출력하는 정보를 얻기 전에 싱크를 하지 않음.(기본값)

-P, --portability: POSIX에서 사용되는 형태로 출력

-t, --type=TYPE: 보여주는 목록을 파일시스템의 타입으로 제한

-T, --print-type: 파일시스템 형태를 추가하여 각 파티션 정보 출력

 

 

 

stty


터미널 라인 설정을 확인하고 수정하는 명령어
형식: stty[옵션]

-stty –a : 현재 사용중인 터미널의 특수 문자 설정 확인 가능

설정할 내용

코드 동작
Ctrl + C intr 실행 중인 프로그램 종료
ctrl + U kill 한 줄 전체 삭제
Ctrl + D eof end of file, 입력의 끝 표시
Ctrl + H erase 문자 지우기
Ctrl + W werase 한 단어 지우기
Ctrl + S stop 출력 정지(cat 등을 사용할 때 너무 빠르게 내용이 지나갈 때 사용)
Ctrl + Q start 출력 재개
Ctrl + R rprnt (np) 화면 갱신
Ctrl + Z susp 현재의 프로세스를 일시 중지, suspend

 

 

 

gcc


컴파일 하는 명령어 (GNU Compiler Collection)
형식: gcc[옵션][파일명]

- 전처리기(preprocessor) : #include, #define 과 같은 전처리 지시자를 해석한다.

- 컴파일러(compiler) : 하이 레벨의 언어들(C나 C++ 등)을 어셈블리어(*.s) 형태로 변환한다. 즉 인간이 이해하기                                 쉬운 언어를 컴퓨터가 이해하기 쉬운 언어로 번역하는 것과 같다.

- 어셈블러(assembler) : 어셈블리어를 목적 파일(*.o)로 변환한다.

- 링커(linker) : 생성된 목적 파일들을 묶어서 실행파일을 생성한다.

gcc 옵션

-c : 링크를 실행하지 않고 컴파일과 어셈블리만 수행한다.

-o : 처음부터 끝까지 컴파일, 어셈블리, 링크를 수행 후 실행파일 생성

-v : gcc의 버전 정보를 알 수 있다

 

 

 

make


make 명령어로 실행할 명령들을 기술해 놓은 파일
목적파일과 재료파일, 명령어와 매크로가 기술되어있음
형식: make[옵션][경로]

make 옵션

-C DIRECTORY, --directory=DIRECTORY: makefile 파일의 위치 지정

-d: 상세한 디버깅 정보 출력

-f FILE. –file=FILE. –makefile=FILE: makefile를 지정한 파일에서 읽음

-k, --keep-going: 타겟 파일을 생성하지 못하더라도 계속 진행

-S, --no-keep-going, --stop: -k옵션을 비활성화

-w, --print-directory: 현재 디렉터리를 출력함

--no-print-directory: -w옵션 비활성화

 

 

 

ldd


주어진 각 프로그램이나 공유 라이브러리가 필요로 하는 공유 라이브러리를 출력하는 명령어
형식: ldd[옵션][파일명]

ldd 옵션

-v : 관련된 상세한 정보를 보여준다.

-d :있어야 할 곳에 없는 오브젝트의 위치를 다시 배치하고 결과를 보여준다.

-r : 데이터 오브젝트와 함수를 다시 배치하고, 오브젝트나 함수 중 찾을 수 없는 결과는 보여준다.

 

 

 

gdb


Linux에서 사용되는 디버깅 툴
형식: gdb[파일명]

gdb옵션

 set listsize 20 : 한번에 출력하는 행의 갯수를 20개로 늘린다.

 Enter  : 마지막으로 수행한 명령어를 다시 수행한다