You cannot see this page without javascript.

리눅스 명령어 모음

Linux 조회 수 1198 추천 수 0 2013.09.02 13:04:43
리눅스 시스템 종료 방법
1. 바탕화면에서 : 시스템 -> 끄기 -> 끄기
2. 터미널에서 : "shutdown -h now", "halt", "init 0"

* shutdown 명령어
shutdown -h +10 (10분 후 종료, h: halt)
shutdown -r 22:00 (오후 10시에 재부팅, r:reboot)
shutdown -c (예약된 shutdown 명령 취소)
shutdown -k now (현재 접속자에게 종료 메세지만 보내며, 실제로 종료는 안 됨.)

재부팅
- "shutdown -r now", "reboot", "init 6"

로그아웃
- "logout", "exit"

* init 명령어(런레벨, Runlevel) 
0번 : 종료모드
1번 : 단일 사용자 모드(시스템 복구시 사용)
2번 : NFS 없는 다중 사용자 모드
3번 : 텍스트 모드의 다중 사용자 모드
4번 : 없음
5번 : x윈도우 모드의 다중 사용자 모드
6번 : 재부팅 모드
</etc/inittab 에 지정되어 있음.>

vi(visual)  ; ex) vi test.txt

man(manual) ; ex) man <명령어>

genisoimage ; iso 생성
ex) genisoimage -r -J -o test.iso /boot
    "-r -J" : 8글자 이상의 파일명 및 대소문자를 구분해서 인식
    "-o" : 출력할 파일을 위한 옵션
    "test.iso" : 생성될 iso 파일명
    "/boot" : 포함될 파일 또는 디렉토리

cdrecord    ; cd로 굽기
growisofs   ; DVD로 굽기

* ls 명령어 - dos의 "dir"
 : ls    ; 현재의 디렉토리 목록
 : ls /usr/bin   ; /usr/bin 의 디렉토리 목록
 : ls -a   ; 디렉토리 목록(숨김파일 포함)
 : ls -l  ; 디렉토리 목록 자세히
 : ls *.txt  ; txt파일 보여줌
 : ls -l /usr/bin/a* ; /usr/bin/ 디렉토리에서 앞글자가 a인 목록. 

* cd 명령어 - 디렉토리 이동
 : cd    ; 사용자의 홈 디렉토리로 이동
 : cd ~root  ; root사용자의 홈 디렉토리로 이동
 : cd ..   ; 상위 디렉토리로 이동
 : cd /usr/bin  ; /usr/bin 디렉토리로 이동(절대경로)
 : cd ../usr/bin ; 상대경로로 이동

* pwd (print working directory)
 : pwd    ; 현재 작업중인 디렉토리 경로 출력

* rm - 삭제(권한이 있어야 함)
 : rm abc.txt  ; 삭제(내부적으로 rm -i 로 연결됨
 : rm -i abc.txt ; 삭제 시 확인을 물어본다
 : rm -r abc  ; 디렉토리 삭제
 : rm -rf abc   ; abc 이하 전부 강제 삭제

* cp - 복사
 : cp abc.txt cba.txt ; abc.txt를 cba.txt 파일로 복사
 : cp -r abc cba ; 디렉토리 복사

* touch - 크기 0 파일 생성, 존재시 수정 시간 변경
 : touch abc.txt

* mv - 파일 이름 변경 및 위치이동
 : mv aaa bbb ccc ddd ; aaa, bbb, ccc 파일을 ddd 디렉토리로 이동
 : mv abc.txt www.txt ; 이름 변경

* mkdir - 새로운 디렉토리 생성
 : mkdir abc  ; 현재 디렉토리 아래 abc 디렉토리 생성
 : mkdir -p def/fgh ; 현재 디렉토리 아래 def/fgh 생성

* rmdir - 디렉토리 삭제(파일이 있으면 안됨)
 : rmdir abc

* cat - 텍스트 작성 파일 화면에 출력
 : cat install.log

* head, fail - 텍스트 파일 앞 10행 or 뒷 10행을 출력
 : head install.log
 : fail install.log

* more - 텍스트 파일 페이지 단위 출력 
(space : 다음페이지, b : 앞페이지, Q : 뒷페이지)
 : more install.log
 : more +100 install.log ; 100행부터 보여줌

* less - more의 확장, pagedown, pageup 사용 가능
 : less install.log
 : less +100 install.log

* file - 파일의 종류 표시
 : file install.log
 : file /bin/gzip

* clear - 명령창을 깨끗하게
 : clear


< 사용자 및 그룹 관련 명령어>
* useradd or adduser
-> 실행시 /etc/passwd, /etc/shadow, /etc/group에 새로운 행 추가.
 : useradd newuser
 : useradd -u 555 newuser  ; 555 라는 이름의 유저 추가
 : useradd -g mygroup newuser  ; mygroup에 포함된 newuser 생성
 : useradd -d /newhome newuser  ; 홈 디렉토리가 newhome인 newuser 생성
 : useradd -s /bin/csh newuser  ; 기본 셸 /bin/csh 지정

* passwd - 비밀번호 지정 및 변경
 : passwd newuser   ; newuser의 비밀번호 지정 및 변경

* usermod - useradd와 사용법 동일, 사용자 속성 변경
 : usermod -g root newuser ; newuser의 그룹을 root 그룹으로 변경

* userdel - 사용자 삭제 
 : userdel newuser
 : userdel -r newuser

* change - tkdydwk dkagh wnrlwjr qusrud
 : change -l newuser  ; newuser에 설정된 사항 확인
 : change -m 2 newuser  ; 설정암호 최소 일자(2일)
 : change -M 30 newuser  ; 설정암호 사용가능 일자(30일)
 : change -E 2013/12/12 newuser ; 2013/12/12에 암호 만기
 : change -W 10 newuser  ; 만기 10일 부터 경고 메세지 출력

* groups - 사용자가 속한 그룹을 보여줌
 : groups

* groupadd - 새로운 그룹 생성
 : groupadd newgroup
 : groupadd -g 555 newgroup ; 그룹 ID가 555인 newgroup생성

* groupmod - 그룹 속성 변경
 : groupmod -n newgroup mygroup ; newgroup 이름을 mygroup으로 변경

* groupdel - 그룹 삭제
 : groupdel newgroup
(해당 그룹을 주요 그룹으로 지정한 사용자가 없을 때 사용 가능)

* gpasswd - 그룹의 암호를 생성하거나 관리를 수행
 : gpasswd newgroup  ; newgroup의 암호지정
 : gpasswd -A newuser newgroup ; newuser를 newgroup의 관리자로 지정
 : gpasswd -a user1 newgroup ; user1을 사용자로 추가
 : gpasswd -d user1 newgroup ; user1을 사용자에서 제거


< RPM >
* 설치
 : rpm -Uvh (패키지파일)
 - U : (대문자) 설치되어 있지 않다면 'i'와 같이 설치,
       설치되어 있다면 업그레이드한다.
 - v : 설치 진행상황 확인
 - h : 설치진행과정을 화면에 출력

* 삭제
 : rpm -e (패키지이름)
 - e : Erase

* 이미 설치된 패키지 질의
 : rpm -qa (패키지)  ; 설치되었는지 확인
 : rpm -qf (파일의 절대 경로) ; 어느 패키지에 포함된 것인지 확인
 : rpm -ql (패키지)  ; 어떤 파일이 포함되었는지 확인
 : rpm -qi (패키지)  ; 상세정보

* 설치되지 않은 패키지 질의
 : rpm -qlp (패키지)  ; 어떤 파일이 포함되었는지
 : rpm -qip (패키지)  ; 상세정보

< YUM >
* 설치
 : yum (-y) install (패키지)  
&&& -y 옵션을 쓰면 무조건 yes로 넘어감

* rpm파일 설치
 : yum install (rpm파일)

* yum check-updata  ; 업데이트 가능한 목록 보기
 
* yum updata (패키지)  ; 패키지 업데이트, 없다면 install

* yum remove (패키지)  ; 패키지 제거

* yum info (패키지)  ; 패키지 요약 정보

* yum localinstall (패키지) ; 로컬에서 설치 (iso파일에서 설치)

* yum groupinstall "(패키지그룹)" ; yum grouplist로 확인후 통째로 설치

* yum list (패키지)  ; 패키지 리스트 출력
 ex) yum list all(모든 리스트), yum list mysql*(mysql이 들어간 목록)

* yum provides (파일이름) ; 특정 파일이 어느 패키지에 들어있는지..

* yum install --nogpgcheck (rpm파일) ; GPG키 검사 생략
 ; 페도라에서 인증되지 않은 rpm파일을 설치시 GPG키 생략하고 설치됨.


< 파일 압축, 묶기 >
* bzip2 - bz2로 압축하거나 풀기
 : bzip2 (파일명)  ; 파일명.bz2 로 만든다.
 : bzip2 -d "파일명.bz2" ; 파일명.bz2 를 일반파일로 만든다

* bunzip2 - bzip2 -d 와 같다.

* gzip - gz으로 압축하거나 풀기
 : gzip (파일명)   ; 파일명.gz 로 만든다.
 : gzip -d "파일명.gz"  ; 파일명.gz 를 일반파일로 만든다.


* tar - 확장명 tar로 묶거나 풀기
 [동작]
 : c     ; 새로운 묶음
 : x    ; 묶인 파일을 풀어줌
 : t    ; 묶음을 풀기전에 경로 표시
 [옵션]
 : f(필수) - 묶음 파일명 지정  ; 생략시 tape로 백업
 : v - visual    ; 과정을 보여줌
 : z - tar + gzip
 : j - tar + bzip2
 [사용예]
 : tar cvf xinetd.tar
 : tar xvfj (파일명.tar.bz2)
 : tar xvfz (파일명.tar.gz)

< 파일 위치 검색 >
* find [경로] [옵션] [조건] [action]
 [옵션] -name, -user(소유자), -newer(전, 후) -perm(허가권), -size(크기)
 [경로] -print(디폴트), -exec(외부명령 실행)
 [사용 예]
 : find /etc -name "*.conf" ; /etc 에 확장자 conf 파일 검색
 : find ~ -perm 644  ; 허가권이 644인 파일 검색
 : find /bin -size +10k -size -100k  ; 10kb~100kb인 파일 검색
 : find ~ -size 0k -exec ls -l { } ; 
     -> 사용자 홈 디렉토리 하위에 파일 크기가 0인 파일 목록 상세히 출력
 : find /home -name "*.swp" -exec rm { } ;
     -> /home 홈 디렉토리 하위에 확장자 swp파일 삭제

* which (실행파일명) - PATH에 설정된 디렉토리 검색(절대경로 포함)

* whereis (실행파일명) - 실행 파일 및 소스, man 페이지 파일까지 검색

* locate (파일명) - updatedb 명령 이후 사용가능
                    파일목록 데이터베이스 검색, 빠르고 유용.

< wine 설치하기 >
http://kltp.kldp.net/stories.php?story=00/08/11/9653999

< 시스템 설정 > ststem-config-xxxx
&&& 패키지 업데이트 yum -y install system-config-xxxx
 : boot   ; 초기 부팅 설정
 : data   ; 날짜, 시간 설정
 : firewall   ; 방화벽
 : keyboard  ; 키보드
 : language  ; 언어
 : lvm   ; lvm 설정
 : network  ; 네트워크
 : printer   ; 프린터
 : rootpassword  ; root 비밀번호 
 : service  ; 서비스 가동/중지
 : users  ; 사용자 설정
 : bind   ; 네임 서버
 : display   ; x 윈도우 환경 설정
 : httpd   ; 웹 서버 설정
 : nfs    ; NFS 서버 설정
 : samba   ; 삼바 서버 설정
 : vsftpd  ; FTP 서버 설정

< CRON > 
 - 주기적으로 반복되는 일 설정
 - /etc/crontab 파일
 ex) 01 * * * * root run-parts /etc/cron.hourly
     02 4 * * * root run-parts /etc/cron.daily
     04 4 * * 0 root run-parts /etc/cron.weekly
     42 4 1 * * root run-parts /etc/cron.monthly
     분 시 일 월 요일 권한 실행명령 (0~6 = 일~월요일)

< AT >
 - 일회성 작업 예약 
 - 한번 실행되고 소멸
 ex) at 실행 후 #at <시간>, 
     완료시 ctrl+D, 
     확인   at-l, 
     취소   atrm <작업번호>

< Network 관련 명령어 >
 : system-config-network
 : system-config-network-tui ; 텍스트 기반
 : service network (start/stop/restart/status)
 : ifup <장치이름> / ifdown <장치이름>  ; 장치 작동
 : ifconfig <장치이름>   ; 해당 장치의 ip주소 설정 정보 출력
 : nslookup   ; DNS 서버 작동 테스트
 : ping (IP/URL)  ; 네트워크 응답 테스트

< Network 설정관련 파일 > - system-config-network 후
 : /etc/sysconfig/network ; 네트워크의 기본적인 정보가 설정된 파일
 : /etc/sysconfig/network-script/ifcfg-eth0(or ifcfg-eth1) 
     ; 장치에 설정된 네트워크 정보 모두
 : /etc/resolv.conf  ; DNS서버의 정보 및 호스트 이름이 들어있는 파일
 : /etc/hosts   ; 현 컴퓨터의 호스트 이름 및 FQDN이 들어있는


<< 파이프, 필터, 리다이렉션 >>
< pipe > - 두 개의 프로그램을 연결해주는 연결통로
 : | 을 이용함.
 ex) ls -l /etc | more  ; /etc에 파일이 너무 많아서 한페이지씩 봄

< filter > - grep, tail, wc, sort, grep, awk, sed 등
 ex) ps -ef | grep bash  ; ps -ef 는 모든 프로세스 번호 출력하므로
                                  bash라는 글귀가 들어간 프로세스만 출력
     rpm -qa | grep bind ; 설치된 패키지중 bind라는 글자가 들어간 
       패키지만 출력

< re-direction > 
 - 표준 입출력 방향을 바꿈.
 - 표준입력은 키보드, 출력은 모니터지만 이를 파일로 처리하고 싶을 때 주로 사용
 ex) ls -l > aa.lst  ; ls -l의 결과를 aa.lst 파일에 씀(orerwrite)
     ls -l >> aa.lst  ; 위와 같지만 append
     sort < aa.lst  ; aa.lst 파일을 정렬해서 화면에 출력
     sort < aa.lst > bb.lst ; aa.lst를 정렬해서 bb.lst에 쓴다.


< 프로세스 관련 명령어 >
1. ps - 현재 프로세스 상태 확인
 ex) ps -ef | grep (프로세스이름)

2. kill - 프로세스 강제 종료 "-9" 옵션을 함께 사용하면 무조건 종료
 ex) kill -9 (프로세스번호)

3. pstree - 부모 자식 프로세스관계를 트리형태로 보여줌

< vi 에디터 비정상적 종료시 대처법 >
ex) vi abc.log 를 비정상적으로 종료시
-> abc.log.swp(임시 Swap File)생성. 
--> ls -a 로 파일 확인하고 "rm .install.log.swp"으로 삭제. 

< 데몬(Daemon) ~= 서비스(Service) >
: 눈에는 보이지 않지만 현재 시스템에서 활동중인 프로세스(백그라운드)
엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수

APM mariadb download origin address

  • LynX
  • 2019-06-19
  • 조회 수 1992

APM What one can and should optimize

  • LynX
  • 2019-06-03
  • 조회 수 1419

CentOS mariadb install

  • LynX
  • 2019-05-31
  • 조회 수 1183

CentOS init mode change

  • LynX
  • 2019-05-30
  • 조회 수 1291

APM ext zip install

  • LynX
  • 2019-02-19
  • 조회 수 1615

APM ext ImageMagick install

  • LynX
  • 2019-02-19
  • 조회 수 513

3D Printer Pronterface(PrintRun) install file

  • LynX
  • 2018-09-13
  • 조회 수 753

CentOS Grub UUID change

  • LynX
  • 2018-08-08
  • 조회 수 869

Linux letsencrypt wildcard

  • LynX
  • 2018-07-26
  • 조회 수 798

Printer cura usb connection

  • LynX
  • 2018-07-06
  • 조회 수 666

CentOS cli 무선랜

  • LynX
  • 2018-06-07
  • 조회 수 448

APM 윈도우에 APM 페키지 설치 file

  • LynX
  • 2018-05-04
  • 조회 수 593

APM MySQLTuner 설치

  • LynX
  • 2018-04-27
  • 조회 수 545

CentOS CentOS7 커널 업데이트

  • LynX
  • 2018-04-23
  • 조회 수 702

HTML Tag CSS 여러가지 모양 만들기

  • LynX
  • 2018-02-08
  • 조회 수 772

Linux wkhtmltopdf wkhtmltoimage install

  • LynX
  • 2018-01-31
  • 조회 수 602

APM LZ4_LIBS Not Found (CentOS7, MariaDB 10.1.29)

  • LynX
  • 2018-01-03
  • 조회 수 485

APM mysql ./configure

  • LynX
  • 2017-12-15
  • 조회 수 805

APM PHP-7.2.0

  • LynX
  • 2017-12-12
  • 조회 수 3157

Linux libiconv

  • LynX
  • 2017-12-08
  • 조회 수 558

XE Login