알아야하는 리눅스 명령어 모음.
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
현재 작업중인 디렉터리의 절대 경로를 출력한다.형식: pwdpwd 옵션
-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 : 마지막으로 수행한 명령어를 다시 수행한다
'리눅스환경 개발 > 명령어 모음' 카테고리의 다른 글
리눅스 로그인 스크립트(.login,.profile,.bash_profile) (0) | 2022.01.24 |
---|---|
리눅스 명령어 모음 2 (0) | 2022.01.21 |