강좌 & 팁
새로운 OS에 익숙해지는 것은 쉬운 일이 아닙니다. 그러나 개발을 위해 선택한 OS는 작업 공간인 만큼 친숙해질 필요가 있습니다. 그러나 Microsoft 사의 OS만 사용해 오던 저로서는 리눅스와 친해지는 것은 정말 쉽지 않더군요.
또한, 작업하다보면 막히는 경우가 매우 많은데, 책이나 웹에 의존하게 됩니다. 책은 너무 방대하기 때문에 웹에 더 의존하게 되는데요, 어렵게 웹 검색해서 알아낸다고 하더라도, 이것을 어떻게 처리 해야 할 지 당혹스러울 때가 많습니다.
결론적으로 말씀드린다면 리눅스의 쉘 모드와 친해질 필요가 있습니다. 또한 리눅스 책이나 웹에서 리눅의 기본 명령어를 다는 모르더라도 어떤 것이 있는지 죽 보아 두신다면 도움이 매우 큽니다.
이 글에 함께 올려진 동영상을 꼭 한번 봐주십시오. 많은 내용은 담지 못했지만 쉘모드에서 기본 명령어 사용의 필요성을 느끼실 수 있으리라 생각됩니다.
기본 명령어를 알자!
동영상에서도 말씀을 드렸습니다만 기본 명령어를 알아야 되는 것은 기본 명령어인 만큼 반드시 필요합니다. 이런 이유로 본 강좌 게시판에 리눅스 파일 시스템에 대한 내용을 올렸습니다. 그 내용에 기본과 시스템 관리를 위한 명령어 중 자주 사용되는 프로그램을 정리해서 올렸습니다. 리눅스에 있는 디텍토리별 성격과 기본 명령어를 이해하신다면 리눅스 초보를 벗는데 도움이 되지 않을까 생각됩니다.
파일 찾기 find 명령어
작업을 하다 보면 어떤 파일이 어디에 있는지 찾게 되는 경우가 많은데, 초보의 설음은 이것 마저도 쉽지 않다는 것입니다. 이럴 때, find 명령을 이용하면 아주 간단합니다. 예로 모든 디렉토리를 검색해서 inittab 파일이 어디있는지 찾아 보겠습니다.
find / -name inittab -print
find -> 명령어
/ -> 찾기 시작 위치
-name -> 파일 이름으로 검색
inittab -> 찾고자하는 파일 이름
-print -> 찾은 결과를 화면에 출력
grep 를 애용합시다.
리눅스 명령어의 특징은 작게 만든다 입니다. 예상되는 모든 기능을 하나에 모두 담는 것 보다는 작게작게 기능에만 충실히 프로그램을 만들고, 다른 기능은 파이프를 이용하여 다른 프로그램으로 넘긴다는 것입니다.
예를 들어 보겠습니다. ls -al 하면 모든 파일 목록을 출력합니다. 이 ls 명령 프로그램에 다양한 기능을 넣어서 덩치를 키우는 것이 아니라 다른 필요한 기능은 다른 프로그램에 위임하는 것이죠. 예로 파일 목록 중에 inittab 문장이 있는 열만 출력하게 하려면 아래와 같이 하면 됩니다.
ls -al | grep inittab
뭐가 이렇게 복잡해 하실지 모르겠습니다만, 기능 충실하게 만들어 놓으면 다른 작업에서도 사용할 수 있습니다. 예로 실행되도 있는 모든 프로세스의 정보를 출력하는 것이 ps 입니다. 이렇게 많은 프로세스 중에 superdaemon 이라는 프로세스 정보만 보고 싶다면,
ps -al | grep supperdaemon
이렇게 다른 곳에서도 얼마든지 사용할 수 있습니다. 리눅스를 학습하시면서 이렇게 하나하나 알아 나가신다면, 이것도 하나의 재미로 리눅스와 점점 친숙해 지실 수 있습니다.
도움을 드리고자 리눅스 파일 시스템의 글 중에 /bin 과 /sbin 의 내용을 올립니다.
/bin
binaries의 약어로 이진 파일들이며 리눅스에서 가장 기본이 되는 명령어들이 모여 있는 디렉토리입니다. 파일 목록을 보여주는 ls 라든지 일반 사용자가 root 계정으로 잠시 로그인하게 해주는 su 라든 하는 일반 사용자를 포함한 모든 사용자들이 사용하는 프로그램이 들어 있습니다.
또한 이곳에는 부팅에 필요한 명령어들이 위치하여 부팅한 후에 시스템의 계정 사용자들이 사용할 수 있는 일반적인 명령어들도 위치 하고 있습니다.
프로그램이 많아서 모두 설명드릴 수 없지만 자주 사용하는 몇 가지를 올립니다.
프로그램 | 설 명 |
cat | 파일 내용을 출력 |
chgrp | 파일의 그룹 속성 변경 |
chmod | 파일의 접근 권한 변경 |
chown | 파일의 소유자 변경 |
cp | 파일 복사 |
cut | 특정 필드를 파일 밖으로 복사 |
date | 현재 날짜 출력 |
df | 파일 시스템별 용량 출력 |
dmesg | 부팅 메시지 출력 |
grep | 파일 안의 특정 패턴을 검색 |
gupzip |
파일 압축 |
hostname | 컴퓨터 이름 출력 |
kill | 프로세스 죽이기 |
link | 링크 만들기 |
ls | 파일 목록 출력 |
mkdir | 디렉토리 만들기 |
mount | 장치를 시스템에 연결 |
mv | 파일 이동/파일 이름 변경 |
netstat | 현재 연결된 네트워크에 대한 모든 정보 |
ping | 상대 P.C. 가 네트워크에 연결되어 있는지 확인 |
ps | 실행 중인 프로세스 목록 |
pwd | 현재 작업 디렉토리 출력 |
rm | 파일 삭제 |
rmdir | 디렉토리 삭제 |
rpm | rpm 관리자 |
sleep | 초 단위 대기 |
su | 사용자 변경 |
tar | 여러 개의 파일을 묶거나 풀기 |
touch | 크기가 0인 파일을 만들거나 파일의 날짜/시간을 변경 |
umount | mount 해제 |
unlink | link 파일 제거 |
usleep | 1/1,000,000초 단위로 대기 |
vi | vi 에디터 |
/sbin
시스템 관리를 위한 다양한 프로그램이 들어 있는 디렉토리입니다. 매우 많은 프로그램이 들어 있어서 모두 설명을 드리기에는 어렵고 몇가지를 정리해 보겠습니다.
프로그램 | 설 명 |
clock | 현재의 날짜와 시간을 출력 |
fdisk | 파티션을 새로 생성하거나 삭제 |
findfs | 라벨에 해당되는 파티션 정보 구하기 |
fixfiles | 파일과 관련하여 많은 거부 상황이 발생할 때 사용 |
grub | grub 부팅 관리자 관련 프로그램 |
grub-install | |
grub-md5-crypt | |
grub-terminfo | |
halt | 시스템 종료 |
ifconfig | 네트워크 설정 |
ifdown | 네트워크 종료 |
ifup | 네트워크 시작 *** 네트워크 설정 상태를 변경하셨다면 ifdown 과 ifup으로 네트워크를 다시 |
lilo | lilo 부팅 관리자 프로그램 |
mkfs | 하드 디스크 파티션을 리눅스 파일 시스템 |
poweroff | halt 와 같이 시스템 종료 |
reboot | 시스템 리부팅 |
즐거운 하루 되세요