Unix Admin(2)기본 명령어 실습
(1)실습환경구성
1. 버츄얼 박스 설치
2. 리눅스 설치 (15.04)
3. Putty 환경구성
언어설정(키보드)
sudo passwd
장치 --> 게스트 확장 CD이미지 삽입 (root계정으로 reboot) -->이걸 설치해야 Virtual Box 화면 크기로 볼수 있음. --> 완료후 CD 꺼내기
SSH 설치
-- sudo apt-get install ssh (root계정으로 스위치 한뒤 ssh를 설치하게 됨.) --> 완료
vi 업데이트
-- apt_get install vim --> 완료
-- vi /etc/ssh/sshd_config(root로 수정) --> putty로 원격접속 할때 root계정으로 접속할 수 있도록 설정하려는 것임. --> 데몬 재기동 (service ssh restart)
-- IP 확인 후 putty로 접속하기
-- ifconfig
-- UTP8로 변경(putty)
4. 기타환경구성
tree설치
apt-get install tree
--> tree 실행
*Fedora : 모든 기능이 포함되어 있으므로 용량이 큼, 따로 다운로드 받을 필요가 없음.
*Ubuntu : 자동업데이트 체크안함(권장)
--> 터미널 실행 : ALT+CLT+T
# 시작과 종료
모드 전환 (F1~F6, F7)
Ctrl+Alt+F1~F7
--> F7은 윈도우 창
종료
shutdown -h now --> 바로 끄는것
shutdown -h 10 ==> 10 분후에 종료예약
취소시? shutdown - c ==> 걸려있던 모든 shutdown예약이 취소됨.
(*shutdown -r 로 걸려 있는 리부팅 작업도 포함함)
# 계정 추가 및 삭제
adduser test1 ==> 계정추가
계정 추가시 등록되는 곳. --> /etc/passwd
** 실제 비밀번호가 등록되는 곳 --> /etc/shadow
** /etc/passwd에 설정된 home directory 가 없을 때는 (ubuntu에서는) root가 pwd가 됨.
userdel test2 ==> 계정 삭제
* 계정 삭제 시 주의 : 사용중인 계정은 삭제할 수 없다. 또한 root가 아닌 일반 계정은 userdel 명령에 권한이 없다. --> 사용중인 계정 삭제 --> -f 옵션
userdel 명령으로 계정 삭제 시에도 해당 home directory는 남아 있다.
--> 해당 home 디렉터리까지 삭제 --> -r 옵션
adduser VS useradd
useradd --> 계정만 생성 (/etc/passwd) : 홈 디렉터리 및 비밀번호 (/etc/shadow)는 따로 설정해줘야 함
adduser --> 계정 생성시 /etc/passwd, /etc/shadow, home 디렉터리 설정까지 완료해줌
#Unix/Linux 기본명령어
특징
* 대소문자의 구분
* 여려 명령의 동시 수행 가능 (예: cal; date)
* 파일 사용권한의 구분
* 내부명령어(built-in)와 외부명령어(쉘 프로그래밍)로 구분됨
* 명령어 사용 형식 : 명령어 [옵션] [인수]
#date
date --> linux 설치 시 설정된 시간이 표시됨
date -I --> YYYY-MM-DD
date -u --> 그리니치 천문대 시각(세계표준시)
date --v, date --version ==> linux 버전을 보여줌
#who
접속된 계정 정보를 보여줌
접속모드, user명, ip 정보등을 출력
#cal
cal -3 (앞 달, 뒷달까지)
cal -y (해당 년 12달 전체 보여줌)
#su - (계정명)
su -, su 로 계정명 생략 시 root로 전환 가능
*root 유저는 일반 유저로 switch 시 pw가 필요치 않음
#ls
해당 디렉터리 안의 파일목록을 나열 (*디렉터리까지)
ls /usr/bin --> /usr/bin 안의 파일목록을 나열
ls -a --> 숨겨진 파일을 보여줌
ls -l --> pwd의 파일 정보를 목록형으로 자세히 보여줌 (long format)
** 디렉터리 자체에 대한 권한을 보기 ls -ld /usr/bin
** 디렉터리에 대한 r, w, x 권한
r --> 디렉터리 안의 파일 내용에 대한 조회 가능
w --> 디렉터리 안에 파일 생성 가능, 디렉터리 삭제 가능
x --> 디렉터리에 cd 가능
ls -i --> 파일의 inode번호를 알 수 있음
#cd
*상대경로와 절대경로 개념을 숙지해야 함.
cd ~user1 --> user1의 home directory로 이동
-rwxr-xr-x 1 root root 37808 8월 16 2013 xprop
11번째 필드 -->
12번째 필드 --> 소유자
13번째 필드 --> 파일크기
#pwd
현재 경로를 출력
#rm
현재 파일을 삭제
예제 파일 작성
$ cat > abc.txt
this is a abc.txt file
ctrl+D
(ctrl+D ==> End Of File, EOF. 이걸 입력하면 입력이 종료되었음을 알려줌)
*cat (노 옵션시) ==> Copy standard input to standard output
rm -r --> 해당 디렉터리 및 디렉터리 안의 파일 모두 삭제
*지우려는 파일이나 디렉토리에 삭제 권한(w)이 있어야 함.
만약 해당 디렉터리에 w권한이 없다면, 그 안의 어떤 파일(디렉터리)에 대해서도 삭제할 수 없다.
예) ~/aaa/bbb
aaa는 bbb디렉터리의 inode에 대한 정보를 갖고 있으므로, 만약 bbb디렉터리를 삭제하게 된다면 aaa디렉터리의 내용도 변경해줘야 함. 따라서 w권한이 필요함.
#cp
*새로 복사한 파일은 사용자의 소유가 됨
*디렉터리에 대한 복사
cp -r 옵션을 주지 않으면 디렉터리는 복사할 수 없음
경우에 따라 결과가 다르다
경우1)
Before
.
├── aaa
│ └── test.txt
├── cba.txt
└── examples.desktop
After
.
├── aaa
│ └── test.txt
├── bbb
│ └── test.txt
├── cba.txt
└── examples.desktop
경우2)
Before
.
├── aaa
│ └── test.txt
├── bbb
│ └── test.txt
├── cba.txt
└── examples.desktop
cp -r aaa bbb
After
.
├── aaa
│ └── test.txt
├── bbb
│ ├── aaa
│ │ └── test.txt
│ └── test.txt
├── cba.txt
└── examples.desktop
참고2) cp -r 명령으로 디렉터리 복사시 path가 동일하더라도 overwrite 되지 않는다.
단, 노 옵션으로 cp로 파일을 복사하면, overwrite된다.
#touch
* 파일이 없으면 size가 0인 파일을 생성
* 파일이 있으면 수정 시간을 현재 시간으로 변경함. (파일 내용은 변경 되지 않음)
#mv
파일이나 디렉터리의 path를 변경
여러개의 인수를 동시에 지정시, 맨 마지막 인수는 existing directory만 지정 가능
#cat
cat test.sql --> test.sql 파일의 내용을 화면에 표준출력
cat > test.sql --> 표준출력을 test.sql로 리다이렉트. 기존에 파일이 없다면 파일을 생성한다. 기존에 파일이 있다면 overwrite한다.
cat >> test.sql --> 표준출력을 test.sql로 리다이렉트. 기존에 파일이 없다면 파일을 생성한다. 기존에 파일이 있을 경우 기존 text에 붙인다.
cat -n --> 파일 내용을 표준 출력하는데 각 행마다 number를 붙인다.
cat -b --> 파일 내용을 표준 출력하는데 각 행마다 number를 붙인다. 단, 공란 제외
cat -nb <==> cat -b
#more
실습환경 구성 (wget 실습)
1) https://www.kernel.org/ 접속
2) Stable : 4.3.3 의 tar.xz 파일을 오른쪽으로 클릭 후 '링크 주소 복사'
3) Putty에서 사용자 계정(예: linux)의 home directory로 접속후, mkdir src로 디렉터리 생성
cd src로 이동
(4) ~/src에서 wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.3.3.tar.xz 실행
(5) download가 시작된다 (인터넷에 연결되어 있어야 함)
(6)압축해제 후 README 파일로 more를 실습한다.
#head
문서의 윗줄부터 n줄까지만 보여준다. -number 옵션으로 조절가능하며, default값은 10.
head -3 /etc/*.conf ==> 모든 *.conf파일들을 위에서부터 3줄씩만 보여준다.
#tail
문서의 아랫줄부터 n줄까지만 보여준다. -number 옵션으로 조절가능하며, default값은 10.
tail -f 파일명 ==> 해당 파일의 추가되는 아랫줄을 계속해서 덧붙여서 refresh 해준다.
'외부교육정리 > 4.UNIX Admin (2015.12)' 카테고리의 다른 글
Unix Admin (6) 프로세스, 데몬, 서비스 (0) | 2015.12.22 |
---|---|
Unix Admin (5) 정규식, pipe, filter, redirection, VI(VIm) (0) | 2015.12.22 |
Unix Admin (4): 관리 명령어 (0) | 2015.12.22 |
UNIX Admin(3) 사용자 관리와 파일 속성 (0) | 2015.12.21 |
UnixAdmin (1) (0) | 2015.12.21 |