본문으로 바로가기

cd 디렉토리 이동

ls 디렉토리 속성

rpm 레드핫 패키지 설치

yum 인터넷(미러 사이트)를 통하여 패키지 설치

cp 디렉토리 및 파일 복사

clear 화면 정리

vi VIM(VI) 편집기 실행

which 파일 위치 확인

pwd :     자기현재위치

./ : 현재디렉토리 실행(환경변수로 안잡혔을때)

touch :  파일만드는 명령어

외부명령어

man :     매뉴얼(도움말),, or ls --help


id    :사용자 계정의 실제 그리고 유효(effective) UID, GID 값을 출력한다.

tail   -2 : 아래부터 2줄

head  -2 : 위에서 부터 2줄

cat : 파일 안의 내용을 화면에 출력

more : 한페이지씩 끊어서.... 파일의 내용을 한 번에 한 화면씩 보여준다.

passwd : 패스워드를 변경해야 할 때

tar : 파일을 압축하고 해제

 압축할때: ex) tar cvfz

 압축풀때: ex) tar xvfz 파일명 -C 폴더경로

     

ls :  현재 디렉토리 목록

 ex)ls -a : 숨김파일과 디렉토리 포함(숨김파일은 .으로 시작함)

mv : 파일이름 변경, 파일 이동

touch : 파일 용량이 0인 파일을 생성

 touch a.txt : a.txt 파일이 생성됨

man : 외부 명령어 도움말 보기

  ex) man date

 q 나옴

rm : 파일 또는 디렉토리 삭제

  ex) rm -rf [파일 or 디렉토리명] : 하위에 파일이나 디렉토리가 존재해도 강제 삭제

rmdir : 디렉토리 삭제

echo : 텍스트,변수를 출력하는 명령어

 ex) echo hello world

 hello world

 ex) A=15

     echo $A

     15

id: 사용자 계정을 보여주는 리눅스 명령어

alias 단축명='실행할명령어'--> 수행하는 긴 명령어를 단순하게 실행하고 싶을때 사용

env : 리눅스 환경변수 조회 명령어

export [변수명]=[데이터값]

 ex) export hell="hello_hell"

     echo $hell

     hello_hell

$PS1 = 본 셸의 환경 변수


init 0 ---> 끌때



네트워크 설정


vi /etc/sysconfig/network-scripts/ifcfg-eth0/

ONBOOT=NO를 I 또는 A를 눌러서 YES로 바꾸어준다.


service network restart


ifconfig 

아이피 주소 확인


ping 168.126.63.1



와이어샤크 설치


* yum install wireshark-gnome

*which wireshark


*wireshark & 와이어샤크 실행



Sendmail 패키지 설치


*chkconfig --list iptables 방화벽 리스트


*chkconfig iptables off 방화벽 해제


*service iptables stop


*vi /etc/sysconfig/selinux 보안 설정

SELINUX=disabled <--- 변경


*yum -y install sendmail

-

reboot 재부팅


*chkconfig sendmail on


*service sendmail restart






Linux I - 01. 시스템 기본 정보 확인 & 사용자 계정 생성





*uname 는 리눅스 시스템 관련 정보 및 커널 정보를 확인하는 명령어이다.



[root@CentOS ~]# uname -a

Linux CentOS 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

 

[root@CentOS ~]# uname -s

Linux

 

[root@CentOS ~]# uname -n

CentOS

 

[root@CentOS ~]# uname -r

2.6.32-504.el6.x86_64

 

[root@CentOS ~]# uname -v

#1 SMP Wed Oct 15 04:27:16 UTC 2014

 

[root@CentOS ~]# uname -m

x86_64

 

[root@CentOS ~]# uname -p

x86_64

 

[root@CentOS ~]# uname -i

x86_64

 

[root@CentOS ~]# uname -o

GNU/Linux





[root@CentOS ~]# date

2017. 04. 17. (월) 15:49:13 KST

root@CentOS ~]# date 122514002014

----> 수동설정

2014. 12. 25. (목) 14:00:00 KST

[root@CentOS ~]# rdate -p time.bora.net

rdate: [time.bora.net]  Mon Apr 17 15:52:06 2017


--> 시간 조회

[root@CentOS ~]# rdate -s time.nist.gov

--> 시간 동기화




cal 명령어


ex) cal 2017


cal 4 2017  








사용자 계정 생성


[root@CentOS ~]# useradd user1

[root@CentOS ~]# passwd user1

user1 사용자의 비밀 번호 변경 중

새  암호:  centos

잘못된 암호: 사전에 있는 단어를 기반으로 합니다  

잘못된 암호: 너무 간단함

새  암호 재입력: centos

passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

[root@CentOS ~]# useradd user2

[root@CentOS ~]# passwd user2

user2 사용자의 비밀 번호 변경 중

새  암호: centos

잘못된 암호: 사전에 있는 단어를 기반으로 합니다  

잘못된 암호: 너무 간단함

새  암호 재입력: centos

passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.





root:x:0:0:root:/root:/bin/bash  ----> root 계정

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin

rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin

avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

abrt:x:173:173::/etc/abrt:/sbin/nologin

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

apache:x:48:48:Apache:/var/www:/sbin/nologin

saslauth:x:498:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

user1:x:500:500::/home/user1:/bin/bash  ---> user1

user2:x:501:501::/home/user2:/bin/bash  ---> user2



[root@CentOS ~]# cat /etc/passwd | tail -2  password 확인,,,,,cat /etc/shadow(암호화)

              

user1:x:500:500::/home/user1:/bin/bash

user2:x:501:501::/home/user2:/bin/bash

 

[root@CentOS ~]# su - user1

[user1@CentOS ~]$ id

uid=500(user1) gid=500(user1) groups=500(user1) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[user1@CentOS ~]$ exit

logout


[root@CentOS ~]# su - user2

[user2@CentOS ~]$ id

uid=501(user2) gid=501(user2) groups=501(user2) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[user2@CentOS ~]$ exit

logout

 




[root@CentOS ~]# ls /bin



alsaunmute            dnsdomainname       kbd_mode       ping             sync

arch                  domainname          keyctl         ping6            tar

awk                   dumpkeys            kill           plymouth         taskset

basename              echo                link           ps               tcsh

bash                  ed                  ln             pwd              touch

cat                   egrep               loadkeys       raw              tracepath

chgrp                 env                 logger         readlink         tracepath6

chmod                 ex                  login          red              traceroute

chown                 false               ls             redhat_lsb_init  traceroute6

cp                    fgrep               lsblk          rm               true

cpio                  find                mail           rmdir            ulockmgr_server

csh                   findmnt             mailx          rnano            umount

cut                   fusermount          mkdir          rpm              uname

dash                  gawk                mknod          rvi              unicode_start

date                  gettext             mktemp         rview            unicode_stop

dbus-cleanup-sockets  grep                more           sed              unlink

dbus-daemon           gtar                mount          setfont          usleep

dbus-monitor          gunzip              mountpoint     setserial        vi

dbus-send             gzip                mv             sh               view

dbus-uuidgen          hostname            nano           sleep            ypdomainname

dd                    ipcalc              netstat        sort             zcat

df                    iptables-xml        nice           stty

dmesg                 iptables-xml-1.4.7  nisdomainname  su




1. 외부 명령어

 

 - 디스크에 있으면 실행됨, 없으면 안됨

 - Ex) ls, mkdir, cp

 

[root@CentOS test]# whereis mkdir

mkdir: /bin/mkdir /usr/share/man/man2/mkdir.2.gz /usr/share/man/man1/mkdir.1.gz /usr/share/man/man3p/mkdir.3p.gz /usr/share/man/man1p/mkdir.1p.gz


[root@CentOS test]# whereis ls

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz


[root@CentOS test]# whereis cp

cp: /bin/cp /usr/share/man/man1/cp.1.gz /usr/share/man/man1p/cp.1p.gz

 


[root@CentOS test]# help ls   (외부 명령어는 'help' 명령어로 도움말 확인 안됨)

-bash: help: no help topics match `ls'.  Try `help help' or `man -k ls' or `info ls'.

 

[root@CentOS test]# man ls   (외부 명령어는 'man' 명령어로 도움말 확인)

[root@CentOS test]# ls --help    (또는 '--help' 명령어로 도움말 확인)






2. Shell 내장 명령어

 

 - Shell이 제공하는 명령어, 쉘을 삭제하기 전까지는 명령어 삭제 불가능

 - Ex) alias, cd, history

 

[root@CentOS test]# whereis alias

alias: /usr/share/man/man1/alias.1.gz /usr/share/man/man1p/alias.1p.gz


[root@CentOS test]# whereis cd

cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

[root@CentOS test]# man cd  ('cd' 명령어에 대한 내용이 아니라, 모든 쉘 명령어 도움말이 다 나옴)

[root@CentOS test]# help cd   ('cd' 명령어에 대한 실제 도움말이 나옴)

 





ex) whereis cd

cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

bin 디렉토리 아래에 없다






3.  Shell(명령어 해석기)

 

 

ls ---------> shell ---------> kernel -----------> CPU

                  001001010

 



 - Shell 종류 : bash, csh, ksh, zsh....



Shell 이란 리눅스에서 사용하는 명령어 해석기이다


Shell 종류는 ‘bash’, ‘csh’, ‘ksh’, ‘zsh’가 있으며, 현재 CentOS 에서 사용하고 있는 Shell 은 Bash 이다

 

[[root@CentOS test]#  ps

  PID TTY          TIME CMD

 2651 pts/0    00:00:04 bash

 7616 pts/0    00:00:00 ps


[root@CentOS test]# csh


[root@CentOS ~]# ps

  PID TTY          TIME CMD

 2651 pts/0    00:00:04 bash <---- 'csh' 이전에 사용한 쉘, 지금은 'csh' 쉘로 동작함

 7617 pts/0    00:00:00 csh

 7626 pts/0    00:00:00 ps


[root@CentOS /test]# exit

exit


[root@CentOS test]#  ps

  PID TTY          TIME CMD

 2651 pts/0    00:00:04 bash

 7627 pts/0    00:00:00 ps


[root@CentOS test]#  man cd <--- shell 내장 명령어 다 나옴

[root@CentOS test]#  help cd <-- cd 도움말 나옴


exit

나가면 모드가 bash






echo $PATH  : 환경변수 설정 보기

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin



[root@CentOS ~]# echo $PS1 ---> 본쉘의 환경변수

[\u@\h \W]\$


ex)

[root@CentOS /etc/sysconfig]# cd network-scripts/

[root@CentOS /etc/sysconfig/network-scripts]# cd ../networking (상대경로)

[root@CentOS /etc/sysconfig/networking]# cd /etc/sysconfig/network-scripts/(절대경로)

[root@CentOS /etc/sysconfig/network-scripts]# 





4. 'PATH' 환경 변수 (변수는 메모리에 올라가서 동작을 실시함)

 

PATH 변수는  명령어를 실행하기 위해서 해당 디렉토리를 검색할 필요 없이, 명령어를 사용할 수 있데 하는 변수이다. 다음과 같이 PATH 변수에 명령어를 갖고 있는 디렉토리가 등록되지 않으면 해당 명령어는 무조건 절대 경로로 찾아서 사용해야 한다. 참고로 변수를 확인하려면 '$'를 이용해야 한다.


[root@CentOS test]# echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[root@CentOS test]# which ifconfig

/sbin/ifconfig


[root@CentOS test]# time ifconfig    ('ls' 명령어를 PATH 환경 변수에서 찾음)

~ 중간 생략 ~

 

real   0m0.026s

user   0m0.001s

sys    0m0.025s


[root@CentOS test]# time abc    ('abc' 명령어를 PATH 환경 변수에서 찾음)

-bash: abc: command not found   ('abc' 명령어는 PATH 환경 변수에 없음)

real   0m0.002s

user   0m0.000s

sys    0m0.003s

 

 - 만약, PATH에 설정안된 명령어라면, 다음과 같이 절대 경로로 명령어를 실행해야 한다.

 

[root@CentOS test]# cp /bin/ls newls

[root@CentOS test]# ls

newls


[root@CentOS test]# cd ..

[root@CentOS /]# newls

-bash: newls: command not found


[root@CentOS /]# /test/newls

bin   dev  home  lib64       media  mnt  opt   root  selinux  sys   tmp  var

boot  etc  lib  lost+found  misc   net  proc  sbin  srv      test  usr


[root@CentOS /]# echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin


Ex1) PATH 추가 I

 

[root@CentOS /]# a=hello

[root@CentOS /]# b=$a-linux

[root@CentOS /]# echo $b

hello-linux

 

 

Ex2) PATH 추가 II

 

[root@CentOS /]# PATH=$PATH:/test

[root@CentOS /]# echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/test

[root@CentOS /]# newls

bin   dev  home  lib64       media  mnt  opt   root  selinux  sys   tmp  var

boot  etc  lib  lost+found  misc   net  proc  sbin  srv      test  usr

 

Ex3) PATH 추가 III


[root@CentOS /]# mkdir lab

[root@CentOS /]# cd lab

[root@CentOS lab]# cp /bin/ls ls2

[root@CentOS lab]# ls

ls2


[root@CentOS lab]# su - user1

[user1@CentOS ~]$

[user1@CentOS ~]$ PATH=$PATH:/lab

[user1@CentOS ~]$ echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/user1/bin:/lab


[user1@CentOS ~]$ cd ..

[user1@CentOS home]$ cd ..

[user1@CentOS /]$ ls

bin   dev  home  lib    lost+found  misc  net  proc  sbin     srv  test  usr

boot  etc  lab   lib64  media       mnt   opt  root  selinux  sys  tmp   var

[user1@CentOS /]$

[user1@CentOS /]$ exit

logout


[root@CentOS lab]# cd ..

[root@CentOS /]# rm -rf test

[root@CentOS /]# rm -rf lab

[root@CentOS /]# mkdir test

[root@CentOS /]# cd test



Ex4) PATH 추가 IIII


[root@CentOS test]# useradd ccna

[root@CentOS test]# su - ccna


[ccna@CentOS ~]$

[ccna@CentOS ~]$ echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ccna/bin


[ccna@CentOS ~]$ PATH=/bin:/usr/bin

[ccna@CentOS ~]$ export PATH    (환경 변수로 지정하는 명령어)

[ccna@CentOS ~]$ echo $PATH

/bin:/usr/bin


[ccna@CentOS ~]$ ls -a

.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla

[ccna@CentOS ~]$

[ccna@CentOS ~]$ cat .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

       . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH


[ccna@CentOS ~]$ exit

logout

[root@CentOS test]# usedel -r ccna

 

 

[참고] 사용자 정의 변수

 

[root@CentOS test]# a=1

[root@CentOS test]# $b=2

-bash: =2: command not found


[root@CentOS test]# echo $a

1

 

[참고] 'export' 명령어를 이용한 환경 변수 지정


[root@CentOS test]# a=1

[root@CentOS test]# b=2

[root@CentOS test]# export b

[root@CentOS test]# env

~ 중간 생략 ~

PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/test

PWD=/test

b=2

LANG=ko_KR.UTF-8

PS1=[\u@\h $PWD]#

~ 중간 생략 ~

 

[root@CentOS test]# echo $a

1

[root@CentOS test]#

[root@CentOS test]# echo $b

2


[root@CentOS test]# ps

  PID TTY          TIME CMD

 2651 pts/0    00:00:05 bash

 8597 pts/0    00:00:00 ps


[root@CentOS test]# bash

[root@CentOS test]# ps

  PID TTY          TIME CMD

 2651 pts/0    00:00:05 bash

 8598 pts/0    00:00:00 bash

 8608 pts/0    00:00:00 ps


[root@CentOS test]# echo $a


[root@CentOS test]# echo $b

2


[root@CentOS test]# exit

exit


[root@CentOS test]# ps

  PID TTY          TIME CMD

 2651 pts/0    00:00:05 bash

 8609 pts/0    00:00:00 ps

[root@CentOS test]# cd ..

[root@CentOS /]# rm -rf test

[root@CentOS /]# cd

 

 

5. 'pwd' 명령어


[root@CentOS ~]# pwd

/root

 

[root@CentOS ~]# cd /etc/sysconfig/network-scripts/

[root@CentOS network-scripts]# pwd

/etc/sysconfig/network-scripts

 

[root@CentOS network-scripts]# cd

[root@CentOS ~]# pwd

/root

 

[root@CentOS ~]# echo $PS1

[\u@\h \W]\$

 

[root@CentOS ~]# PS1='C:> '

C:>

C:> PS1='[\u@\h \W]\$ '

[root@CentOS ~]#

[root@CentOS ~]# PS1="[\u@\h \$PWD]# "

[root@CentOS /root]# pwd

/root

 

 


6. 'cd' 명령어

 

Ex1) 상대 경로

 

[root@CentOS /root]# cd /etc

[root@CentOS /etc]# cd sysconfig

[root@CentOS /etc/sysconfig]# cd network-scripts

[root@CentOS /etc/sysconfig/network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@CentOS /etc/sysconfig/network-scripts]# ls

ifcfg-eth0   ifdown-isdn    ifup-aliases  ifup-plusb     init.ipv6-global

ifcfg-lo     ifdown-post    ifup-bnep     ifup-post      net.hotplug

ifdown       ifdown-ppp     ifup-eth      ifup-ppp       network-functions

ifdown-bnep  ifdown-routes  ifup-ippp     ifup-routes    network-functions-ipv6

ifdown-eth   ifdown-sit     ifup-ipv6     ifup-sit

ifdown-ippp  ifdown-tunnel  ifup-isdn     ifup-tunnel

ifdown-ipv6  ifup           ifup-plip     ifup-wireless

 

[root@CentOS /etc/sysconfig/network-scripts]# cd .

[root@CentOS /etc/sysconfig/network-scripts]# pwd

/etc/sysconfig/network-scripts

 

[root@CentOS /etc/sysconfig/network-scripts]# cd ..

[root@CentOS /etc/sysconfig]# pwd

/etc/sysconfig

 

[root@CentOS /etc/sysconfig]# cd ../../

[root@CentOS /]# pwd

/


[root@CentOS /]# cd /etc/sysconfig/network-scripts

[root@CentOS /etc/sysconfig/network-scripts]# touch ../../test.txt

[root@CentOS /etc/sysconfig/network-scripts]# cd ../../

[root@CentOS /etc]# pwd

/etc

 

[root@CentOS /etc]# ls -l test.txt

-rw-r--r--. 1 root root 0 2015-12-22 20:49 test.txt

 


Ex2) 절대 경로

 

[root@CentOS /etc]# cd /tmp

[root@CentOS /tmp]# cd /etc/sysconfig

[root@CentOS /etc/sysconfig]# cd /usr

[root@CentOS /usr]#

[root@CentOS /usr]# pwd

/usr

 


Ex3) 이전 디렉토리 이동

 

[root@CentOS /usr]# cd -

/etc/sysconfig

[root@CentOS /etc/sysconfig]#

[root@CentOS /etc/sysconfig]# cd -

/usr

[root@CentOS /usr]#

 


Ex4) 같은 트리 레벨 디렉토리 이동

 

[root@CentOS /usr]# cd..

[root@CentOS /]# mkdir test

[root@CentOS /]# cd test

[root@CentOS /test]# mkdir dir1 dir2

[root@CentOS /test]# cd dir2

[root@CentOS /test/dir2]# pwd

/test/dir2


[root@CentOS /test/dir2]# cd ..

[root@CentOS /test]# pwd

/test


[root@CentOS /test]# cd dir1

[root@CentOS /test/dir1]# pwd

/test/dir1


[root@CentOS /test/dir1]# cd ../dir2

[root@CentOS /test/dir2]# pwd

/test/dir2


[root@CentOS /test/dir2]# cd ../dir1

[root@CentOS /test/dir1]# cd ..

[root@CentOS /test]# tree

.

├── dir1

└── dir2

2 directories, 0 files

 

 

 

[root@CentOS /test]# cd ..

[root@CentOS /]# rm -rf test