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