달력

12

« 2024/12 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2013. 9. 30. 15:09

리눅스명령어 LINUX/설치활용강좌팁2013. 9. 30. 15:09

[펌] 입니다.

-----------------

#shutdown -h now
# halt
# init 0
여기까지 리눅스 서버 종료 명령

haltinit.d

# shutdown -h +10 10분 후에 종료
# shutdown -r 22:00 오후 10시에 재부팅 (shutdown -r 은 재부팅 명령)
# shutdown -c

shutdown 명령 취소
# shutdown -k now 현재 사용자들에게 시스템 종료 메시지 전송하나 실제로 종료하진 않음

# logout

# exit
여기까지 현재 사용자 로그아웃 명령

# init 1

단일 사용자 모드로 전환

# init 2
NFS 없는 다중사용자모드
# init 3

텍스트 모드의 다중사용자모드

# init 4
사용하지 않음 (사용자 정의 모드)
# init 5

X 윈도우 모드의 다중사용자모드
# init 6
재부팅 모드
위의 런레벨들은 /etc/inittab에서 id:(런레벨숫자):initdefault: 에서 런레벨숫자만 고치면 시작부터 그 런레벨 수치에 맞게 시작할 수 있다.

Ctrl+Alt+F1 ~ F6
가상콘솔로 이동하는 단축키

Tab

자동완성 단축키

Vi 실행 후 명령모드에서 입력모드 전환시 사용하는 키 입력하면 입력모드로 변경, 입력모드에서 Esc 입력 시 명령모드로 변경
Vi 실행 후 명령모드에서 콜론(:) 입력 시 ex모드로 변경, ex모드에서 Esc, Enter 입력 시 명령 실행 후 명령모드로 변경

----------------------Vi 명령모드에서의 입력모드로 전환 시 사용하는 키----------------------------------------
i : 현재 커서 위치부터 입력
l : 현재 커서 행의 맨 앞에서부터 입력
a : 현재 커서 위치 다음 칸부터 입력
A : 현재 커서 행의 맨 마지막부터 입력
o : 현재 커서의 다음 행에 입력
O : 현재 커서의 이전 행에 입력
s : 현재 커서 위치의 한 글자 지우고 입력
S: 현재 커서의 한 행을 지우고 입력


-----------------------Vi 명령모드에서 커서를 이동하기 위해 사용하는 키-------------------------------------------
h : 커서를 왼쪽으로 한 칸 이동
j : 커서를 아래쪽으로 한 칸 이동
k : 커서를 위쪽으로 한 칸 이동
l : 커서를 오른쪽으로 한 칸 이동
Ctrl+F : 다음 화면으로 이동
Ctrl+B : 이전 화면으로 이동
^ : 현재 행의 처음으로 이동
$ : 현재 행의 마지막으로 이동
g g : 제일 첫 행으로 이동
G : 제일 끝 행으로 이동
(숫자)G : 해당 숫자 행으로 이동
:(숫자) : 해당 숫자 행으로 이동


------------------------Vi명령모드에서 삭제, 복사, 붙여넣기에 사용하는 키----------------------------------------------
x : 현재 커서가 위치한 글자 삭제
X : 현재 커서가 위치한 앞글자 삭제
d d : 현재 커서의 행 삭제
(숫자) d d : 현재 커서로부터 숫자만큼의 행 삭제
y y : 현재 커서가 있는 행 복사
(숫자) y y : 현재 커서로부터 숫자만큼의 행 복사
p : 복사된 내용 현재 행 이후에 붙이기
P : 복사된 내용 현재 행 이전에 붙이기

------------------------Vi명령에서 문자열 찾기---------------------------------------------------------------------------
/(문자열) : 현재 커서 이후로 해당 문자열을 찾음
n : 다음 검색된 문자열로 이동함


# man (명령어) : 대상 명령어에 대한 도움말 보기
# man (섹션 번호) (명령어) : 해당 섹션의 대상 명령어 도움말 보기, 참고로 섹션1은 명령어, 섹션2~3은 프로그래밍, 섹션4는 디바이스, 섹션5는 파일 형식, 섹션6는 게임, 섹션7은 환경, 섹션8은 시스템관리, 섹션9은 커널관련 설명을 포함한다.
# umount (마운트 위치) : 마운트된 위치의 장치를 해제한다
# pwd : 현재 디렉토리의 위치를 보여줌
# mkdir (새폴더 생성위치) : 새폴더 생성위치에 디렉토리를 생성한다
# mount (마운트 위치) (마운트 장치 연결 디렉토리) : 마운트 장치 연결 디렉토리에 마운트 위치의 내용을 연결시킨다
# genisoimage -r -J -o (생성될 ISO파일명) (포함될 파일 또는 디렉토리) : 포함될 파일 또는 디렉토리의 모든 내용들을 생성될 ISO파일명으로 생성한다.
# rm -r (폴더명) : 해당 디렉토리 삭제
# rm -i (파일명) : 삭제 시 확인을 물어봄
# rm -rf (폴더명) : 해당 디렉토리 삭제 시 하부 내용들도 전부 삭제함
# cp -r (복사할폴더) (복사될폴더) : 복사할 폴더를 복사해서 복사될 폴더에 붙여넣음
# touch (파일명) : 해당 파일이 없는 경우 새 파일을 생성하고 존재할 경우 그 파일의 수정 시간을 현재 시간으로 변경함
# mv (파일명들) (폴더명) : 파일명들을 스페이스로 띄우면서 입력 시 해당 파일들을 대상 폴더로 잘라내서 붙여넣기함
# mv (현파일명) (새파일명) : 현재의 파일이름을 새 파일이름으로 변경함
# mkdir -p (하부 폴더명을 포함하는 폴더명) : 폴더를 생성시 그 안의 하부폴더들까지 한 번에 생성해줌
# rmdir : 폴더를 삭제하나 폴더 내에 파일이 존재시 삭제 불가함
# cat (파일명) : 파일 내용을 화면에 출력한다
# head (파일명) : 파일 내용의 앞 10행만 출력한다
# tail (파일명) : 파일 내용의 뒤 10행만 출력한다
# more (+숫자) (파일명) : 숫자로 지정된 행 이후의 파일 내용을 화면에 페이지 단위로 출력한다. 출력 후 Space bar는 다음 페이지, b는 이전 페이지, Q는 종료 단축키이다.
# less (+숫자) (파일명) : 숫자로 지정된 행 이후의 파일 내용을 화면에 페이지 단위로 출력한다. 출력 후 more와 단축키는 똑같지만 Page Up, Page Down도 단축키로 사용할 수 있다.
# file (파일명) : 어떤 종류의 파일인지 출력해준다.
# clear : 명령창 깨끗히 지워줌

# vi /etc/passwd
사용자와 그룹을 관리하는 파일을 열 수 있다.
각 행은 (사용자 이름):(암호):(사용자ID번호):(사용자가 소속된 그룹ID번호):(전체 이름):(홈 디렉토리):(기본 셸)로 구성되어 있다.
여기서 (암호)가 x로 되어있는 경우 이는 /etc/shadow 파일에 비밀번호가 저장되어 있다는 의미. shadow 파일의 비밀번호는 설령 같은 비밀번호를 사용하더라도 그 내용은 사용자마다 다르므로 이를 가지고 비밀번호를 유추해내는 것은 불가능함.
여기서 (암호)가 !!로 되어있는 경우 이는 아직 비밀번호가 부여되지 않았다는 의미.


# useradd (사용자명) : 해당 사용자명의의 사용자를 생성함
# useradd -u (사용자ID번호) (사용자명) : 해당 사용자명의의 사용자를 생성하면서 사용자ID번호를 지정함
# useradd -g (그룹이름) (사용자명) : 해당 사용자명의의 사용자를 생성하면서 지정 그룹으로 사용자를 포함시킴
# useradd -d (폴더명) (사용자명) : 해당 사용자명의의 사용자를 생성하면서 그 사용자의 홈디렉토리는 지정 폴더명으로 지정함
# useradd -s (셸명) (사용자명) : 해당 사용자명의의 사용자를 생성하면서 해당 셸로 그 사용자의 기본 셸을 지정함.
# passwd (사용자명) : 해당 사용자의 비밀번호를 지정 혹은 변경함
# usermod (사용자명) : 해당 사용자의 속성을 변경한다. 옵션은 useradd와 동일함.
# userdel (사용자명) : 해당 사용자를 삭제함.
# userdel -r (사용자명) : 해당 사용자를 삭제하면서 동시에 그 사용자의 홈 디렉토리까지 삭제함.
# change -ㅣ (사용자명) : 해당 사용자의 설정된 암호사항을 확인한다
# change -m (숫자) (사용자명) : 해당 사용자의 암호는 최소 지정된 숫자만큼의 날짜 수 이상은 사용해야 한다.
# change -M (숫자) (사용자명) : 해당 사용자의 암호는 최대 지정된 숫자만큼의 날짜 수 까지만 사용가능하다.
# change -E (날짜) (사용자명) : 해당 사용자의 암호는 지정된 날짜까지만 사용할 수 있다. 날짜 포맷은 yyyy/mm/dd 이다.
# change -W (숫자) (사용자명) : 해당 사용자의 암호만료를 지정된 숫자만큼의 날짜 수 전부터 경고함.
# groups : 현재 사용자가 속한 그룹을 출력함
# groupadd -g (그룹번호) (그룹명) : 지정된 그룹명을 생성하면서 그룹 ID를 해당 그룹번호로 지정한다.
# groupmod -n (이전그룹명) (새그룹명) : 이전의 그룹명을 새 그룹명으로 변경한다.
# groupdel (그룹명) : 그룹을 삭제하지만 이를 위해서는 해당 그룹 내의 사용자들이 아무도 없어야 한다.
# gpasswd (그룹명) : 해당 그룹의 암호를 지정한다.
# gpasswd -A (사용자명) (그룹명) : 해당 사용자를 해당 그룹의 관리자로 지정한다.
# gpasswd -a (사용자명) (그룹명) : 해당 사용자를 해당 그룹의 사용자로 추가한다.
# gpasswd -d (사용자명) (그룹명) : 해당 사용자를 해당 그룹의 사용자에서 제거한다.

# ls -a /etc/skel
사용자 생성 시 그 사용자 홈 디렉토리에 들어갈 폴더 내용이 어떤 것인지 확인한다.
/etc/skel은 앞으로 생성할 사용자에게 배포할 파일들이 들어가는 곳이다.

# system-config-users

X윈도우 환경에서 사용자 관리를 도와주는 툴 열기

# ls -l
파일 및 디렉토리의 소유권 및 허가권의 속성 출력
(파일유형) (파일허가권) (링크수) (파일소유자이름) (파일크기) (마지막 변경 날짜/시간) (파일이름)
파일유형: 디렉토리는 d, 일반적인 파일는 -, 블록디바이스는 b, 문자디바이스는 c, 링크는 l
파일허가권: 9개 출력을 3개씩 끊어서 읽음, 첫번째 부분은 소유자 권한, 두번째 부분은 해당 그룹 권한, 세번째 부분은 그 외 사용자 권한.
하부 폴더 중에 해당 사용자나 그룹이 접근권한이 있더라도 상위 폴더에 권한이 없다면 해당 명령을 실행할 수 없다.

# chmod (3자리 숫자) (파일명) : 해당 파일명에 대한 권한값 설정, 3자리 숫자는 각각 소유자 권한, 해당 그룹 권한, 그 외 사용자 권한을 나타내며 4는 읽기, 2는 쓰기, 1은 실행 권한을 나타낸다.
# chmod (대상을 u g o 중 선택)+(권한을 r w x 중 선택) : u는 사용자, g는 그룹, o는 그 외 사용자들을 의미함, r은 읽기, w는 쓰기, x는 실행을 의미함. 해당 대상에 해당 권한을 추가함
# chmod (대상을 u g o 중 선택)-(권한을 r w x 중 선택) : 해당 대상에 해당 권한을 제거함
# chown (사용자명) (파일명) : 해당 파일명의 소유자를 해당 사용자로 바꾼다.
# chown (사용자명).(그룹명) (파일명) : 해당 파일명의 소유자와 그룹을 동시에 해당 그룹과 사용자로 변경한다.
# whoami : 현재 사용자가 누군지 출력
# chgrp (그룹명) (파일명) : 해당 파일명의 그룹을 해당 그룹으로 바꾼다.
# ln (대상파일명) (링크파일명) : 대상 파일에 대한 링크파일을 생성한다.
이 명령은 하드링크(원본파일과 같은 inode를 가리키며 결론적으로 이 inode가 가리키는 원본 파일 데이터에 접근함)를 생성함.

# ln -s (대상파일명) (링크파일명) : 대상 파일을 가리키는 링크파일을 생성한다.
이 명령은 심볼릭링크(원본파일과는 다른 inode를 가리키며 이는 원본 파일 포인터를 가리키고, 이를 통해 원본 파일 데이터에 접근함)를 생성함.
윈도우의 바로가기 아이콘과 같은 개념임.


# rpm -Uvh (패키지파일명) : 해당 패키지파일 설치함.

U는 패키지 설치가 되어있지 않다면 설치하고, 기존 패키지가 존재한다면 업데이트를 하게 명령하는 옵션, v는 설치과정 확인하는 옵션, h는 설치진행과정을 "#"마크로 화면에 출력하는 옵션

# rpm -e (설치된 패키지명) : 해당 패키지파일 삭제함.
# rpm -qa (설치된 패키지명) : 시스템에 해당 패키지가 설치되었는지 확인
# rpm -qf (설치된 패키지파일명) : 이미 설치된 패키지가 어느 패키지에 포함된 것인지 확인
# rpm -ql (설치된 패키지명) : 특정 패키지에 어떤 파일들이 포함되었는지 확인
# rpm -qi (설치된 패키지명) : 패키지의 상세정보 확인
# rpm -qlp (패키지파일명) : 패키지 파일에 어떤 파일들이 포함되어 있는지 확인
# rpm -qip (패키지파일명) : 설치할 패키지 파일의 상세정보 확인
# rpm -qRp (패키지파일명) : 설치할 패키지 파일을 설치하기 위해 어떤 패키지들이 미리 설치되어 있어야 하는지 확인
# rpm -i --force (패키지파일명) : 해당패키지파일 강제로 설치함. 정상적으로 설치되지 않을 수 있음.
# rpm -i --nodeps (패키지파일명) : 의존성을 무시하고 설치함. 정상적으로 설치되지 않을 수 있음.
# cd /etc/yum.repos.d/ : 저장소의 URL들이 파일로 저장되어 있는 디렉토리로 이동.

# yum install (설치할패키지명) : 해당 패키지 설치
# yum install (해당 rpm 파일명) : 로컬의 rpm 파일 설치. 이 경우 의존성 문제가 발생하면 인터넷에서 의존성 파일 검색해서 다운로드, 설치해줌.
# yum check-update : 시스템에 설치된 패키지 중에 업데이트가 가능한 패키지 목록을 출력함.
# yum update (패키지명) : 해당하는 패키지를 업데이트함.
# yum remove (패키지명) : 기존 설치된 패키지를 제거함.
# yum info (패키지명) : 패키지 요약정보를 출력함.
# yum localinstall (해당 rpm 파일명) : 로컬의 rpm 파일 설치, 설치 중에 인터넷을 사용하지 않으므로 인터넷 사용이 불가능하거나 느린 경우 사용한다.
# yum groupinstall (패키지그룹명) : 패키지 그룹에 속하는 패키지들을 통째로 설치함.
# yum grouplist : 패키지 그룹의 종류 확인

# yum list (패키지명) : 주어진 이름에 해당되는 패키지들의 리스트 출력함.
패키지명으로 all을 사용시 모든 패키지 목록을 출력함.
패키지명으로 available을 사용시 모든 설치가능한 패키지 목록을 출력함.
# yum provides (파일명) : 해당 파일이 어느 패키지에 들어있는지 확인함.
# yum install --nogpgcheck (해당 rpm 파일명) : 인증되지 않은 rpm파일을 yum으로 설치할 때 에러 메세지와 함께 설치되지 않고 그냥 종료되므로 이런 경우 사용하는 설치 명령.


# vi yum.conf : yum 관련된 설정파일 보기
# bzip2 (파일명) : 해당 파일을 압축하는데 지정된 파일과 똑같은 파일명을 갖는 bz2 파일을 생성함.
# bzip2 -d "(bz2 파일명)" : 지정한 bz2 파일을 압축해제함.
# bunzip2 "(bz2 파일명)" : 지정한 bz2 파일을 압축해제함.
# gzip (gz 파일명) : 해당 파일을 압축하는데 지정된 파일과 똑같은 파일명을 갖는 gz 파일을 생성함.
# gzip -d "(gz 파일명)" : 지정한 gz 파일을 압축해제함.
# gunzip (gz 파일명) : 지정한 gz 파일을 압축해제함.

# tar : 확장명 tar로 묶음 파일을 만들어주거나 묶음을 풀어준다.

[동작]
c : 새 묶음
x : 묶인 파일 풀어줌
t : 묶음 풀기 전에 묶인 경로 보여줌

[옵션]
f : tar명령어 사용 시 필수적으로 적어야 하는 옵션, 원래 기능은 tape장치 백업하겠다는 의미
v : 파일이 묶이거나 풀리는 과정을 보여줌
# tar xvfj (tar.bz2 파일명) : bzip2 압축 해제 및 tar 풀기, 해제 및 풀기 과정은 화면에 출력함
# tar xvfz (tar.gz 파일명) : gzip 압축 해제 및 tar 풀기, 해제 및 풀기 과정은 화면에 출력함
# find /etc -name "*.conf" : /etc 폴더 하위에 확장명이 .conf인 파일 검색

find의 옵션으로는 -name, -user, -newer, -perm, -size가 존재.
추가적으로 옵션 다음에 적을 수 있는 action으로는 -exec가 가능하며 이를 사용시 외부명령 시작으로 -exec 부터 \;까지의 입력을 외부 명령으로 인식한다.

# find /home -user fedora : /home 폴더 하위에 소유자가 fedora인 파일 검색
# find ~ -perm 644 : 현재 사용자의 홈디렉토리 하위에 허가권이 644인 파일 검색
# find /bin -size +10k -size -100k : /bin 폴더 하위에 파일 크기가 10KB~ 100KB인 파일 검색
# find ~ -size 0k -exec ls -l {} \; : 현재 사용자의 홈디렉토리 하위에 파일 크기가 0인 파일 목록을 상세히 출력함
# find /home -name "*.swp" -exec rm {} \; : /home 디렉토리 하위에 확장명이 *.swp인 파일 삭제
# which (파일명) : PATH에 설정된 디렉토리들에서 해당파일 검색
# whereis (파일명) : 실행파일, 소스, man페이지 파일 중에서 해당파일 검색
# locate (파일명) : 파일목록 데이터베이스에서 해당 파일 검색. 매우 빠르지만 데이터베이스에 존재하지 않는 경우 검색이 불가능하다.
# updatedb : 파일목록 데이터베이스 업데이트. 이를 수행해야 설치된 파일들을 파일목록 데이터베이스에 입력함.

# system-config-boot : X윈도우 환경에서 기본 부트 명령 설정하는 창 띄우기
# system-config-date : X윈도우 환경에서 날짜와 시간을 설정하는 창 띄우기
# system-config-firewall : X윈도우 환경에서 방화벽 설정하는 창 띄우기
# system-config-keyboard : X윈도우 환경에서 키보드 설정하는 창 띄우기
# system-config-language : X윈도우 환경에서 언어 설정하는 창 띄우기
# system-config-lvm : X윈도우 환경에서 lvm 설정하는 창 띄우기
# system-config-network : X윈도우 환경에서 네트워크 설정하는 창 띄우기
# system-config-printer : X윈도우 환경에서 프린터 설정하는 창 띄우기
# system-config-rootpassword : X윈도우 환경에서 root 사용자 비밀번호 설정하는 창 띄우기
# system-config-services : X윈도우 환경에서 서비스 가동/중지 설정하는 창 띄우기
# system-config-users : X윈도우 환경에서 사용자 설정하는 창 띄우기
# system-config-bind : X윈도우 환경에서 네임서버 설정하는 창 띄우기
# system-config-display : X윈도우 환경에서 X윈도우 환경 설정하는 창 띄우기
# system-config-httpd : X윈도우 환경에서 웹 서버 설정하는 창 띄우기
# system-config-nfs : X윈도우 환경에서 NFS 서버 설정하는 창 띄우기
# system-config-samba : X윈도우 환경에서 Samba 서버 설정하는 창 띄우기
# system-config-vsftpd : X윈도우 환경에서 FTP 서버 설정하는 창 띄우기

 

'LINUX > 설치활용강좌팁' 카테고리의 다른 글

[펌] 리눅스 빠르게 설치하기  (0) 2013.10.01
:
Posted by KAGSCC