리눅스 기초 명령어
명령어의 형식
# command [-options] [arguments]
options : 명령에 특정한 기능을 사용
argument : 명령이 실행될 대상
Ex)
#comand
#comand -options
#comand argument
#comand -options argument
* clear
- 터미널의 텍스트 화면을 지운다.
[ 사용법 ]
#clear
* pwd ( Print Working Directory )
- 현재 작업중인 디렉터리 위치정보를
절대 경로로 표시
[ 사용법 ]
#pwd
* cd ( Change Directory )
- 디렉터리를 이동한다.
[ 사용법 ]
#cd 경로
* ls ( LiSt )
- 디렉터리의 목록을 출력한다.
- 특정파일을 지정하지 않을경우
현재 디렉터리의 목록을 출력한다.
[ 사용법 ]
#ls 경로
[ 옵션 ]
-a : 숨김파일을 포함한 모든 내용을 출력한다.
-l : 리스트 형태로 출력한다.
-F : 파일의 형식을 알 수 있는 문자를 추가한다.
-h : 파일의 크기를 사람이 알아보기 쉽게 출력한다.
-i : inode넘버를 출력한다.
+@ -F옵션
/ : 디렉터리
: 텍스트형 파일
@ : 바로가기 파일
* : 실행파일
* echo
-특정 문자열을 화면에 출력함
[ 사용법 ]
#echo "문자열"
Ex) #echo "Linux1" //Linux1문자열을 화면에 출력
#echo "Linux2" //Linux2문자열을 화면에 출력
* mkdir ( MaKe DIRectory )
- 빈 디렉터리를 생성한다.
[ 사용법 ]
#mkdir 디렉터리명
[ 옵션 ]-p : 하위 디렉터리까지 단번에 생성
Ex) /1이 없다고 가정
#mkdir /1/2/3/4/5 //x
#mkdir -p /1/2/3/4/5 //1,2,3,4,5를 단번에 생성
* touch
- 빈 파일을 생성하거나 기존파일의 시간을 변경한다.
- 새로만든 파일일경우 ( 파일생성 )
- 기존의 파일이 있을경우 ( 시간변경 )
[ 사용법 ]
#touch 파일명
* rmdir ( ReMove DIRectory )
- 빈 디렉터리를 삭제한다.
[ 사용법 ]
#rmdir 빈디렉터리명
*rm ( ReMove )
- 파일과 디렉터리를 삭제한다.
- r옵션을 지정하지 않으면 디렉터리를 삭제하지 못한다.
- f옵션을 지정하지 않으면 지정된 대상을 하나씩
제거할때마다 메세지를 통해서 확인한다.
[ 사용법 ]
#rm 파일
[ 옵션 ]
-r : 디렉터리 삭제시 하위디렉터리,파일을 포함하여 삭제
-f : 삭제시 확인메세지를 보여주지 않고 바로 삭제
*mv ( MoVe )
- 파일이나 디렉터리를 이동하거나 이름을 변경할 경우 사용
[ 사용법 ]
#mv 원본 이동위치
Ex) #mv /root/test1 /dir1 // /root/test1파일을 /dir1로 이동
#mv /dir1/test1 /dir1/test9 // /dir1/test1파일의 이름을 test9로 변경
*cp ( CoPy )
- 파일을 지정된 경로에 복사한다.
[ 사용법 ]
#cp 원본 이동위치
Ex) #cp /etc/passwd /root // /etc/passwd파일을 /root에 복사
(이동위치의 마지막이 디렉터리인경우 이름그대로 복사)
#cp /etc/passwd /root/modi // /etc/passwd파일을
/root에 modi라는 이름으로 변경하여 복사
(이동위치의 마지막이 파일인경우
파일명으로 변경하여 복사)
[ 옵션 ]
-r : 디렉터리를 복사할 경우
디렉터리와 포함된 하위 디렉터리 및 파일을 복사할 경우
* alias
- 복잡한 명령어와 긴 옵션을 짧은 문자열로 바꿔준다.
- 옵션을 포함한 긴 명령어를 자주사용해야 한다면
alias를 이용하는 것이 효과적이다.
[ 사용법 ]
1) 설정
#alias 별명="명령어"
2) 확인
#alias
3) 해지
#unalias 별명
! 실습
#alias // alias목록 확인
#network // 에러메세지
#alias network="vi /etc/sysconfig/network-scripts/ifcfg-eth0" //network로 alias 등록
#network // 위의 명령어가 동작
#alias // 목록에 network추가됬는지 확인
#unlias network // alias 삭제
#network // 에러메세지 (alias에서 삭제했기때문)
#cd /
#ls // 칼라
#alias // ls확인
#unalias ls // ls를 alias에서 삭제
#ls // 칼라 x
#alias ls="ls --color=auto" //알리아스 등록
#alias // ls 확인
#ls // 다시 칼라
* cat
- 텍스트 파일 내용을 출력한다.
[ 사용법 ]
#cat 파일이름
Ex)
#cat /etc/services
[ 옵션 ]
-b : '공백라인을 제외한' 글자가 있는 모든 라인에 번호를 붙여 출력
-n : '공백라인을 제외하지 않은'글자가 있는 모든 라인에 번호를 붙여 출력
* head
- 파일의 첫 10줄을 출력한다.
- 대용량 파일의 앞부분의 내용을 볼때 유용하다.
- 출력행수를 -n 옵션을 이용해서 지정해 줄 수 있다.
[ 사용법 ]
# head 파일이름
# head -n 라인수 파일이름 //head -n 20 /etc/services
* tail
- 파일의 마지막 행을 기준으로 10번째 행까지 출력한다.
- 로그파일과 같이 '마지막 행을 확인하고 싶을 때' 유용하다.
- 출력행수를 -n 옵션을 이용해서 지정이 가능하다.
[ 사용법 ]
# tail 파일이름
# tail -n 라인수 파일이름 //tail -n 20 /etc/services
[ 옵션 ]
-f : 실시간으로 확인한다.
Ex)#tail -f /var/log/secure (실시간 접속관련로그확인)
* more
- 파일을 화면 단위로 출력한다.
- 한 페이지 이상되는 출력 내용을 한 화면의 페이지 단위로
보여주며 검색기능과 원하는 페이지로 이동 기능을 제공한다.
[ 사용법 ]
#more 파일이름
Ex) # more /etc/services
space bar : 다음 화면 출력
enter : 한줄씩 스크롤
b : 이전화면
f : 다음화면
/숫자 : 해당 숫자의 페이지로 이동
/문자열 : 문자열 검색
q : 종료
* file
- 파일 형식 확인
[ 사용법 ]
#file 파일
ex)
#file /bin/ls
#file /etc/passwd
#file /root
* which
- 명령어 (실행파일) 경로 및 alias 확인
[ 사용법 ]
#which 파일
Ex)
#which ls
#which cp
* watch
- 주기적으로 지정된 명령을 실행하고 결과를 출력
[ 사용법 ]
#watch [option] "command"
[ 옵션 ]
-n : n초 주기로 명령 결과 출력
-d : 변경된 부분에 음영 처리
Ex)#watch -n 0.1 "netstat"
#watch -d -n 0.1 "netstat"
* history
- 이전에 사용했던 명령어 목록을 보여준다.
[ 사용법 ]
#history
+@
!번호 //번호에 해당하는 명령어가 수행
Ex) !5 //5번에 해당하는 명령어 수행
* wc ( Word Count )
- 문서의 행 , 단어 , 문자의 개수를 카운트 하고 출력
[ 사용법 ]
#wc 파일이름
[ 옵션 ]
-l : 라인 수 출력
-w : 단어 수 출력
-m : 문자 수 출력
Ex)
#wc /etc/services
#wc -l /etc/services
#wc -w /etc/services
#wc -m /etc/services
* grep ( Globally find Regular-Expression and Print )
- 파일의 내용중 정규식 패턴에 일치하는 문자열을 찾아 화면에 출력
[ 사용법 ]
#grep "패턴" 파일
Ex)#grep "root" /etc/passwd
[ 옵션 ]
-i(ignore-case) : 대소문자를 구별하지 않는다.
-n(--line-number) : 행 번호를 함께 보여준다.
-v(--revert-math) : 정규식에 일치하지 않는 행만 보여준다.
-r(--recursive) : 하위 디렉터리에 위치한 파일도 검색
+@
#alias grep="grep --color=auto" //패턴식 컬러출력
* cut
- 파일에서 원하는 필드를 뽑아낸다.
[ 사용법 ]
# cut [옵션] 파일이름
[ 옵션 ]
-c : 잘라낼 글자 위치를 지정
-f : 잘라낼 필드를 지정
-d : 필드와 필드를 구분하는 문자를 지정 ( 기본은 tab )
#Ex)
#cut -c 1 cut_test.txt
#cut -c 1,3,5 cut_test.txt
#cut -c 1-4 cut_test.txt
#cut -c 1-4,5-7 cut_test.txt
#cut -d ":" -f 1 cut_test.txt // :를 필드 구분자로 지정하여 1번째 필드만
#cut -d ":" -f 1,3 cut_test.txt // :를 필드 구분자로 지정하여 1,3번째 필드만
#cut -d ":" -f 1-3 cut_test.txt // :를 필드 구분자로 지정하여 1~3번째 필드만
* sort
- 파일내의 내용을 알파벳 순서대로 정렬
[ 사용법 ]
#sort [옵션] [파일]
[ 옵션 ]
-n : 숫자를 기준으로 정렬
-r : 역순으로 정렬
-u : 중복행 제거 ( uniq )
-o : 출력 결과를 파일로 저장
#cat sort_test2.txt //원본 출력
#sort sort_test2.txt //영어를 기준으로 정렬하여 출력
#sort -u sort_test2.txt //영어를 기준으로 정렬하여 출력 (중복제거)
#sort -n sort_test1.txt //숫자를 기준으로 정렬하여 출력
#sort -nr sort_test1.txt //숫자를 기준으로 정렬하여 출력 ( 역순 )
#sort -n sort_test1.txt -o sorted_test.txt
//숫자를 기준으로 정렬하여 출력
결과를 sorted_test.txt 파일로 저장
* time
- 명령어가 실행되고 완료되기까지 시간을
측정해주는 명령어
[ 사용법 ]
#time [명령어]
* shutdown -h now | init 0 | poweroff | halt
- 시스템을 종료하는 명령어
[ 사용법 ]
#shutdown -h now
#init 0
#poweroff
#halt
* shutdown -r now | init 6 | reboot
- 시스템을 재시작하는 명령어
[ 사용법 ]
#shutdown -r now
#init 6
#reboot
* date
- 시스템 시간을 확인하거나 수정하는 명령어
[ 사용법 ]
#date // 현재 시스템 시간 확인
#date -s "2023-03-14 19:23" // 날짜와 시간 변경
#date -s "12:30" // 시간 변경
#date -s "20230314" // 날짜 변경(시간 초기화)
#date "+%F %r"
+@ 파일 전송 패키지 설치
#yum install -y lrzsz //인터넷이 연결되어있어야한다.
1) Host OS -> Guest OS
Host OS의 파일을 선택한 후에 Xshell화면으로 Drag & Drop
2) Guest OS -> Host OS
#sz 파일명 -> 위치선택
+@ man
- 알고 싶은 명령어의 메뉴얼을 출력한다.
#yum install -y man //설치작업
[ 사용법 ]
#man 명령어
Ex) #man grep
#men cut