목록리눅스 (17)
IT하는 참새
File System - 파일과 디렉토리의 집합을 구조적, 체계적으로 관리하는 체계임 - 사용자가 보기에는 별 차이없지만 내부적으로는 이 구성에 따라 다양한 형식 존재함 Linux의 기본적인 File System - ext(ext1) : 현재 사용하지않지만 MFS의 기능을 확장한 File System - ext2 : 부팅가능한 USB플래시 드라이브 혹은 기타 SSD장치에 이용중 - ext3 : 이 FS부터 저널링기능을 제공함 : 저널링이란 디스크에 데이터를 기록하기전에 수정사항을 기록하고 에러시 빠른 복구하는 기능 - ext4 : 현재 가장 많이 사용하는 FS임 - XFS : ext4와 더불어 많이 사용하는 FS이지만 ext4보다 많은 기능을 제공하지는 못함 이외에 현재 리눅스배포판이 지원하는 File ..
/proc Memory에 커널이 적재된 후의 메모리의 정보들을 긁어와서하드웨어정보나 프로세스 정보들을 파일로 관리하는 디렉토리 /proc디렉토리의 파일들은 커널이 메모리에 적재된 후에 생성되므로여기에 만약 파일을 저장하거나, 수정한다면 재부팅시 초기화됨 주 역할- 현재 실행중인 프로세스의 pid이름 그대로 디렉토리가 생김- 커널이 메모리에 적재됐으므로 메모리에서 하드웨어정보들 가져옴 cpu정보 명령어 lscpu ( /proc/cpuinfo 파일의 내용을 정리해서 보여주는 것) memory정보 명령어 free ( /proc/meminfo 파일의 내용을 정리해서 보여주는 것) disk정보 명령어 lsscsi ( /proc/scsi/scsi 파일의 내용을 정리해서 보여주는 것)
crontab: 주어진 명령을 일정한 주기마다 실행하게 하는 예약명령어 사용법 crontab -e (명령어로 Schedule파일을 편집해야함) 맨 밑줄에가서 추가하면 됨 단, 형식을 꼭 맞춰주기 분 시 일 월 요일 작업내용23 14 22 5 3 ls -l > /tmp/log 분: 0~59 시: 0~23 일: 1~31 월: 1~12 요일: 0~6 정상적으로 수행했다면 crontab 파일이 생성됨 경로: /var/spool/cron/crontabs crontab도 at과 마찬가지로 명령어 허용/차단을 할 수 있음 /etc/cron.allow : 허용하는 user이름 작성 /etc/cron.deny : 차단하는 user이름 작성
at: 정해진 시간에 한 번 명령을 실행하는 예약명령어 사용법 at 시간 (입력후 엔터) > 동작할 명령어들 입력> 동작할 명령어들 입력> 다 입력했다면 컨트롤+D (EOF) ex) at now + 10minutes - 10분뒤 실행at now + 3days - 3일뒤 실행at 3days + 4pm - 3일뒤 4시에 실행 at예약이 성공적으로 됐다면 작업파일이 생성됨 경로: /var/spool/cron/atjobs 작업목록 확인 atq 명령어를 입력하면 됨 at예약 삭제 at -d 작업ID at명령어 사용에 제한을 둘 수 있음 /etc/at.allow 파일을 없으면 생성 후 허용할 user이름을 작성 /etc/at.deny 파일을 없으면 생성 후 차단할 user이름을 작성(그냥 allow하나만 있으면 됨)
일반적인 리눅스 사용자라면 kill명령어는 프로세스를 죽이는 명령어 kill -9 프로세스이름 이렇게 알고있는사람이 대부분임 하지만 정확히말하면 프로세스죽이는 기능은 kill의 일부 기능인 것임 kill은 사실 프로세스에게 SIGNAL을 전달하는 명령어임 SIGNAL목록은 kill -l 명령어로 확인가능 그 중 9번과 15번이 있는데둘다 프로세스를 종료하는데 주로 사용되지만 차이가 존재함 9번: 프로세스가 죽으라는 명령을 무시할 수 없이 무조건 죽어야함 15번: 프로세스가 작업중이라면 무시하고 자기할거 다 끝나고 죽음 kill과 SIGNAL번호 사용법 kill -SIGNAL_NUMBER PIDkill -9 PIDkill -15 PID..... 그래서 안전하게 프로세스를 종료하고자 한다면 kill -15 ..
top 명령어는 윈도우의 Process Explorer의 동작과 유사하다 기본 3초간격으로 프로세스의 정보들을 실시간으로 보여준다 이외에도 cpu점유율, 정보, 등등 제공함 사용법 top 하나만 입력하면 끝
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..