셸 변수와 환경변수 - 셸 변수는 셸의 환경을 설정하기 위한 값을 저장 * 모든 변수와 값을 출력하기 위해 set 명령을 사용 - 셸 변수 * 현재 셸에서만 사용이 가능하고 서브 셸로는 전달되지 않음(지역변수) - 환경 변수 * 현재 셸뿐만 아니라 서브 셸로도 전달(전역변수) * 보통 변수 이름으로 대문자를 사용함 * 터미널 창을 열어 쉘을 시작하면 이미 많은 환경 변수가 설정되어 있음 * 모든 환경 변수와 값을 출력하기 위해 printenv 명령을 사용 - 변수 설정과 환경 변수로 만드는 방법 * 변수=값 * export 변수 - 특정 환경 변수의 값을 확인하는 방법 * printenv 변수 * echo $변수는 모든 종류의 변수 값을 확인할 수 있음 자주 사용되는 환경 변수변수 내용 HISTSIZE ..
특수 문자 - 셸에서 특별한 의미를 가지는 문자문자 의미 백슬래시(\) 특수 문자의 기능을 제거하는 이스케이프(escape) 문자 또는 긴 명령 행을 분리할 때 사용 틸드(~) ~ 또는 ~username은 사용자의 홈 디렉터리를 의미 도트(.) 현재 작업 디렉터리를 표시 또는 명령 행의 맨 앞에서 쉘 스크립트를 실행하는 source 명령 더블도트(..) 현재 디렉터리의 부모 디렉터리 파운드(#) # 문자의 뒤에 나타나는 문자를 주석으로 처리 달러($) $변수는 변수의 값을 추출 앰퍼샌드(&) 명령&는 명령을 백그라운드로 실행시킴 애스터리스크(*) 파일 이름에서 사용할 때 0개 이상의 임의 문자열과 대응됨 물음표(?) 파일 이름에서 사용할 때 1개 문자와 대응됨 파이프(|) 앞 명령의 출력을 다음 명령의 ..
history 명령 - 이전에 수행했던 명령 행의 목록을 불러옴 * history 또는 history 10 히스토리 기능을 이용하여 명령을 실행하는 방법 - 이전에 수행했던 명령을 이용하여 명령을 수행할 수 있음 - 다음을 입력하고 실행함 * 명령 행 편집도 가능입력 방법 설명 !! 직전 명령을 불러옴 !n 히스토리 목록에서 해당 명령을 불러옴 !string 지정된 문자열로 시작하는 최근 명령을 불러옴 ↑ 또는 ↓ 누를 때마다 직전 또는 직후 명령을 불러옴 명령 행 완성 기능 - 일부만 입력하고 나머지를 자동으로 완성하는 기능 - 처음 몇 자만 입력한 후, tab 키를 누르면 실행됨 * 명령어, 변수($), 파일, 디렉터리(~ 또는 -) 등을 구분하여 결정함 * ~username은 해당 사용자의 홈 디렉..
셸 명령의 형식과 실행 - $명령어 옵션 인수 * 예: usermod –L kdhong * 옵션과 인수는 여럿일 수 있으며 선택적 또는 필수적 - 명령어는 프로그램의 이름 - 가장 간단한 형태의 실행은 명령의 이름만 사용 * who, date, ls, pwd chsh 명령 - 기본 셸을 바꾸는 명령 - chsh [options] [username] * 대괄호는 생략 가능, 이탤릭체는 적당한 내용으로 대체해야 하는 것 * 복수는 여러 개가 가능하다는 의미 옵션과 인수 - 짧은 옵션(-) * ls –l * ls -lat와 ls –l –a –t는 같은 것 - 긴 옵션(--) * ls --all - 인수는 명령의 수행 대상을 지정하는 것 * cat –n /etc/passwd * grep “KilDong Hong..
셸(shell) - 명령어 해석기 또는 명령 행 인터페이스 * 사용자와 커널 사이에서 명령어를 해석하여 처리 * 셸 명령을 사용하면 GUI로는 하기 힘든 다양한 기능을 수행할 수 있음 - 셸 명령을 프로그램으로 작성하여 처리할 수도 있음 * 셸 스크립트는 텍스트 파일로, 프로그래밍을 통한 셸 명령의 조합(교재 11장) * 반복적으로수행되는작업을 셸 스크립트로작성할수 있음 * 셸이 쉘 스크립트 파일을 읽어 처리할 수 있음 - 로그인을 하면 기본 셸이 주어짐 셸 사용하기 - 터미널에서 로그인을 해야 함 - GNOME 데스크톱에서 터미널 창을 실행시켜 셸을 사용함 - ‘프로그램>시스템 도구>터미널’ * 여러 터미널 창을 띄워 사용할 수 있음 * 셸은 명령 프롬프트와 명령 행을 제공함 - 기본적으로 한 라인에 ..
터미널 창 2개 접속 2개다 hr 접속 1. 터미널update employeesset salary = 89000where employee_id = 100; 2. 터미널update employeesset salary = 58000where employee_id = 101; 1. 터미널update employeesset email = 'ABC'where employee_id = 101; 커서만 깜박깜박 거린다.1번은 큐에 들어가서 기다리고 있다.락 충돌이 발생한 것. 락 충돌 해결 방법1. EM을 사용한 모니터링 및 해결 2. 터미널select *from emplyoees; 1. 터미널commit; 2. 터미널conn hr/hr 1. 터미널show user update employeesset salary =..