Linux - Shell

Shell

  • 입력받은 명령어를 Kernel이 이해할 수 있도록 전달
  • 사용자 명령을 해석

Kernel

  • 하드웨어를 제어하여 처리 수행
  • 하드웨어에서 기계어처리 결과를 Kernel에게 알려주면 Kernel 이 Shell에게 결과를 알려줌

bash

~$ echo $0
-bash
  • 현재 shell중에서 bash 프로그램을 쓰고있는 것(보통 bash가 기본 shell)
    • Bash is a Unix shell and command language
    • bash shell은 일종의 프로그램 쉘 프로그램을 이용해서 kernel에게 명령을 내리는 것
    • bash 는 /bin (root 하위 bin폴더에있음)
    • /bin : 기본적으로 유닉스 계열에 탑재되어있는 프로그램이 /bin에 저장되어있음
  • zsh (zshell) 도 설치할 수 있음

Shell Script

shell script : 쉘에서 실행되어야할 script, 명령어들의 실행순서 각본
여러개의 쉘 명령어들을 한번에 사용하기에 용이하게 하는 shell script

~$ mkdir script
~$ cd script
~/script$ touch a.log b.log c.log
~/script$ ls
a.log
b.log
c.log
~/script$ mkdir bak
~/script$ cp *.log bak
~/script$ ls 
a.log
b.log
c.log

/bin

  • bash script 작성하기
~/script$ vim backup
  • inside the backup file
#!/bin/bash
if ! [ -d backup ]; then
  mkdir backup
fi
cp  *.log backup
  • #!/bin/bash : 이 밑에 작성되는 코드들이 bin 폴더하위의 bash로 해석되어야한다.
~/script$ ls -l
-rw-rw-r-- backup
~/script$ ./backup
~/script$ chmod +x backup
~/script$  ls -l
-rwxrwxr-x backup

~/script$ rm -rf bak
~/script$ ./backup
~/script$ ls -l bak
a.log
b.log
c.log

Categories:

Updated: