Linux.

백과사전 2013.07.22 14:16

추천도서 : 리눅스 커널 심층분석, 리눅스 커널 내부구조

 

리눅스의 역사따위는 생략.

 

일딴 리눅스의 명령어부터 공부.

 

cat 파일이름 : 파일 내용 출력

 

ln 파일이름 : 하드링크

ln -s 파일이름 : 심볼릭링크

 

mv 파일1 파일2 : 파일1을 파일2로 이동

cp 파일1 파일2 : 파일1을 파일2로 복사

rm 파일1 : 삭제

rm -i 파일1 : 한번 묻기

cd ~ : root (환경설정 폴더라고 생각하면됨)

cd - : 위로 (전에 있던 폴더로 이동)

 

 

 

 

 

 

배쉬쉘 설정

cd ~

vi ./.bashrc

 

 

 

vi, vim

vi, vim [파일이름] : 파일 생성/수정

 

<범위>s/문자열1/문자열2/gc : 범위안에 모든줄에 대해서 각 문자열 1을 문자열2로 치환할때 수정할지 물음.

 

sp 파일이름 : 새로운 창 만들기

ctrl +ww : 창 바꾸기

 

 

부모 자식

부모프로세스(parent process)라는 상위계층과 자식프로세스(child process)라는 하위계층이 존재한다. 부모프로세스는 프로그램이나 명령어에 의해 시작되며, 자식프로세스는 부모프로세스에 의해 만들어지는 것을 말한다. 하나의 부모프로세스는 여러 개의 자식프로세스를 관리하는데, 여러 개의 자식프로세스가 하나의 CPU에서 동시에 처리되는 것처럼 보이는 것을 멀티태스킹(multitasking)이라고 한다.

자식프로세스가 진행될때는 부모가 자는경우가 많다.

 

확장자

 녹색 : 실행가능한 파일

진녹색 : 폴더

 

디렉토리

다음은 윈도우의 C:라 할 수 있는 /의 중요 하위 디렉토리에 대해 정리해보겠다.

 

/는 루트 디렉토리다. 이 디렉토리를 기준으로 모든 디렉토리가 생성되며, 다른 파티션의 연결점이다.

 

/bin 은 PATH의 경로이다. 시스템을 사용하기 위한 기본적인 명령어들이 포함되어 있다.

 

/boot는 부팅에 필요한 커널과 부팅 떄 필요한 핵심파일들이 존재하는 곳이다.

 

/dev는 장치 파일이 위치하며, 하드웨어를 교체할때 들어가야 할 곳이다.

 

/etc는 윈도우의 제어판이랑 유사하며, 시스템이나 사용자 관리를 위한 파일 관리자용 명령어들이

있다. 그 외에 /etc/skel에는 .bash_profile과 .bashrc파일들이 있는데 두 파일은 환경설정 파일로 설치시 기본적인 셋팅이 되어있는 기본값이 들어가 있으며, 만약 유저를 만들 시 유저의 초기값이 들어가 있는 곳이다.

(참고로 .로 시작하는 파일은 숨김 파일로, 볼떄 ls -a 명령어를 사용)

 

/lib는 시스템 운영 및 프로그램 구동할 떄 필요한 공유 라이브러리가 있는 곳이다. 만약 책을 보고

그대로 따라 쳤는데 잘 안된다 싶으면 이 디렉토리에 들어가 필요한 라이브러리를 업데이트 해준다.

 

/root는 시스템 관리자 디렉토리이며 사용자의 홈 디렉토리이다.

 

/mnt는 외부입력장치 (CD-ROM, Floppy)장치 설정이지만 요즘 많이 안쓰는 추세이다.

 

/proc는 process의 약자로 실행중인 프로세서를 파일로 제작하여 관리하는곳이다. 즉 안에 파일로 된 프로세서를 지우면 그 프로세스가 종료된다. 프로그램을 구동하게 되면 /proc에 해당되는 프로세서의 PID번호에 따라 디렉토리를 생성해여 프로세스의 진행상황을 추적하고 관리하는 곳이다.

문자로 이루어진 이름의 디렉토리 파일은 시스템 및 커널정보이며

숫자로 이루어진 이름의 디렉토리는 현재 실행중인 프로세스의 정보이다.

윈도우에서는 작업관리자로 표시를 하지만 리눅스는 굳이 파일로 만드는 걸 좋아하여 가상의 파일을 만들어 관리한다.

(프로세스는 실행중인 상태이며, 프로그램은 설치상태인 것이다.)

 

/sbin는 root(관리자)만 이용 가능한 명령어를 모아 둔 곳이다.

관리자가 사용하는 시스템 운영에 필요한 명령어가 존재하는 디렉토리이며 fdisk, reboot등이 있다.

 

/tmp는 프로세스 생성 과정에서 발생되는 임시 파일을 모아두는 디렉토리로 안에 내용이 삭제되거나 해도 크게 영향을 주지 않는 곳이다.

 

/usr는 프로그램을 설치할 때 패치지에 포함된 대부분의 파일이 이곳에 설치된다.

윈도우의 programs file이라 보면 된다.

 

/var는 서버파일, 로그파일이 존재하는 곳으로 만약 서버로 리눅스를 이용할 시 다른 접속자들은

var에서만 놀게 되는 서버쪽 디렉토리다.

내용이 자주 변하는 가변 자료가 저장되어 있는곳이며, 시스템 운영할 떄 발생하는 로그,

메일 송/수신할떄 임시로 저장되는 스풀, 프린터로 전송하기 위해 임시로 저장되는 프린트 스풀

데이터, 레드햇 배보판에서 패치지로 제공하는 아파치 웹 서버 관련 자료 MySQL의 데이터베이스,

 FTP의 최상위 디렉토리 등 다양한 서버 자료들이 존재하는 곳으로 해커들이나 정보보안쪽

사람들이 가장 중요시하는 디렉토리다.

 

출처 : I2SEC

 

 

 

'백과사전' 카테고리의 다른 글

임베디드 리눅스 프로젝트!  (0) 2013.07.29
man 페이지 활용법!  (0) 2013.07.24
Linux.  (0) 2013.07.22
태스크간 통신(IPC)  (0) 2013.07.18
ctags cscope  (0) 2013.07.18
RTOS(Real Time Operating System) 2  (0) 2013.07.16
Posted by 아크k