기본 콘텐츠로 건너뛰기

Linux Command 4

square72_blue.gif 리눅스 시스템관리 명령어

1. 자신이 누구인지 알아보기: whoami, id, finger

- whoami는 자신의 아이디만을 알려준다. 그러나 id는 자신의 아이디와 그룹에 대한 숫자와 이름까지 알려준다. $ id 특정아이디 형식으로 입력하면 특정 아이디에 대한 정보를 볼 수 있다. finger 뒤에 조회하려는 아이디를 적어주면 해당 아이디에대한 좀 더 자세한 정보를 보여준다.

- # whoami

- # id

- # id tuxlove

- # finger tuxlove

2. 달력 보기: cal

- # cal

3. 오늘의 날짜 보기: date

- # date

- # date 월/일/시/분/년

4. 현재 시스템을 사용하고 있는 사용자 보기: who

- # who

5. 현재 로그인 되어있는 사용자 보기: w

- # w

6. 잠시 다른 사용자가 되기: su

- 빠져 나올때: exit나 logout명령을 사용한다.

- # su roseb612

- # exit

- $ su - root

7. 시스템 끄기: shutdown

- 시스템을 끄는 방법에는 halt(정지),와 reboot(재부팅)의 두 가지 방법이 있다.

- # shutdown -h now : 시스템 정지

- # shutdown -r now : 재부팅

- # shutdown -h 18:00

8. 사용자 추가: useradd

- # /usr/sbin/useradd roseb612

- # passwd roseb612

- # /usr/sbin/useradd -p **** sora

- 계정과 관련된 파일: etc/passwd , etc/group, etc/skel , etc/shells

- 사용자 계정 변경: usermod -[c 설명필드내용 / d 홈디렉토리 / e 만료일(연도월일) / G 그룹 / I 사용자명] 계정명

- 사용자의 패스워드를 주기적으로 변경할 때: chage -[l(설정확인) / M 일수 / W 경고일 수 / E 계정사용유효기간] 계정명

- 그룹 추가: groupadd -[g 그룹고유ID/ f (강제로그룹추가)] 그룹명

- 그룹 삭제: groupdel 그룹명

- 그룹 변경: groupmod -[n 변경될룹명 / g 그룹의고유ID] 그룸명

9. 사용자 삭제: userdel

- # userdel babo

- # userdel -r babo : 홈까지 삭제

10. 다른 사용자의 암호 바꾸기: passwd

- root가 아닌 권한으로는 자신의 아이디에 해당하는 암호만을 그것도 기존의 암호를 알아야 만이 바꿀 수 있다. 그러나 root는 다른 사용자의 암호를 임의로 바꿀 수 있다. 이때 root는 사용자의 기존 암호를 알 필요가 없다. 그리고 지정한 암호가 너무 간단하거나 짧아도 받아들여진다. 그러나 root라 하더라도 원래 사용자의 암호를 볼 수는 없고 바꿀 수 만 있다.

- # passwd sorise

11. 디스크의 용량 알기: df

- df에 -h옵션을 주면 블록 단위가 아닌 byte단위로 나타내 준다. 파일 시스템은 파일 자체에 대한 정보를 포함하고 파일은 블록 단위로 저장하므로 사용한 양과 남은 공간의 합이 전체 공간과 일치하지 않는 경우가 많다. 윈도우즈의 fat32시스템은 4k byte를 파일 저장의 한 단위로 사용한다. 리눅스는 파일 저장의 단위를 한 블록(1024 byte == 1k byte)으로 하므로 디스크를 더 경제적으로 사용한다고 볼 수 있다.

- # df

- # df -h

12. 다른 파일 시스템을 붙이고 떼기: mount, umount

- 윈도우에서는 cd-rom이나 floppy, 물리적 또는 논리적인(파티션에의한 디스크의 논리적 분할)하드 디스크를 각각의 드라이브로 인식한다. 그러나 리눅스에서는 각각의 드라이브들을 mount 과정을 통해서 디렉터리로 인식한다. 예를 들면 플로피는 mnt/floppy로 cd-rom은 mnt/cdrom으로 인식된다. 리눅스에서 마운트 시킬 수 있는 시스템은 fat, vfat, fat32, ext2fs... 등으로 매우 다양합니다. 윈도우에서는 상상도 못하는 일이죠. 윈도우로 부팅해보세요 리눅스 파티션이 보이지 않습니다. mount 명령은 장치명과 마운트 시킬 디렉터리를 적어주어야 한다. 만약 프라이머리 마스터에 장착된 하드의 첫 번째 파티션을 /mnt/win으로 마운트하려면 먼저 /mnt/win디렉터리를 만든다 그 다음 $ mount /dev/hda1 /mnt/win 이라고 하면 된다. 파일 시스템은 리눅스가 자동으로 판단하나 그렇지 못할 경우 -t옵션을 사용한다. 윈도우 파티션의 경우는 vfat으로 마운트해야 긴 파일명을 볼 수 있다. 붙였던 장치를 떼어내려면 umount명령을 사용한다. 각 디스크별 장치명은 다음과 같다.

- 프라이머리 마스터: had

- 프라이머리 슬레이브: hdb

- 세컨더리 마스터: hdc (주로 cd-rom이 사용한다)

- 세컨더리 슬레이브: hdd

- SCSI 장치: sda, sdb ....

- 플로피 드라이브: fd0

※하드디스크에 파티션이 여러 개라면 뒤에 파티션 번호를 적는다. ex) hda1, hda2 ....

- # mount -[w(읽기,쓰기)/r(읽기)/t 파일시스템유형 /f(마운트점검)] [디바이스] [마운트할디텍토리]

- # mount -t iso9660 /dev/cdrom /mnt/cdrom

- # mount -t msdos /dev/fd0 /mnt/floppy

- # mount -t ext3 /dev/hdb /data : 리눅스 파일 시스템

- # mount -t vfat /dev/hdb /data : 윈도우 파일 시스템

- # mount /dev/fd0 /mnt/floppy

- # umount /mnt/floppy

- # mount /dev/hdc /mnt/cdrom

- # umount /mnt/cdrom

13. 호스트 컴퓨터 이름 알기: hostname

- # hostname

14. 시스템의 이름 및 시스템 타입 정보 보기: uname

- # uname

- # uname -a

15 시스템이 얼마나 켜져있는 시간 보기: uptime

- # uptime

16. 시스템 내에서 현재 수행되고 있는 프로세스에 관한 정보 상태를 화면에 출력하기: ps

- # ps

17. 시스템 고장 정보 보기: dmesg

- # dmesg | more

18. 현재 쉘의 환경 변수를 보기: set

- # set | more

19. 프린터 제어하기(로컬 프린터에서): lpr, lpq, lprm

- 프린터가 PC의 패러렐 포트에 직접 연결 되어 있으면 lpr 명령으로 파일을 프린트한다. -P옵션 뒤의 pan은 프린터의 이름이다. 각자가 설정하기에 따라 프린터 이름은 다를 것이다. lpq 명령으로는 현재 프린터의 작업 상태를 본다. lprm 명령으로 진행중인 작업을 삭제시킨다. lpq로 작업 번호를 확인하고 lprm으로 작업을 삭제한다.

- # lpr -Ppan st.ts xt

- # lpq -Ppan

- # lpr -Ppan /mnt/win/data/text/java/java04.txt

- # lpq -Ppan

- # lprm -Ppan job 7

20. 화면 지우기: clear

- # clear

21.현재 작업 디렉터리 보기: pwd

- # pwd

22. 특정 문자열을 화면에 출력하기: echo

- # echo 김득기

23. 현재 자신의 쉘 보기: echo $SHELL

- # echo $SHELL

24 응용프로그램의 결과를 화면에도 출력하고 파일로도 저장: tee

- # ls | tee ls.txt

25. 터미널(화면)에 출력되는 내용을 파일로 저장하기: script

- 갈무리 기능과 같은 것으로 script 명령 뒤에 파일의 이름과 경로를 적는다. ^D나 exit로 작업을 끝낸다.

- # script /mnt/win/data/text/st.txt

# exit

26. 리눅스 사용시 도움말 얻기

- man, info, whatis, apropos, usr/doc에서 프로그램에 관련된 문서 보기 등이 있다.

- # man 명령어

- # info 명령어 : info는 GNU 프로젝트에서 만들어낸 기존의 man을 대체할 새로운 온라인 형식의 매뉴얼이다. info에서 링크는 TAB키로 선택해서 해당 링크에서 ENTER를 누르면 된다.

- # whatis 명령어 : whatis는 명령어의 용도를 간단한 문장으로 보여준다.

- # apropos 명령어 : apropos는 제목 또는 요약에서 문자열을 검색하여 결과를 보여준다.

- usr/doc에는 프로그램을 설치할 때 프로그램과 관련된 문서가 설치된다. /usr/doc/FAQ, /usr/doc/HOWTO, /usr/doc/LDP 디렉터리를 주의보도록 한다.

- man, info,등으로 목록을 보다가 종료하려면 q를 누르면 된다. more나 cat으로 해당 문서를 보다가 종료하려면 역시 q를 누르면 된다. 그리고 man이나 info 자체의 메뉴얼은 '# info info', '# info man', '# man man', '# man info' 등으로 알 수 있다.

댓글

이 블로그의 인기 게시물

VIDEO_DXGKRNL_FATAL_ERROR on Windows 8.1

Windows 8.1 로 업데이트 이후, Booting 시 Blue Screen 이 뜨면서, VIDEO_DXGKRNL_FATAL_ERROR 또는 SYSTEM_SERVICE_EXCEPTION (atikmpag.sys)  가 발생하는 문제점이 있을 때, 아래와 같이 조치해 보십시오. 제어판 -> 전원 옵션 -> 설정 변경 덮개를 닫으면 수행되는 작업 선택 -> 현재 사용할 수 없는 설정 변경 -> 종료 설정 -> 빠른 시작 켜기(권장)의 Check Box 를 해제함.

Ubuntu (Kubuntu) 에 desktop 파일 만들기

Package 관리자등을 통해 직접 Repository 에 있는 Application 을 설치하는 경우에는 필요한 경로와 파일, Category 로 분류된 Icon 등록 등이 자동적으로 이루어지나 firefox, eclipse 등 새로운 버전을 새로 설치할 경우, 다음과 같은 절차를 통해 시작메뉴에 등록시킬 수 있다. 다음은 eclipse-SDK-3.6-linuxx-gtk.tar.gz 을 받아 설치 등록하는 것을 예로 든다. 1. 다운받은 파일을 /usr/lib에 압축해제한다. (물론, super user 계정으로 실행해야 한다.) 2. 보통의 경우, /usr/bin Directory 는 PATH 에 물려 있으므로 다음과 같은 실행 파일을 만들어 놓는다. # cd /usr/lib # chmod +x eclipse # cd /usr/bin # sudo nano eclipse eclipse 파일에는 아래의 내용을 입력하여 넣는다. export ECLIPSE_HOME="/usr/lib/eclipse" $ECLIPSE_HOME/eclipse $ * # sudo chmod 755 eclipse 3. Desktop Menu 에 추가하려면 # cd /usr/share/applications # sudo nano eclipse.desktop [Desktop Entry] Encoding=UTF-8 Name=Eclipse Comment=Eclipse IDE Exec=eclipse Icon=/usr/lib/eclipse/icon.xpm Terminal=false Type=Application Categories=GNOME;Application;Development' StartupNotify=true 이렇게 입력한 파일을 저장하면, 시작메뉴 > 개발 > Eclipse 아이콘이 생성되어 메뉴에서 직접 실행할 수 있게된다.

네트워크 상의 IP 주소로 MAC 주소를 추출하는 방법

Subject :  How can I get a list of MAC to IP addresses on the network? An easy way to get a list of MAC to IP addresses on the local subnet is to ping every host on the subnet and then check you ARP cache, however pinging every individual node would take ages and the entries only stay in the ARP cache for 2 minutes. 로컬 서브넷 상의 IP 주소에 대한 MAC 주소 목록을 획득하는 쉬운 방법은 서브넷 상의 모든 호스트에게 Ping 을 하고 ARP(Address Resolution Protocol) 캐쉬를 확인하는 것이다.  그러나, 모든 개별 노드에 Ping 하는 것은 많은 시간이 걸릴 것이고 2분동안만 ARP 캐쉬에 체재하면서 들어갈 수 있다. (참고) ARP 캐쉬는 Linux 의 경우 20분, Windows Server 의 경우 2분이 기본적인 Life Time  이다. 그 이후에는 그 데이타가 지워진다. An alternative is to ping the broadcast mask of your subnet which will ping every host on the local subnet (you can't ping the entire network as you only communicate directly with nodes on the same subnet, all other requests are via the gateway so you would just get a ARP entry for the gateway). 로컬 서브넷상의 모든 호스트를 Ping 하게 될 사용자의 서브넷 브로드캐스트 마스크를 Ping 하는 것이 또 다른 방법이다.(동일 서브넷 상의 노드와 직접적으로