본문 바로가기

Learning/└◆Linux

기본 명령어 및 Shell모음

기본 명령어

리눅스에서 사용되는 명령의 기본구조 - 명령 [옵션][인자...]


1) date : 현재 날짜와 시간을 출력

2) clear : 화면을 지운다.

3) man : 명령 사용법을 화면에 출력

4) passwd : 사용자 계정의 비밀번호를 변경

5) pwf : 현재 디렉터리 확인하기

6) cd : 현재 디렉터리 변경하기

7) ls : 디렉터리 내용 보기

8) mkdir : 디렉터리 생성하기

9) rmdir : 디렉터리 삭제하기

10) cat : 파일 내용을 출력

11) more : 파일 내용을 화면 단위로 출력

12) less : 파일 내용을 화면 단위로 출력 (more 보다 개선된 명령)

13) tail : 파일의 뒷부분 행 출력 (default 10행)

14) cp : 파일 복사하기

15) mv : 파일 이동하기 ( =파일 이름 바꾸기)

16) rm : 파일 삭제하기

17) ln : 하드 링크 만들기

18) touch : bin(빈) 파일 생성하기

19) grep : 지정한 패턴을 포함하는 행을 찾기

20) find : 파일 찾기

21) whereis : 지정된 경로에서 명령의 바이너리 파일이나 메뉴얼 파일의 위치 찾기

22) which : 명령어 파일의 위치를 찾아서 그 경로나 에일리어스 출력

 

-------------------------------------------------------------------------------------------------------------------------------------

다시 기본 명령어

1)ls  목록나열 # ls /etc/sysconfig
2)cd  디렉터리 이동 # cd /etc/sysconfig
3)pwd  현재 디렉터리 위치 출력
4)rm  파일,디렉터리 삭제 # rm -rf /test/* (" . " 으로 숨김파일 만듬)
5)cp  디렉터리 복사(cp) 읽기권한 필요
cp -r  하위 디렉터리까지 복사
6)touch  크기가 0인 새 파일 생성, 이미 존재하는 파일 최종 수정 시간 변경
7)mv  디렉터리 이름변경, 디렉터리 위치이동(move)
8)mkdir  디렉터리 생성(make directory)
9)rmdir  디렉터리 삭제
10)cat  파일내용 출력(conGATenate), 여러개 파일 나열시 연결해서 출력
cat > file1 vi편집기 상태에서 문서 새로작성
cat >> file1 vi편집기 상태에서 문서 추가작성
11)head  txt형식 파일 위에서부터 10행  화면에출력
12)tail  txt형식 파일 아래서부터10행 화면에출력
head -n file1 파일 위에서부터 -n행 출력
tail -n file1 파일 아래서부터 -n행 출력
13)more  txt형식 파일 페이지 단위로 화면에 출력 Space넘김,Q나가기

15)chmod 퍼미션변경
16)chown 파일소유주 변경
17)chgrp 파일 그룹권한 변경
16)alias 쉘 명령어 별명(긴 명령어를 간단하게 줄여서 지정)
17)who  현재 시스템에 login 하고 있는 사용자 리스트 출력
18)history 현재까지 입력된 명령어 출력(1000개까지저장)
19)clear 터미널 초기화 (Ctrl + n)
20)uname 커널 정보 확인
21)rpm  RedHat 패키지 관리자
22)yum  RPM기반 시스템 자동 업데이터 패키지 설치/제거 도구
23)find  # find [경로] [옵션] [이름이나조건] 검색
24)grep  # grep [옵션] [찾을문자] [파일명] 필요한 내용 지정하여 해당 내용만 출력
22)vi  vi편집기 열기(# vi file1)

23)tar  .tar, _tar로 된 파일 묶거나 풀기(압축파일 아님)
tar cvzf 파일명(.tar, _tar) 디렉터리에 있는 모든 파일 묶어서 [파일명]이름의 압축파일 생성
tar xvzf 파일명.tar.gz gzip으로 압축된 파일 한번에 압축 해제
24)gzip  .gz, .z 형태 압출파일 생성
gzip [file] 압축시
gzip [file] 해제시
25).tar.Z tar로 묶고 compress(.z형태압축)를 사용하여 압축한 파일
  uncompress로 압축해제 후 tar로 원래 파일들을 만듬
zcat [file].tar.Z 로도 해제가능

30)ifconfig 네트워크 랜카드 설정 정보표시 ip확인
31)route 라우팅 테이블 설정
route add default gw 192.168.139.40 기본 Gateway 설정
tracerroute [ip주소/도메인] ip패킷이 목적지에 도달하기 위해 거치는 경로 추적 Trace Path
32)host  DNS 테스트
# /etc/resolv.conf DNS정보 확인 및 수정


33)date  시스템 시간 날짜 출력/설정
34)rdate 시간조회 시스템 시간변경
35)top  현재 시스템의 작업 출력(windows 작업관리자)
36)df  디스크 남은 공간 출력
14)du  디스크 사용 공간 출력
do -s [디렉터리명] 특정 디렉터리 사용량 체크
37)free  시스템 빈 메모리 사용한 메모리 양 출력
38)shutdown 시스템 종료
39)halt  시스템 즉시 종료
40)reboot 시스템 재부팅
41)ps  현재 실행중인 프로세스 상태 출력
42)kill  프로세스 종료
43)exit  터미널 종료(Ctrl+D),logout

50)w  로그인한 사용자 정보출력(현재작업포함)
51)who  로그인한 사용자 정보출력
52)last  사용자들의 마지막 로그인 기록 출력
53)su  사용자와 그룹ID를 교체하여 쉘 실행
54)useradd 계정 생성
55)useradd " " 사용자추가
56)userdel 계정 삭제
57)groupadd 그룹 생성
58)groupdel 그룹 삭제
58)passwd 계정 암호 변경
59)passwd " " 비밀번호 변경
60)usermod 계정정보변경
/etc/passwd  계정정보

-------------------------------------------------------------------------------------------------------------------------------------

1.리눅스 명령어

자기 아이피 검색 /sbin/ifconfig
*date: 현재의 날짜와 시간을 단말기 화면에 표시
*who : 유닉스 시스템에 로그인 되어 있는 사용자들에 대한 정보를 화면에 표시
*date;who;cat > sample.c : 한 줄에 두 개 이상의 명령어를 동시에 입력하고자 할 경우 명령어와 명령어 사이를 ; 으로 구분한다
*cal 9 1995 : unix 시스템에 내장되어있는 달력을 화면에 출력
*cat address.list : 파일의 내용을 화면에 출력한다
*man date : 예약어나 명령어에 대한 온라인 매뉴얼
*ls: 현재 위치한 디렉토리 아래에 있는 파일 및 서브디렉토리의 정보를 나열
- 옵션: -l: 파일의 모든 정보 출력
-c: 최근 변경한 시간 순서데로 출력
-d: 디렉토리 명만 출력
-F: 파일의 특성을 출력( /디렉토리 *실행화일)
-a: dot(.)으로 시작하는 파일의 이름을 포함한 모든 내용을 출력
*alias dir ls -alF : 자주 쓰이는 명령어 ls를 다른 형태의 명령어 dir로 바꿀 때..
*pwd : 현제 작업 디렉토리 출력 명령어
*cd : 디렉토리 변경 명령어

 

2. 디렉토리 관리 및 파일 관리 명령어

*mkdir : 디렉토리 생성 명령어 (%mkdir [option] [directory name]
*rmdir : 디렉토리 삭제 명령어
- 옵션: rm -r test ; test의 하위디렉토리와 파일을 전부 삭제
- 옵션: rm -i test ; 삭제 여부를 사용자에게 물어 본다

*cat : 파일을 작성하거나 파일의 내용을 간단하게 출력
# cat test1.c
# cat > test1.c

*touch : 내용이 없는 빈 파일을 생성, 이미 생성된 파일의 수정 시간 갱신
# touch [option] [시간] [파일명]

*more [file name] : 한 번에 한 화면씩 파일의 내용을 표준 출력
-내용을 보지 않고 종료시 q 나 Q 키를 누른다
*page [option] [file name] : 한 번에 한 화면씩 파일의 내용을 표준출력(=== %pg)
*nl [file name] : 지정한 파일의 내용을 츨력할 때 맨 앞에 행 번호를 이어서 출력
*file test.c : test.c라는 파일의 형태를 출력

*cp :시스템내에 있는 특정 파일을 복사
# mkdir temp --temp라는 디렉토리 생성
# cp sample test temp --temp라는 디렉토리 밑에 sample 과 test 라는 파일을 복사
# mkdir example
# cp -r temp example --temp라는 디렉토리 아래에있는 모든 내용을 example디렉토리에 복사

*mv [file name1] [file name2] --file name1을 file name2로 이름 변경
*mv [file1] [file2] [directory1] --file1, file2를 directory1으로 이동
*mv [directory1] [directory2] --directory1의 모든 내용을 directory2로 이동
**명령어 cp, mv, rm에서 option -i는 사용자에게 여부를 묻는 옵션입니다

*rm test1 test2 test3 --- test1,test2,test3 파일을 삭제
*rm -r quit --- quit 디렉토리 및 모든 내용을 삭제

*ln test1 test2 --- test1과 test2라는 2개의 파일을 연결 (unlink ; 연결 해제)

*find: 사용자가 지정한 특정 범위에 해당하는 모든 파일을 검색
# find / -name test1.c -print ; 최상위 루트 디렉토리부터 검색하여 검색된 파일을 한 행에 하나씩 표준 출력
# find . -name test1.c -print ; 현제의 작업 디렉토리에서 검색
# find / -size +1000 -print ; 최상위 루트에서 크기가 1000블록 이상인 파일 검색
# find . -size -1000 -print ; 현 디렉토리에서 크기가 1000블록 이하인 파일 검색
# find . -mtime +10 -print ; 10일 이전에 수정된 파일 검색
# find . -mtime -10 exec rm {} \: ; 10일 이내에 수정한 파일을 검색하여 모두 지운다

*chmod --- 파일 및 디렉토리에 이미 정해진 접근 허가 모드를 변경
- 사용 형식: %chmod [ugoa] [+-=] [rwx] [file name]
u: 파일 소유자, g: 그룹, o: 기타 사용자, a: 모든 사용자
+: 사용허가부여, -: 사용허가박탈, =: 허가 취소
r: 읽기 허가, w:쓰기 허가, x: 실행 허가
특정 사용자를 지정하지 않으면 모든 사용자를 의미한다
chmod go+r test.c ; 소유자 그룹과 기타 사용자에게 읽기 허가
chmod ugo-w test.c ; 소유자,그룹,기타 사용자에게 읽기 허가 박탈
chmod +x test.c
chmod o -rwx test.c
r = 4, w = 2, x =1
chmod 744 test.c
-rwxr--r-- 1 edul user 235 Oct 15 13:23 test.c
chmod 724 test.c
-rwx-w-r-- 1 edul user 235 Oct 15 13:23 test.c
* : dot(.)을 제외한 모든 문자와 대응하며 모든 파일명을 대표하는 메타 문자 %ls *a* , %ls t* ? : " " " 임의의 한 문자만을 대신

 

3. 입력과 출력에 관한 명령어

* < ---입력
* > ---출력
* >> ---출력, 첨가
* date > date.out : 이전 내용이 지워지고 새로운 내용이 저장
* date >> date.out : 이전 내용과 함께 새로운 내용 첨가
* file < test > test.out : test 파일을 입력으로 받아서 file 명령을 실행하고 test.out에 출력
* cat test.out
* test: Ascll text
* 2>>, 2> 오류 출력 제지정

* tty : 현재 사용하고 있는 단말 장치의 이름을 경로와 함께 표준 출력

* lpstate : 프린터의 현제 상태 (활성화: enable, 비활성화: disable)
* lp -c temp.c ; 내용이 변경되어도 문제가 지속되지 않도록미리 출력될 파일을 복사
* lp -n7 /etc/lp/temp ; 7장 프린트
* lp -m temp.c ; 출력이 끝난후 사용자에게 전자우편을 보냄
* lp -t"chon bing hee" test.out ; chon bong hee라는 표제를 달아 줌
* cancel [print name] ; 프린터 취소
* disable -c [print name] ; 지정한 프린터에서 현제 출력중인 작업 취소
* disable -w laser-3 ; 모두 인쇄한 다음 프린터를 disable 상태로 만든다
* disable -c -r "out of paper" laser-1 ; 주석을 달아 놓는다

* grep [option] 형태 [화일명] -- 정규식을 이용 패턴 지정
# grep -i tom sample.c -- sample.c 라는 파일에서 tom 이라는 문자열을 대소문자 구분 없이 검색
# grep -n tom sample -- 행 번호와 함께 출력
# grep -i "tom is" sample -- 공백은 " "로 표기
# grep -v tom sample --tom이라는 형태를 포함하지 않는 행을 출력

# cat sample
computer science
computer graphics

# cut -c10-17 sample -- sample 파일에서 칼럼 단위10-17을 절단 --> science/graphics

# cmp test1 test2 -- 서로 다른 두 파일을 비교
# dircmp test test -- 서로 다른 두 디렉토리 비교


4. 백업 및 복사에 관한 명령어
(rfd:디스켓, rct:카트리지테이프, rmt: 테이프)
하드 ----> 디스켓

# tar -cvf /dev/rfd0c test1
(c: 저장되는 파일들이 디스크의 처음부터 기록, v:기록되는 화일명 화면 출력)

# tar -tvf /dev/rfd0c --- 디스켓의 파일 목록 확인

디스켓 ----> 하드
# tar -xvf /dev/rfd0c test1 --- 지정한 파일 복원

동일한 하드 ---> %tar -cvf test1.tar test1

# compress test.c (파일 압축) --->uncompress test.c.Z (압축 풀기)
: test.c.Z (파일 생성) --- >zcat test.c.Z (파일 보기)

# pack test.c (파일 압축) ---> unpack test.c.z
: test.c.z (파일 생성) ---> pcat test.c.z (파일 보기)
* Non-preemptive(비선점) ; 커널 모드
* kernel; 생성되는 프로세스마다 PCB 부여하고 관리

 

5. 멀티 태스킹에 관련된 명령어

* Multitask
foreground : 하나의 명령이 실행되어 결과를 출력할때까지 다른 명령을 수행 할 수 없다
background : 하나의 명령을 수행시킨후 그 수행의 종료 이전에 다른 명령을 수행 하는 것
---> 명령어 끝에 &로 표시 (cc -o test1 test1.c &)

ps -l --프로세스에 관한 모든 상태 정보 출력
ps -e --현제 실행중인 모든 프로세스에 관한 정보 출력
ps ps -t 00 --지정된 터미널에서 실행중인 프로세스에 관한 정보 출력
nice [-정수값:1~39 , 20으로 설정] 명령어 -->우선 순위 변경 명령어
정수값이 높을수록 우선 순위가 낮다 (nice -10 cc -o test test1.c)
at --수행 시간 지정 명령어 -->at 11:30 pm
cc test.c

-옵션 -r: 이전에 지정된 작업 취소, -l : 지정된 작업 번호 출력
(sleep 20; cc -o sample sample.c)& -->백그라운드 실행, 20초 뒤 프로그램 컴파일
(sleep 10; ps -el) --> 10초후 모든 프로세서 상태 출력
time cc -o test test.c --수행 시간 출력 명령어

* 백그라운드 작업 상태: Running : 현제 백그라운드 수행중인 상태
Stopped : fg로 수행되다가 ^D로 잠시 중단된 상태
Terminated : Kill 명령을 사용해 강제로 종료된 상태
Done : 백그라운드 프로세서의 수행이 완전히 종료된 상태
Exit : 백그라운드 프로세서가 수행도중 오류 때문에 빠져 나온 상태
jobs : 백그라운드로 수행중인 모든 프로세서의 상태 출력
fg %1(작업 번호) : 백그라운드로 수행중인 작업을 포그라운드로 전환
bg %1( " ) : 포그라운드로 " " 백그라운드로 전환
wait [작업번호] --백그라운드 실행 종료
kill [번호] -- 프러세서 강제 종료 명령어
* 강제 종료가 안될 경우 -9옵션을 사용 %kill -9 1239
nohup cc -o sample1 sample1.c & 1132[PID번호]
---> 백그라운드로 실행, 로그 아웃이나 중지 신호후에도 프로세서의 수행 계속

 

쉘 기능

1. tab키 기능 : 개체명을 다 안써도 된다.

2. alias 기능  : 명령어 변수를 선언하여 만들수있다.

alias [만들명령어]='기존명령어'

3. history 기능 : 내가 사용했던 명령어들을 조사.

 

 

.bashrc

export PS1='\e[31m\u\e[37m[\w]\$'
export LS_OPTIONS='--color=auto'
alias tree='tree -C'
alias pps='ps -ef | head -1 ; ps -ef | grep $1'
alias ls='ls -laF --color=tty -h'
alias dtest='cd /test ; rm -rf /test/*'

'Learning > └◆Linux ' 카테고리의 다른 글

telnet 접속 안될시  (0) 2016.10.22
MAC adress 충돌시 변경방법  (0) 2016.10.21
yum repo구성  (0) 2016.10.20
VMWare Tools 설치  (0) 2016.10.20