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
'네트워크/서버/모의해킹 > 리눅스' 카테고리의 다른 글
17.4.24(50일차 리눅스 명령어-6) (506) | 2017.04.24 |
---|---|
17.4.21(49일차 리눅스 명령어-5) (496) | 2017.04.21 |
17.4.20(47일차 리눅스 명령어-4) (482) | 2017.04.20 |
17.4.19(46일차 리눅스 명령어-3) (498) | 2017.04.19 |
17.4.18(45일차 리눅스 명령어-2) (496) | 2017.04.18 |