기본 커널 Shell 명령어 :
리눅스나 윈도우 서버 OS를 깔기 전 기본 상태에서의 설정 및 상태확인등을 위한
기본 Shell 명령어 모음
ls: 파일의 리스트를 보여준다. 사용법은 ls [-ailFRC] [파일 또는 디렉토리]
자주쓰이는 옵션 :
-l: 파일에 대한 긴 정보(파일 허용권,소유자,그룹,크기,날짜)를 보여준다.
-a: .으로 시작하는 파일은 도스의 숨겨진 파일과 같아서 이 옵션으로 봐야 볼 수 있다.
-i: l-node를 보여준다.
-t: 가장 최근에 변경된 파일을 최근의 것부터 보여준다.
-u: 변경되지 않았더라도 최근에 엑세스 했던 파일들을 보여준다.
-F: 파일의 특성을 보여준다. 이름 뒤에 디렉토리면 “/”를, 실행파일이면 “*”을, 링크된 파일이면 “@”을 붙여준다.
-R: 하위 디렉토리의 파일도 모두 보여준다.
예 : ls –al, ls –alF
cp(copy): 파일을 복사하는 명령어, cp file1 file2 또는 cp file(s) directory
[-r] option을 주면 directory도 copy가 가능하다.
mv(move): 파일이나 디렉토리의 위치를 바꾸거나 이름을 바꾼다.
사용법 : 1.mv [option] oldname newname
2.mv [option] files(s) directory
1의 경우 파일의 oldname을 newname으로 바꾼다.
2의 경우 files(s)를 directory로 옮긴다.
옵션은
–f : 옮겨질 디렉토리에 존재하는 파일이 있으면 덮어쓴다.
-i : 옮겨질 디렉토리에 존재하는 파일이 있으면 확인한다.
-v : 옮기기 전에 파일명을 출력한다.
rm (remove) : 파일을 제거한다. 만약 리눅스라면 한번 지운 파일은 다시 복구할 수 없다.
사용법은 rm [option] file(s) 사용할 수 있는 option은
-f : 쓸 수 없는 파일이라도 물어보지 않고 강제로 지운다.
-i : 각 파일에 대하여 지울 것인지 물어 온다.
-r : 서브 디렉토리를 포함한 모든 내용을 재귀적으로 지운다.
-v : 지워지는 파일명을 출력한다.
cd(change directory) : 현재 작업 디렉토리를 변경한다.
사용법은 cd [directory name] , 디렉토리 이름이 생략되었을 경우에는 login한 홈 디렉토리($HOME,~로 표시한다.)로 변경된다. [.]은 현재 디렉토리, [..]은 상위 디렉토리, [/]는 root 디렉토리를 나타낸다.
mkdir (make directory) : 디렉토리를 만든다.
사용법은 mkdir dir(s)
rmdir(remove directory) : 디렉토리를 지운다. 만약 디렉토리가 비어있지 않으면 지울 수 없다.
pwd(print working directory) : 현재 작업 디렉토리를 출력한다.
chmod(change mode) : 파일이나 디렉토리에 대한 접근 허용 범위를 변경한다.
리눅스는 사용자번호(UID)와 그룹번호(GID)를 가지고 있으며 이 명령으로 다른 사람들에게
자기 파일에 대한 접근 권한을 줄 수 있다.
사용법은 chmod [options] 8진수mode file(s) , chmod [options] symbolic-mode file(s)
우선 심볼모드를 먼저 설명 하자면
접근권한 : r(읽기 허용) , w(쓰기 허용), x(실행허용)으로 나뉘며 허용대상은 u(사용자/소유자), g(그룹), o(기타/ 사용자와 그룹을 제외한 사람), a(전체)로 나뉘며 u,g,o,a를 각각 r,w,x와 같이 +,-,=로 조합하여 사용한다. 예를 들어 보자면 chmod o-r,o-w filename 또는 chmod o-rw filename 인데
위의 예시는 파일을 기타 사용자가 읽지도 쓰지도 못하게 만드는 것이다.
또다른 예로는 chmod a+r*.c 는 .c로 끝나는 모든 파일을 전체 사용자가 읽을 수 있게 만든다
chmod o=r run.cmd 는 run.cmd라는 파일을 기타 사용자가 읽을 수만 있게 만든다. 이것은 o, 즉
다른 모든 사람에게 주어진 권리를 모두 없애고 오직 r만을 할당한다. 8진수 mode를 사용한
경우는 3개의 숫자로 구성되며 각각 소유자,그룹,기타 사용자의 접근 권한을 나타낸다.
접근권한 : 4(읽기 허용), 2(쓰기 허용), 1(실행 허용)
허용대상 : 셋째자리(소유자), 둘째자리(그룹), 첫째자리(기타 사용자)로 나뉜다.
예를 들어 chmod 755 aa.run 라고 쓰면 aa.run이라는 파일에 대해 소유자는 읽기,쓰기,실행이 가능하고(7=4+2+1) 그룹과 기타 사용자는 읽기와 실행만 가능하게 설정된다.(5=4+1)
디렉토리에도 파일과 똑 같은 접근 권한이 있다. 디렉토리의 접근 권한은 좀 특이하게 해석된다.
디렉토리란 파일들의 목록이 기록된 또 하나의 파일이라고 볼 수 있다. 그러므로 디렉토리에
대한 읽기권한이란 디렉토리의 내용 즉, 파일 리스트를 볼 수 있는 권한을 말한다. 또 쓰기란
파일 리스트를 추가하거나 지우는 것이므로, 그 디렉토리에 대한 검색 역시 불가능하다. 그러므로 어떤 파일에 대해 쓰기 권한이 없다고 해도 그 파일이 디렉토리에 대한 쓰기 권한을 가지고
있다면 지울수가 있으니 유의해야 한다.
옵션 : -R : 서브 디렉토리의 파일까지 재귀적으로 실행된다.
-f : 자기 소유가 아닌 파일에 까지 변경을 시도한다. 에러 메시지를 보여주진 않는다.
-v : 변경되는 모드에 대해 보여준다.
chown(change owner) : 파일의 소유권자를 변경할 때 사용한다. Root는 어느 파일이든지 변경이
가능하지만, 그외의 사용자는 자신 소유의 파일에 대해서만 소유자를 변경할 수 있다.
사용법 : chown newowner 파일 또는 디렉토리
Newowner는 User Name 또는 User ID 모두 가능하다.
chgrp(change group) : 이것은 파일 소유권자의 그룹을 바꾸는 명려엉인데, chown의 기능과
유사하다.
file : 파일의 종류를 알아본다.
사용법 : file file(s) 파일의 종류를 분류한다.
find : 파일을 찾아서 특별한 기능을 실행한다.
사용법 : find path test action : path 아래의 모든 파일을 찾는다. test에는 다음의 탐색식을
줄 수 있다.
-name 파일이름 : 파일 이름과 일치하는 파일만 찾는다. 파일 이름에 메타문자를 쓰기 위해서는
파일 이름을 “”로 인용하거나 *을 스케이프시켜 써야한다.
-perm 파일모드 : 모드가 같은 파일만을 찾는다.
-type 파일종류 : 파일 종류가 같은 것만을 고른다. 파일 종류는 다음과 같이
b블럭(버퍼를 사용하는),c문자(버퍼를 사용하지 않는), d디렉토리,f일반 파일,I심볼릭 링크된 파일,
p파이프,s소켓
cmp(compare) : 두 파일이 어디가 다른지를 비교한다. cmp file1 [file2]