1. 기본 명령어
지난 주차에는 디렉토리와 파일을 이동하고 내용을 확인하는 방법에 대해 공부했다.
1) 생성과 삭제
다음으로는 디렉토리와 파일을 생성하고 삭제하는 방법에 대해 알아보았다.
- mkdir
디렉토리를 생성하는 명령어이다.
생성한 디렉토리보다도 하위 디렉토리를 만들고 싶을 때는 /를 이용하면 된다.
하지만 상위 디렉토리부터 하위 디렉토리까지 하나씩 만드는 것이 번거로울 때는
-p 옵션을 추가하면 내가 입력한 최상위 디렉토리부터 최하위 디렉토리까지 한번에 생성된다.
- rmdir
디렉토리를 삭제하는 명령어이다. 하지만 디렉토리 안에 또 다른 디렉토리나 파일이 있다면 삭제할 수 없다.
- rm
파일이나 디렉토리를 삭제하는 명령어이다. 디렉토리를 삭제하는 경우에는 -r 옵션을 추가해야 한다.
(파일에는 -r을 붙이던 말던 상관 없어서 상시 붙이고 사용하는 것도 나쁘지 않을 것 같다.)
때문에 하위 디렉토리가 많은 디렉토리를 삭제하는 경우에는 이렇게 번거롭다는 단점이 있다.
그래서 추가하는 옵션이 -f이다.
귀찮게 물어보지 말고 강제로 전부 삭제하라는 뜻이다.
하지만 'rm -rf *'은 현재 디렉토리 내의 모든 것을 삭제하기 때문에
루트 디렉토리에서 쓸 경우 대참사가 일어날 수 있다.
때문에 현재 상황에 맞는 옵션을 추가해서 사용하는 것이 안전하다.
1. 현재 디렉토리 내의 dir어쩌구를 모두 삭제하라
2. /root/test의 모든 것들을 삭제하라
이런 식으로 상황에 맞는 명령을 내리면 루트 디렉토리 내를 텅 비워버리는 참사를 막을 수 있을 것이다.
- touch
파일과 디렉토리의 날짜 및 시간 정보를 변경하거나 비어있는 파일을 생성할때 사용하는 명령어이다.
ls -l을 통해서 알 수 있듯 파일을 생성한 날짜와 시각이 표시된다.
이것은 -t 옵션으로 변경할 수 있다.
반대로 기존 파일에 touch를 사용하면 현재 시간으로 변경할 수 있다.
추가적으로 괄호를 사용하면 많은 파일을 한거번에 만드는 데에 용이하다.
- cp
파일 및 디렉토리를 같은 디렉토리 또는 다른 디렉토리로 복사하는 명령어이다.
-p 원본 파일 속성 정보를 그대로 유지하여 복사한다.
-r 디렉토리를 복사할때 사용한다. 복사 위치에 해당 디렉토리가 없다면, 디렉토리를 자체가 복사된다. 맊약, 복사 위치에 해당 디렉토리가 있다면, 디렉토리 앆으로 디렉토리가 복사된다.
dir1 디렉토리가 dir2 디렉토리 안에 하나 더 생성됐다.
현재 존재하지 않는 디렉토리를 입력하면 새로 생성된 디렉토리 안에 복제한다.
- mv
파일 및 디렉토리의 이름을 변경하거나 다른 디렉토리로 이동시키는 명령어이다.
file1 -> file11
dir1 -> dir11
만약 이미 있는 파일을 지정하면 이름이 변경되는 것이 아닌 이동을 하게 된다.
- cat
ASCII text 로 구성된 여러 개의 파일들을 나열하여 파일 내용을 출력할때 사용하는 명령어이다.
-n 옵션을 사용하면 줄번호도 같이 생성된다. - more
출력 내용을 한 페이지씩 출력한다. - head
첫 번째 줄부터 n 번째 줄까지 출력한다. - tail
마지막 줄부터 위로 n 번째 줄까지 출력한다.
- ;
명령어를 둘 다 실행한다
- file
파일 유형을 확인할 수 있다.
cat으로 내용을 볼 수 있을지 없을지 확인이 가능하다.
- grep
출력 결과 내용 또는 파일 및 디렉토리 안에 있는 숫자, 문자, 글자, 문자열, 기호를 검색하는 명령어이다.
-w 해당 문자맊 검색
-v 해당 문자를 제외한 나머지 검색
-i 대소문자 구분하지 않고 검색
-E 여러개의 문자 검색
- egrep
출력 결과 내용 또는 파일 및 디렉토리 안에 있는 숫자, 문자, 글자, 문자열, 기호 여러 개를 검색하는 명령어이다.
(사실상 grep -E와 역할이 거의 같다)
/etc/services의 내용 중에서
telnet이나 ssh나 http로 시작하는 열들을 찾아줘
라는 뜻
추가적으로 검색기능이 있는 몇가지 명령어를 더 알아봤다.
- which
$PATH 환경변수에 등록된 디렉토리 내에서만 파일을 검색하는 명령어이다.
(또한 alias 명령어가 있는 경우에는 alias 명령어 정보도 같이 출력한다.) - find
경로를 지정하여 파일과 디렉토리를 검색하는 명령어이다.
기타 관리 명령어
- wc
표준 출력에 대한 라인, 단어, 문자 개수를 출력하는 명령어이다. - su, su-
다른 계정으로 전환할때 사용하는 명령어이다. - id, groups
계정 ID 정보 확인, 계정 그룹 정보 확인 - last, lastlog, lastb
로그인 히스토리, 가장최근에 로그인한 사용자 정보, 로그인 실패 정보를 확인할 수 있다. - who, w
현재 시스템에 접속된 계정, ip주소, 실행한 프로세스 정보를 확인하는 명령어이다. - cmp, diff
두 개의 파일을 비교하여 다른 내용을 확인할 수 있는 명령어이다. - sort
출력하는 내용을 정렬할때 사용하는 명령어이다. 정렬의 기준은 오름차순이 기본값이다.