파이프란_?
- IPC의 한 종류
- 서로 다른 프로세스 간 데이터를 전달하는 방식
- 앞 명령어의 출력 결과를 뒤 명령어의 입력값으로 사용
기호: |
형태: 명령어1 | 명령어2
특징_
- 명령어 1의 출력 -> 명령어 2의 입력
- 반드시 프로세스끼리만 연결
ex)
- ps -ef | grep ssh
-> ps -ef 결과를 grep이 입력받아 검색 - ls -al | more
-> 긴 출력 내용을 페이지 단위로 확인
리다이렉션이란_?
- 입출력 방향을 변경하는 기능
- 출력 결과를 파일에 저장하거나 파일 내용을 입력으로 사용
표준 입출력
| 0 | 표준 입력(stdin) | 키보드 |
| 1 | 표준 출력(stdout) | 모니터 |
| 2 | 표준 오류(stderr) | 모니터 |
기호:
| > | 덮어쓰기 출력 |
| >> | 이어쓰기 출력 |
| < | 입력 리다이렉션 |
| << | 여러 줄 입력 |
형태:
- 출력 저장
-> 명령어 > 파일명 - 입력 받기
-> 명령어 < 파일명
ex)
- 파일 생성 및 덮어쓰기
-> date > now.txt - 파일 이어쓰기
-> date >> now.txt - 파일 내용을 입력으로 사용
-> sort < number.txt - 입력 + 출력 동시 사용
-> sort < number.txt > sort_result.txt - 여러 줄 입력 저장
-> cat << EOF > test.txt
hello
linux
EOF - 무한 문자열 생성
-> yes "@@@" - 원하는 줄 수만 저장
-> yes "@@@" | head -n 10 > test.txt - 파일 줄 수 확인
-> wc -l test.txt - 줄 번호와 함께 출력
-> cat -n test.txt
부트로더란_?
- 운영체제 부팅을 담당하는 프로그램
종류:
- 리눅스
GRUB
LILO - 윈도우
bootmgr
UEFI
패스워드 분실 복구 과정_
- 부팅 시 ESC 입력
- GRUB 메뉴 진입
- Linux 라인 수정
- ro 삭제
- 아래 내용 추가
- 재부팅 후 복구
rw init=/bin/bash
부트로더 패스워드 설정_
- 설정 파일
/boot/grub2/grub.cfg - 수정 파일
/etc/default/grub - 헤더 수정
vi /etc/grub.d/00_header - 추가내용_
cat << EOF
set superusers="grubuser"
password grubuser 1234
EOF - 적용
update-grub
마운트란_?
- 저장 장치를 리눅스 파일 시스템에 연결하는 직업
명령어
| mount | 장치 연결 |
| umount | 연결 해제 |
형태:
- 마운트
-> mount 장치명 디렉토리 - 언마운트
-> umount 장치명 - 장치 경로
-> /dev/장치명 - 마운트 위치
-> /mnt
/media
ex)
- CD/DVD 연결
-> mount /dev/sr1 /media/root/Ubuntu - ISO 생성
-> apt install genisoimage
genisoimage -r -J -o myboot.iso /boot - ISO 마운트
-> mkdir /media/iso
mount -o loop myboot.iso /media/iso - 연결 해제
-> umount /root/myboot.iso
쉘이란_?
- 사용자와 커널 사이의 인터페이스
종류:
| Bourne Shell | 본쉘 |
| C Shell | C쉘 |
| Korn Shell | 콘쉘 |
| Bash | 기본 리눅스 쉘 |
- 쉘 목록 확인
-> /etc/shells - 쉘 변경
-> chsh
쉘 내장 명령어_
| cd | 디렉토리 이동 |
| echo | 문자열 출력 |
| exit | 종료 |
| history | 명령 기록 |
| alias | 별칭 설정 |
| export | 환경변수 설정 |
특수문자_
| * | 모든 문자열 |
| ? | 한 글자 |
| [] | 문자 목록 |
| ; | 명령어 구분 |
| `명령어` | 명령 실행 결과 사용 |
| \ | 특수문자 기능 제거 |
Alias란_?
- 자주 사용하는 명령어를 다른 이름으로 지정
명령어:
- 목록 확인
-> alias - 생성
-> alias 이름='명령어' - 삭제
-> unalias 이름
ex) alias ll='ls -al'
쉘 변수란_?
- 현재 쉘에서만 사용 가능
환경 변수란_?
- 모든 프로세스에서 사용 가능
대표 환경 변수_
| PWD | 현재 경로 |
| HOME | 홈 디렉토리 |
| SHELL | 사용 쉘 |
| LANG | 언어 설정 |
| PATH | 명령어 경로 |
관련 명령어_
- 전체 변수 조회
-> set - 환경변수 조회
-> env - 특정 환경변수 확인
-> echo $PATH
-> echo $HOME
핵심 포인트_
- | : 파이프
- > : 덮어쓰기
- >> : 이어쓰기
- < : 입력
- mount / umount
- alias
- 환경변수 PATH
- GRUB
- wc -l : 줄 수 확인
- cat -n : 줄 번호 출력
- yes | head 조합