$ ls [옵션] <대상 파일 또는 디렉토리>
현재 디렉토리 또는 대상 디렉토리의 파일과 디렉토리의 목록을 출력하는 명령
-a hidden파일 포함해 모든 파일 출력
-d 디렉토리만 출력
-h 읽기 편한 형태로 출력
-i 파일명 왼쪽에 inode 번호를 함께 출력
-l 디렉토리, 파일에 대한 자세한 정보를 출력
-r 정렬 순서를 역순으로
-t 최근 수정된 파일부터 출력
-F 파일의 유형에 따라 구분기호를 함께 출력 (*:실행파일, @:심볼릭 링크, |:FIFO, =:소켓 /:디렉토리)
-S 크기가 큰 파일부터 출력
-R 지정된 디렉토리와 하위 디렉토리까지 출력
$ ls -l 에 대한 화면 설명
① 파일유형
② 파일 소유자 퍼미션
③ 파일 소유 그룹 퍼미션
④ 나머지 사용자 퍼미션
⑤ 하드링크 수
⑥ 파일 소유자
⑦ 파일 소유 그룹
⑧ 파일 크기
⑨ 파일 생성 및 변경 시간
⑨ 파일 이름
$ cp(copy) [옵션] <복사원본> <복사대상>
파일이나 디렉토리를 복사하는 명령
-a 복사 원본의 속성과 링크정보를 유지하며 복사
-b 복사 대상이 존재하는 경우 '~'문자를 갖는 백업 파일 생성
-d 복사 원본이 심볼릭 파일일 경우 그 심볼릭 파일 자체를 심볼릭 정보와 함께 복사
-f 복사 대상이 존재하는 경우 강제로 지우고 복사
-i 복사 대상이 존재하는 경우 질문
-p 복사 원본의 속성을 그대로 유지하며 복사
-r 복사 원본이 파일인경우 해당 파일 복사, 디렉토리인 경우 포함된 하위 디렉토리와 파일을 함께 복사
-R 복사 원본이 디렉토리면 포함된 하위 디렉토리와 파일을 함께 복사
-u 복사 대상이 존재하는 경우 복사 원본의 변경시간이 최근인 경우만 복사
$ ln [옵션] <원본 파일명> <링크 파일명>
링크를 생성
무옵션 하드링크를 생성
-s 심볼릭 링크를 생성
$ useradd <계정이름> [옵션]
계정생성
-u UID 사용자 ID 지정
-g GID 사용자의 초기 그룹 ID 지정
-G GID 사용를 지정한 그룹의 구성원으로 추가
-d 디렉토리명 사용자의 홈 디렉토리를 직접 지정
-s 쉘이름 사용할 쉘을 지정
-c 코멘트 사용자 계정에 대한 설명
-m 홈 디렉토리를 생성
Ex> $ sudo useradd -G mygroup -m -s /bin/bash seconduser
-G mygroup : 새 사용자를 mygroup에 추가
-m : /home/seconduser 라는 홈 디렉토리가 만들어진다
-s /bin/bash : bash 쉘을 사용
seconduser : 새 계정 이름
$ deluser <계정이름> [옵션]
사용자 계정을 삭제한다
--remove-home 메일스풀과 사용자의 처음디렉토리를 제거
--remove-all-files 사용자의 모든 파일을 제거
--backup 삭제하기 전에 백업
--backup-to <DIR> 백업할 대상 디렉토리 /기본값 현재 디렉토리./
--system 시스템사용자만 제거
--group <그룹> 시스템에서 그룹 삭제.
--system 시스템그룹만 삭제
--only-if-empty 일원이 아닌것만 제거
deluser <사용자> <그룹> 그룹의 사용자 제거
$ usermod [옵션] <계정이름>
사용자 계정정보를 수정한다.
-u UID 새로운 UID 를 지정합니다. -o 옵션과 같이 사용하면 강제설정이 가능합니다.(root로 가능)
-g GID 새로운 GID 를 지정합니다.
-G group 새로운 보조그룹을 지정합니다.
-d 디렉토리명 새로운 홈디렉토리를 지정합니다. -m 옵션과 같이 사용해서 새로 생성도 가능합니다.
-s 쉘 새로운 쉘 을 지정합니다.
-c 코멘트 새로운 주석을 지정합니다.
-l ID 로그인 ID를 바꾸는 옵션 입니다. 새로운 계정명으로 변경합니다.
$passwd [옵션] <계정이름>
해당 계정에 대한 비밀번호를 변경
$ groupadd [옵션] <그룹명>
그룹을 생성한다.
-g GID 그룹에 gid를 지정 합니다.
-r 시스템에 사용되는 GID를 부여 합니다. 500번 이하의 가장 빠른 GID를 생성
# groupmod [옵션] <그룹명>
그룹의 정보를 수정한다.
-g GID gid 를 변경합니다.
-n 새그룹명 그룹명을 변경할때 사용합니다
$groupdel <그룹명>
해당 그룹을 삭제한다.
$ chown [옵션]... <소유자>[:<그룹>] <파일 혹은 디렉토리>
EX>
chown root /u /u의 소유자를 "root"로 바꿈
chown root:staff /u 똑같으나, 그룹은 "staff"로 바꿈
chown -hR root /u /u와 하위 파일의 소유자를 "root"로 바꿈
$ chgrp [옵션] <그룹> <디렉토리 혹은 파일명>
EX>
chgrp staff /u /u의 그룹을 "staff"로 변경
chgrp -hR staff /u /u와 하위 파일들의 그룹을 "staff"로 변경
$ chmod
해당 디렉토리나 파일의 퍼미션을 변경
심볼릭 모드
$ chmod [a, u, g, o] [+ / -] [r, w, x] [해당 파일 또는 디렉토리]
a : 모든 사용자
u : 소유자
g : 소유 그룹
o : 나머지 사용자
+ : 퍼미션 추가
- : 퍼미션 삭제
r : 읽기
w : 쓰기
x : 실행
EX> file1 이란 이름의 파일에서 나머지 사용자의 읽기 퍼미션을제거
$ chmod o-r file1
8진수 모드
$ chmod [8진수] [해당 파일 또는 디렉토리]
8진수 모드에서 4 = 읽기, 2 = 쓰기, 1 = 실행을 의미 하며 퍼미션은 허용된 각 숫자의 총합으로 표시.
읽기와 실행이 허용되었다면 5, 모두 허용되었다면 7 등의 형식.
<소유자> <소유그룹> <나머지사용자> 순서대로 한자리씩 총 3자리의 숫자로 표시.
EX> file1에 소유자에겐 모든권한, 소유 그룹엔 읽기와 실행, 나머지 사용자에게는 읽기만은 허가
$ chmod 754 file1
7 : 소유자에게 모든 권한
5 : 소유 그룹에게 읽기와 실행
4 : 나머지 사용자에게는 읽기만
setuid, setgid
setuid는 심볼릭 모드로 's'로 표현되고 8진수 모드로는 4000 으로 표현
setuid 퍼미션이 설정되어 있는 실행 파일은 실행되는 동안에는 그 파일의 소유자 권한을 가지게 된다.
setgids도 심볼릭 모드로 's' 하지만 8진수 모드는 2000 이다.
setgid 퍼미션이 포함되어 있는 실행 파일은 실행되는 동안은 그 파일의 소유 그룹의 권한을 가지는 것 빼고는 setuid와 같다.
EX>
setuid :
-rwsr-xr-x 1 root root 14112 1월 16 2001 /bin/su
setgid :
-rwxr-sr-x 1 root root 14112 2월 5 2001 /usr/bin/man
file1 이라는 실행 파일에 setuid 퍼미션을 설정할 때
$ chmod 4755 file1
file1 이라는 실행 파일에 setgid 퍼미션을 설정할 때
$ chmod 2755 file1
sticky bit
나머지 사용자의 쓰기 권한에 대한 특별한 퍼미션
/tmp 디렉토리와 /var/tmp 디렉토리에의 퍼미션이 stickbit가 포함되어 있다.
sticky bit는 8진수 모드로는 1000으로 설정되고 심볼릭 모드로는 't' 또는 'T' 로 설정된다.
이 sticky bit가 포함되어 있는 디렉토리에 나머지 사용자가 쓰기 권한이 있을 경우 나머지 사용자들은 디렉토리 안에 파일을 만들 수는 있어도 디렉토리 삭제는 할 수 없다.
sticky bit를 적용할려면 당연히 쓰기 권한도 주어야 되다.
EX>
sticky bit가 포함되어 있는 디렉토리의 ls -al 결과
drwxrwxrwt 14 root root 4096 Aug 30 02:05 /tmp
dir1 이라는 디렉토리에 sticky bit를 설정할 때
$ chmod 1707 dir1 또는 $ chmod 1777 dir1
$ mv [옵션] <이동 원본> <이동 대상>
파일이나 디렉토리를 이동
$ rm [옵션] <삭제 대상>
파일을 삭제
$ pwd(present working directory)
현재 위치하고 있는 작업 디렉토리 출력하는 명령
$ mkdir
디렉토리 생성
$ mrdir
디렉토리 삭제
$ gpasswd
그룹에 유저 추가 삭제 등등
'OS > Linux' 카테고리의 다른 글
[linux] 우분투에 JDK + TOMCAT 설치 간단 정리 (0) | 2013.04.23 |
---|---|
[linux] cron을 이용한 예약 작업 (crontab) (0) | 2013.04.19 |
[linux] RunLevel 과 리눅스 부팅시 스크립트 자동실행 (0) | 2013.04.16 |
[Linux] BitNami Stack을 이용한 APM 환경 설정 + phpmyadmin (0) | 2013.04.15 |
[Linux] VMplayer 에서 Ubuntu 설치 후 SSH 접속하기 (0) | 2013.04.11 |