리눅스 서버 명령어 모음 :

<사용자 관련>

Adduser [계정이름] : 계정생성

Passwd [계정이름] : 해당계정의 비번변경

Userdel –r [계정이름] : 계정삭제 및 계정의 파일폴더 모두 삭제

W : 현재 사용중인 사용자

Last : 최근 이용한 접속자

Id : 현재 사용자 확인하기

Man : 명령어 사용법 및 정보 확인하기

More : 파일 내용 확인하기

Pwd, cd : 작업장소 이동하기

Rm : 파일(디렉토리) 삭제하기

Which : 특정 명령어 확인하기

Ln : 링크파일 생성하기

Chfn/chsh : 계정 정보 변경과 사용쉘 변경하기

Wall : 로그인한 전체 사용자에게 메시지 보내기

Poweroff : 리눅스 전원 off,  이 명령어는 주로 원격으로 장비의 전원을 쉽게 끄기 위해

사용합니다.

Reboot : 장비를 재부팅 합니다. 다만 이 경우에는 장비를 정지하지 않고 재시동 하는 것을

의미합니다.

 

<파일/디렉토리 관련>

/ : 주 파티션에 위치하며 파티션 장치명은 /dev/sda1, 최상위 루트 디렉토리 파티션

/boot : 주 파티션에 위치하며 파티션 장치명은 /dev/sda2

/home : 논리 파티션에 위치하며 파티션 장치명은 /dev/sda5

/usr/ : 논리 파티션에 위치하며 파티션 장치명은 /dev/sda6

/usr/local : 논리 파티션에 위치하며 파티션 장치명은 /dev/sda7

/var : 논리 파티션에 위치하며 파티션 장치명은 /dev/sda8

/sql : 논리 파티션에 위치하며 파티션 장치명은 /dev/sda9

/data : 논리 파티션에 위치하며 파티션 장치명은 /dev/sda10

/swap : 주 파티션에 위치하며 파티션 장치명은 /dev/sda3

 

ll : 전체폴더구조 보기

ls : 폴더 구조 간단히 보기

ls-al : 숨긴파일 까지 다 보기

ls –a ; : 숨겨진 파일을 포함해서 디렉토리 내의 모든 파일 보기

ls –n; : 소유자명,그룹명 대신 Uid,Gid로 보기

ls [디렉토리 명] : 해당 디렉토리 보기

ls -| : 상세목록보기(파일명,파일크기,날짜/시간,허가원,소유권,그룹정보등)

ls [파일명 또는 일부] : 파일권한 변경(같은 그룹,자기 것,전체)

cd : 디렉토리 이동

chmod 755 [디렉토리] : 파일권한변경 (같은 그룹,자기 것,전체)

mkdir [디렉토리] : 디렉토리 생성

mkdir -p a/b : a디렉토리 생성 후 하위에 b디렉토리 생성

rm [파일명] : 파일 삭제

rmdir [디렉토리명] : 디렉토리 삭제(, 파일 존재시 삭제 불가)

rm –rf [디렉토리명] : 하위 디렉토리 및 파일까지 모두 삭제

touch [파일명] : 해당파일의 수정일을 현재시각으로 변경(, 파일이 없을시 빈파일 생성)

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

cp –r [디렉토리1] [디렉토리2] : 디렉토리1을 디렉토리2로 하위폴더와 파일까지 복사

cp –a [파일1] [파일2] : 소유권을 유지하면서 복사

move [파일/디렉토리] [디렉토리] : 파일 및 디렉토리 이동

mv –i*.conf /temp : 파일 이동 , -i는 파일 복사시 복사여부 확인가능

cat [파일명] : 파일내용 출력

cat/dev/cdrom > linux.iso : CD롬에 있는 내용을 CD이미지 파일로 만듦

cat a.txt >> b.txt : b.txt파일 하단에 a.txt파일의 내용 추가

more [파일명] : 파일내용을 페이지단위로 출력 (space:다음페이지, b:이전 페이지)

ln [해당디레고리 또는 파일] [링크이름] : 하드링크

ls –s [해당디렉토리 또는 파일] [링크이름] : 심볼릭링크

| : 파이프로 두개의 명령을 연결시켜줌

(예시 : ls -|/usr/bin | more : ls에서 검색된 파일 폴더를 페이지 별로 보여줌)

파일권한 (자신/그룹/나머지 : 4: 읽기 2: 쓰기 1: 실행)

Chown : 사용자 소유권 변경

chown –R ohhappy.wheel /home/ohhappy/* : /home/ohhappy 하위의 모든 파일

디렉토리의 소유자를 ohhappy로 그룹을 wheel로 변경

chgrp 그룹명 파일명 –R : 그룹 소유권 변경

mount –t iso9660 /dev/cdrom/mnt/cdrom : cdrom 마운트

mount –tvfat /dev/fd0/mnt/floppy : floppy 마운트

 umount /dev/cdrom 또는 umount/mnt/cdrom : cdrom 언마운트

 

<검색>

find [경로] –name [파일명] : 하위경로의 파일찾기

/[찾을 문서명] : 문서나 매뉴얼 안에서 문자 찾기

which [명령어] : 명령어의 절대경로를 알려줌

whereis [명령어] : 명령어의 바이너리,소스,맨페이지 위치 알려줌

 

<시스템/프로세스 관련>

top : 시스템 프로세스 및 메모리 및 CPU 사용량

uname –a : 운영체제,호스트명,커널버전,시스템 부팅시간, 아키텍쳐를 보여줌
uname –m : CPU
를 보여줌

free –m : 메모리 보여줌(-m : 메가단위, -k : kb단위)

df –h : 마운트되어 있는 디스크 사용량

df –BG : 현재 시스템 하드웨어 용량, 할당 상황 및 점유율 마운트등 체크

du –max-depth=1 –h/home : 각 계정별로 이용량 확인

du : 특정 디렉토리에서 하부 디렉토리까지 포함한 디스크의 사용량을 보여준다.

사용법 : du [option] [Files]

du –a : 디렉토리에 있는 파일 하나하나의 크기를 출력한다.(현재 디렉토리의 디스크 사용량을

       파일 단위로 모두 출력한다.)

du –s : 총 사용량만 표시한다. (간단하게 전체용량을 확인할 때는 단순하게 이 옵션을 쓴다.)

du –s* : 현재 디렉토리의 첫번째 단계까지만 디스크의 사용량을 출력한다.(du –h –max-depth=0*

        와 동일하다.

-max-depth=1 에서 마지막의 숫자는 폴더의 깊이를 의미한다.

du –s –k : 킬로바이트 단위로 표시한다. / du –s –h : 용량을 사람이 보기 가장 좋게 표시한다.

lsdev : 현재 사용중인 장치 정보

lsmod : 커널 모듈을 불러옵니다.

last : 최근 이용한 접속자

date : 현재 설정된 시간

clock : Cmos에 설정된 시간

rdate –s soback.kornet.nm.kr : soback.kornet.nm.kr에서 시간을 전송받아 시간 수정

clock –w : cmos 시간으로 수정

netstat –tu : 시스템에 연결된 소켓 정보

ifconfig : 네트워크 장치설정 정보

ps –[옵션] : 현재 시스템에서 구동중인 프로세스 상태 확인

옵션들 : -a : 전체 사용자 / -l : 자세히 보기 / -x : 제어터미널이 없는 프로세스

        -f : pstree명령어와 같은 프리구조로 출력

상태값 : D : 구동일시 중지중 / R : 구동중 / S : 쉬는중 / T : 구동정지중 / Z : 좀비 프로세스 / W : 메모리 안쓰는 스와핑 상태

ps auxfw –width=300 : 프로세스의 사용자 확인(주로 | more 필요)

 pstree : 구동중인 프로세스를 트리구조로 보여줌

kill -9 [프로세스 번호] : 프로세스 강제종료

killall -9 [프로세스 이름] : 프로세스 강제종료

<시스템 종료>

init0 : 시스템 종료 / halt : 시스템 종료 / reboot : 시스템 재부팅

<압축>

tar cvf [생성될 파일명 예시 : httpd.tar] [묶을 디렉토리] : 설정한 디렉토리를 포함한 하위

디렉토리 및 파일을 묶음

tar xvf [묶인 파일 예시 : httpd.tar] : tar파일을 현재 디렉토리에 품

tar tvf [묶인 파일 예시 : httpd.tar] : tar파일을 풀지 않고, 파일리스트만 출력

tar cvfz [압푹파일명 예시 : httpd.tar.gz] [압축할 디렉토리] : 파일을 묶어서 압축함

tar xvfz httpd.tar.gz : tar.gz 압축 해제 / tar xvfj httpdtar.bz2 : 압축 해제

(rh)service / (rh)chkconfig / (deb)sysv-rc-conf: 서비스를 중단 및 시작할 수 있습니다.

Shutdown –Ph now / shutdown –y g0 –i0 / halt / poweroff : 파워 off shutdown

Parted / cfdisk / fdisk / pdisk (on MAC) / (deb)mac-fdisk(on MAC) / (md) diskdrake :

디스크 파티션을 나눕니다.

(rh)rpm –a –i / (rh)rpm –qa / (rh)yum list installed / (deb)dselect / (deb)apt-get install pkg /

(deb)dpkg –i / (md)urpmi : 소프트웨어를 추가 합니다.

apt-get update / apt-get upgrade / (rh)

<ftp>

quit : ftp 종료 / get : 다운로드 명령 / mget : 현재 폴더 내 모든 파일 다운로드

mget –R * : 현재폴더 및 하위 폴더 파일 다운로드

 

<여러파일 권한 바꾸기>

find ./ -type f –name 파일명 –exec chmod 777 {}\;

find 디렉토리 시작위치 –type 타입구분(f=팡일, d=directory) –name 파일명 –exec chmod 권한{}

\; : 위 명령을 이용하면, 디렉토리 시작위치에서 하위에 있는 모든 디렉토리에 포함된 파일을

한번에 권한 설정을 해줄 수 있다.

       

Mysql –u root –p : 콘솔에서 mysql DB 접속

<리눅스 서버 사양 확인>

$getconf LONG_BIT : OS Bit 확인

$cat /etc/issue : OS계열 확인

$cat /proc/version : 상세 OS 확인

$cat /proc/cpuinfo : CPU 정보 확인

$cat /proc/meminfo : RAM 용량 확인

$df –h : Disk 용량 확인

<리눅스 단말기 폭 초과 오류시>

문제 메시지 : [th:th/Home2/engine/src/daily/check]$ vi check_acet.sql

해결 방법 : sty columns 명령어를 통해서 늘려주면 된다.

<리눅스 방화벽 해제 설정, range 해제>

리눅스 방화벽 설정은 root sudo 유저만 설정이 가능하다.

Cat /etc/sysconfig/iptables 이 후 아래와 같이 설정하면 특정 포트와 포트 대역의

방화벽을 해제할 수 있다.

설정 방법 : -A INPUT –m state –state NEW –m tcp –p tcp –dport 22 –j ACCEPT

            -A INPUT –m state NEW –m tcp –p tcp –dport 7000:9999 –j ACCEPT

 설정 후에는 저장한 후 iptables를 리스타트 해주면 된다.

>service iptables restart

<VM 환경>

기본 편집기 vi(vim)열기 : vi(vim) [파일명]

에디트 편집기 gedit 열기 : gedit [파일명]

VM환경에서 한글 입력을 위한 nabi 설치와 설정 방법 :

Sudo apt-get install nabi

System Settings -> Language Support -> Keyboard input method System -> nabi

System Settings -> Keyboard Layout -> + -> Korean -> Add

이 후 Shift+Space 키를 이용하면 한글일 입력할 수 있습니다.

<시스템관리자>

/proc/cpuinfo : CPU의 정보

/proc/interrupt : interrupt 할당 정보

/proc/ioports : I/O 포트 할당 정보

/proc/devices : character, Block 장치명

/proc/swaps : 활성화된 스왑영역 정보

/proc/meminfo : 물리적인 램용량, 램 사용량, 스왑사용량등

/proc/uptime : 시스템이 얼마나 오랫동안 살아 있었는지 보여줍니다.

/proc/stat : 부팅된 후 page fault가 몇번 일어났는지를 알아 볼 수 있습니다.

/proc/pci : PCI- 버스와 설치되어진 PCI-카드들, 그리고 주변장치 연결(PCI )버스를 사용하는

다른 Device 들에 대한 정보를 표시합니다.

/proc/scsi/scsi : 이 페이지는 SCSI- 인터페이스와 연결된 SCSI-device 들에 대한 정보를

표시합니다.

/proc/modules : 현재 어떤 커널 모듈이 사용되고 있는지를 알려줍니다.

/proc/pattitions : 현재 분할 영역에 대한 정보를 알려줍니다.

/proc/loadavg : 시스템의 평균 부하량을 보여줍니다.

/proc/dma : 현재 어느 DMA 채널이 사용 중인지를 알려줍니다.

/proc/version : 커널의 버전을 알려줍니다.

/proc/sys : 커널의 상태를 알려줍니다.

 

특정 rpm 패키지의 설치 여부 확인 : #rpm –qa | grep [패키지 명]

시스템 지원 모니터링 툴 : 시스템 자원 | 모니터링 툴

CPU | top,ps,uptime,vmstat,pstree

메모리 문제점검 : CPU | free,vmstat

네트워크 정보로 이더넷 카드 IP정보 재조정하기 :

/etc/sysconfig 디렉토리 밑에 하드웨어에 대한 정보가 나오는데 이더넷 카드가

여러 개 꽂혀 있다면 ifcfg-eth1, ifcfg-eth2 식으로 확인할 수 있습니다.

사용법 : /etc/sysconfig/network-scripts/ifcfg-eth0

#cat ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static /*정적 ip*/

BROADCAST=xxx.xxx.xxx.xxx(ip address)

IPADDR=xxx.xxx.xxx.xxx(ip address)

NETMASK=xxx.xxx.xxx.xxx(NETMASK address)

NETWORK=xxx.xxx.xxx.xxx(ip address)

ONBOOT=yes /*부팅시 자동인식*/

<리눅스 FTP client>

Centos 5.x에 기본적으로 들어가 있는 |ftp 사용 방법 : -e 또는 –c 옵션을 이용하여 fp 명령을

실행할 수 있다.   –e 옵션은 exit를 하지 않으며 –c 옵션은 exit를 한다. 그러나 –c 옵션의 경우에는 ftp서버에 연결하는 open 명령어를 따로 주어야 합니다.

사용법 : |ftp –u username,password ftp://ftpserver/ftpdir/ -e “put /etc/hosts ; exit”

        |ftp –c “open –u username,password ftp://ftpserver/ftpdir/ ;put /etc/hosts”

여기서 변수를 이용하여 실행하면

# second backup

FTP_USER=”user name”

FTP_PASSWD=”password”

FTP_HOST=ftp://ftp.cdnetworks.com

ATTACHMENTS_BACKUP_DIR=”/attachments/”

 

#secondary backup

/usr/bin/|ftp –u $FTP_USER,$FTP_PASSWD $FTP_HOST$ATTACHMENTS_BACKUP_DIR –e “put $BACKUP_DIR/$BACKUP_FILE; exit”

 

<필수 네트워크 명령어>

ping : 상대방과 통신을 하는 장비인 라우터,스위치,서버,컴퓨터는 외부통신용 NIC 카드가

내장되어 있으며 IP 주소를 할당해서 사용하고 있는데 ping 명령어 후 상대방 ip주소를 쳐서

통신이 잘 되는지 안되는지 확인하도록 한다.

Tracert : 인터넷은 접속하려는 상대편 컴퓨터 혹은 서버와 직접적으로 연결되어 있지 않고

중간중간에 네트워크 장비를 거쳐 접속이 된다. Tracert route는 최종 목적지까지 중간에 거치는

여러 개의 라우터에 대한 경로 및 응답속도를 표시해 준다. 그리고 갑자기 특정 사이트나 서버와

접속이 늦어진 경우에 tracert 명령으로 내부 네트워크가 느린지, 회선 구간이 느린지, 사이트

서버에서 느린지를 확인해 볼 수 있다. 또한 전용회선 관리나 장애 복구시에도 많이 사용한다.

 

nbtstat : 회사 내에 많은 컴퓨터가 있다 보면 IP 주소 충돌 경고 메시지가 발생한다.

보통 DHCP를 이용해 IP를 관리하는 곳에서는 잘 발생하지 않지만 고정으로 IP 주소를 설정하는

네트워크 환경에서 하나의 IP주소를 두 대의 컴퓨터에 입력하게 되면 충동 메시지가 발생을 하며

네트워크 통신이 안 된다.

이럴 때 충돌되는 컴퓨터를 찾을 때 쓰는 유용한 명령어가 바로 nbstat 명령어로 NetBIOS

사용하는 통계 및 이름 정보를 표시한다.

Netstat : 웹으로 프로그램을 개발할 때 외부에서 통신이 안 되면 사용 포트를 확인할 때가 있다.

또한 내 컴퓨터에 트로이목마가 설치되어 정보를 빼낼 수가 있는지를 확인하는 유용한 명령어가

Netstat ?an | more(Netstat – network stats)’로 현재 서비스를 대기하고 있는 ‘LISTENING”

정보들과 TCP 통신을 하는 서비스의 연결상태를 도메인 정보 없이 보여준다.