🖥️ linux | August 22, 2021
bash 쉘의 기능 및 사용법을 조금 더 구체적으로 배워봅시다!
shell에서 특별한 의미를 정해 놓은 문자들
\, ?, (), $, ..., *, %, {}, [] 등Backslash(\)
\ 바로 뒤의 메타 문자는 특별한 의미를 제거Double Quotes("")
" "내의 모든 메타문자의 의미를 제거. 단 $, ``은 제외Single Quotes('')
''내의 모든 메타문자의 의미를 제거"") 와의 차이점은 $, ``리눅스 명령어를 함께 사용하고 싶을 때 사용
'') 에서는 적용이 안되고 그대로 텍스트로 출력하는 모습을 확인응용버전
$ alias [이름]=['원하는 명령어']$ alias or alias [이름]$ unalias [이름]좋은 팁!
리눅스의 rm 명령어는 일반적으로 묻지도 따지지도 않고 바로 지워버리는데, 이를 방지하는 기능이 -i 옵션입니다. 이를 매번 입력하기 귀찮으니 alias rm='rm -i'를 기본값으로 등록해서 사용합시다.
PS1 변수를 이용해 shell의 기본 프롬프트 모양을 설정| 특수문자 | 의미 |
|---|---|
\h |
호스트 이름 |
\u |
사용자 이름 |
\w |
작업 디렉토리 - 절대경로 |
\W |
작업 디렉토리 - 상대경로 |
\d |
오늘 날짜 |
\t |
현재 시간 |
\$ |
$ 또는 # 프롬프트 모양 |
프롬프트 수정
PS1 변수에 [사용자 이름, 호스트 이름, 상대경로], 프롬프트 모양 표시를 넣었습니다..bashrc 파일에 등록하여 영구적으로 반영하기
바꾸기 전 기본형
입출력 방향을 반대로 바꾸는 redirection 기호
0< : 입력을 키보드가 아닌 파일을 통해 받음$ mysql 0< test.sql1> : 표준 출력을 터미널이 아닌 파일로 출력$ cat 1> test.txt2> : 표준 에러 출력을 터미널이 아닌 파일로 출력알고가기!
에러메시지를 없애는 방법은 /dev/null 경로에 commands 2> /dev/null 형태로 넣으면 에러메시지가 보이지 않습니다.
/dev/null 파일은 안에 어떤 파일이든 지워버리는 소각장 같은 개념기호는 |를 사용합니다.
wc -l 명령어를 사용한 예시wc -l 명령어를 사용하게 되는데, 이것을 파이프라인을 이용해 응용하면 다음과 같은 작업을 할 수 있습니다.# 1. ls 명령어로 현재 디렉토리의 파일을 보여줌
# 2. 이전의 ls 명령을 이어받아 wc -l 명령어를 통해 출력되는 라인의 수를 치환해줍니다.
# 결과: 4 - 현재 디렉토리 폴더에 파일이 4개 있는 것을 의미
$ ls | wc -l/etc/passwd 파일 안에 사용자의 수를 확인하고 싶을 때
$ cat /etc/passwdcut 명령어 추가로 사용자만 출력
-d : split를(구분) 위한 값 명시, 여기서는 :로 사용됨, 아무 설정이 없다면 기본값은 TAB-f : n번째 필드를 의미$ cat /etc/passwd | cut -d: -f 1wc -l 명령까지 사용해 사용자 개수를 출력