728x90
- Shell
- 문자를 입력해 컴퓨터에 명령할 수 있도록 하는 프로그램
- sh : 최초의 쉘
- bash : Linux 표준 쉘
- 터미널/콘솔
- 쉘을 실행하기 위해 문자 입력을 받아 컴퓨터에 전달
- 프로그램의 출력을 화면에 작성
- 명령어
명령어 | 의미 | 옵션 |
mkdir 폴더명 | 폴더 생성 Make Directory |
|
ls | 현재 폴더의 파일 확인 List Segments |
-a : .으로 시작하는 것 출력 -l : 퍼미션,소유자,만든날짜,용량까지 출력 -h : 용량을 사람이 읽기 쉽도록 GB,MB 등 표현, -l 과 같이 사용 |
pwd | 현재 경로 절대 경로로 보여주기 Print Working Directory |
|
cd 폴더명 | 폴더 이동 Change Directory |
|
echo 텍스트 | Python의 print처럼 터미널에 텍스트 출력 | echo `쉘 커맨드` 입력시 쉘 커맨드의 결과 출력 |
cp 파일명 | 파일 또는 폴더 복사 Copy |
-r : 디렉토리를 복사할 때 디렉토리 안에 파일이 있으면 재귀적으로 모두 복사 -f : 복사할 때 강제 실행 |
vi 파일명 | vim 편집기로 파일 생성 | i : INSERT 모드로 변경 ESC :wq : 저장하고 나가기 ESC :wq! : 강제로 저장하고 나가기 |
bash 파일명 | bash로 쉘 스크립트 실행 | |
sudo 커맨드 | 관리자 권한으로 실행하고 싶은 경우 커맨드 앞에 붙이기 | |
cat 파일명 | 파일 내용 출력 Concatenate |
파일명 여러개 띄어쓰기로 쓰기 가능 |
cat 파일1 파일2 > 파일3 | 파일에 저장하고 싶은 경우 | 파일이 없으면 생성하고 저장 |
cat 파일1 파일2 >> 파일3 | 파일에 추가하고 싶은 경우 | |
clear | 터미널 창 깨끗하게 | |
export a=b echo $a |
환경 변수 설정 | 쉘에선 붙여서 써야 함 터미널이 꺼지면 사라짐 |
vi ~/.bashrc 내용 쓰기 source ~/.bashrc |
매번 쉘을 실행할 때마다 환경변수를 저장하고 싶을 때 | |
alias | 현재 별칭으로 설정된 것 불러오기 | alias a=b 새 별칭 등록 |
head -n 숫자 파일명 | 파일의 앞 n행 출력 | |
tail -n 숫자 파일명 | 파일의 뒤 n행 출력 | |
cat 파일명 | sort | 파일 정렬해서 출력 | -r : 내림차순 정렬 |
cat 파일명 | uniq | 중복된 행이 연속으로 있는 경우 중복 제거 | cat 파일명 | sort | uniq 함께 사용 가능 |
cat 파일명 | wc -l | 파일의 행 수 세기 | |
grep 옵션 패턴 파일명 | 파일에 주어진 패턴 목록과 매칭되는 라인 검색 | -i : 대소문자 구분 없이 찾기 -w : 정확히 그 단어만 찾기 -v : 특정 패턴 제외한 결과 출력 -E : 정규 표현식 사용 "^단어" : 단어로 시작하는 것 "단어$" : 단어로 끝나는 것 "." : 하나의 문자 매칭 |
cut | 파일에서 특정 필드 추출 | -f : 잘라낼 필드 지정 -d : 필드를 구분하는 구분자, 디폴트는 탭 ex) cat cut_file | cut -d : -f 1,5 |
ps | 현재 실행되고 있는 프로세스 출력 Process Status |
-e : 모든 프로세스 -f : Full Format으로 자세히 |
df | 현재 사용 중인 디스크 용량 확인 Dist Free |
-h : 사람이 읽기 쉬운 형태로 출력 |
- Unix에서 동작하는 프로그램은 커맨드 실행시 3개의 Stream이 실행
- stdin : 0으로 표현, 입력
- stdout : 1로 표현, 출력 값
- stderr : 2로 표현, 디버깅 정보나 에러 출력
Shell 연습하기
zzsza/shell-scripts: linux bash shell scripts code snippets (github.com)
728x90
반응형
'TIL - 프로그래밍 > 개념, 설정' 카테고리의 다른 글
구글 한글 깨짐 해결 ([matplotlib] 한글 폰트 설정) (0) | 2024.06.14 |
---|---|
[230704] Pandas 공부 (0) | 2023.07.04 |
파이썬 버전 관리 (venv, pip, poetry) (0) | 2023.04.26 |
python 알고리즘 풀면서 도움이 된 10가지 2. (0) | 2022.07.03 |
[Python] deque (0) | 2022.05.03 |
댓글