09년 1학기에 들었던 JAVA 수업에서 GUI 이전의 내용은 UNIX에서 작업을 했는데 그 때 받은 내용
1. 리눅스 기본 명령어
£ 입력된 명령어는 명령어 해석기에 의해 해석되어 수행됨
î 명령어 해석기: shell이라 하며, 주로 csh, ksh bash 등이 사용됨
£ 온라인 명령어 매뉴얼: “man 명령어"로 상세한 온라인 매뉴얼 검색 가능
£ 다음과 같이 그룹화 됨: 사용자 및 그룹관리는 root 이용자만 취급가능
î 사용자 및 그룹 관리
î 파일과 디렉토리 관리
î 프로세스 관리
î 주변장치 관리
î 텍스트 처리
î 기타
그룹 |
명령어 |
설 명 |
사용자 및 그룹 관리 |
adduser |
- 사용자 계정을 등록한다. 예: adduser 옵션 계정이름 |
useradd |
- 사용자 계정을 등록한다. 예: useradd 옵션 계정이름 | |
passwd |
- 계정의 패스워드를 변경 예: passwd | |
userdel |
- 사용자 계정 삭제 예: userdel 계정이름 | |
usermod |
- 사용자 계정의 계정정책 관리 계정사용 일시 등 | |
charge |
- 사용자 계정의 암호정책 관리. 암호의 구성요건, 갱신주기 등 | |
groupadd |
- 사용자 그룹을 추가 필요한 그룹을 형성할 수 있음 | |
groupdel |
- 사용자 그룹을 삭제 특정 그룹을 제거 | |
su |
- 다른 계정으로 접속 변경 예: su - 계정이름 | |
파일과 디렉토리 관리 |
cd |
- 현재 작업 디렉토리를 이동하거나 변경합니다. ( "."은 현재 디렉토리, ".."은 상위 디렉토리임.) |
ls |
- 파일과 디렉토리들의 이름에 대한 정보를 출력합니다. | |
cp |
- 파일과 디렉토리를 복사합니다. | |
mv |
- 파일을 옮기거나 이름을 바꿀 수 있습니다. | |
rm |
- 파일과 디렉토리를 지울 수 있습니다. | |
mkdir/rmdir |
- 새로운 디렉토리를 만들거나 지울 수 있습니다. # rmdir test test1 (2개 지움) | |
ln |
- 파일과 디렉토리를 링크를 걸어줍니다. | |
chmod |
- 퍼미션(permission), 즉 접근권한 변경 | |
chown |
- owner, 즉 소유자 변경 | |
du |
- 지정된 특정 디렉토리나 파일들이 차지하는 공간보기 | |
which |
- 각종 시스템 유틸리티 프로그램의 서버상 위치를 볼 수 있습니다. # which sendmail -> /usr/sbin/sendmail | |
find |
- 디렉토리 탐색하면서 조건에 맞는 파일을 찾을 수 있습니다. | |
pwd |
- 현재 디렉토리 위치를 확인합니다. |
프로세스 관리 |
ps |
- 현재 수행중인 프로세스 보기 예: ps -aux |
kill |
- 현재 수행중인 프로세스 제거 예: kill -9 프로세스 ID | |
주변장치 관리 |
mount |
- 주변장치 접속 예: #mount /dev/cdrom /mnt/cdrom |
umount |
- 주변장치 제거 예: #umount /dev/cdrom | |
df |
- 하디디스트 용량보기 예: $df -h M단위로 쉽게 보여줌. | |
|
| |
텍스트 처리 |
more |
- 파일 내용이 길 때 내용을 한 화면씩 출력합니다.(q:종료 / f: 다음화면) |
less |
-위의 more와 거의 유사하나 이전 화면으로 전환이 가능합니다. | |
grep |
- 주어진 패턴을 포함하는 파일라인을 출력합니다. | |
기타 |
man |
- 주어진 명령어나 manual 보여줍니다. |
help |
- 명령어의 도움말을 보여줌 예: 명령어 --help | |
clear |
- 현재 화면내용을 지웁니다. | |
pipeline |
- 한 프로세스의 출력결과를 다른 프로세스의 입력으로 연결시킵니다. | |
압축명령어 |
▷ a.txt를 gzip으로 압축하기/풀기 $ tar -xvf test.tar.gz |
2. 퍼미션과 관련 명령어
2.1 퍼미션(permission)이란?
윈도와는 달리 멀티유저 운영체제인 리눅스는 보안상의 이유로 다른 사람이 자신의 파일을 읽거나 파일에 다른 내용을 기록하는 것을 막을 수 있습니다. 이런 역할을 하는 것을 퍼미션이라고 합니다. 한 사용자가 다른 사용자의 파일을 마음대로 처리하게 될 수도 있기 때문에 이것을 예방하기 위해서 생성되는 파일이나 디렉토리에 각각의 접근허가권을 두어서 허가한 사용자(그룹)들만이 파일에 대한 접근권한을 가지게 만드는 것입니다. 이들 속성을 이용하여 각 파일 및 디렉토리들을 다른 사람들과 공유하거나 아니면 개인적인 목적으로만 사용할 수 있습니다. 퍼미션은 소유자/소유자가 속한 그룹/그외 유저(그룹)으로 나누어 주어지게 됩니다.
* 그룹(group) 이해하기
유저는 기본적으로 특정 그룹에 소속되어 있습니다. 관리자가 특별히 그룹을 지정하지 않으면 계정 이름이 그룹 이름이 됩니다. 만약 관리자가 관리의 편의를 위해 그룹을 구분지었다면 유저이름과 그룹이름이 다를 수 있습니다. 학교에서 반을 나누는 것과 같다고 생각하면 됩니다.
2.2 퍼미션과 값
중요한 파일 퍼미션에 대하여 간단히 설명하겠습니다. 앞서 말했듯이 리눅스에서 모든 파일과 디렉토리는 3가지 대상에 대한 접근권한을 가지고 있습니다. 소유자는 소유자 자신의 파일에 대하여 그룹과 시스템에 있는 모든 유저들에 대한 접근권한을 지정할 수 있습니다. 현재 설정된 퍼미션을 보고 싶으면 ls -l 명령을 하면 됩니다.
[root@junilove /root]$ ls -l
total 11
drwxr-xr-x 1 root root 4096 Aug 7 04:02 test.html
-rw------- 1 root root 557 Jul 4 12:22 mbox
drwx------ 2 root root 4096 Apr 5 20:55 nsmail
drwx---r-x 4 root root 4096 Jun 11 21:34 public_html
명령의 결과 중 첫번째 줄을 요약하면 다음과 같습니다.
drwxr-xr-x |
1 |
root |
root |
4096 |
Aug |
7 |
04:02 |
test.html |
파일의 타입과 허가권 |
링크의 수 |
소유자 |
소유그룹 |
파일의 크기 |
마지막 수정일 |
마지막 수정 시간 |
파일이름 |
이중 퍼미션을 나타내는 첫 부분, drwxr-xr-x 에 대해서 상세히 살펴봅니다.
첫 문자는 파일의 타입을 나타냅니다. 'd' 는 디렉토리를 의미합니다. '-'는 표준파일입니다. 다음 9 문자는 파일의 퍼미션을 나타냅니다. 처음 3문자는 파일 소유자가 가지는 퍼미션을 나타내고, 두 번째 3문자는 소유자가 속해있는 그룹에 대한 퍼미션을, 마지막 3문자는 모든 유져(그룹)에 대한 퍼미션을 나타냅니다.
다음은 퍼미션을 표현하는 문자에 대한 설명입니다. 또한, 각각의 퍼미션 문자는 대응하는 값을 가지고 있습니다.
문자 |
의미 |
값 |
r |
읽기 |
4 |
w |
쓰기 (추가, 수정, 리네임 등) |
2 |
x |
실행 |
1 |
그리고 이 값들을 결합시켜서 퍼미션을 지정합니다.
퍼미션 |
값 |
의미 |
--- |
0 |
퍼미션 없음 |
--x |
1 |
실행 |
r-- |
4 |
읽기 전용 |
r-x |
5 |
읽기, 실행 |
rw- |
6 |
읽기, 쓰기 |
rwx |
7 |
읽기, 쓰기, 실행 |
아래에 3자리 숫자를 조합하여 만들 수 있는 중요한 퍼미션 몇가지를 적어보았습니다. 기본 보안과 관련된 것이니 꼭 알아둡시다.
퍼미션 |
값 |
의미 |
-rw------- |
600 |
소유자만 읽기 쓰기 퍼미션을 가집니다. 그 밖에 누구에게도 어떠한 접근권한도 주지 않습니다. |
-rw-r--r-- |
644 |
소유자는 읽기, 쓰기 퍼미션을 가집니다. 그룹과 그 외 유저는 오직 읽기 퍼미션만을 가집니다. |
-rw-rw-rw- |
666 |
*매우 위험* 모두에 대하여 읽기 쓰기 권한을 줍니다. 다른 유저가 당신의 파일을 고칠 수 있습니다. |
-rwx------ |
700 |
소유자만 읽기, 쓰기, 실행권한을 가집니다. 소유자가 프로그램을 실행할 때 사용됩니다. |
-rwx--x—x |
711 |
소유자는 읽기, 쓰기, 실행을 할수 있는 퍼미션입니다. 그룹과 그외는 오직 실행만 할 수 있고, 읽기와 쓰기는 되지 않습니다. |
-rwxr-xr-x |
755 |
소유자는 읽기, 쓰기, 실행권한을 가집니다. 그룹과 그 외 유저는 읽기, 실행 권한을 줍니다. (홈페이지 계정에 사용됩니다.) |
-rwxrwxrwx |
777 |
*매우 위험* 모두에게 읽기, 쓰기, 실행 퍼미션을 줍니다. 다른 유저가 파일을 수정할수 있고 이로 인해 문제가 생길수 있습니다. |
drwx------ |
700 |
소유자만이 디렉토리의 읽기, 쓰기가 됩니다. |
drwx--x—x |
711 |
이 퍼미션은 디렉토리를 다른 유저의 접근으로부터 보호합니다. 오직 소유자만이 이 디렉토리안의 내용물을 보거나 수정할수 있고 다른 유저나 그룹들은 그것을 읽지는 못합니다. |
drwxr-xr-x |
755 |
이 디렉토리는 소유자만이 바꿀수 있지만 모든 유저들이 그안의 내용을 볼 수 있습니다. (홈페이지 계정에 사용됩니다.) |
2.3. chmod 명령에 의한 퍼미션 변경
2.3.1 chmod 란?
chmod 은 파일, 디렉토리, 장치, 프로그램등의 퍼미션(접근권한)을 바꾸는 명령입니다. 접근권한은 소유자, 소유 그룹, 그외 유저(그룹)의 3가지 대상으로 지정할 수 있고 각각의 대상에게 자신의 파일에 대한 읽기(read), 쓰기(write), 실행(execute) 권한을 지정할 수 있습니다.
2.3.2 chmod 사용하기
먼저 간략한 chmod 의 사용법부터 설명하겠습니다. 파일의 퍼미션을 바꾸려면 로그인 후 다음과 같이 하면 됩니다.
[root@junilove /root]# chmod 퍼미션값 대상
여기서에 퍼미션값은 권한변경대상과 접근권한으로 이루어져 있으면 이걸 다시 3자리 숫자로 표현할 수 있습니다. 대상은 퍼미션을 바꾸려는 파일이나 디렉토리 장치를 말합니다.
예를 들어, test.html 파일을 소유자만 읽기, 쓰기가 가능하고, 소유 그룹과 그외 유저(other)들은 읽기만을 허용하려고 하면 아래와 같이 하면 됩니다.
[root@junilove /root]# chmod 644 test.html
반복되는 특정 디렉토리 안에 모든 파일의 퍼미션을 바꾸려면 명령에 -R 옵션을 사용합니다. 예를 들어, /home/public_html/ 디렉토리와 그안에 있는 모든 파일들의 퍼미션을 755로 할려면 아래와 같이 하면 됩니다.
[root@junilove /root]# chmod -R 755 /home/public_html/
'Programming > UNIX_linux' 카테고리의 다른 글
운영체제의 구조 ( 프로세스 ) (0) | 2009.08.14 |
---|---|
운영체제의 구조 ( 파일 시스템 ) (0) | 2009.08.14 |
UNIX 의 구성 (0) | 2009.08.14 |
UNIX 운영체제 (0) | 2009.08.14 |
VI 편집기 명령어 정리 (0) | 2009.08.13 |