[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

2016년 3월 18일 금요일

[Linux]리눅스 기본 명령어 모음..

또또또또!!! 카테고리를 추가했다.. [Linux] 인데 사용한지는 오래됬지만, 항상 기본적인 것 위주로 사용하고, 내가 블로그 한지가 얼마 안되서 이제 카테고리를 추가해서 올려본다..

당장은 기본적인 명령어를 올리지만, 나중에는 조금 더 깊이 있는 것을 사용하게 되면, 또 다른 포스팅을 할 수 있기를 기대해본다.. 뒤에 옵션을 붙인다던지.. ㅋㅋ.. 무튼 검색을 해보니 luna1x 님 블로그에 정리 된 자료가 있어서 가져왔다..

설치
  • wget [URL] : URL에 있는 파일을 다운로드 받는다.
  • rpm
    • rpm -Uvh [rpm] : 패키지를 설치하거나, 업그레이드 한다.
    • rpm -qi [rpm] : 패키지가 설치 되어있는지 확인한다.
    • rpm -e [rpm] : 패키지를 삭제 한다.
  • yum(의존성이 있는 패키지 그룹 단위)
    • yum -y install [패키지] : 패키지를 설치한다.
    • yum -y erase [패키지] : 패키지를 삭제한다.
    • yum list : 설치 가능한 패키지 목록.
    • yum list updates : 업데이트가 가능한 패키지 목록.
    • yum list installed : 설치된 패키지 목록.
    • yum update [패키지] : 패키지명이 없으면 전체 업데이트 있으면 해당 패키지만 업데이트
  • make
    • configure : 컴파일 옵션이 되는 설정파일을 만든다.
    • make : 소스코드를 컴파일 해서 binary 파일을 만든다.
    • make install : 만들어진 binary 파일을 지정된 경로로 이동 시킨다.
    • make uninstall : 설치된 binary 파일을 삭제 한다.

디렉토리
  • pwd : 현재 위치한 디렉토의 절대경로를 출력한다.
  • cd
    • cd [디렉토리] : 디렉토리를 이동할 때에 사용한다.
    • cd .. : 상위 디렉토리로 이동한다.
    • cd ~ : 자신의 홈 디렉토리로 이동한다.
    • cd ~[사용자명] : 특정 사용자의 홈 디렉토리로 이동한다.
  • ls
    • ls : 파일의 목록을 간단히 출력한다.
    • ls -al : 숨겨진 파일을 포함해 자세히 출력한다.
  • mkdir [디렉토리] : 디렉토리를 생성한다.
  • rmdir -p [디렉토리] : 디렉토리를 삭제한다.

파일
  • touch [파일명] : 파일을 만든다.
  • cp [원본] [사본] : 파일을 복사한다.
  • mv [원본] [목적지] : 파일을 이동한다. 이것을 응용해 파일명도 바꿀수 있다.
  • rm
    • rm [파일] : 파일을 삭제한다.
    • rm -rf [파일] : 삭제 동의를 묻지 않고, 파일은 그냥 지우고 디렉리면 하위경로 파일까지 모두 지운다.
  • cat [파일] : 파일의 내용을 출력한다.
  • | : 명령어의 출력결과를 다른 명령어의 입력으로 전환한다. 파이프라고 부른다.
  • less [파일] : 파일의 내용을 한줄씩 출력하고, 위 아래로 이동할수 있다. 출력이 많을때 파이프로 연결해서 많이 사용한다. ex) cat a.log | less
  • find
    • find / -name *linux* : linux가 파일명에 포함된 모든 파일을 찾는다.
    • find / -user linux : 소유자가 linux인 모든 파일을 찾는다.
    • find / -perm 755 : 퍼미션이 755인 모든 파일을 찾는다.
  • grep : 파일 또는 입력값내에서 특정 패턴을 검색한다. 파이프와 조합해서 출력에서 검색하고 싶을때 사용한다. ex) yum list | grep jdk, ps -ef | grep java
  • [명령어] > [파일] : 명령어의 출력을 파일에 저장한다. 덮어쓴다.
  • [명령어] >> [파일] : 명령어의 출력을 파일에 저장한다. 추가한다.
  • [명령어] < [파일] : 파일에서 표준 입력을 받는다.
  • chmod [퍼미션] [파일] : 소유자, 그룹, 다른 사용자가 가지는 퍼미션(읽기, 쓰기, 실행)을 설정한다. 퍼미션은 읽기4, 쓰기2, 실행1을 조합해서 표시한다.
    • chmod 750 [파일] : 소유자 읽고 쓰고 실행 가능, 그룹 읽고 실행 가능
    • chmod 4xxx [파일] : 실행될때 root권한으로 실행된다.
    • chmod 2xxx [파일] [그룹] : 파일에 설정된 그룹명으로 실행된다.
    • chmod 1xxx [디렉토리] : 해당 디렉토리에 누구나 쓰기는 가능하지만, 자신이 만든 파일에 대해서는 자신과 root만이 수정과 삭제가 가능하다.
  • chown [소유자:그룹] [파일] : 파일 소유자와 사용자 그룹을 설정한다.
  • chgrp [그룹] [파일] : 파일 사용자 그룹을 설정한다.
  • chattr +i [파일] : 파일을 수정, 복사, 삭제 할 수 없게 한다.
  • tar
    • tar -cvzf [파일] [경로] : tar로 파일을 압축한다.
    • tar -xvzf [파일] [경로] : tar로 파일을 압축 해제한다.

파일 시스템
  • fdisk -l : 현재 시스템의 파티션 목록과 파티션이 생성안된 disk를 보여준다.
  • fdisk [disk] : disk에 파티션을 생성한다.
  • badblocks -v  [disk] : disk의 배드블록을 체크한다.
  • mkfs -V -t ext4 [장치] : 파일 시스템을 생성한다.
  • mount
    • mount : 현재 마운트된 목록을 보여준다.
    • mount [장치] [디렉토리] : 장치를 디렉토리에 마운트 시킨다.
    • vi /etc/fstab : /etc/fstab을 수정해야 재부팅이 되어도 마운트 설정이 유지된다.
  • umount [디렉토리] : 마운트를 해제한다.
  • df -h : 디스크의 남은 용량을 본다.
  • du
    • du -sh [디렉토리] : 디렉토리의 전체 사용량을 보여준다.
    • du -h [디렉토리] : 모든 하위 디렉토리들의 사용량과 합계를 보여준다.

사용자
  • useradd [사용자명] : 사용자를 생성한다.
  • userdel [사용자명] : 사용자를 제거한다.
  • passwd [사용자명] : 사용자의 비밀번호를 설정한다.
  • groupadd [그룹명] : 그룹을 생성한다.
  • groupdel [그룹명] : 그룹을 삭제한다.
  • id [사용자명] : 사용자의 uid, gid, group을 보여준다.
  • usermod
    • usermod -d [원본홈] -m [변경홈] : 홈디렉토리를 변경하고 파일을 이동한다.
    • usermod -L [사용자명] : 계정을 잠궈서 로그인이 불가능해 진다.
    • usermod -U [사용자명] : 잠긴 계정을 푼다.
  • su – [사용자명] : 다른 사용자의 권한으로 shell을 실행해서, 사용자 전환을 한다.

시간
  • clock
    • clock -r : CMOS 시간을 출력한다.
    • clock -w : 리눅스 시스템 시간으로 CMOS 시간 설정한다.
    • clock -s : CMOS 시간으로 리눅스 시스템 시간 설정한다.
  • date
    • date : 현재 시스템 시간을 출력한다.
    • date [MMDDhhmmYY] : 현재 시스템 시간을 변경한다.

프로세스
  • ps -ef : 현재 실행중인 프로세스의 목록을 보여준다.
  • pgrep -fl [단어] : 해당 단어를 이름으로 가지거나 인자로 받는 프로세스 목록을 보여준다.
    • ex) $pgrep -fl chef
      967 /opt/chef/embedded/bin/ruby /usr/bin/chef-client -d -j /etc/chef/first-boot.json
            970 chef-client worker: ppid=967;start=09:41:34;
           1075 /opt/chef/embedded/bin/ruby /usr/bin/chef-client
           1086 chef-client worker: ppid=1075;start=09:41:37;
  • pkill -f [단어] : 해당 단어를 이름으로 가지거나 인자로 받는 프로세스를 모두 종료 시킨다.
  • pstree : 프로세스 정보를 트리형태로 보여준다.
  • kill
    • kill [PID] : 프로세스를 종료 시킨다.
    • kill -9 [PID] : 프로세스를 강제로 종료 시킨다.
  • top : 프로세스의 CPU, MEMORY 사용량등을 실시간으로 모니터링 해준다.

데몬
  • chkconfig
    • chkconfig –list : 런레벨에 따라 자동으로 실행되는 데몬을 보여준다.
    • chkconfig –add [데몬] : 데몬을 추가한다.
    • chkconfig –del [데몬] : 데몬을 삭제한다.
    • chkconfig –level [런레벨] [데몬] on : 데몬의 런 레벨을 활성화 시킨다.
    • chkconfig –level [런레벨] [데몬] off : 데몬의 런 레벨을 비활성화 시킨다.
  • service
    • service [데몬] status : 데몬 상태를 보여준다.
    • service [데몬] start : 데몬을 시작한다.
    • service [데몬] stop : 데몬을 정지한다.
    • service [데몬] restart : 데몬을 재시작한다.

시스템
  • crontab
    • crontab -e : crontab 설정을 연다.
    • 형식 : 분(0~59) 시간(0~23) 일(1~31) 월(1~12) 요일(0~6) 명령
    • 01 * * * * [명령] : 매시간 1분에 명령 실행한다.
    • 02 4 * * * [명령] : 매일 4시 2분에 명령을 실행한다.
    • 22 4 * * 0 [명령] : 매주 월요일 1일 4시 22분에 명령을 실행한다.
    • */10 * * * * [명령] : 10분마다 명령을 실행한다.
  • uname -a : 커널 버전을 보여준다.
  • poweroff : 종료시킨다.
  • reboot : 재부팅 시킨다.

네트워크
  • ping [호스트] : 다른 시스템의 네트워크가 현재 동작중인지 확인한다.
  • ifconfig
    • ifconfig : 현재 네트워크 인터페이스의 정보를 보여준다.
    • ifconfig [인터페이스] down : 인터페이스를 중지한다.
    • ifconfig [인터페이스] up : 인터페이스를 작동 시킨다.
    • curl ifconfig.me : public ip를 보여준다.
  • nslookup [도메인] : 도메인 정보를 보여준다.
  • netstat
    • netstat -anp  : 네트워크 연결, 라우팅 테이블, 네트워크 장치의 통계정보등 네트워크에 관련된 여러 정보를 보여준다.
    • netstat -anpl : LISTENING 중인 정보만 보여준다.
  • hostname
    • hostname : 현재 시스템의 호스트네임을 보여준다.
    • hostname [변경할네임] : 호스트네임을 변경한다.
    • vi /etc/sysconfig/network : HOSTNAME 항목을 변경해야 리부팅 후에도 변경된 호스트 네임이 유지된다.
  • iptables
    • iptables -A INPUT -s [발신지] –sport [발신지 포트] -d [목적지] –dport [목적지 포트] – j [정책] : 방화벽 정책을 추가한다.
    • iptables -D INPUT [필터링 번호] : 방화벽 정책을 삭제한다.
    • iptables-save : 설정한 방화벽을 저장해서, 재부팅시에도 적용되게 한다.
    • iptables -A INPUT -s 1.1.1.1 -p tcp –dport 8080 -j ACCEPT : 1.1.1.1에서 8080 포트로 tcp 요청하는것을 허락한다.
    • iptables -A INPUT -p tcp –dport 8080 -j DROP : 8080포트로 tcp 요청하는것을 막는다.
    • iptables -A INPUT -p rcp –dport 1:65535 -j DROP : 서비스 이외의 서비스포트 모두 거부한다.
  • nmap [ip] : 현재 오픈되어 있는 포트를 보여준다.

후아 많기도 하다.. 내가 실제 쓰는것은 저기서 몇 개 뿐이 안되지만, 나에게 도움을 주기 위해서..


댓글 없음:

댓글 쓰기