기초 명령어
* cat
1. 기능 : 텍스트 파일의 내용을 화면에 출력한다. DOS의 'type' 명령과 유사하다.
2. 사용법 : cat [options] <file1> <file2> … <fileN>
3. 옵션
o -n : 행번호를 붙여서 출력시킨다.
4. 사용팁 : 리눅스에서 두개이상의 옵션을 붙힐때는 앞의 '-'는 한번만 사용하고 영문자만 붙혀서 사용한다.
* cd
1. 기능 : 현재 디렉토리를 변경하는데 사용한다. 그냥 'cd'만 입력하고 엔터키를 누르면 자기 자신의
홈디렉토리로 이동한다. DOS의 'cd'명령과 유사하다.
2. 사용법 : cd <디렉토리>
3. 주의점 : cd 명령 후 반드시 한칸 띄우도록 하자. (DOS에서는 안띄워도 동작하지만 리눅스에서는
에러가 난다.)
* cp
1. 기능 : 파일을 다른 이름의 파일로 복사하거나 다른 디렉토리와 복사한다. DOS의 'copy' 명령과 유사하다.
2. 사용법 : cp [options] <file1> <file2> … <fileN> <destination>
3. 옵션
o -b : 덮어쓰거나 지울 때 백업본의 파일을 만든다.
o -d : symbolic link 파일을 그대로 복사한다.
o -f : 같은 파일의 이름을 가지는 파일이 있는 경우 이 파일을 지운 후 복사한다.
o -i : 같은 파일 이름을 가지는 파일이 있는 경우 사용자에게 확인 후 복사한다.
o -R : 서브디렉토리를 포함하여 복사한다.
4. 주의점 : DOS와는 달리 현재 디렉토리로 복사할 때 을 생략해서는 안된다. 현재 디렉토리를 뜻하는 '.'을
두번째 예제와 같이 꼭 붙혀주도록 하자.
* date
1. 기능 : 시스템의 날짜와 시간을 표시하고 이를 수정한다. DOS의 'date', 'time' 명령과 유사하다.
2. 사용법 : data
* ls
1. 기능 : DOS의 'dir'과 비슷한 명령으로 파일과 디렉토리를 출력시키며, 옵션에 따라 다양한 정보와 함께
출력된다.
2. 2. 사용법 : ls [option] <file1> <file2> … <fileN>
3. 옵션
o -a : 디렉토리내의 숨김 파일까지 모두 표시한다.
o -l : 파일의 사용허가, 소유자, 그룹, 파일의 크기, 날짜 등을 출력한다.
o -F : 파일의 형태와 함께 출력되는데 출력되는 파일의 형태는 '*', '@', '|', '=' 등이며, 이것은 각각
실행 파일, 심볼릭 링크, FIFO 소켓을 나타낸다.
o -m : 쉼표를 구분하여 파일을 가로로 출력한다.
o -R : 서브디렉토리의 내용을 포함하여 파일을 출력한다.
4. 사용팁 : 리눅스를 비롯한 유닉스에서는 파일의 처음이 '.'로 시작하면 숨겨진 파일로 인식한다. 즉,
'.bash_profile' 같은 파일은 '-a' 옵션을 붙히지 않으면 'ls'명령으로 확인을 할 수가 없다.
* man
1. 기능 : 주어진 명령이나 기타 자원들의 도움말을 출력하는 명령으로 DOS의 'help'와 유사하지만 비교할
수 없을정도로 막강하다.
2. 사용법 : man [option]
3. 옵션 : man 명령에서는 화면에 내용이 출력시 아래에서 설명될 'more' 명령에서 사용되는 갖가지 명령들
을 사용할 수 있다. u -a : 찾아지는 모든 매뉴얼 페이지를 출력한다. u -h : 도움말을 출력한다.
* mkdir
1. 기능 : 새로운 디렉토리를 만드는 데 사용한다. DOS의 'md' 명령과 유사하다.
2. 사용법 : mkdir [option] <directory1> <directory2> … <directoryN>
3. 옵션
o -p : 지정된 모든 서브디렉토리까지 함께 생성한다.
o -m mode : mode에 해당하는 사용 허가로 디렉토리를 생성한다. Mode에 대한 설명은 뒤에서
설명할 'chmod' 명령에서 함께 설명한다.
* more
1. 기능 : 주어진 파일의 내용을 한 화면씩 출력한다. DOS의 'more' 명령과 유사하다.
2. 사용법 : more <file1> <file2> … <fileN>
3. 옵션 : 리눅스에서의 more 명령은 DOS에서와는 다르게 실행중 화면이 정지해 있을 때 명령어가
제공되는데 이 명령어를 이용하여 파일의 내용을 편리하게 볼 수 있다.
o h : 도움말
o [space], z : 다음 페이지를 출력
o [Return] : 한 라인씩 스크롤시킴
o d, <Ctrl+D> : 반 페이지씩 스크롤시킴
o q, Q : 종료
o f : 다음 페이지를 출력
o b, <Ctrl+B> : 앞 페이지를 다시 출력
o /<검색어> : <검색어>에 해당되는 단어를 검색
o = : 현재라인을 출력
o :! : 에 의해 주어진 명령어를 실행
o <Ctrl+L> : 화면을 다시 리프레쉬 시킴
o :f : 현재 파일 이름과 라인을 출력
4. 사용팁 : 유닉스와 파이프 명령 '|'을 이용해서 다른 명령과 함께 조합하여 사용할 수 있다.
예를 들어 'cat /home/dalma/readme | more' 를 입력하면 /home/dalma/readme 파일을 화면에
출력하는데 한화면씩 끊어서 출력을 하고, 'ls /home/dalma |more' 명령을 입력하면 /home/dalma
디렉토리 안의 내용을 한화면씩 출력한다.
* mv
1. 기능 : 파일을 다른 파일이나 디렉토리로 이동시키거나 파일의 이름을 바꾼다. DOS에서는 'ren' 명령
이나 'move' 명령과 유사하다.
2. 사용법 : mv [option] <file1> <file2> … <fileN> <destination>
3. 옵션
o -b : 파일을 지우기 전에 백업본을 만든다.
o -f : 옮겨질 디렉토리에 같은 파일이 있으면 덮어쓴다.
o -i : 옮겨질 디렉토리에 같은 파일이 있는지 확인한다.
o -u : 옮겨질 디렉토리에 구버전의 파일이 있는 경우에만 옮긴다.
4. 사용팁 : 리눅스에서는 파일명에 대소문자를 철저히 구분한다. 즉 'readme'파일과 'README' 파일은
엄현히 다른 파일이다.
* pwd
1. 기능 : 현재 작업하고 있는 디렉토리의 절대경로명을 보여준다. DOS의 'cd' 명령어와 유사하다.
2. 사용법 : pwd
3. 주의점 : 도스에서 'cd' 명령을 입력하면 현재 디렉토리의 절대경로를 보여주지만 리눅스에서 'cd' 명령
을 입력하면 자신의 홈디렉토리로 이동해 버린다. 절대경로를 알기 위해서는 'pwd' 명령을 써야 한다.
* rm
1. 기능 : 파일을 지우는 명령으로 DOS의 'del', 'deltree' 명령과 유사하다.
2. 사용법 : rm [option] <file1> <file2> … <fileN>
3. 옵션
o -f : 삭제중 오류가 발생하더라도 에러 메시지를 출력하지 않는다.
o -i : 삭제하기 전에 확인을 한다.
o -r : 서브디렉토리를 포함하여 지운다.
o -v : 지워지는 파일 이름을 출력한다.
4. 주의점 : 슈퍼유저 계정인 'root'로 이 명령을 쓸때는 아주 신중을 가해야 한다. 특히 '-r' 옵션을 쓰면
실수로 리눅스 전체를 날릴 수 있기 때문에 가급적 '-i' 옵션과 함께 사용하도록 한다. 'alias rm rm -i' 명령
을 내리면 rm 명령을 쓸 때 마다 -i 옵션이 자동으로 추가된다.
* rmdir
1. 기능 : 빈 디렉토리를 지우는 명령으로 DOS의 'rm' 명령과 유사하다. 그러나 'rm -r' 명령으로 대처할
수 있기 때문에 그렇게 많이 쓰이지는 않는 명령이다.
2. 사용법 : rmdir [option] <directory1> <directory2> … <directoryN>
3. 옵션
-p : 지우고자 하는 디렉토리의 부모디렉토리까지 지운다.
사용자 및 파일 관리 명령어
* chgrp
1. 기능 : 파일의 그룹소유권을 바꾼다.
2. 사용법 : chgrp [option] <newgroup> <files>
3. 옵션
o -R : 한 디렉토리내의 모든 파일이나 하위 디렉토리의 그룹소유권을 바꾼다.
* chmod
1. 기능 : 파일에 대한 개인, 그룹, 타인에 대한 접근 권한을 바꾼다.
2. 사용법 : chmod [options] <mode> <files>
3. 옵션
o r : 읽기 권한 설정
o w : 쓰기 권한 설정
o x : 실행 권한 설정 (디렉토리의 경우는 접근 권한)
o u : 파일의 소유자(user)
o g : 그룹(group)
o o : 기타(other)
o a : 전체사용자(all)
o + : 권한 추가
o - : 권한 삭제
o = : 권한 지정
4. 사용팁 : 특정 파일에 권한을 설정할 때 숫자를 이용하여 특정권한을 지정할 수 있다. 숫자 '4'는 읽기
권한을 나타내고 '2'는 쓰기 권한, '1'은 실행 권한을 나타낸다. 특정 권한을 조합하기 위해서는 해당권한을
더해주면 된다. 즉, 읽기, 쓰기권한을 함께 지정하려면 4+2를 해서 6이 된다. 한가지 예를 들면 stuff라는
파일에 소유자에게는 모든권한을 그룹과 다른 사용자에게는 읽기, 실행권한을 주려면 'chmod 755 stuff'
라고 입력하면 된다.
* chown
1. 기능 : 파일의 소유권을 바꾼다.
2. 사용법 : chown [option] <newuser> <file>
3. 옵션 :
o -R : 한 디렉토리내의 모든 파일이나 하위 디렉토리의 그룹소유권을 바꾼다.
4. 사용팁 : 리눅스에서는 chown 명령을 통해서 파일의 소유권과 그룹의 소유권을 한번에 바꿀 수 있다.
이를 위해서는 chown의 란에 'igi.admin'이라고 입력하면 파일의 소유권은 'igi' 파일의 그룹소유권은
'admin'으로 바뀌어진다.
* find
1. 기능 : 디스크에서 특정 파일을 찾아낸다.
2. 사용법 : find <경로명> [expression]
3. 옵션
o -name filename : 찾을 filename을 입력한다.
o -perm octperm : 특정 권한을 가진 파일을 검색한다. 이때 권한은 숫자형태로 입력한다.
o -type t : 특정 종류의 파일을 (디렉토리, 일반파일 등등) 검색한다.
o -size n : 크기가 n인 파일을 검색한다.
o -mtime n : n일동안 변경된 파일을 검색한다.
o -print : 파일 이름을 출력한다.
o -maxdepth levels : 검색 시 서브디렉토리를 levels만큼만 진입을 해서 검색한다..
o -mindepth levels : maxdepth와 반대의 명령어로 검색 시 서브디렉토리의 깊이가 level 이상부터
검사를 한다.
* ln
1. 기능 : 특정파일의 링크파일을 만든다.
2. 사용법 : ln [option] <file1> [file2], ln [option] <file1> <file2> … <fileN> <directory>
o file1의 링크를 file2에 만든다. file2가 명시되어 있지 않으면 현재 디렉토리에 링크를 만든다.
3. 옵션
o -s : 심볼릭 링크를 만든다. 이 옵션을 넣고 링크를 만들면 파일의 형태가 'l'로 표기가 된다.
4. 예제
o 'ln /usr/base /usr/lock' (/usr/base에 /usr/lock라는 링크를 만든다.)
o 'ln com1 com2 com3 /bin' (/bin에 com1, com2, com3의 링크를 만든다.)
* grep
1. 기능 : 주어진 패턴을 포함하는 파일의 라인을 출력시킨다.
2. 사용법 : grep [option] <pattern> <file1> <file2> … <fileN>
3. 옵션
o -C : 패턴이 일치하는 문장의 아래 위 두 라인까지 포함하여 출력한다.
o -c : 패턴이 일치하는 라인의 개수를 출력한다.
o -i : 대소문자를 구분하지 않고 패턴과 일치하는 것을 찾는다.
o -v : 패턴과 일치하지 않는 내용을 출력한다.
o -w : 패턴과 한단어로 일치해야 출력한다.
o -x : 패턴과 전체 라인이 일치해야 출력한다.
4. 사용팁 : 마지막 예제에서 '^[0-9]'의 표현은 좀 생소한 표현일것이다. 이것은 정규식이라고 해서 어떤 문자
패턴을 표현하는 하나의 표현식이다. 간단히 설명을 하면 '[0-9]'는 0에서 9까지를 의미하고 '^'는 반대의
의미를 나타낸다. 즉 '^[0-9]'는 0-9로 시작하지 않는 표현이라는 뜻을 가지게 된다.
* wc
1. 기능 : 그렇게 많이 쓰이는 명령은 아니지만, 리눅스 프로그래머가 자신이 짠 소스의 총라인이 얼마인지
아님 특정 단어의 개수를 조사할 때 쓰이는 명령으로 특정 단어나 문자 또는 행의 수를 세는 명령이다.
2. 사용법 : wc [option] <file1> <file2> … <fileN>
3. 옵션
o -c : 문자의 수만 센다.
o -l : 행의 수만을 센다.
o -w : 단어의 수만을 센다.
4. 사용예
o 'wc /home/dalma/readme' (readme 파일의 행, 단어, 문자의 수를 출력한다.)
o 'who | wc -l' (현재 접속한 사람의 수를 표시한다.)
5. 사용팁 : 리눅스는 혼자서 쓰는 운영체제가 아니라 여러 사람이 동시에 사용을 하는 운영체제이다.
who는 리눅스에 접속한 모든 사용자의 목록을 보여주는 명령이고 '|'는 파이프 기호라고 해서 여러 개의
명령어를 조합할 때 쓰이는 기호이다. 즉, 파이프 앞의 출력의 내용을 파이프 뒤의 명령의 입력으로 넣어주는
기능을 한다. 위의 예제에서 'who | wc -l' 명령은 'who' 명령의 결과를 'wc -l'의 입력으로 넣어준다.
그래서 현재 접속한 사용자의 개수를 알수 있는것이다.
* su
1. 기능 : 시스템에 접속한 상태에서 재로그인없이 다른 사람 ID로 접속한다.
2. 사용법 : su [option] [user ID]
3. 옵션
o - : 이 옵션이 없으면 자신의 환경변수의 값을 가지고 다른 사람 ID의 권한만 갖지만 이 옵션을 붙히면
그 사용자의 환경변수의 내용까지 완벽하게 복사를 한다.
4. 사용팁 : 리눅스에서는 외부에서 접속을 할 때 root로의 접속을 금지하고 있다. 이유는 보안상의 문제인데
가급적(가능한) root에서의 작업은 피하고 root의 권한이 필요하면 일반 사용자 ID로 작업을 하다가 su 명령
을 이용하여 root로 접속하는 습관을 들이는게 좋다.
* who
1. 기능 : 시스템에 어떤 사람이 로그인하고 있는가를 보여준다.
2. 사용법 : who
* write
1. 기능 : 특정사용자와 대화를 시작한다.
2. 사용법 : write <user> [ttyname]
3. 사용팁 : 마지막의 [ttyname]은 한사용자가 동시에 두번이상 접속을 하였을경우 대화할 터미널을
결정하는 부분이다. 그리고 어떤 사용자와 대화를 마쳤을 경우 [CTRL+D]를 눌러주면 대화를 종료한다.
시스템 관리 명령어
* df
1. 기능 : 리눅스에 연결되어 있는 디스크의 남은 공간을 보여준다. 당연한 소리지만 "disk free"의 약자이다.
2. 사용법 : df [option] [FileSystem | File]
3. 옵션
o -k : kilobyte 단위로 보여준다.
o -m : megabyte 단위로 보여준다.
* du
1. 기능 : 특정 디렉토리에서 하부디렉토리까지 포함한 디스크의 사용량을 보여주는 명령이다.
2. 사용법 : du [option] [files]
3. 옵션
o -a : 디렉토리에 있는 파일 하나하나의 크기를 출력한다.
o -s : 총 사용량만 표시해 준다.
o -k : 사용량을 kilobyte 단위로 출력해준다.
o -h : 용량을 보기 좋게 표시해준다.
* env
1. 기능 : 현재 시스템 사용자들의 환경 변수를 보여준다.
2. 사용법 : env
* free
1. 기능 : 가상메모리를 포함한 메모리의 사용현황을 보여준다.
2. 사용법 : free
* id
1. 기능 : 자신의 ID번호와 자신이 속한 그룹의 ID를 보여준다.
2. 사용법 : id
* kill
1. 기능 : 특정 프로세서에게 특정 시그널을 보낸다.
2. 사용법 : kill [-signal_number] [process id]
3. 예제 u "kill -HUP 549" (549번 프로세서에 HUP신호를 보낸다.)
* ps
1. 기능 : 사용자나 시스템 프로세서의 상태에 관한 정보를 알려준다.
2. 사용법 : ps [option]
3. 옵션
o -a : 전체 사용자의 모든 프로세서를 출력
o -l : 결과를 상세하게 출력
o -u : 사용자 이름과 프로세서 시작 시간을 출력
o -x : 제어터미널을 갖고 있지 않은 프로세서를 출력
* cat
1. 기능 : 텍스트 파일의 내용을 화면에 출력한다. DOS의 'type' 명령과 유사하다.
2. 사용법 : cat [options] <file1> <file2> … <fileN>
3. 옵션
o -n : 행번호를 붙여서 출력시킨다.
4. 사용팁 : 리눅스에서 두개이상의 옵션을 붙힐때는 앞의 '-'는 한번만 사용하고 영문자만 붙혀서 사용한다.
* cd
1. 기능 : 현재 디렉토리를 변경하는데 사용한다. 그냥 'cd'만 입력하고 엔터키를 누르면 자기 자신의
홈디렉토리로 이동한다. DOS의 'cd'명령과 유사하다.
2. 사용법 : cd <디렉토리>
3. 주의점 : cd 명령 후 반드시 한칸 띄우도록 하자. (DOS에서는 안띄워도 동작하지만 리눅스에서는
에러가 난다.)
* cp
1. 기능 : 파일을 다른 이름의 파일로 복사하거나 다른 디렉토리와 복사한다. DOS의 'copy' 명령과 유사하다.
2. 사용법 : cp [options] <file1> <file2> … <fileN> <destination>
3. 옵션
o -b : 덮어쓰거나 지울 때 백업본의 파일을 만든다.
o -d : symbolic link 파일을 그대로 복사한다.
o -f : 같은 파일의 이름을 가지는 파일이 있는 경우 이 파일을 지운 후 복사한다.
o -i : 같은 파일 이름을 가지는 파일이 있는 경우 사용자에게 확인 후 복사한다.
o -R : 서브디렉토리를 포함하여 복사한다.
4. 주의점 : DOS와는 달리 현재 디렉토리로 복사할 때 을 생략해서는 안된다. 현재 디렉토리를 뜻하는 '.'을
두번째 예제와 같이 꼭 붙혀주도록 하자.
* date
1. 기능 : 시스템의 날짜와 시간을 표시하고 이를 수정한다. DOS의 'date', 'time' 명령과 유사하다.
2. 사용법 : data
* ls
1. 기능 : DOS의 'dir'과 비슷한 명령으로 파일과 디렉토리를 출력시키며, 옵션에 따라 다양한 정보와 함께
출력된다.
2. 2. 사용법 : ls [option] <file1> <file2> … <fileN>
3. 옵션
o -a : 디렉토리내의 숨김 파일까지 모두 표시한다.
o -l : 파일의 사용허가, 소유자, 그룹, 파일의 크기, 날짜 등을 출력한다.
o -F : 파일의 형태와 함께 출력되는데 출력되는 파일의 형태는 '*', '@', '|', '=' 등이며, 이것은 각각
실행 파일, 심볼릭 링크, FIFO 소켓을 나타낸다.
o -m : 쉼표를 구분하여 파일을 가로로 출력한다.
o -R : 서브디렉토리의 내용을 포함하여 파일을 출력한다.
4. 사용팁 : 리눅스를 비롯한 유닉스에서는 파일의 처음이 '.'로 시작하면 숨겨진 파일로 인식한다. 즉,
'.bash_profile' 같은 파일은 '-a' 옵션을 붙히지 않으면 'ls'명령으로 확인을 할 수가 없다.
* man
1. 기능 : 주어진 명령이나 기타 자원들의 도움말을 출력하는 명령으로 DOS의 'help'와 유사하지만 비교할
수 없을정도로 막강하다.
2. 사용법 : man [option]
3. 옵션 : man 명령에서는 화면에 내용이 출력시 아래에서 설명될 'more' 명령에서 사용되는 갖가지 명령들
을 사용할 수 있다. u -a : 찾아지는 모든 매뉴얼 페이지를 출력한다. u -h : 도움말을 출력한다.
* mkdir
1. 기능 : 새로운 디렉토리를 만드는 데 사용한다. DOS의 'md' 명령과 유사하다.
2. 사용법 : mkdir [option] <directory1> <directory2> … <directoryN>
3. 옵션
o -p : 지정된 모든 서브디렉토리까지 함께 생성한다.
o -m mode : mode에 해당하는 사용 허가로 디렉토리를 생성한다. Mode에 대한 설명은 뒤에서
설명할 'chmod' 명령에서 함께 설명한다.
* more
1. 기능 : 주어진 파일의 내용을 한 화면씩 출력한다. DOS의 'more' 명령과 유사하다.
2. 사용법 : more <file1> <file2> … <fileN>
3. 옵션 : 리눅스에서의 more 명령은 DOS에서와는 다르게 실행중 화면이 정지해 있을 때 명령어가
제공되는데 이 명령어를 이용하여 파일의 내용을 편리하게 볼 수 있다.
o h : 도움말
o [space], z : 다음 페이지를 출력
o [Return] : 한 라인씩 스크롤시킴
o d, <Ctrl+D> : 반 페이지씩 스크롤시킴
o q, Q : 종료
o f : 다음 페이지를 출력
o b, <Ctrl+B> : 앞 페이지를 다시 출력
o /<검색어> : <검색어>에 해당되는 단어를 검색
o = : 현재라인을 출력
o :! : 에 의해 주어진 명령어를 실행
o <Ctrl+L> : 화면을 다시 리프레쉬 시킴
o :f : 현재 파일 이름과 라인을 출력
4. 사용팁 : 유닉스와 파이프 명령 '|'을 이용해서 다른 명령과 함께 조합하여 사용할 수 있다.
예를 들어 'cat /home/dalma/readme | more' 를 입력하면 /home/dalma/readme 파일을 화면에
출력하는데 한화면씩 끊어서 출력을 하고, 'ls /home/dalma |more' 명령을 입력하면 /home/dalma
디렉토리 안의 내용을 한화면씩 출력한다.
* mv
1. 기능 : 파일을 다른 파일이나 디렉토리로 이동시키거나 파일의 이름을 바꾼다. DOS에서는 'ren' 명령
이나 'move' 명령과 유사하다.
2. 사용법 : mv [option] <file1> <file2> … <fileN> <destination>
3. 옵션
o -b : 파일을 지우기 전에 백업본을 만든다.
o -f : 옮겨질 디렉토리에 같은 파일이 있으면 덮어쓴다.
o -i : 옮겨질 디렉토리에 같은 파일이 있는지 확인한다.
o -u : 옮겨질 디렉토리에 구버전의 파일이 있는 경우에만 옮긴다.
4. 사용팁 : 리눅스에서는 파일명에 대소문자를 철저히 구분한다. 즉 'readme'파일과 'README' 파일은
엄현히 다른 파일이다.
* pwd
1. 기능 : 현재 작업하고 있는 디렉토리의 절대경로명을 보여준다. DOS의 'cd' 명령어와 유사하다.
2. 사용법 : pwd
3. 주의점 : 도스에서 'cd' 명령을 입력하면 현재 디렉토리의 절대경로를 보여주지만 리눅스에서 'cd' 명령
을 입력하면 자신의 홈디렉토리로 이동해 버린다. 절대경로를 알기 위해서는 'pwd' 명령을 써야 한다.
* rm
1. 기능 : 파일을 지우는 명령으로 DOS의 'del', 'deltree' 명령과 유사하다.
2. 사용법 : rm [option] <file1> <file2> … <fileN>
3. 옵션
o -f : 삭제중 오류가 발생하더라도 에러 메시지를 출력하지 않는다.
o -i : 삭제하기 전에 확인을 한다.
o -r : 서브디렉토리를 포함하여 지운다.
o -v : 지워지는 파일 이름을 출력한다.
4. 주의점 : 슈퍼유저 계정인 'root'로 이 명령을 쓸때는 아주 신중을 가해야 한다. 특히 '-r' 옵션을 쓰면
실수로 리눅스 전체를 날릴 수 있기 때문에 가급적 '-i' 옵션과 함께 사용하도록 한다. 'alias rm rm -i' 명령
을 내리면 rm 명령을 쓸 때 마다 -i 옵션이 자동으로 추가된다.
* rmdir
1. 기능 : 빈 디렉토리를 지우는 명령으로 DOS의 'rm' 명령과 유사하다. 그러나 'rm -r' 명령으로 대처할
수 있기 때문에 그렇게 많이 쓰이지는 않는 명령이다.
2. 사용법 : rmdir [option] <directory1> <directory2> … <directoryN>
3. 옵션
-p : 지우고자 하는 디렉토리의 부모디렉토리까지 지운다.
사용자 및 파일 관리 명령어
* chgrp
1. 기능 : 파일의 그룹소유권을 바꾼다.
2. 사용법 : chgrp [option] <newgroup> <files>
3. 옵션
o -R : 한 디렉토리내의 모든 파일이나 하위 디렉토리의 그룹소유권을 바꾼다.
* chmod
1. 기능 : 파일에 대한 개인, 그룹, 타인에 대한 접근 권한을 바꾼다.
2. 사용법 : chmod [options] <mode> <files>
3. 옵션
o r : 읽기 권한 설정
o w : 쓰기 권한 설정
o x : 실행 권한 설정 (디렉토리의 경우는 접근 권한)
o u : 파일의 소유자(user)
o g : 그룹(group)
o o : 기타(other)
o a : 전체사용자(all)
o + : 권한 추가
o - : 권한 삭제
o = : 권한 지정
4. 사용팁 : 특정 파일에 권한을 설정할 때 숫자를 이용하여 특정권한을 지정할 수 있다. 숫자 '4'는 읽기
권한을 나타내고 '2'는 쓰기 권한, '1'은 실행 권한을 나타낸다. 특정 권한을 조합하기 위해서는 해당권한을
더해주면 된다. 즉, 읽기, 쓰기권한을 함께 지정하려면 4+2를 해서 6이 된다. 한가지 예를 들면 stuff라는
파일에 소유자에게는 모든권한을 그룹과 다른 사용자에게는 읽기, 실행권한을 주려면 'chmod 755 stuff'
라고 입력하면 된다.
* chown
1. 기능 : 파일의 소유권을 바꾼다.
2. 사용법 : chown [option] <newuser> <file>
3. 옵션 :
o -R : 한 디렉토리내의 모든 파일이나 하위 디렉토리의 그룹소유권을 바꾼다.
4. 사용팁 : 리눅스에서는 chown 명령을 통해서 파일의 소유권과 그룹의 소유권을 한번에 바꿀 수 있다.
이를 위해서는 chown의 란에 'igi.admin'이라고 입력하면 파일의 소유권은 'igi' 파일의 그룹소유권은
'admin'으로 바뀌어진다.
* find
1. 기능 : 디스크에서 특정 파일을 찾아낸다.
2. 사용법 : find <경로명> [expression]
3. 옵션
o -name filename : 찾을 filename을 입력한다.
o -perm octperm : 특정 권한을 가진 파일을 검색한다. 이때 권한은 숫자형태로 입력한다.
o -type t : 특정 종류의 파일을 (디렉토리, 일반파일 등등) 검색한다.
o -size n : 크기가 n인 파일을 검색한다.
o -mtime n : n일동안 변경된 파일을 검색한다.
o -print : 파일 이름을 출력한다.
o -maxdepth levels : 검색 시 서브디렉토리를 levels만큼만 진입을 해서 검색한다..
o -mindepth levels : maxdepth와 반대의 명령어로 검색 시 서브디렉토리의 깊이가 level 이상부터
검사를 한다.
* ln
1. 기능 : 특정파일의 링크파일을 만든다.
2. 사용법 : ln [option] <file1> [file2], ln [option] <file1> <file2> … <fileN> <directory>
o file1의 링크를 file2에 만든다. file2가 명시되어 있지 않으면 현재 디렉토리에 링크를 만든다.
3. 옵션
o -s : 심볼릭 링크를 만든다. 이 옵션을 넣고 링크를 만들면 파일의 형태가 'l'로 표기가 된다.
4. 예제
o 'ln /usr/base /usr/lock' (/usr/base에 /usr/lock라는 링크를 만든다.)
o 'ln com1 com2 com3 /bin' (/bin에 com1, com2, com3의 링크를 만든다.)
* grep
1. 기능 : 주어진 패턴을 포함하는 파일의 라인을 출력시킨다.
2. 사용법 : grep [option] <pattern> <file1> <file2> … <fileN>
3. 옵션
o -C : 패턴이 일치하는 문장의 아래 위 두 라인까지 포함하여 출력한다.
o -c : 패턴이 일치하는 라인의 개수를 출력한다.
o -i : 대소문자를 구분하지 않고 패턴과 일치하는 것을 찾는다.
o -v : 패턴과 일치하지 않는 내용을 출력한다.
o -w : 패턴과 한단어로 일치해야 출력한다.
o -x : 패턴과 전체 라인이 일치해야 출력한다.
4. 사용팁 : 마지막 예제에서 '^[0-9]'의 표현은 좀 생소한 표현일것이다. 이것은 정규식이라고 해서 어떤 문자
패턴을 표현하는 하나의 표현식이다. 간단히 설명을 하면 '[0-9]'는 0에서 9까지를 의미하고 '^'는 반대의
의미를 나타낸다. 즉 '^[0-9]'는 0-9로 시작하지 않는 표현이라는 뜻을 가지게 된다.
* wc
1. 기능 : 그렇게 많이 쓰이는 명령은 아니지만, 리눅스 프로그래머가 자신이 짠 소스의 총라인이 얼마인지
아님 특정 단어의 개수를 조사할 때 쓰이는 명령으로 특정 단어나 문자 또는 행의 수를 세는 명령이다.
2. 사용법 : wc [option] <file1> <file2> … <fileN>
3. 옵션
o -c : 문자의 수만 센다.
o -l : 행의 수만을 센다.
o -w : 단어의 수만을 센다.
4. 사용예
o 'wc /home/dalma/readme' (readme 파일의 행, 단어, 문자의 수를 출력한다.)
o 'who | wc -l' (현재 접속한 사람의 수를 표시한다.)
5. 사용팁 : 리눅스는 혼자서 쓰는 운영체제가 아니라 여러 사람이 동시에 사용을 하는 운영체제이다.
who는 리눅스에 접속한 모든 사용자의 목록을 보여주는 명령이고 '|'는 파이프 기호라고 해서 여러 개의
명령어를 조합할 때 쓰이는 기호이다. 즉, 파이프 앞의 출력의 내용을 파이프 뒤의 명령의 입력으로 넣어주는
기능을 한다. 위의 예제에서 'who | wc -l' 명령은 'who' 명령의 결과를 'wc -l'의 입력으로 넣어준다.
그래서 현재 접속한 사용자의 개수를 알수 있는것이다.
* su
1. 기능 : 시스템에 접속한 상태에서 재로그인없이 다른 사람 ID로 접속한다.
2. 사용법 : su [option] [user ID]
3. 옵션
o - : 이 옵션이 없으면 자신의 환경변수의 값을 가지고 다른 사람 ID의 권한만 갖지만 이 옵션을 붙히면
그 사용자의 환경변수의 내용까지 완벽하게 복사를 한다.
4. 사용팁 : 리눅스에서는 외부에서 접속을 할 때 root로의 접속을 금지하고 있다. 이유는 보안상의 문제인데
가급적(가능한) root에서의 작업은 피하고 root의 권한이 필요하면 일반 사용자 ID로 작업을 하다가 su 명령
을 이용하여 root로 접속하는 습관을 들이는게 좋다.
* who
1. 기능 : 시스템에 어떤 사람이 로그인하고 있는가를 보여준다.
2. 사용법 : who
* write
1. 기능 : 특정사용자와 대화를 시작한다.
2. 사용법 : write <user> [ttyname]
3. 사용팁 : 마지막의 [ttyname]은 한사용자가 동시에 두번이상 접속을 하였을경우 대화할 터미널을
결정하는 부분이다. 그리고 어떤 사용자와 대화를 마쳤을 경우 [CTRL+D]를 눌러주면 대화를 종료한다.
시스템 관리 명령어
* df
1. 기능 : 리눅스에 연결되어 있는 디스크의 남은 공간을 보여준다. 당연한 소리지만 "disk free"의 약자이다.
2. 사용법 : df [option] [FileSystem | File]
3. 옵션
o -k : kilobyte 단위로 보여준다.
o -m : megabyte 단위로 보여준다.
* du
1. 기능 : 특정 디렉토리에서 하부디렉토리까지 포함한 디스크의 사용량을 보여주는 명령이다.
2. 사용법 : du [option] [files]
3. 옵션
o -a : 디렉토리에 있는 파일 하나하나의 크기를 출력한다.
o -s : 총 사용량만 표시해 준다.
o -k : 사용량을 kilobyte 단위로 출력해준다.
o -h : 용량을 보기 좋게 표시해준다.
* env
1. 기능 : 현재 시스템 사용자들의 환경 변수를 보여준다.
2. 사용법 : env
* free
1. 기능 : 가상메모리를 포함한 메모리의 사용현황을 보여준다.
2. 사용법 : free
* id
1. 기능 : 자신의 ID번호와 자신이 속한 그룹의 ID를 보여준다.
2. 사용법 : id
* kill
1. 기능 : 특정 프로세서에게 특정 시그널을 보낸다.
2. 사용법 : kill [-signal_number] [process id]
3. 예제 u "kill -HUP 549" (549번 프로세서에 HUP신호를 보낸다.)
* ps
1. 기능 : 사용자나 시스템 프로세서의 상태에 관한 정보를 알려준다.
2. 사용법 : ps [option]
3. 옵션
o -a : 전체 사용자의 모든 프로세서를 출력
o -l : 결과를 상세하게 출력
o -u : 사용자 이름과 프로세서 시작 시간을 출력
o -x : 제어터미널을 갖고 있지 않은 프로세서를 출력