DBA가 되고 싶은 병아리

리눅스 기본 명령어 (1) 본문

OS관련/Linux Study

리눅스 기본 명령어 (1)

미스틱스 2020. 9. 18. 15:20

[ Linux Commands ]

  1. [shutdown]

  • 시스템을 종료하거나 재부팅하는 명령.

  • root 계정만이 사용 가능.

1) 시스템 종료

shutdown -h now #시스템 즉시 종료

shutdown -h +10m #10분 후 시스템 종료

shutdown -c #종료 명령 취소(cancel)

shutdown -k #종료한다는 메시지만 보내고 종료하지 않음

2) 시스템 재시작

shutdown -r now #시스템 즉시 재시작

shutdown -r 22:00 #22:00시에 시스템 재시작

shutdown -r +10m #10분 후 시스템 재시작

  1. [init]

  • 런레벨을 변경해서 부팅하는 명령어


0번 - 종료
1번 - 단일사용자 모드 : 시스템 복구 모드
2번 - 사용안함
3번 - 다중사용자 모드 : 텍스트모드
4번 - 사용안함
5번 - 다중사용자 모드 : 그래픽모드
6번 - 시스템 재시작


1) 시스템 종료

init 0

2) 시스템 재시작

init 6

3) 텍스트 모드로 재시작

init 3

4) 그래픽 모드로 재시작

init 5

5) 복구모드로 재시작

init 1

6) 리눅스 시작시 런레벨 수정하기

vi /etc/inittab # /etc 폴더안에 있는 inittab 이란 파일을 vi편집기로 불러오기

i # 편집모드로 변경
id:3:initdefault: # 기본 부팅을 런레벨 3로 지정.
# 그래픽모드는 5로 지정
ESC # 기본모드로 전환
: # 명령모드로 전환
:wq # 저장 후 종료


  1. [man] 또는 [info]

  • 메뉴얼을 보여주는 명령어

  • info 로 대체되었음

man df

info df

  1. ls

  • 현재위치의 파일과 폴더 목록을 출력

ls -a #모든 파일(숨김파일포함) 출력 (숨김파일 또는 디렉토리 이름 앞에 . )

ls -d #디렉토리 출력

ls -l #목록을 리스트 형태로 출력

ls -al #모든 파일 목록을 리스트 형태로 출력

ls -al *.txt #확장자가 txt인 모든 파일을 리스트 형태로 출력

ls -l /usr/bin/a* #/usr/bin 디렉토리 안의 a로 시작하는 모든파일을 리스트 형태로 출력

  1. mount

  • 물리적인 저장장치를 디렉토리에 연결하는 명령


/dev/sda1

  • s : SCSI하드

  • d : disk

  • a : 첫번째 디스크

  • 1 : 첫번째 파티션

/dev/hdc

  • h : IDE 하드

  • c : 세번째 디스크

  • -------------------------------------z----------------------------------------------------------

예> Secondary Mater 에 장착된 CD롬을 /media/cdrom 디렉토리로 마운트

mkdir -p /media/cdrom

mount /dev/hdc /media/cdrom

  1. umount

  • mount 를 해제하는 명령

umount /dev/hdc

또는

umount /media/cdrom

  1. cd

  • change directory : 디렉토리를 이동하는 명령어

    #cd #현재 사용자의 홈디렉토리로 이동. 여기서는 /root로 이동함

    #cd .. #현재 디렉토리의 상위 디렉토리로 이동

    #cd - #방금 전 디렉토리로 이동

    #cd /usr #/usr 디렉토리로 이동

    #cd temp #현재 디렉토리 아래 있는 temp 디렉토리로 이동

  1. pwd : print work directory : 현재 작업중인 디렉토리의 경로 출력

pwd

  1. rm : 파일이나 폴더를 삭제

    rm a.txt #a.txt 파일 삭제

    rm -i a.txt #a.txt 파일 삭제시 확인

    rm -r dvd #dvd 디렉토리 삭제. dvd 디렉토리안에 파일이나 디렉토리 있으면 삭제 안됨

    rm -rf dvd #dvd 디렉토리와 그안의 파일 및 하위디렉토리를 강제 삭제

  2. cp : 복사 명령어

    cp a.txt z.txt #a.txt 파일을 z.txt 파일로 복사

    cp -r dvd cdrom #dvd 디렉토리를 cdrom 디렉토리로 복사

  3. mv : 이동 및 이름바꿈 명령어

    mv a.txt b.txt c.txt dvd #a.txt b.txt c.txt 파일을 dvd 디렉토리로 이동

    mv a.txt a.cap #a.txt 파일을 a.cap 파일로 이름 변경

  4. mkdir : 디렉토리 생성 명령어

mkdir abc #abc 디렉토리 생성

mkdir -p /dir1/dir2/dir3

mkdir dir1 dir2 dir3

  1. rmdir : 디렉토리 삭제. 디렉토리내 파일이나 폴더 존재시 삭제되지 않음.

rm -rf 명령으로 대체

  1. cat

  • 텍스트로 작성된 파일을 화면에 출력

    cat a.txt

  1. more

  • 텍스트로 작성된 파일을 한화면씩 출력

    more a.txt

  1. touch

  • 크기가 0인 새 파일을 만들거나 기존 파일의 수정된 날짜/시간을 현재로 변경하는 명령

    touch a.txt

  1. adduser (=useradd)

  • 사용자를 생성하는 명령

    adduser user1 # user1 사용자 생성

  1. passwd

  • 암호를 변경하는 명령.

    사용자를 생성한 후에는 반드시 이 명령으로 암호를 생성해 줘야 함.

passwd user1 #root가 user1의 암호를 설정(또는 변경)

Changing password for user user1.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
#

passwd #user1이 자신의 암호를 변경

Changing password for user root.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

  1. su

  • 로그인계정을 변경(터미널접속상태에서)

     

su - user1

$

$ su - user1
Password:

  1. id

  • user 정보확인

id

id user1

  1. groupadd

  • 그룹을 생성하는 명령

    groupadd soldesk

    groupadd sol1

    groupadd sol2

useradd -g soldesk -G sol1,sol2 user6 # user1 사용자를 sol그룹 맴버로 생성

id user6

uid=505(user6) gid=505(soldesk) groups=505(soldesk),506(sol),507(sol2)
#

  1. userdel, groupdel

  • 사용자/그룹을 삭제하는 명령

userdel user1 # user1 사용자를 삭제

userdel -r user2 # user2 사용자와 홈디렉토리를 삭제

groupdel sol # sol 그룹을 삭제

  • user가 생성되면서 자동으로 생성된 group은 해당 유저가 삭제될 때 같이 삭제.

  • user의 Primary group(-g)으로 사용중인 group은 삭제가 안됨.

  • user의 Secondary group(-G)으로 사용중인 group은 삭제 가능.

  1. usermod

  • 사용자의 상태를 변경하는 명령어

    usermod -L user5 #user5 사용자를 로그인 할 수 없도록 잠금

    usermod -U user5 #user5 사용자를 잠금 해제

    usermod -e 2010-09-30 user5 #user5 사용자를 지정한 날짜까지만

                              #사용할 수 있게 설정

    usermod -s /bin/false user5 #user5 사용자의 로그인을 막음

    usermod -s /bin/bash user5 #user5 사용자의 shell을 bash쉘로 지정

usermod -s /bin/csh user5

usermod -s /bin/bash user5

csh
bash --linux default shell
tcsh
ksh
sh --bourne shell --> linux에서는 bash 쉘로 설정됩니다.

cd /

mkdir dir1

usermod -d /dir1 user5

su - user5

$ pwd
/dir1
$ touch a.txt -- Error
touch: cannot touch `a.txt': Permission denied

  1. chmod

  • 파일과 디렉토리에 퍼미션을 설정하는 명령


리눅스/유닉스 시스템에서의 퍼미션

1) r : read 읽기 : 4
2) w : write 쓰기 : 2
3) x : excute 실행 : 1

퍼미션을 지정할 수 있는 범위

1) 본인 : owner
2) 그룹 : group
3) 타인 : other

-rwxrw-r-- : 파일. 본인:읽기/쓰기/실행, 그룹:읽기/쓰기, 타인:읽기
dr-xr--r-- : 디렉토리. 본인:읽기/실행, 그룹:읽기, 타인:읽기
-r--r----- : 파일. 본인:읽기, 그룹:읽기, 타인:권한없음


chmod 744 a.txt # 본인에게 RWX, 그룹과 타인에게 R 권한 설정

chmod 777 a.txt # 본인/그룹/타인에게 모든권한 설정

chmod 755 a.txt # 본인에게 RWX, 그룹과 타인에게 RX 권한 설정

chmod u+x a.txt # 본인에게 실행권한 추가

chmod g-x a.txt # 그룹에게 실행권한 해제

chmod o+w a.txt # 타인에게 쓰기권한 추가

  1. chown

  • 파일과 디렉토리의 소유권을 이전하는 명령

    chown user5.user5 /dir1 -- 디렉토리의 소유권만 변경(내부 파일은 변경안됨)

    chown -R user5.user5 /dir1 -- 디렉토리와 디렉토리 내의 파일의 소유권모두 변경

chown user6.soldesk a.txt #a.txt 파일을 user6사용자.soldesk 그룹 소유로 이전

  1. ln

  • 하드링크 및 소프트링크를 만드는 명령

Terminal 1

mkdir -p /u01/dir1/dir2/dir3/dir4

cd /u01/dir1/dir2/dir3/dir4

vi note.txt

abcdefghijklmnopqrstuvwxyz yy 9p 복사 및 붙여넣기 반복

:wq!

ls -il

total 20
1958407 -rw-r--r-- 1 root root 18900 Apr 7 15:30 note.txt

(Terminal 2)

pwd

/root

-- 하드링크 생성

ln /u01/dir1/dir2/dir3/dir4/note.txt mylink.txt

ls -il mylink*

1958407 -rw-r--r-- 2 root root 18900 Apr 7 15:30 mylink.txt

vi mylink.txt

oracle -- 제일위에 oracle 추가

#

(Terminal 1)

ls -il note.txt

1958407 -rw-r--r-- 2 root root 18910 Apr 7 15:36 note.txt -- 크기가 변경

more note.txt

rm note.txt

rm: remove regular file `note.txt'? y

#

(Terminal 2)

ls -il mylink*

1958407 -rw-r--r-- 1 root root 18910 Apr 7 15:36 mylink.txt


(softlink)

(Terminal 1)

pwd

/u01/dir1/dir2/dir3/dir4

cp /root/mylink.txt note.txt

ls -il

total 20
1958406 -rw-r--r-- 1 root root 18910 Apr 7 15:42 note.txt
#

(Terminal 2)

pwd

/root

ln -s /u01/dir1/dir2/dir3/dir4/note.txt slink.txt

ls -il slink*

1110122 lrwxrwxrwx 1 root root 33 Apr 7 15:44 slink.txt ->
/u01/dir1/dir2/dir3/dir4/note.txt
(Terminal 1)

rm -rf note.txt

(Terminal 2)

  1. rpm

  • Redhat Package Manager

  • 레드헷 계열 리눅스에 프로그램을 설치할 때 쓰는 명령어

  • 확장자가 rpm 인 패키지만 설치가능

  • 현재는 거의 사용하지 않음

    1) 설치

    rpm -Uvh a.rpm # a.rpm 을 설치(업그레이드)

2) 제거
rpm -e 패키지 # 패키지를 제거(erase)

3) 설치 확인
rpm -qa 패키지 # 패키지가 설치되었는지 확인


[RPM의 형식]

  • 패키지이름.버전.릴리즈번호.아키텍쳐.rpm

  • 아키텍쳐

    1) i386, i486, i586, i686 : 인텔이나 AMD CPU용 RPM

    2) alpha/sparc/ia64 : 알파/스팍/아이테니엄 CPU용 RPM

    3) src : 소스파일 패키지. 설치 후 컴파일 해야함!

    4) noarch : 모든 CPU에 설치 가능(no architecture)


설치 실습

cd /media/cdrom/Enterprise/RPMS

rpm -Uvh gcc-3.4.6-11.0.1.i386.rpm

warning: gcc-3.4.6-11.0.1.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
error: Failed dependencies:
glibc-devel >= 2.2.90-12 is needed by gcc-3.4.6-11.0.1.i386
Suggested resolutions:
/var/spool/up2date/glibc-devel-2.3.4-2.43.i386.rpm
#

rpm -Uvh glibc-devel-2.3.4-2.43.i386.rpm

warning: glibc-devel-2.3.4-2.43.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
error: Failed dependencies:
glibc-headers is needed by glibc-devel-2.3.4-2.43.i386
glibc-headers = 2.3.4-2.43 is needed by glibc-devel-2.3.4-2.43.i386
Suggested resolutions:
/var/spool/up2date/glibc-headers-2.3.4-2.43.i386.rpm

rpm -Uvh glibc-headers-2.3.4-2.43.i386.rpm

warning: glibc-headers-2.3.4-2.43.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
error: Failed dependencies:
kernel-headers is needed by glibc-headers-2.3.4-2.43.i386
kernel-headers >= 2.2.1 is needed by glibc-headers-2.3.4-2.43.i386
Suggested resolutions:
/var/spool/up2date/glibc-kernheaders-2.4-9.1.103.EL.i386.rpm
#

ls glibc-kernheaders-2.4-9.1.103.EL.i386.rpm

rpm -Uvh glibc-kernheaders-2.4-9.1.103.EL.i386.rpm

warning: glibc-kernheaders-2.4-9.1.103.EL.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:glibc-kernheaders ########################################### [100%]
#
-- 제거

rpm -q glibc-kernheaders

glibc-kernheaders-2.4-9.1.103.EL

rpm -e glibc-kernheaders-2.4-9.1.103.EL

lnx1 서버에서 웹브라우저 실행 후, http://www.openoffice.org/

firefox Upgrade

cd /download

ls

firefox-3.6.3.tar.bz2

bzip2 -d firefox-3.6.3.tar.bz2

ls

firefox-3.6.3.tar

tar -xvf firefox-3.6.3.tar

...

ls

  1. yum

  • rpm을 대체하는 명령어

  • 의존성 있는 패키지를 검색해서 같이 설치/제거해 줌

  • 인터넷이 연결되어 있어야만 사용가능

yum install 패키지 # 패키지를 검색해서 설치

yum update 패키지 # 패키지를 업데이트

yum remove 패키지 # 패키지를 제거

yum localinstall RPM패키지 # 파일로 존재하는 RPM패키지를 설치. 인터넷 연결 없어도 가능

  1. tar

  • 파일을 묶는 명령어.

  • 초기에는 묶는것만 가능했으나 현재는 압축하는 기능도 포함되어 있다

  • 묶어진 파일의 확장자는 tar, 묶은 후 gzip으로 압축되어 있는 파일의 확장자는 tgz


c : 묶음생성
x : 묶음해제
z : gzip 압축/해제
j : bunzip 압축/해제
f : file로 작업
t : tar 파일 내용확인
v : verbose. 과정을 출력

tar cvf linux.tar tar # tar 디렉토리를 linux.tar 파일로 묶음

tar tvf linux.tar # linux.tar 파일의 내용을 확인

tar xvf linux.tar # linux.tar 파일을 묶음 해제

tar zcvf gzip.tar.gz tar # tar 디렉토리를 tar로 묶은후 gzip으로 압축

tar zxvf gzip.tar.gz # 압축해제

tar jcvf gzip.tar.bz tar # tar 디렉토리를 tar로 묶은후 bzip으로 압축

tar jxvf gzip.tar.bz tar # 압축해제

  1. gzip

  • gunzip. 압축을 하거나 해제할때 사용

    gzip 파일명 # 파일을 압축

    gzip -d 파일명 # 압축 해제

  1. bzip2

  • bz 방식으로 압축/해체

    bzip2 파일명 # 압축

    bzip2 -d 파일명 # 해제

  1. find

  • 특정 조건으로 파일이나 폴더를 검색하는 명령어


name : 이름으로 검색
user : 사용자로 검색
perm : 퍼미션으로 검색

find /root/ -name "*.txt" # /root 디렉토리안의 모든 txt 파일 검색

find /home -user root # /home 디렉토리 안에서 소유자가 root인 파일검색

find /home -perm 755 # /home 디렉토리 안에서 소유권이 755인 파일 검색

  1. which, whereis, locate

  • 실행할 수 있는 명령어, 링크를 검색

'OS관련 > Linux Study' 카테고리의 다른 글

리눅스 호스트네임 수정 파일  (0) 2015.12.31
B110i HP 컨트롤러 레이드 구성이 안될때...  (0) 2015.08.04
LVM 구성 가이드  (0) 2012.03.03
RAID 구성 가이드  (0) 2012.03.03
Send E-mail 죽이는 방법  (0) 2012.03.03