SEARCH
TOOLBOX
LANGUAGES
LinuxTips

LinuxTips

From Chaehyun

(Difference between revisions)
Jump to: navigation, search
(maven 설정)
(인증키 사용)
Line 169: Line 169:
* 각 사용자는 개인키/공개키 쌍을 만든 다음, 공개키를 서버에 복사해두면, 개인키로 접근할 수 있다.
* 각 사용자는 개인키/공개키 쌍을 만든 다음, 공개키를 서버에 복사해두면, 개인키로 접근할 수 있다.
** 정리 : 내가 가지고 있는 거 : private key, 서버가 가지고 있는 거 : public key
** 정리 : 내가 가지고 있는 거 : private key, 서버가 가지고 있는 거 : public key
 +
** server에서 ssh-copy-id -i $HOME/.ssh/id_rsa.pub hduser@skp004 한 번 더해줘야 함??
== sed (stream editor) ==
== sed (stream editor) ==

Revision as of 07:40, 14 December 2011

Contents

리눅스 명령어 정리

명령어 reference

아파치

  • 재시작
    • /usr/sbin/apachectl -k restart
    • /usr/sbin/apachectl -k graceful
    • /etc/rc.d/init.d/httpd start

mysql

  • /etc/init.d/mysqld start
  • /etc/rc.d/init.d/mysqld start
  • php 5.2 버전 업을 하기 위해서는
    • /etc/yum.repos.d/centos-test.repo 파일을 생성하고 아래 구문 추가
[c5-testing]
name=CentOS-5 Testing 
baseurl=http://dev.centos.org/centos/5/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
    • yum update php

screen

  • .screenrc 샘플
screen -h 10000 -t xlos 2
screen -h 10000 -t xlos 1
screen -h 10000 -t xlos 0

bind c screen -t xlos
bind ^C screen -t xlos

bindkey "\033[15~" select 0
bindkey "\033[17~" select 1
bindkey "\033[18~" select 2
bindkey "\033[19~" select 3
bindkey "\033[20~" select 4
bindkey "\033[21~" select 5
bindkey "\033[23~" prev
bindkey "\033[24~" next

vbell off

defscrollback 10000
caption always "%{kg}%?%-Lw%?%{wb}%n*%f %t%?(%u)%?%{kg}%?%+Lw%?"

파일 묶기

  • tar : tape archive 에서 따온 말
  • tar -xzvf tmp.tar : 묶은 파일 풀기
    • x : extract
    • z : gzip
    • v : verbose (장황한)
    • f : file
  • tar -cvzf mt.tar mt : 파일 묶기
    • c :create
    • v : verbose
    • f : file
  • tar -tvf mt.tar : 리스트만 보기
    • t : list

압축

  • gzip garbage.txt : 압축하기
  • gzip -l garbage.txt.gz : 압축 정보 보기
  • gunzip garbage.txt.gz : 압축 해제
    • gunzip -N garbage.txt.gz : 원본 파일로 압축 해제
  • ls -laR $HOME | gzip > filelist.gz : 홈 디렉토리 아래 존재하는 모든 파일 목록을 압축
  • gunzip -c filelist.gz | more : 파일을 삭제하지 않고, 결과를 stdout 으로 출력 (=zcat 과 동일)


현재 디렉토리만 출력하는 명령어

  1. echo ${PWD##*/}
    • PWD는 현재 path를 가지고 있는 환경변수
    • ##*/ : */를 만날 때 까지 모든 스트링을 제거하라
    • 결국 현재 디렉토리만 남는다
  2. pwd | rev | awk -F \/ '{print $1}' | rev
    • pwd : 현재 디렉토리 출력
    • rev : string 반전
    • awk -F : 다음 delimiter를 사용해서 문자열 나누기

디렉토리 분류

/ 루트 디렉토리
/bin 기본 명령어
/dev 장치를 쓸 때 필요한 특수 파일 위치
/etc 환경 설정 파일 위치
/home 일반 사용자의 홈 디렉토리
/lib 공유 라이브러리와 커널 모듈
/lost+found 부팅할 때 파일 시스템에 이상이 있는지 진단, fsck 명령어에 의해 사용 파일 시스템 복구 후, 복구된 파일이 저장됨
/mnt cd-rom과 플로피 장치에 대한 마운트 포인트 제공
/opt 크기가 큰 리눅스 패키지 설치함
/root 시스템 관리자 홈 디렉토리
/sbin 시스템 운영에 필요한 명령어 위치
/tmp 임시 파일을 저장하는 위치
/usr 패키지 설치 시 이 디렉토리에 설치됨
/var 가변 자료가 저장, 메일, 로그 등
/usr/bin 응용프로그램 설치 시 일반 사용자 명령어가 추가됨
/usr/sbhin 응용프로그램 설치 시 관리자 명령어가 추가됨
/var/log 시스템 로그 파일
/var/spool/mail 서버의 메일 임시 보관 장소

파이프 라인

  1. | : 왼쪽 명령의 표준 출력 (stdout)을 오른 쪽 명령의 표준 입력 (stdin)으로 사용
    • who | tr -s " " | cut -f3 -d " "
    • ps -ef | more
  2. 리다이렉션
    • stdin : 0, stdout : 1, stderr : 2
    • 대부분 파이프의 리다이렉션은 명령 라인의 끝에서 출력 방향을 다시 지정하여 파이프 라인의 필터된 출력을 파일이나 화면 상에 출력한다.
    • grep user /etc/pass*d | sort > sort.out
    • grep user < /etc/pass*d 2> grep.err | sort > sortd.user 2> sort.err
      • grep할 때 에러가 발생하면, grep.err 파일로 저장하고, sort한 경과를 sortd.users 파일로 저장하는데, 에러가 발생하면 sort.err 파일로 저장

출처 : http://rockdrumy.tistory.com/entry/Linux-Pipes%ED%8C%8C%EC%9D%B4%ED%94%84-%EB%AA%85%EB%A0%B9

환경 변수

  • .bashrc : bash가 실행될 때 마다 수행됨
  • .bash_profile : bash가 login shell로 사용될 때 (처음 login할 때) 수행됨
  • 보통은 .bash_profile에서 .bashrc 를 부르는 형태

인증키 사용

  • 참고글1
  • 참고글2
  • 개인키 : 각 사용자들만 가지고 있는 키
  • 공개키 : 서버에 심을 키. 유출 해도 상관 없음
  • 각 사용자는 개인키/공개키 쌍을 만든 다음, 공개키를 서버에 복사해두면, 개인키로 접근할 수 있다.
    • 정리 : 내가 가지고 있는 거 : private key, 서버가 가지고 있는 거 : public key
    • server에서 ssh-copy-id -i $HOME/.ssh/id_rsa.pub hduser@skp004 한 번 더해줘야 함??

sed (stream editor)

  • 참고글
  • ed 명령어와 grep 명령어를 합친 명령어
  • sed는 라인을 하나 씩 읽고, 수정하고, 출력하므로 기억장치 안의 버퍼를 사용하지 않는다. --> 매우 큰 파일을 처리할 때 주로 사용됨
  • cat /etc/sudoers | sed /'hello world$'/d > /tmp/sudoers.tmp
    • /etc/sudoers 파일에서 hello world로 끝나는 라인을 삭제하고, 나머지 라인들을 /tmp/sudoers.tmp 파일에 저장

chattr

  • chattr - change file attributes on a Linux second extended file system
  • A file with the 'i' attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.

bash 팁

  • 현재 스크립트의 디렉토리 : SCRIPT_HOME=$(dirname $(readlink -f ${BASH_SOURCE[0]}))
  • 상위 디렉토리 : SCRIPT_HOME=$(readlink -f $(dirname $(readlink -f ${BASH_SOURCE[0]}))/..)

squid 실행

  • /etc/rc.d/init.d/squid start

screenrc 설정 파일

screen -h 10000 -t xlos 2
screen -h 10000 -t xlos 1
screen -h 10000 -t xlos 0

bind c screen -t xlos
bind ^C screen -t xlos

bindkey "\033[15~" select 0
bindkey "\033[17~" select 1
bindkey "\033[18~" select 2
bindkey "\033[19~" select 3
bindkey "\033[20~" select 4
bindkey "\033[21~" select 5
bindkey "\033[23~" prev
bindkey "\033[24~" next

vbell off

defscrollback 10000
caption always "%{kg}%?%-Lw%?%{wb}%n*%f %t%?(%u)%?%{kg}%?%+Lw%?"

ssh 암호 없이 로그인하기

  • ssh-keygen -t rsa
  • ~/.ssh/id_dsa.pub 파일을 복사한 다음,
  • 원하는 서버로 접속하여 ~/.ssh/authorized_keys 에 추가 (한 줄에 하나 씩 여러 개도 가능)

maven 설정

  • mvn -Declipse.workspace=/home/1000649/Works eclipse:add-maven-repo
  • project directory에서
    • mvn test-compile