Information Security
05-1 기본 명령어 본문
쉘 메타문자(Shell metacharacter)
-리눅스 쉘은 다양한 특수문자 이용하여 명령어 처리
-반복되는 작업, 패턴 처리에 유용하게 사용
와일드 카드 문자
* : 모든 문자와 일치
? : 하나의 문자와 일치
테스트 디렉터리 생성 후
/bin 디렉터리의 c로 시작하는 모든 파일을 test1 디렉터리로 복사
test1 디렉터리로 이동
c로 시작하는 두 글자 파일(cp)을 삭제
c로 시작하는 세 글자 파일(cat, cut)을 삭제
다중 명령 문자
; : 명령어의 끝 나타냄
동시에 여러 개의 명령어를 순차적으로 무조건 실행
기본 명령어
touch
#touch [option] [file]
-기존 파일의 시간에 대한 정보 변경
-파일이 존재하지 않을 경우 0바이트트 크기의 빈 파일을 생성할 때 사용
(명령어 date의 출력값을 기본값으로 파일 생성)
-t : 마지막 수정 시간(mtime) 변경
파일에 저장되어 있는 시간 정보
-접근 시간(access time) : 파일 열거나 접근한 시간
#ls -lu [file]
-수정 시간(modify time) : 파일의 내용이 변경된 시간
#ls -l [file]
-변경 시간(change time) : 파일의 정보(속성, 허가권)가 변경된 시간
#ls -lc [file]
test1의 시간 정보 확인
-t 옵션을 사용하여 기존 test1의 시간을 변경
0바이트 크기의 빈 파일 test2 생성
date
-시스템 시간 확인 및 수정
-s : 다양한 형태로 시간 변경
-s 옵션은 root 계정(관리자)만 사용 가능
현재 시스템 시간 확인
날짜와 시간 변경
시간 변경
날짜 변경(시간 초기화)
서식 문자 활용
%F : %Y-%m-%d와 동일
%r : 시간 (오전/오후 hh시 mm분 ss초)
%A : 완전한 요일 이름 표시
%C : 세기 (년을 100으로 나눈 몫)
cal
-달력 출력
... 생략
2017년 달력 출력
2017년 10월 달력 출력
file
-파일 형식 확인
파일 /bin/ls의 형식 - 실행 파일
파일 /etc/passwd의 형식 - 텍스트 파일
파일 /root의 형식 - directory
which
-명령어(실행 파일)의 절대 경로 및 alias 확인
bin(binary)과 sbin(system binary) 디렉터리에 명령어가 위치한다.
시스템 종료 명령어
#shutdown [option] [시간정보]
option
-h(halt) : 시스템 종료
-r(reboot) : 시스템 재부팅
-c(cancel) : 예약 취소
시간
+N : N분 후 명령어 실행 (예약)
now : 지금 즉시
ex) #shutdown -h now
-지금 즉시 시스템 종료
ex) #shutdown +5
-5분 후 시스템 종료
시스템 재부팅 명령어 : shutdown -r now, reboot, init 6
시스템 종료 명령어 : shutdown -h now, halt, init 0, poweroff
cat(conCATenate)
-파일의 내용 출력
option
-n(number) : 공백 라인 포함 모든 라인 행 번호 붙여서 출력
-b(blank) : 공백 라인 제외 내용 입력되어 있는 라인만 행 번호 붙여서 출력
위와 같이 cat 명령어를 거꾸로 쓴 tac 명령어를 실행하면 내용이 역순으로 출력된다.
nl(Number Line)
-파일에 행 번호 붙여 출력
more
-화면 단위로 파일 내용 출력
[space bar] : 다음 화면 출력
[enter] : 한 줄씩 스크롤
[b] : 이전 화면
[f] : 다음 화면
/[pattern] : 문자열 검색
[q] : 종료
head
-파일 내용 중 첫 10줄만 출력
/etc/passwd 파일의 처음 10줄 출력
/etc/passwd 파일의 처음 1줄 출력
tail
-파일 내용의 마지막 10줄 출력
/etc/passwd 파일의 마지막 10줄 출력
/etc/passwd 파일의 마지막 5줄 출력
-f option
/var/log/secure 파일은 접속 정보가 기록되어 있는 로그 파일이다.
'
같은 서버의 다른 세션에서 로그아웃을 하면 /var/log/secure 파일에 정보가 실시간으로 기록 된다.
tail에 -f 옵션을 사용하여 실시간으로 파일의 내용을 확인할 수 있다.
sort
-파일 내용 알파벳 순서대로 정렬
option
-n : 숫자 기준 정렬
-r : 역순 정렬
-u : 중복 행 제거
-o : 출력 결과 파일로 저장
-sort 명령어를 테스트해 보기 전에 테스트할 때 사용할 파일을 Server-A로 전송하는 방법을 알아보겠습니다.
★파일 전송하기
파일 전송 패키지 설치
설치 완료
☆HostOS(Windows7)에 존재하는 파일을 GuestOS(Server-A)로 전송하는 방법(1)
파일을 전송받을 디렉터리를 생성한 후 그 디렉터리로 이동했다.
Windows7에 있는 파일을 선택한 후 Xshell 화면으로 Drag & Drop 한다.
파일 전송 완료
현재 위치한 경로에 파일이 전송된 것을 확인할 수 있다.
☆방법(2)
#rz 명령어를 실행하면 위와 같이 탐색기가 열린다.
탐색기에서 전송할 파일을 선택하면 된다.
☆GuestOS(Server-A)에 존재하는 파일을 HostOS(Windows7)로 전송하는 방법
#sz [파일명] 명령어를 실행하면 위와 같이 탐색기가 열린다.
탐색기에서 파일을 저장할 경로를 선택한다.
전송 완료
Server-A의 파일이 Windows7로 전송된 것을 확인
파일 내용
-이제 sort 명령어를 테스트 해보겠습니다.
sort_test1.txt의 내용 보기
sort_test1.txt를 -n 옵션을 사용하여 숫자를 기준으로 정렬
sort_test2.txt의 내용보기
sort_test2.txt를 -u 옵션을 사용하여 중복행 제거 후 알파벳 순서대로 정렬
sort_test1.txt를 숫자를 기준으로 역순으로 정렬한 결과를 out_test 파일로 저장한다.
out_test의 내용을 확인
wc(Word Count)
-단어, 라인, 문자 바이트 계산
option
-l : 라인 수 출력
-m : 문자 바이트 출력
-w : 단어 수 출력
출력 필드 의미
[Line] [Word] [Byte] [File]
2줄 4단어 38바이트 파일명
/etc/services 파일의 라인 수는 10774이다.
'Linux' 카테고리의 다른 글
06-1 Xshell의 기능 (0) | 2017.09.16 |
---|---|
05-2 기본 명령어(cut, tty) (0) | 2017.09.14 |
04 리눅스 경로 표기법, 기본 명령어(mk/rmdir, cp, mv, rm) (0) | 2017.09.13 |
03-3 기본 명령어(pwd, ls, cd) (0) | 2017.09.12 |
03-2 리눅스 구조 (0) | 2017.09.12 |