
리눅스에서 echo “hello”라는 명령어를 입력하면 hello라는 문자를 출력해준다. ehco$0이라는 명령어를 치고 -bash가 나온다면 쉘 중에서 bash라는 프로그램을 쓴다는 이야기이다.다음으로 zsh이 나온다면 zshell이라는 shell이 동작하는 상태이다. bash와 zsh는 부모 같은 관계이다. 하지만 zsh에는 bash에는 없는 추가적인 기능이 있다.
ls /bin이라는 명령어를 치면 기본 프로그램들의 디렉토리를 볼 수 있다. 많은 명령들이 파일의 형태로 존재하는 프로그램이었다는 것을 알 수 있다. if [ -d bak ];라는 명령어의 의미는 현재 디렉터리에 bak라는 디렉터리가 존재하는가 라는 뜻이다. if ! [ -d bak ]; then라는 명령어는 bak라는 디렉터리가 존재하지 않을 때를 의미한다. 셸 스크립트란 어떤 셸 명령어들이 실행 되어야 하는 순서, 방법을 각본을 짜서 저장 해 놓은 파일을 뜻한다.
디렉토리는 어떤 데이터 또는 실행할 수 있는 프로그램을 정리 정돈 하는 수단이다. ‘/’는 최상의 디렉토리를 뜻한다. 이 디렉토리를 우리는 root라고 한다. bin이라는 디렉토리는 바이너리를 줄인 말이고 바이너리는 이진수라는 뜻이다. 실행가능한 프로그램을 바이너리라고도 부른다. 그러므로 사용자들이 사용하는 프로그램의 디렉토리들이 있다. sbin은 바이러리 실행 프로그램이고, 시스템 프로그램이다.
그리고 시스템 관리자의 역할도 하는데 쉽게 얘기해 root user나 이 시스템을 관리하는 목적을 가진 사용자들이 사용하는 프로그램들이 있다. 즉, 일반 사용자들이 쓰지 않고, 관리자 root 사용자가 쓰는 프로그램들은 sbin에 있다는 뜻이다.
etc라는 디렉토리는 설정을 의미하는데 프로그램이 동작하는 방법을 우리가 바꾸고 싶을 때 우리는 설정을 사용한다. 컴퓨터가 동작하는 설정에 대한 변경을 할 수 있다.
var이라는 디렉토리는 내용이 바뀔 수 있고, 용량이 바뀔 수 있다는 뜻이다. var 디렉토리 안에 있는 파일들은 내용이 바뀔 수 있다는 특성이 있다. tmp라는 디렉토리는 임시파일들을 저장하는 곳이다. 여기엔 영구적으로 저장할 파일을 넣으면 안된다.
home이라는 디렉토리는 사용자들의 디렉토리이다.
lib라는 곳은 여러 프로그램들이 공통적으로 사용하는 라이브러리이다.
usr이라는 디렉토리의 밑에는 bin이라는 디렉토리가 있다. 우리가 설치하는 프로그램들이 적당한 위치의 usr에 설치되게 된다.