'리눅스 커맨드라인 완벽 인문서' 의 내용을 정리하였습니다.
5. 명령어와 친해지기
명령어의 유형
1. 실행 프로그램
2. 쉘에 내장된 명령어
3. 쉘 함수
4. 별칭으로 입력된 명령어
● type 명령어: 명령어 타입 표시
● which 실행파일(명령어): 실행파일의 위치를 알려준다.
● help 명령어: 쉘 비트인에서 도움말을 보여준다.
● 명령어 --help: 사용법 보기
● man 명령어: 메뉴얼 페이지 보기(--help 보다 자세하다)
-> 메뉴얼 페이지에서 원하는 단어를 검색하는 방법: '/단어'를 입력한다.
-> q를 누르면 빠져나온다.
● apropos 검색내용: 검색내용과 관련된 명령어들을 보여준다.
● whatis 명령어: 명령어에 대한 간단한 설명
● info 프로그램(또는 명령어): man 처럼 설명 페이지로 이동한다.
별칭으로 나만의 명령어 만들기
● alias 별칭='별칭으로 지정할 명령' : 별칭으로 뒤에 입력한 명령을 수행가능하게 한다.
cd /usr; ls; cd - : usr 디렉토리로 이동한 후 ls를 실행하고 다시 원래 디렉토리로 돌아오는 명령(3단계)
1. 별칭으로 지정할 명령어를 type 명령을 이용하여 이미 사용중은 아닌지 확인한다.
- type foo
2. alias foo='cd /usr; ls; cd -' 를 입력한다.
3. foo를 실행하면 위 명령 3단계가 수행된다.
● unalias 별칭: 별칭을 삭제한다.
● alias : 명령어 alias만 입력하면 현재 지정된 별칭 리스트를 보여준다.
6. 리다이랙션
입력과 출력의 방향을 지정한다. 파이프라인을 만들기위해 유용하다.
표준 입출력과 표준 오류
- 표준 출력: 프로그램의 결과를 나타낸다.
- 표준 입력: 명령어를 사용할 때 키보드로 함께 넣어주는 내용(ex. cd 경로 에서 경로
- 표준 오류: 프로그램이 어떻게 돌아가고 있는지에 대한 상태 or 오류
표준 출력 재지정(>, >>)
명령문 > 출력할 곳
ls -l > ls-output.txt : 출력이 터미널 화면에 나타나지 않고 ls-output.txt 파일에 저장된다. (덮어 쓰기)
결과를 계속 파일에 쌓기
명령문 >> 출력할 곳
ls -l >> ls-output.txt : 출력이 터미널 화면에 나타나지 않고 ls-output.txt 파일에 저장된다. (이어 쓰기)
# 오류가 나면 내용이 저장되지 않는다.
표준 오류 재지정(2>)
명령어 2> 출력할 곳
ls -l 2> ls-error.txt : 오류가 발생했을 때 메세지를 터미널 출력하지 않고 파일에 저장한다.
표준 출력,오류 재지정
1. 한 명령어 내에서 각각 지정하기
ls -l > ls-output.txt 2> ls-error.txt
2. 출력과 에러를 같은 파일에 저장하기
ls -l > ls-output.txt 2>&1 (순서가 중요하다.)
ls -l &> ls-output.txt
# 원하지 않은 출력 제거
명령어 2> /dev/null : 오류 발생 시 결과 버림 (/dev/null : 비드 버킷, 쓰래기통)
표준 입력 재지정(<)
● cat 파일1 파일2 ...: 파일들의 내용을 붙여서 출력한다.
● cat > file.txt 를 입력하면 문자열을 입력할 수 있다. 입력 후 엔터를 누르면 파일로 입력한 내용이 들어간다.
● cat < file.txt 를 하면 file.txt를 출력한다. (맨 위 사용법과 비슷해 보인다.)
파이프라인
| (수직 바) 를 이용하여 앞의 명령의 표준 출력을 뒤의 명령의 표준 입력으로 넣어주는 역할을 한다.
명령1 | 명령2 : 명령 1의 표준 출력을 명령2의 표준 입력으로 넣어준다.
● grep 패턴(단어) 파일: 파일에서 패턴과 일치하는 내용이 있는 라인을 출력한다.(검색 기능)
● uniq : 결과에서 파일명이 중복된 것을 삭제한다.
파이프라인 사용 예시
1. ls로 파일 목록을 검색하고 검색 내용중 log가 들어가는 항목을 출력한다.
ls -al | grep log : 앞 명령어(ls -al)을 통해 디렉토리의 항목을 전부 검색하고 뒤 명령어(grep log)로 log가 들어간 항목만 출력
2. /bin, /usr/din 디렉토리에서 이름이 중복된 파일을 제외하고 조회
ls /bin /usr/bin | uniq
● sort : 정렬 해준다.
● wc 파일: 파일의 라인, 단어 개수 및 파일 크기를 출력한다.
● head/tail 파일: 파일의 앞/뒤의 10줄을 출력한다. (-n 옵션을 통해 줄 수 조절가능)
● tee : 파이프라인에서 중간 결과를 파일에 저장할 때 사용된다. (결과를 파일에 저장 및 표준 출력으로 반환)
ex) bin 디렉토리의 조회 결과를 ls-bin.txt에 저장하고 개수를 출력
ls /bin | tee ls-bin.txt | wc -l : tee 명령이 1번 명령의 결과를 파일에 저장하고 뒤 명령에도 보내준다.
'Linux' 카테고리의 다른 글
[리눅스 커맨드라인] Part1. Shell 학습 - 4 (0) | 2021.01.31 |
---|---|
[리눅스 커맨드라인] Part1. Shell 학습 - 3 (0) | 2021.01.27 |
[리눅스 커맨드라인] Part1. Shell 학습 - 1 (0) | 2021.01.21 |
[Linux 기초] 생활 코딩 Linux 강의 정리 4 (0) | 2021.01.13 |
[Linux 기초] 생활 코딩 Linux 강의 정리 3 (0) | 2021.01.13 |
댓글