본문 바로가기
TIL - 프로그래밍/개념, 설정

Linux, Shell Command

by chaemj97 2023. 4. 27.
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)

 

GitHub - zzsza/shell-scripts: linux bash shell scripts code snippets

linux bash shell scripts code snippets. Contribute to zzsza/shell-scripts development by creating an account on GitHub.

github.com

 

728x90
반응형

댓글