。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

강의/DevOps Linux

[DevOps-Linux] 7. Shell -2

quarrrter 2023. 7. 16. 01:22

shell 기본 출력 명령 

echo

기능: 화면에 한 줄의 문자열을 출력

형식: echo [옵션] [문자열]

ex) echo Hello World, echo "Hello World"  // 출력값: Hello World (로 동일)

 

printf

기능: C언어의 printf 함수의 형식으로 문자열 출력

형식: printf [형식] [인자]

ex) printf "My name is %s\n" Linux   // 출려기 My name is Linux

 

명령어 히스토리 확인 -histrory [숫자]

명령어 앨리어스 - alias 

1. 현재 지정된 앨리어스 출력: alias 

2. date 명령 앨리어스 지정: alias date_fmt='date "+%Y-%m-%d %H:%M:%S"'

 

특수문자

*(별표) : 0개 이상의 문자로 대체

1. 파일명이 .bash로 시작하는 모든 파일의 목록을 출력 : ls .bash*

2. 파일명이 .conf로 끝나는 파일을 /etc 디렉토리에서 찾음: find /etc -name *.conf

3. ls .b*c :.b로 시작하고 c로 끝나는 파일 목록 출력 

 

" "(큰따옴표), ' '(작은따옴표) : 문자열 만들기, 특수 문자 기능 제거

1. ls .bash*, ls '.bash*', ls ".bash"의 차이 

ls .bash*   :  파일명이 .bash로 시작하는 모든 파일의 목록을 출력
ls '.bash*'  : *을 문자로 인식하여 .bash* 인 파일의 목록 
ls ".bash"  : *을 문자로 인식하여 .bash* 인 파일의 목록 

2. echo $SHELL, echo '$SHELL', echo "$SHELL"

' ' : 내부의 모든 특수 문자 기능 제거 " " : $, `(역따옴표), \ 문자 제외
echo $SHELL  : SHELL이라는 환경변수의 값 출력 (shell 프로그램의 경로)
echo '$SHELL'  : 문자열 $SHELL 출력 
echo "$SHELL" : SHELL이라는 환경변수의 값 출력 (shell 프로그램의 경로)

 

``(역따옴표) : 문자열을 명령으로 해석, 명령 실행 결과로 치환 

1. date 명령의 실행 결과를 문자열에 포함하여 출력: echo "Today is `date`"

=> date 명령의 실행 결과로 치환

2.  1과 동일 : echo "Today is $(date)"

 

\ : 바로 뒤에 오는 문자의 특수 기능 제거(Escape 문자), 긴 명령을 여러 행에 입력 가능(Line Continuation)

1. *문자의 특수 기능 삭제(일반 문자화) : ls .bash\*  // .bash* 인 파일 리스트 목록

2. space 문자의 특수 기능 삭제: touch Hello\ World

- Shell에서 space는 명령, 옵션, 인자를 나누는 기능인데 \을 붙여서 그냥 빈칸으로 만들기

3.명령어를 여러 행에 입력 : \ 뒤 Enter 기능(명령 실행) 제거 . (= 명령어를 한 줄로 입력할 때와 동일)

 

그룹 명령 실행 

명령1 && 명령2  : 명령1이 성공하면 명령2 실행

명령1 || 명령2 : 명령1이 실패하면 명령2 실행 

 

실습

1. ls /, date, ls -al 명령을 순서대로 실행: ls / ; date ; ls -al