리눅스 기본 명령어 ( 자세히)
출처 : http://my.dreamwiz.com/andy1383/study/linux/
원문 : http://blog.naver.com/soonhg/40018222153
1. linux 기초 1-1
ls |
* 무슨 파일이 있나? |
* 옵션 => -a : 확장자가 .(점)으로 시작하는 모든 파일을 보여준다. .....(환경변수를 저장, 설정한 환경변수 file 을 보여줌. 예) .tcshr , .bashrc..) => -l : 파일의 자세한 정보를 정렬해서 표시 (소유자, 소유그룹, …) => -f : 파일의 타입을 기호로써 보여줌. (directory : / 실행화일 : * linkfile : @ ) |
* 예) ls -a -l -f (= ls -alf) ........ls -il (i node: file에 대한 정보) ........ls -al | more ( page 당으로 나눠서 보여줌) ........ls -al | more -10 (10행씩 출력) | |
cd |
* change directory : 다른 디렉토리 이동 |
* 예) cd .. => 전 디렉토리로 ........cd => 내 방 (홈 디렉토리) ........cd test => test 라는 디렉토리로 이동 ....... cd - => 직전에 작업하던 디렉토리로 이동 ....... cd / => 루트 디렉토리로 직접 이동 | |
cat |
* 문서보기 : cat [파일] |
* 파일 생성 1. cat > file 2. 내용입력 3. ctrl + D |
* 내용추가 : cat >> file | |
touch |
* file 생성 명령어 , 기존 파일의 정보를 다시 읽어 들인다. |
* 새로운 파일을 만들 수 있다. |
예) touch abc.html => abc.html file을 만듬 .... touch abc1 abc2 abc3 => 여러 개의 file 생성 | |
mkdir |
* make directory : 디렉토리 생성하기 |
예) mkdir test : test라는 디렉토리 생성 |
* -p : 하부 directory 생성 옵션 (여러 단계의 sub directory를 만들 때) |
예) mkdir -p exam/exam1 (exam 디렉토리 생성 후 밑에 exam1 디렉토리 생성) | |
rmdir |
* remove directory : 비어있는 디렉토리 지우기 |
* 예) rmdir -rf test : test 디렉토리 지움 | |
rm |
* remove : 디렉토리 또는 파일 지우기 |
* 예) rm test => test라는 파일 지우기 ........rm -r test => test 디렉토리 지우기 ........rm -f test => test 파일 강제로 지우기 | |
mv |
* move : 파일 옮기기 |
* mv 옮길dir/file 갈곳dir/file |
* 예) mv 1 2 => 1을 2로 옮김 ........mv 2 새이름 => 2를 새이름을 바꿈 | |
2. linux 기초 2
cp |
* copy : 복사하기 |
* cp dir/file 복사할 dir/file |
* 예) cp 1 2 => 1을 2 라는 이름으로 copy | |
pwd |
|
tree |
|
which |
* which 실행 file |
* 실행file의 위치를 찾아줌, 경로를 보여줌 | |
history |
* 지금까지 입력한 명령어들의 목록을 보여준다. (기본 1000개 까지) |
* !숫자 => 목록의 숫자부분의 명령부분을 실행 |
* !! : 바로 위의 명령어 실행 |
* history -c : history 목록 지우기 |
* echo $HISTSIZE : history 개수 보여줌 |
* 개수변환 : 개수 export HISTSIZE=바꾼 숫자 | |
man |
* manual을 보여준다. |
* 사용법 : man [명령어] | |
whoami |
|
cal |
* 화면에 달력을 출력한다. |
* cal [-y : 연도달력모두] [month] [year] |
* 예) cal 6 2000 (=> 2000년 6월 달력이 출력) | |
cksum |
* 파일의 기, 이름을 출력함 |
* cksum [file] | |
clock |
|
3. linux 기초 3
chown |
* 파일이나 디렉토리의 소유권을 바꿔줌 |
* chown [-Rcfv] [사용자] [파일] |
* 옵션 -c : 소유권이 바뀌어진 파일에 대한 정보를 출력 -f : 소유권이 바뀌지 않은 경우에는 에러 메시지를 출력하지 않음 -v : 소유권변화의 정보를 출력 -R : 디렉토리와 그 속에 포함된 파일의 소유권을 recursive 하게 변경 |
예) chown user이름 file ......chown nobody file => file을 nobody 것으로 바꿈 | |
chgrp |
* 파일이나 디렉토리의 소유그룹을 바꿔줌 |
* chgrp [-Rcfv] [그룹파일] |
* 옵션 -c : 소유권이 바뀌어진 파일에 대한 정보를 출력 -f : 소유권이 바뀌지 않은 경우에는 에러 메시지를 출력하지 않음 -v : 소유권변화의 정보를 출력 -R : 디렉토리와 그 속에 포함된 파일의 소유권을 recursive 하게 변경 |
예) chown username : groupname file = > 소유자와 소유그룹을 한꺼번에 바꿔줌 | |
chmod |
* channal mode : 사용 권한(permission)을 바꿔줌 |
1. 심볼릭 모드 : chmod [users] [operator] [permission] [file] |
[users] - U : 유저 -g : 그룹 -o : others 그룹 -a : 모든 사용자 |
[operator] + : 사용을 허용함 - : 사용을 거부함
|
[permission] r : 읽을 수 있음 w : 쓸 수 있음 w : 실행 가능 | |
* -rwxrwxrwx : - 는 file을 나타냄 (r : file l : link file) |
....처음 rwx는 user의 권한 , 다음 rwx는 그룹의 권한, 마지막 rwx는 other의 권한 |
예) chmod go + wx test ..... => test파일(디렉토리)을 group과 other에게 쓰기, 실행 권한을 줌 |
......chmod a + rwx test => test file을 모두에게(a :all) 일기, 쓰기, 실행 권한을 줌 |
2. 절대 모드 : chmod [옵션] [ugo숫자조합] [file] .(r=4, w=2, x=1 ) |
예) chmod 754 [file이름] |
[ u] r : 4 (읽기) w : 2 (쓰기) x : 1 (실행) r+w+x = 7 |
[g] r : 4 (읽기) x : 1 (실행)
r+x = 5 |
[o] r : 4 (읽기)
r = 4 | |
* 옵션 -c : 접슨허용이 변한 파일에 대해서 정보를 출력 -f : 접근허용이 바뀌지 않은 것에 대해서 에러 메시지를 출력하지 않음 -v : 변화된 접근허용에 대한 정보를 출력 -R : 하위의 디렉토위와 그 속에 포함된 파일의 permission 을 바꿔줌 |
* 예) ..chmod -R 777 test (test 밑에 있는 모든 디렉토리 및 파일의 권한을 바꿔줌) |
| |
4. linux 기초 4
find |
* file 또는 디렉토리 찾기 |
* find [file] |
* find [검색위치] -name [file] |
예) find -name *.php3 => php3로 끝나는 문서 찾기 .... find / -name index.html => / 에서 부터 index.html 을 찾기 | |
grep |
* 원하는 내용이 있는 파일 찾기, 문자열 잡기 |
* grep [찾을 문자열] => grep -n [단어] (포함되어 있는 단어가 몇 번때 헹에 위치하는 지 알 수 있음) |
예) ps -aux | grep httpd (=> ps :process checking ) .....ps -ef | grep mysql .....(mysql process가 실행되고 있는지 목록을 보여줌 ...... => -ef : login shell과 관계된 processor ) | |
링크파일 |
* ln test test1 => test와 동일한 file test1을 생성 (inode가 늘어남) |
* hardlink file 생성 (내용을 공유하는 파일) |
예) ln -s test test.slk ..... => test의 내용을 수정하면 hardlink된 test.slk 도 저절로 고쳐짐 | |
alias |
1. 설정 : alias [현재 명령어] = '[적용시킬 명령어]' |
예) alias ls = 'ls -al' |
2. 해제 : unalias [적용시킨 명령어] | |
su |
* 현재 상태에서 다른 id로 login할 수 있다. |
예) su mina => mina 로 login .....su - ID => 바꾸고자 하는 user 의 홈 디렉토리로 이동함 .....su - => root로 login |
* logout => exit | |
비번변경 |
* passwd [엔터] |
* 비밀번호 입력 [엔터] | |
3. 플로피와 cdrom 사용하기* floppy 와 cdrom을 사용하기 위해서는 mount 를 해줘야 하며, 사용 후 mount를 해제해 줘야 한다.
floppy |
1. 마운트 하기 |
* mount /dev/fd0 -t msdos /mnt/floppy |
2. 마운트 해제 |
* umount /mnt/floppy * umount /dev/fd0 | |
cdrom |
1. 마운트 하기 |
* mount /mnt/cdrom .....( = mount /dev/cdrom /mnt/cdrom) |
2. 마운트 해제 |
* umount /mnt/cdrom * eject | |
4. 파일 묶기와 압축
tar |
* 파일 묶기 |
* 사용법 : tar [옵션] [이름] [묶을 파일들] |
* 옵션 -c : 파일 또는 디렉토리 묶기 -f : 파일 생성 -v : 목록 출력하면서 실행 -t : tar에 포함되어 있는 파일이나 디렉토리 구조를 보려면.. -x : 묶인 tar 풀기 | |
gzip
(gunzip) |
* 압축하기 |
* 사용법 : gzip [옵션] [압축할 파일] |
* 옵션 -d : 압축을 푸는 명령 -f :파일이 이미 존재하더라도 강제적으로 압축을 하거나 해제함 -l : 압축된 파일의 각각의 정보를 표시 -t : 압축된 파일을 테스트함 -v : 압축을 하거나 풀 때 각 파일의 압축률을 보여주면서 압축을 함 |
예) gzip -9 test/ (=> test 디렉토리 압축) | |
5. RPM 관련
설 명 |
* RPM 이라는 것은 ( Redhat Package Manager ) 레드햇에서 만든 패키징 방식이다. |
* tar로 배포되던 방식에서 발전된 형태로 텍스트 콘솔에서 바로 설치 할 수 있다. | |
설 치 |
* 설 치 : rpm -i [설치할 rpm] |
* 이름확인 : rpm -iv [ 설치할 rpm] |
* 과 정 : rpm -ivh [설치할 rpm] | |
업그레이드 |
|
삭 제 |
|
찾 기 |
* rpm -qi [찾을 rpm] |
.. => 관련된 파일(설치된 file)이 얼마나 있나 보기. | |
6. 네트워크 명령어
ping |
* 상대방 컴퓨터와 데이터 전송이 잘되는지 상태 보기 |
예) ping landau.uos.ac.kr | |
traceroute |
* 접속하려는 서버까지의 경로를 검색해 줌 |
예) traceroute landau.uos.ac.kr | |
net stat -r |
|
dig |
* 지정된 도메인 주소의 도메인 시스템 정보를 알아냄 |
* dig [서버명] | |
hostname |
|
whois |
* 인터넷 주소 또는 사람을 검색 (도메인 검색이 가능) |
* whois [서버명] | |
ftp |
* 파일 전송 프로토콜, 외부에 있는 ftp 서버에 접속하여서 파일을 주고받을 때 사용 |
* ftp [옵션] [서버명] |
* 옵션 -v : 원격서버에서 반환되는 모든 응답메시지를 보여줌 -n : 처음 연결되었을 때 자동로그인을 실행하도록 함 -i : 여러 개의 파일 전송시 프롬프트가 떨어지지 않도록 함 -d : 디버깅을 가능하도록 함 |
* ftp 명령어 get : 파일을 다운로드 받는 명령 mget : 여러 개의 파일을 다운로드 받는 명령 put : 파일을 업로드 하는 명령 bin : 바이너리 파일을 다운로드 하기 전에 바이너리 모드로 변경해야 함 | |
telnet |
* 원격 호스트와 통신을 할 수 있도록 하는 프로그램 명령 |
* telnet [서버명] |
* 참고 : 통신에서 다운로드를 받기 위해서는 ztelnet 을 사용함 | |
7. linux system 명령어
arch |
|
free |
* memory 용량을 알려줌 |
* 예) free -m : mega byte 단위로 ....... free -k : kilo byte 단위로 | |
df |
* disk free : 연결되어 있는 file system 용량 ... => 전체 공간, 현재 사용공간, 사용할 수 있는 공간 등을 보여줌 |
* 예) df -h : mega byte | |
du |
* disk uage : directory 와 file 별로 할당되어 있는 file system 용량 |
* 예) du directory/file 명 ........du -sh directory : 총 용량 |
* 옵션 -b (byte단위) , -a (파일 전체) .. | |
uname |
* kernel 버전, 운영체제 정보를 알려줌 |
* uname -anrspv -a : 모든 형식을 보여줌 -m : 머신의 이름을 보여줌 -p : 프로세서의 타입을 보여줌 |
* 예) uname (linux라고 출력됨) ....... uname -a (모든 정보) | |
who |
* 현재 시스템에 접속된 사용자의 정보를 상세히 나열 | |
users |
* 현재 시스템을 사용중인 사용자를 한 줄로 표시함 | |
lsdev |
* (list devices) : hard disk 정보 | |
top |
* 진행중인 process 정보 |
* +p : cpu 점유율 수 .. +m : memory 점유율 | |
ps |
* 현재 동작중인 process 표시 |
* -a : 모든 user .. -r : 현재 진행중인 작업만 표시 .. -u : user 이름, 시작시간 등 자세한 정보 .. -ef : login shell과 관계된 processor | |
환경변수 |
* 사용자의 환경이나 프로그램의 환경변수를 출력하고 변경할 수 있도록 해줌 |
* env $path (=> 환경변수의 경로 및 사항을 보여줌) |
* source .bashrc (=> 환경변수를 다시 읽어들임, 홈 디렉토리에서 실행) | |
8. 관리자 필수사항 기초
시스템 종료 |
* shutdown -h 11:00 (11:00 에 종료) * shutdown -h 1 (1분 후에 종료 ) |
* shutdown -h now (지금 종료) ... (= halt ) | |
재시동 |
* shutdown -r now |
* reboot | |
계정만들기 |
* adduser ID |
* adduser -d /home/id -c "이름" -g 그룹이름 ID |
-d 디렉토리 생성 -c 부연설명 (comment) -g 그룹 설정 | |
비밀번호 |
* passwd ID |
* 비밀번호 입력 [엔터] | |
finger |
|
그룹추가 |
|
계정삭제 |
* userdel ID (=>home에 있는 디렉토리는 남는다.) |
* userdel -r ID (=> home 디렉토리까지 삭제) | |
kill |
* 현재 실행되어 있는 process ID를 입력해서 process를 종료하는 명령 |
* kill [PID] | |
last |
* 시스템에 마지막으로 접근한 사용자 list를 표시함 |
* last [-숫자] [-f 파일명] [-t tty] [-h hostname] [-l] [-y] [파일명] |
* 옵션 -숫자 : 숫자만큼 출력을 함 -f [파일명] : 파일명을 참조하여 출력 -t tty : 로그인한 터미널을 추적함 -y : 로그인한 연도를 추가해서 출력 |
* 예) last | |
9. 간단용어 설명
게이트 웨이 |
* 외부 네트워크와 연결해 주는 연결 네트워크 장치 | |
터미널 |
|
콘 솔 |
|
mingetty (가상콘솔) |
|
interrupt |
|
suspended |
* 작업을 백그라운드로 옮기기 : + z |
* 백그라운드로 작업중인 프로그램 list를 보여줌 : jobs |
* 작업전환 실행 : fg1 |
* 작업 강제 종료 (ps로 PID를 확인한 후) : kill -9 [작업PID] | |
운영체제 |
* kernel (장치 컨트롤) + Application (User Interface : UI) |
* 사람 <-> application <-> 운영체제 <-> 기계 | |
링크의 종류 |
* symbolic link : 위치만 지정해줌 |
* hard link : 같은 파일을 나타냄 | |