본문 바로가기
Server (LInux & Windows)/리눅스(Linux) 공통

Telnet 기본 명령어

by izen8 2013. 5. 15.
반응형




1.파일목록보기,소유/허가권 명령어.

ls 목록보기
ls -lahnd file*또는생략. 
-l ;상세목록보기(파일명,파일크기,날짜/시간,허가원,소유권,그룹정보등). 
-a ;숨겨진 파일을 포함해서 디렉토리 내의 모든 파일보기. 
-n ;소유자명,그룹명 대신 Uid,Gid로 보기. 
-h ;파일크기를 k,m단위로 보기. 
-d ;현재 디렉토리내의 정보만 보기.

ls -lR | sort +4n 가장 큰 파일을 찾으려면

ls -la 
drwxr_xr_x 2 hanvit hanvit 4k 10월7일10:10 main_html 
d(디렉토리)rwx(user rwx)r_x(group)r_x(other) 2(디렉토리수) hanvit(user소유권)hanvit(그룹소유권). 
l(심볼릭 링크(hard link,soft link) 
b(블록장치:모든 디바이스 드라이버는 파일 시스템을 통해서 접근되는데, 디스크처럼 블록 단위로 입 
출력이 이루어지는 장치를 액세스할 때 사용하는 특수 파일이 블록장치파일이다. 예)하드디스크) 
c(문자장치 : 모뎀) 

chown 사용자 소유권 변경. 
chown 소유자명 파일명 -R 
-R : 하위폴더에 있는 모든 파일 포함. 

chgrp 그룹 소유권 변경. 
chgrp 그룹명 파일명 -R 

chown 소유자명:그룹명 파일명 -R 

cp 파일복사 cp index.html index.php 
cp -i *.conf /temp 
-i : 파일복사시 복사여부 확인기능. 

mv 파일이동 
mv -i *.conf /temp 

ln 파일링크 
ln /usr/local/apache/bin/apachectl ./apache 
ln -s /usr/local/apache/bin/apachectl ./apache 
-s :소프트 링크 != 하드링크 

find 파일찾기 
find / -name[-perm,-type, -user, -group, -nouser, -nogroup, -exec 명령어 {}\;] 
/ :찾을 디렉토리 지정. 
-name 파일명 : 파일이름으로 찾기. 
-perm 모드 : 파일 퍼미션 조건이 맞는 것만 찾기. 
-type : 파일 타입(b,c,d,f,l등)을 지정하여 찾기. 
-user : 파일 소유권을 지정하여 찾기. 
-group : 그룹에 해당하는 파일찾기. 
-nouser -nogroup : 소유권이 없이 파일찾기. 
-exec 명령어 {} \; :find 명령에 의해 검색된 파일에 대해 명령를 수행할 수 있게 한다. 
find /etc -name services -exec grep tcp {} \; |more 

gzip 파일압축 
gzip -d -9 파일명 
: 옵션없이 압축한다. 
-9 :가장 좋은 압축률로 압축한다. 
-d :압축을 푼다. 

mkdir 디렉토리 생성. 

rmdir 빈 디렉토리 삭제. 

pwd 현재 디렉토리 위치를 알아낸다. 

rm 파일삭제 
rm -rf 파일명. 
-r : 하위디렉토리 까지 삭제한다. 
-f : 삭제여부 확인없이 삭제한다. 

tar 파일묶기. 
tar -cvf mysql.tar /usr/local/mysql : -c 여러파일을 하나의 이름으로 묶느다. 
tar -xvf mysql.tar : -x 묶기파일을 푼다. 
tar -zxvf mysql.tar.gz gzip으로 압축된파일을 tar로 푼다. 

cat 파일내용 출력 

more 한번에 한 화면씩 파일 내용보기. 

du 디스크 사용량 보기 
du -sh /home :홈디렉토리의 사용량을 알아본다. 
-s :개별디렉토리별로 크기를 출력하지 말고 합으로 보여준다. 
-h :k,m 단위로 보여준다.

du -S | sort -n 가장 큰 디렉토리를 찾으려면

which 지정된경로에서 파일 찾기. 

df 디스크 사용가능 용량보기 

sync 버펴 내용을 디스크에 비우기 

ps 프로세스 목록보기 
ps -auxr 
-a :현재 사용자가 실행시킨 프로세스뿐만 아니라 모든 프로세서 보기. 
-u :프로세스 소유자를 보여준다. 
-x :제어터미널에 없는 프로세스를 보여준다. 
-r : 수행중인 프로세스만 보여준다.

어떤 프로세스가 메모리를 가장 많이 잡아먹고 있는지 알아내기
ps -aux | sort +4n 또는 ps -aux | sort +5n

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 
USER :프로세스 소유자. 
PID :프로세스 고유번호. 
%CPU : CPU사용비율 
%MEM : 프로세스가 사용한 메모리 비율. 
VSZ : 가상 메모리양. 
RSS :프로세스가 사용한 실제 메모리 양. 
TTY :프로세스의 제어 터미널연결상황. 
STAT :프로세스 상태(S :sleep상태,R:cpu사용중,D:인터럽트될 수 없는 sleep,Z:Zombie,W:메모리상주없음, < :높은우선순위 프로세스 N:낮은 우선순위 프로세스 L:메로리 페이지가 잠겨 있음) 
START : 프로세스가 시작한 날짜 
TIME : 프로세스가 cpu를 사용한 시간. 
COMMAND : 프로세스의 이름 

top 모니터링 프로그램 

kill 프로세스 번호로 죽이기 

killall 프로세스 이름으로 죽이기 

who 현재 시스템에 로그인중인 사용자 보기. 

su 슈퍼 유저 권한 획득하기. 


현재 디렉토리의 크기만을 파악할때
[root@dev2 local]# du -c -h --max-depth=0 *
6.4M apache
35M bin
43M dns
1.7M doc
42k etc
1.0k games
42k geektalkd
1.1M gnuws
1.1M include
41k info
19M jakarta-tomcat-3.2.3
0 jre
15M jre118_v3
25M lib
62k libexec
1011k man
1.3M mm.mysql.jdbc-1.2c
937k sbin
3.8M share
1.8M shoutcast-1-8-3-linux-glibc6
5.2M ssl
159M total

시스템 정보 감추기
/etc/inetd.conf 파일을 열어서,
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h

FTP로 들어온 사용자 확인하기
ftpwho

ftpcount

원하지 않는 사용자 죽이기
[root@dream /root]# skill -KILL sunny
위의 명령을 내리면 sunny 라는 사용자를 완전히 추방시킬수 있습니다.
그런데 이렇게 완전히 추방시키는게 아니구, 특정 터미널에 접속해있는 사용자만 추방시켜야 할 때도 있겠죠?
그럴때는
[root@dream /root]# skill -KILL -v pts/14
이런식으로 하면 된다 그럼 pts/14 에 연결되어 있는 사용자가 죽게 됩니다.
less 결과를 vi로 보기
less상태에서 v를 누르면 바로 vi로 감


vi에서 블럭 설정하기
alt+v 하면, 라인 단위로 블럭 설정을 할 수 있으며, 해제 하시려면 Esc를 누르면 됩니다.
또한 ctl+v를 하시면, 블럭 단위로 블럭을 설정하실 수 있습니다.
블럭을 설정 하신 뒤,
삭제를 하려면 x
복사를 하려면 y
붙여넣기는 p

man 페이지 프린트하기
man -t vi > vi.ps

ping 무시하기
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

동시에 여러개의 하위 디렉토리 만들기
mkdir -p music/koreanmusic/ost

리로 다시 살리기
boot : vmlinuz root=/dev/hda6

특정 사용자 ftp 접근 막기
/etc/ftpusers 파일에 로그인 네임을 추가하면 됩니다.

ls라는 파일이 포함된 rpm패키지 찾기일단 ls의 절대경로를 알아야 한다. which lswhich로 알아낸 ls의 절대경로로 rpm질의를 한다.rpm -qf /bin/ls
[root@piruks /etc]# which ls
/bin/ls
[root@piruks /etc]# rpm -qf /bin/ls
fileutils-4.0i-2mz

현재 rpm패키지의 의존패키지
rpm -qR 패키지명
현재 디렉토리크기

du -h --max-depth=1 .

바로 이전 디렉토리로 가기
cd -


*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* ? : " " " 임의의 한 문자만을 대신 


입력과 출력에 관한 명령어



* < ---입력 
* > ---출력 
* >> ---출력, 첨가 
* 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 -- 서로 다른 두 디렉토리 비교 


백업 및 복사에 관한 명령어




(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 부여하고 관리 


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



* 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번호] 
---> 백그라운드로 실행, 로그 아웃이나 중지 신호후에도 프로세서의 수행 계속

반응형

댓글