목록전체 글 (70)
IT하는 참새
tail은 보통 파일의 일정부분 뒷내용을 출력해주는 명령임 하지만 -f옵션과 사용하면 실시간 모니터링같이 구현이 가능함!! 시나리오) 웹서버를 운영중인데 client가 동작 중 에러가 발생할 때마다 가볍게 시간+로그를 남기고싶고 실시간으로 보고싶다 라면? 웹서버에서 로그파일명은 weblog 이며 tail -f weblog 명령을 실행하면 이슈가 생길 때마다 실시간으로 추가된 내용을 보여줌
PATH는 shell이 사용하는 환경변수 중의 하나이다 사실 평소에 사용하던 cat, ls 등등 명령어들은 PATH변수에 기술된 경로만 뒤져서 실행하는 것 echo $PATH 결과 이 경로에 cat, ls 등 파일들이 존재해야만 실행이 되는것임 물론 임의로 PATH에 경로를 추가할 수도 있다. PATH=$PATH:/etc/test PATH=/etc/test:$PATH 이런식으로 (물론 PATH에는 보안허점이 존재할 수 있지만 블로그에는 작성하지않음)
명령어의 길이가 너무 긴경우 매번 쓰기 너무귀찮다.... 그래서!! 별칭을 지어주고 별칭을 호출하게 하자!! 그것이 alias명령어 사용법: 별칭설정alias 별칭="명령어" 별칭삭제unalias 별칭 이거를 Terminal bash안에서 설정하면 껏다키면 초기화된다. 고로 영구적으로 보존하고싶으면 shell이 매번 읽는 파일인 1. /etc/profile 2. ~/.profile 3. ~/.bashrc 셋중 한 파일에 기술해놓으면 되겠다!!
Shell은 기본적으로 사용하는 변수들이 있다(사용자의 작업을 더 편리하게 제공하기 위해서) 쉘이 사용하는 변수의 종류 - 쉘 변수 : 현재 쉘에서만 사용가능한 지역변수(서브쉘에서 사용불가)- 환경 변수 : 현재 쉘, 서브쉘에서 모두 사용가능한 전역변수 set: 쉘 변수 목록 확인 명령어env: 환경변수 목록 확인 명령어 쉘 변수는 현재 shell의 변수를 sub shell에서 사용불가능하다 예를들어 현재 shell에서 name=gugu라는 name변수를 만들었다면set | grep name 하면 변수가 추가된게 보인다(즉 사용할 수 있다) 하지만 여기서 bash명령어 한번더 입력하여 sub shell을 생성 후set | grep name 하면 변수가 보이지않는다(즉 사용할 수 없다) 환경변수는 현재 s..
File Descriptor: 파일의 일련번호들을 모아놓은 array 파일이 실행(open())되면 기본적으로 할당되는 File Descriptor번호가 있는데 0, 1, 2이다 0 = 표준 입력1 = 표준 출력2 = 표준 에러 그리고 별일이 없다면 순차적으로 3 4 ~~~ MAX번호까지 생긴다 3 은 그러면 방금실행한 프로세스가 되는것임 File Descriptor에는 번호만 있는것이 아니라 번호 + File Table주소 + 등등 정보들이 있음 File Table주소로 찾아가고, 그곳의 inode주소를 찾아 파일을 참조하는 것 --------------------------------------------------------------------------------------------------..
쉘이란? (Shell) 사용자와 커널 사이에서 - 사용자가 내리는 명령을 해석하여 os(커널)에 전달- 커널(os)에서 발생하는 시스템콜 등을 해석하여 사용자에게 전달 쉘의 종류 본쉘 - C쉘 - 콘쉘 - bash쉘 - dash쉘 종류는 많은데 리눅스의 대부분은 bash쉘을 사용하고 있음(본쉘 기반임) 쉘의 특수문자들의 의미 # : 주석 * : 글자 아무거나 - ex) ls -l *file.txt = 어떻게든 file.txt로만 끝나면 되는것들만 ls해서 보여줌 ? : 글자 아무거나 하나 - ex) ls -l ?file.txt = 한글자만 아무거나되고 file.txt로 끝나는 것들만 ls해서 보여줌 [ ] : 글자 아무거나 하나(범위지정 가능) - ex) cat [정규식]file.txt = 정규식 해당되..
vi 사용법 3개의 모드가 존재함 명령모드마지막 행 모드입력모드 입력모드는 입력하는 모드인데 진입하기위한 키워드로는 i, a, oI, A, O i는 커서왼쪽부터 입력하게 하고a는 커서오른쪽부터 입력하게 하고o는 다음줄부터 입력하게 함 I는 맨처음부터 입력하게 하고A는 맨뒤에 입력하게 하고O는 이전줄부터 입력하게 함 명령모드로는 키보드에서 누르는 모든문자들이 명령으로 인식되는 모드임 x: delete처럼 한글자 삭제: X: backspace처럼 한글자 삭제 dd: 잘라내기 (삭제기능도 포함) 7dd: 여러 줄 잘라내기 (7줄 잘라낸것임) yy: 한 줄 복사 8yy: 여러 줄 복사 p: 다음 줄에 붙임 P: 이전 줄에 붙임 H: 현재화면의 맨위로 커서이동 M: 현재화면의 중간으로 커서이동 L: 현재화면의 마..
모든 OS에서 파일이 생성되면 시간과 함께 저장이된다 그런데 그게 무슨시간이냐?또 기본적으로 나오는 시간은 무슨시간이냐?(뭔 개소린지 싶다) 3개의 시간을 가진다 ctime (change time)- 파일의 속성이 수정된 시간(권한이나, inode, 파일크기 등등...)mtime (modification time)- 파일내부의 데이터가 변경된 시간atime (access time)- 파일에 접근한 시간(파일 오픈) Windows, Linux 에서는 default값이 mtime으로 표기된다 ctime, atime을 볼 수 있는 방법도 있으나이건 그냥 검색하면 바로 나오므로 패스
기본적으로 ls명령어를 사용하는 방법은 대부분 알것임 주로 ls -al 을 많이 사용할것이다 하지만 리눅스 사용하면서 유용한 옵션들이 몇 개더 있다 -d : 디렉토리 하위에있는 내용들말고 그 디렉토리의 속성이 나옴ex) ls -ld 디렉토리명 -r : 역순으로 출력되게 함ex) ls -lr 타겟 -t : 시간순서로 출력되게 함ex) ls -lt 타겟 -S : 파일의 데이터 크기별로 정렬하여 출력되게 함ex) ls -lS 타겟 -h : 파일의 데이터 크기에 단위를 붙여 출력되게 함ex) ls -lh 타겟 -R : 디렉토리 밑에있는 것들도 모조리 출력되게 함ex) ls -lR 디렉토리명
리눅스 배포판이란 뭘까? 리눅스는 오픈소스이다 (리누즈 토발즈가 처음부터 이러고싶었던게 아니고 자랑하다가 여기까지왔다는 설) 리눅스는 오픈소스이다라는게 뭘까?정확히 말하면 커널이 오픈소스라는것이다 리눅스는 들어본것만 해도 꽤 될것이다 SUSE, 데비안, 우분투, 레드헷, 페도라, CentOS 등등.... 되게 배포판이 많지만 공통점은 다들 공개된 커널을 이용해서 입맛대로 꾸며낸 것!! 그런데 공개된 무료 커널을 사용했는데 어떤 리눅스는 유료/무료 인데 뭔가? 리눅스커널은 기본적으로 FSF재단이다 Free Software Foundation 요약하면 1. 공개한것들 맘대로 가져다 써라2. 배포할 때 유료/무료는 너 맘대로해3. 단, 유료/무료 상관없이 너도 소스코드를 공개해라 그러니까 많은 배포판들이 있는..