1. 리눅스
-기본명령어-
발표일 2012.03.15
발표자 문아영
이메일 moonlib87@gmail.com
2. 명령어 배우기 전 기억해 두자!
• 리눅스의 대부분은 파일 및 디렉토리로 이루어져 있다.
• 리눅스의 모든 명령어 및 옵션을 외우려고 하지마라.
• 메뉴얼을 이용하라. 최대한 man 명령을 이용하라.
윈도우와의 차이점
• 파일 타입의 구분이 없다. (확장자의 개념 X)
• 대소문자를 구분한다.
• 파이프(|)를 이용한 연결된 명령어를 사용할 수 있다.
1
3. 명령어 배우기 전 기억해 두자!
참고 | 디렉토리 구조
bin 시스템의 모든 사용자들이 사용할 수 있는 기본적인 프로그램 디렉토리
boot 시스템 부팅과 관련된 커널 이미지 및 부팅과 관련된 파일들이 있다.
dev 각종 장치 관련 파일
etc 시스템 환경설정 파일
home 사용자 홈디렉토리
lib 공유라이브러리디렉토리
proc 현재 시스템 상태정보를 가지고 있는 가지고 있는 가상파일 디렉토리
root 시스템 관리자 디렉토리
sbin 시스템 관리자를 위한 프로그램 디렉토리
tmp 임시파일 저장 디렉토리
usr 사용자를 위한 프로그램 디렉토리
var 시스템의 가변 자료(로그 파일,스풀파일 등등)
2
4. 명령어 배우기 전 기억해 두자!
Root 관리자 계정
: 모든 명령어와 파일의 접근, 실행이 가능한 계정.
User User
3
7. 명령어 배우기 전 기억해 두자!
내부명령어 / 외부명령어
내부명령어 : 쉘에 내장되어 있는 명령어로 쉘이 명령어를 이해한다.
외부명령어 : /bin 안에 파일의 형태로 존재한다.
참고 | 사용하는 명령어 중 cd는 /bin 안에 들어 있지 않은 내부 명령어이다.
명령어 체계
: 명령어 -옵션 (파일 및 디렉토리)
예 ) ls –a /dev
명령어 옵션 디렉토리명
6
8. 명령어 배우기 전 기억해 두자!
자동완성
/etc/sysconfig/networking/devices > cd /et Tab
sysco Tab
도스키
이전에 입력한 명령어 화살표 키를 이용
도움말 사용하기
man 명령어
7
10. 명령어(1) : 사용자 생성 및 계정 관리하기
| (현재 시스템에 로그인한 ) 사용자 계정 조회하기
# users
| 사용자 계정 생성 및 암호 설정하기
# useradd 생성할 계정명
# passwd 생성한 계정명
| 계정관리(변경) Usermod [옵션] 로그인계정
usermod [-c comment] 사용자 이름 또는 정보
사용자 계정 홈 디렉터리
# usermod [옵션] 로그인계정
[-d home_dir]
[-e expire_date] 사용자 계정 유효기간
[-f inactive_time] 비활성 기간
| 계정삭제 [-g initial_group]
[-G group[,….] ]
기본그룹
다중그룹
[-s shell] 로그인 기본쉘
# userdel 계정명 [-u uid] 사용자 계정 uid
9
11. 명령어(1) 실습 : 사용자 생성 및 계정 관리하기
실습1 | (현재 시스템에 로그인한 ) 사용자 계정 조회하기
실습2 | 사용자 계정 생성 및 암호 설정하기
실습3 | 계정 삭제하기 useradd –D옵션 : 기본 설정사항 확인가능
10
12. 명령어(2) : 그룹관리
| 현재 사용자가 속한 그룹 조회
# groups
| 새로운 그룹생성
# groupadd [옵션] 그룹명
| 그룹의 속성 변경
# groupmod
| 그룹삭제
# groupdel 그룹명
| 그룹 암호설정, 그룹관리
# gpasswd [옵션] 그룹명
11
13. 명령어(2) 실습 : 그룹관리 (계속)
실습 1 | 새로운 그룹생성
예) # groupadd newgroup
: newgroup 그룹을 생성한다.
# groupadd –g 555 newgroup
: newgroup을 생성하면서, 그룹ID를 555로 지정한다.
실습 2 | 그룹의 속성 변경
예) # groupmod -n newgroup mygroup
: newgroup의 이름을 mygroup으로 변경한다.
12
15. 리눅스 기본 명령어 - ls
ls 도스의 “dir”과 같은 역할로, 해당 디렉토리에 있는 파일의 목록을 나열
[실습 예]
# ls : 현재 디렉토리의 파일 목록
# ls /usr/bin : /usr/bin/디렉토리의 목록
# ls –a : 현재 디렉토리의 목록(숨김 파일 포함)
# ls –l : 현재 디렉토리의 목록을 자세히 보여줌
# ls *.txt : 확장자가 txt인 목록을 보여줌
# ls –l /usr/bin/a* : /usr/bin/ 디렉토리에 있는 목록 중
앞 글자가 „a‟인 것의 목록을 자세히 보여줌
14
16. 리눅스 기본 명령어 - cd
cd 디렉토리를 이동한다.
[실습 예]
# cd : 현재 사용자의 홈 디렉토리로 이동함
# cd ~root : root 사용자의 홈 디렉토리로 이동함 = cd /
# cd .. : 바로 상위 디렉토리로 이동
“..”은 현 디렉토리의 부모 디렉토리를 의미함
# cd /usr/bin : „/usr/bin‟ 디렉토리로 이동함
15
17. 리눅스 기본 명령어 - pwd
pwd 현재 디렉토리의 전체 경로를 출력한다. (print working directory)
[실습 예]
# pwd : 현재 작업중인 디렉토리의 경로 출력
< 추가설명 >
현재 디렉토리 “ . “
현재의 상위 디렉토리 “ .. “
cp ../lib/abc .
: 현재 디렉토리의 상위 디렉토리(..) 아래에 있는 lib디렉토리의 abc 파일을 현재 디렉토리(.)에 복사
하라는 의미
숨김파일 .파일명 or .디렉토리
16
18. 리눅스 기본 명령어 - mkdir
usr
bin
mkdir 새로운 디렉토리를 생성한다.
abc def
[실습 디렉토리 : cd /usr/bin]
fgh
# mkdir abc
: 현재 디렉토리 아래에 abc라는 디렉토리 생성
# mkdir –p def/fgh
: 현재 디렉토리 아래에 def디렉토리를 생성하고,
그 안에 fgh 디렉토리 생성
17
19. 리눅스 기본 명령어 - touch
touch 크기가 0 인 새 파일을 생성하거나 이미 존재하는 파일인 경우
수정시간을 변경한다.
[실습 예]
# touch abc.txt
: 1) 파일이 없을 경우엔 abc.txt라는 빈 파일을 생성하고,
2) abc.txt가 있을 경우에는 파일의 수정시간을 현재 시각으로 변경
# touch aaa
# touch bbb
# touch ccc
18
20. 리눅스 기본 명령어 - mv
mv 파일과 디렉토리의 이름을 변경하거나 위치 이동 시 사용한다.
[실습 예]
# mv aaa bbb ccc abc
: aaa, bbb, ccc 파일을 abc 디렉토리로 이동
# mv abc ddd
: 이름 변경
19
21. 리눅스 기본 명령어 - rm
rm 파일이나 디렉토리를 삭제한다.
해당 파일이나 디렉토리에 삭제 권한이 있어야 함
[실습 예]
# rm abc.txt : 그냥 삭제
# rm –i aaa : 삭제 시 확인을 물어봄
# rm –r def : 디렉토리 삭제
# rm –rf fgh : fgh 디렉토리와 그 하부를 강제로 전부 삭제
20
22. 리눅스 기본 명령어 - rmdir
rmdir 디렉토리를 삭제한다.
해당 디렉토리의 삭제 권한이 있어야 하며, 파일이 들어 있으면 안됨
파일이 들어있는 디렉토리를 삭제하려면 “rm –r”을 사용해야 함
[사용 예]
# rmdir abc
21
23. 리눅스 기본 명령어 - cat
cat 텍스트로 작성된 파일을 화면에 출력한다.
파일의 내용을 간단히 확인하기 위해서 주로 사용한다.
[실습1]
1) 텍스트 파일 만들기
# vi fun.txt
2) 텍스트 입력
Hellow!
3) ESC키 > : wq 입력 (저장하고 나오기)
4) fun.txt파일 내용 출력하기
# cat fun.txt
22
24. 리눅스 기타 명령어
head, : 텍스트로 작성된 파일의 앞 10행 또는 마지막 10행만 출력한다.
tail
more : 디텍스트로 작성된 파일을 화면에 페이지 단위로 출력한다.
Space 는 다음페이지, b 는 앞페이지, Q 는 종료
less : more와 용도가 비슷하지만 확장된 기능
Page Up, Page Down 도 작동
file : File이 어떤 종류의 파일인지 표시해준다.
Clear : 명령창을 깨끗하게 지워준다.
23