기본적인 리눅스 명령어 (책)
cd : 디렉토리 변경(change directory)
cd .. : 상위 디렉토리로 이동
cd : 홈 디렉토리로 이동
pwd : 현재 디렉토리 위치
ls(list segments) : 디렉토리 및 파일 정보 화면에 출력
-l : 긴 리스트 형으로 화면에 출력
history : 사용자가 입력한 명령어들의 기록을 보여줌
alias : 사용자 정의 명령어
ex) alias ex1 = "clear" ex1 입력하면 clear 실행됨
alias 입력 시 설정된 내용 조회 가능
unalias ex1 로 해제가능
rm : 파일이나 디렉토리 삭제
-r 디렉터리 삭제, 하위 내용을 먼저 삭제
-f / --force / 강제로 파일이나 디렉토리를 삭제하고, 삭제할 대상이 없을 경우 메시지를 출력하지 않음
-i 매번 삭제할 때마다 사용자에게 질문함
-v 삭제하는 내용 보여줌
mv : 파일 및 디렉토리 이동, 이름 변경
-b 백업 파일을 생성
-f 사용자에 묻지 않고 파일 덮어씀
-i 덮어쓸 경우 사용자에게 물어봄
-n 파일이 존재하면 덮어쓰지 않음
-S 지정한 접미사로 백업생성
-t 전체 원본파일을 대상 디렉토리로 이동
-u 파일이 업데이트된 경우에만 이동함
-v 진행상태 정보를 출력
| (pipe) : 어떤 명령어의 실행 결과를 다른 명령어의 입력으로 전달하는 것
ex) ls -l | grep "tom"
crontab : 시스템에서 주기적으로 실행하는 명령어 설정
-l 현재 로그인된 계정에 잡혀있는 작업 스케쥴 확인
-e 현재 로그인 중인 계정에 작업을 등록
(0 0 * * 0 /bin/myjob.sh ---> 매월 일요일 0시 0분에 /bin/myjob.sh 실행
분 시 일 월 요일)
-r 현재 crontab에 등록된 작업을 삭제
gzip : 파일압축
-n 1~9, 1이 가장 빠르고 압축률은 가장 낮음
-c 압축결과를 출력, 원본파일은 그대로 둠
-d 압축해제
-f 강제압축
-l 압축파일의 정보 출력
-r 디렉토리에 포함된 모든 파일을 압축
-t 압축파일 테스트
-v 압축 혹은 해제 시 정보출력
tar : 파일을 압출하거나 해제하는 명령어
-z gzip으로 압축하거나 해제
-x 압축을 해제함
-h 심볼릭 링크는 묶지 않고 심볼릭 링크가 가리키는 파일을 묶음
-c 새 저장파일을 만듦
-f 파일이름 지정
-m 파일의 변경 시간정보를 유지하지 않음
-P 모든 퍼미션 정보를 유지
-p 파일 이름의 맨 앞, 문자를 버리지 않음
-s 저장 파일 목록과 똑같은 순서로 압축을 해제
-v 처리 중인 파일을 자세하게 보여줌
-Z Compress 압축하거나 해제
which : 리눅스에서 사용하는 명령어의 경로를 찾아서 화면에 출력 (whereis는 관련파일까지 제공)
mkdir : 디렉토리 생성
-m 디렉토리 권한 설정 (기본 755 rxwr-xr-x)
-p 상위 경로도 함께 지정
-v 디렉토리 생성 후에 생성된 디렉토리에 대한 메시지를 출력함
cp : 파일 혹은 디렉토리를 복사
-f 덮어쓰기를 해서 복사
-r 하위 디렉토리 전부를 모두 복사
ex) cp test1 test2 ---> test1파일을 test2파일로 복사
touch : 파일을 생성하거나 파일의 시간정보 변경
ex) touch test1.txt ---> 파일이없으면 생성
touch -t 1801220333 ---> 18년 1월 22일 3시 33분으러 시간정보 변경
touch -r test1 test2 --> test1파일과 test2파일의 시간정보를 같게 변경
file : 파일의 종류확인
-b 파일의 유형만 출력
-f 파일목록에서 지정한 파일들에 대해서만 명령을 실행
-i MIME 타입형태로 출력
-m 매직 파일을 지정
-L 심볼릭 링크된 파일을 추적
-v 버전 정보 출력
-z 압축된 파일 확인
cat : 파일의 내용을 확인할 수 있는 명령어
head : 파일을 읽어 첫줄부터 10번째 줄까지 화면에 출력
tail: 파일을 끝부터 읽어 10번째 줄까지 화면에 출력
grep : 특정파일 내에 있는 문자열을 검색하는 역할을하는 명령어
-c 검색 문자열이 속한 행 수를 출력
-H 파일명과 함께 출력
-i 대소문자를 구분하지 않음
-n 검색한 문자가 속하는 행번호와 함께 출력
-r 현재경로에서 하위경로까지 검색
-v 검색하는 문자가 없는 행을 출력
-w 패턴 표현식을 하나의 단어로 검색
grep 정규식
. 한글자
* 길이와 관계없는 문자열
^ 행의 첫 시작
$ 행의 마지막 위치
[] 한 문자길이 패턴
[^] 입력된 문자들의 여집합
wc : 특정 파일의 바이트 수나 검색하고자 하는 단어 수 및 행수를 알고자 할때 사용
-c 바이트 크기 출력
-m 문자 수를 출력
-l 행수를 출력
-L 가장 긴 문자만을 출력
sort : 파일을 내용을 정렬하는 명령어
-k 지정한 필드를 기준으로 정렬
-r 내림차순 정렬
-f 모든 문자를 소문자로 식별
-u 필드 내에서 중복된 값을 제거하여 유일한 값만 출력
cut : 텍스트 파일에서 특정 부분을 지정하여 출력할 수가 있는 명령어
-b 특정 자리만 출력함
-d 인자 문자열을 기준으로 해서 출력
-f d옵션과 함께 사용되어서 구분된 필드를 출력
split : 파일을 나누고 싶을 때 사용
-b 바이트 단위로 파일을 나눔
-l 지정한 라인 수 만큼 파일을 나눔
ex) split -b 1500k 파일명
diff : 두 개의 파일간의 차이점을 알 수 있음
shutdown : 리눅스 정지
-r 재부팅
-h shutdown 후 시스템 종료
-c 진행중인 shutdown을 취소
-k 경고메시지를 출력하고 실제 shutdown은 수행하지 않음
-f fsck를 실행하지 않고 재부팅
-t sec 지정한 시간에 재기동
-v 상세 정보를 출력
reboot : 리눅스 다시 시작
-n 연산은 중지하고 다시시작
-f 강제로 다시시작
-p 연산을 중지 시에 전원을 종료
-q 오류가 없으면 다시시작하지 않음
-v 상세정보 출력
netstat : 시스템과 연결된 모든 네트워크 연결을 확인
-a 모든 소켓 정보를 확인
-n 도메인 주소를 읽지 않고 숫자로 출력
-p PID와 사용 중인 프로그램명을 출력
-g 멀티캐스트 그룹 정보
ping : 네트워크 상태를 정보를 점검하기 위한 명령어(ICMP프로토콜을 사용하여 ICMP echo Request를 전송하고 ICMP echo reply가 되돌아오는 지 확인)
ping 210.220.163.82
PING 210.220.163.82 (210.220.163.82): 56 data bytes
64 bytes from 210.220.163.82: icmp_seq=0 ttl=248 time=9.240 ms
64 bytes from 210.220.163.82: icmp_seq=1 ttl=248 time=9.830 ms
nslookup : 도메인명에 대한 IP주소를 확인하기 위해 DNS에 질의를 실행함
$ nslookup www.naver.com
Server: 210.220.163.82
Address: 210.220.163.82#53
Non-authoritative answer:
www.naver.com canonical name = www.naver.com.nheos.com.
Name: www.naver.com.nheos.com
Address: 125.209.222.142
Name: www.naver.com.nheos.com
Address: 125.209.222.141
halt : 리눅스 종료
-d wtmp에 로그를 기록하지 않음
-f 강제로 종료
-n 종료할 때 동기화를 하지 않음
-w 실제로 종료하지 않고 /var/log/wtmp에 로그를 기록