파일 목록을 보는 명령어.. ls

리눅스 명령어 중에서 제일 빨리 알아야 하고 많이 쓰는 명령어죠..

 

하지만 디렉토리와 파일이 모두 같이 출력되어 불편아닌 불편이 되는 경우도 있습니다.

 

그래서 디렉토리와 파일을 각각 따로 보는 방법은 아래와 같습니다.

 

- 파일만 보기

 

ls -l | grep "^-" | awk '{print $9}'

 

- 디렉토리만 보기

 

ls -l | grep "^d" | awk '{print $9}'

 

참고 : 파일에 대한 속성을 전부 다 보고싶으시면 awk 명령어만 빼면 됩니다.


lilo일경우
CTRL + X 를 눌러서
boot : linux 1 (single , s) => 싱글 유저모드로 들어갑니다.
s00# 이렇게 나옵니다.
여기서 #이라는 것이 무슨 뜻인줄 아시죠 바로 root를 획득한것이죠
]#passwd 라고 해서 패스워드 바꾸시면 됩니다.
그리고 reboot

GRUB 일 경우
저 경우에는 멀티부팅으로 되어있습니다.
처음 화면이 ...
---------------------------------
l LINUX l
l Window 2000 l
l l
---------------------------------
이렇게 나오는데 LINUX에 초점 맞추시고 e키를 누릅니다.
그러면 수정(edit)모드로 들어가는데 여기에 보며는
------------------------------------------------
l root (hd1,0) ㅣ
l kernel /vmlinuz-2.4.7-x ro root=/dev/hdb5 ㅣ
l ㅣ
------------------------------------------------

root (hd1,0)
이것은 리눅스 커널이 위치하고 있는 파티션으로, 즉 “root”는 해당
파티션을 현재 GRUB의 루트 디바이스로 지정하겠다는 명령어입니다.

kernel /vmlinuz-2.4.7-x ro root=/dev/hdb5
이것은 해당 파티션상의 커널의 위치입니다.
여기 부팅이미지에 초점 맞추고 다시 e를 누르고 맨 끝에 single 이라고붙여주고 b를 눌러서 부팅해보니 싱글모드로 들어가더군요..
그다음은 위의 lilo와 같이 패스워드 바꾸시면 됩니다.

/etc/sysconfig/i18n

을 vim 편집기로 실행을 해보자 =_=

UPPORTED="ko_KR.UTF-8:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"

이렇게 되어있을것이다.

 

UPPORTED="ko_KR.euc-kr:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"

 

이렇게 고쳐주자...

위에 내용을 복사하고 터미널 에서 i18n 안의 내용을 다 지우고 복사하면 된다.

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

2015.01.03 내용 추가

EUC-KR 은 Windows와 호환을 맞추기 위한 내용이므로 리눅스 서버에서는 좋지 않다.

(EUC-KR설정은 구식 방법, UTF-8로 모두 해결 가능하다)

UTF-8 을 추천하며 터미널에서 한글은 putty 같은 클라이언트 설정에서 설정할 수 있다.


기본 명령어

출처: http://www.webfeel.com

 

adduser 또는 useradd---사용자 추가

# adduser thkim
thkim란 아이디를 만든다.

# adduser -p world -g class -s '/bin/bash' -d '/home/thkim' thkim
비밀번호가 world이고 그룹은 class 쉘은 bash 홈디렉토리는 /home/thkim 인 thkim란 아이디를 만든다.

userdel ---사용자 삭제

# userdel thkim
thkim란 아이디를 삭제한다.

# userdel -r thkim
thkim란 사용자의 홈 디렉토리까지 삭제한다.

passwd ---비밀번호 지정

# passwd thkim
thkim란 아이디에 패스워드를 부여한다.

ls ---파일과 디레토리에 대한 정보를 출력한다.

# ls -al
-l: 파일의 모든 정보 출력
-c: 최근 변경한 시간 순서데로 출력
-d: 디렉토리 명만 출력
-F: 파일의 특성을 출력( /디렉토리 *실행화일)
-a: dot(.)으로 시작하는 파일의 이름을 포함한 모든 내용을 출력
현재 디렉토리의 모든 파일을 상세히 본다.

cd ---디렉토리 사이를 이동한다.[현재 디렉토리 변경]

# cd -
방금 전의 디렉토리로 이동한다

# cd ~
홈 디렉토리로 이동한다

# cd ..
한 단계 위의 디렉토리로 이동한다

# cd /
최상위 디렉토리로 이동한다

# pushd .
현재 디렉토리를 기억한다

# popd
기억된 디렉토리로 이동한다[한 번만 가능]

cp ---파일을 다른 디렉토리로 복사하거나 다른 이름으로 복사한다.

# cp thkim /root
thkim란 파일을 /root 로 복사한다.

mv ---파일을 다른 디렉토리로 이동하거나 파일명을 변경한다.

# mv thkim hoho
thkim란 파일을 hoho로 바꾼다.

# mv thkim /work
thkim란 파일을 /work/로 이동 시킨다.

rm ---파일을 삭제한다.

# rm /root
/root 디렉토리를 지운다 :)

mkdir ---디렉토리를 생성한다.

# mkdir thkim
thkim란 디렉토리를 만든다.

rmdir ---디렉토리를 삭제한다.

# rmdir thkim
thkim란 디렉토리를 지운다

# rm -r tmp
tmp 디렉토리와 모든 내용을 지운다.

man ---지정한 명령어에 대한 설명 또는 도움말을 출력한다.

# man ls
ls에 대한 설명을 본다.

info ---man명령어 보다 자세히 나와 있음

# info ls
ls에 대한 설명을 본다.

more ---지정한 파일의 내용을 한 화면에 출력하면서 잠시 멈춘다.

# more thkim
thkim 파일을 본다
종료는 q

cat ---지정한 파일의 내용을 출력한다.

# cat thkim|more
thkim 파일을 한 화면씩 본다.

grep ---특정 파일내의 지정한 패터[문자열]과 일치하는 행을 출력한다.

# cat thkim|grep thkim
thkim란 파일에 thkim라는 문자열을 찾는다.

chmod ---파일의 접근권한[도스에서의 속성]을 변경한다.

# chmod go-rwx /root or chmod 700 /root
/root 디렉토리에 그룹과 기타 사용자의 읽기 쓰기 실행 권한을 없앤다.
u: 파일 소유자, g: 그룹, o: 기타 사용자, a: 모든 사용자
+: 사용허가부여, -: 사용허가박탈, =: 허가 취소
r: 읽기 허가, w:쓰기 허가, x: 실행 허가
r = 4, w = 2, x = 1

chown ---파일의 소유자를 변경한다.

# chown thkim file
file의 소유권을 thkim로 바꾼다.

df ---사용가능한 디스크의 용량을 출력한다.

# df
사용 가능한 디스크 용량을 출력한다.

du ---지정해준 디렉토리내의 파일이 차지하는 용량을 알아내는 명령어

# du -b /home
/home 디렉토리 밑의 용량을 바이트로 표시한다.

# du -sh /usr
/usr 디렉토리 밑의 용량을 메가바이트 단위로 보여준다.

cfdisk --- 디스크 정보를 출력한다.

# cfdisk

hdparm ---하드 디스크 인터페이스

# hdparm -c3 -d1 /dev/hda
hda드라이브 32bit전송 dma모드를 On 시킨다.

find ---주어진 파일명과 동일한 파일을 찾고, 그 경로를 출력한다.

# find / -name thkim -print
최상위 루트 디렉토리부터 검색하여 검색된 파일을 한 행에 하나씩 표준 출력

# find . -name thkim -print
현제의 작업 디렉토리에서 검색

# find / -size +1000 -print
최상위 루트에서 크기가 1000블록 이상인 파일 검색

# find . -size -1000 -print
현 디렉토리에서 크기가 1000블록 이하인 파일 검색

# find . -mtime +10 -print
10일 이전에 수정된 파일 검색

# find . -mtime -10 exec rm {} \:
10일 이내에 수정한 파일을 검색하여 모두 지운다

# find / -cmin 5 -print
5분전에 마지막으로 수정된 파일을 찾을 수 있다.

# find /home -empty -print
/home 디렉토리에 용량이 0인 파일과 디렉토리를 찾는다.

# find / -perm -4000 -print
퍼미션이 4000 이상인 파일을 모두 출력한다.

finger ---호스트에 사용자가 로긴했는지 검사

# finger thkim@thkim.com
thkim.com이란 호스트에 thkim란 사용자가 접속 했는지 검사하구 있다.

chfn --- finger 정보를 수정한다.

# chfn thkim
thkim의 finger정보를 수정한다.

file --- 파일에 대한 간략한 정보를 본다.

# file ls
ls파일에 대한 정보를 출력한다.

jops ---실행중인 프로그램을 확인한다.

# jops
실행중인 프로그램을 확인한다.

env ---현재 사용하고 있는 terminal 정보를 볼 수 있는 명령이다.

# env
현재 사용하고 있는 terminal 정보를 볼 수 있는 명령이다.

history ---최근에 사용했던 명령어를 기억하는 명령

# set history=100 set savehist=100
최근에 사용했던 100개의 명령어를 기억하기

whereis ---binary, source, manual page files의 위치를 찾을 수 있는 명령

# whereis ls
ls 파일의 위치를 찾아 그 경로를 표시한다.

which ---각 사용자가 정의한 ~/.cshrc 화일에서 정의 한 내용을 이용하여 사용자에게 명령의 위치를 알려줌

# which mail
which 명령이 활용하는 내용은 다음과 같다.
1 ~/.cshrc 화일의 경로를 따라 명령이 있는곳을 검색
2 ~/.cshrc 화일에서 정의한 alias의 검색

kill --- 실행중인 프로그램을 종료시킨다.

# kill -9 555
pid가 555인 프로세스를 종료 시킨다

mount ---기억장치 디렉토리에 붙여쓰기

# mount -t iso9660 /dev/cdrom/ /mnt/cdrom
시디롬을 /mnt/cdrom이란 디렉토리에 마운트 시킨다

tar ---파일들 묶기/풀기

# tar -zcvf thkim /etc
/etc 디렉토리를 thkim란 파일로 압축시킨다.

# tar -zxvf thkim /etc
압축된 thkim란 파일을 /etc디렉토리에 압축을 푼다.

# tar -zcvf thkimall thkim thkim2 thkim3
thkim thkim2 thkim3 파일을 thkimall 파일로 압축한다.

clear ---화면지우기

# clear
현재 화면을 깨끗이 한다

touch ---내용이 없는 빈 파일을 생성, 이미 생성된 파일의 수정 시간 갱신

# touch [option] [시간] [파일명]

who or w---현재 사용자 확인

# who
현재 리눅스를 이용하는 사용자를 확인한다.

ps ---프로세스 상태 보여주기

# ps ax|grep netscape
현재 netscape가 실행 되었는지 확인한다.

pwd ---현제 디렉토리 표시

# pwd
현재 디렉토리가 출력된다.

cal ---달력을 표시한다

# cal 9 1999
1999년 9월 달력을 출력한다.

date ---현재 시간과 날짜를 화면에 표시한다.

# date
현재 시간과 날짜를 화면에 표시한다.

alias ---자주 쓰이는 명령어를 쓰기 편하게 바꾸는 명령

# alias dir='ls -al'
ls -al명령어를 dir로 실행 가능하게 만든다.

# alias 복사=cp
자 이제 cp명령 대신 '복사'라는 명령을 내려도 된다.

whoami ---현재 사용자를 표시한다.

# whoami
유사 명령어 who am i

shutdown ---리눅스 시스템을 종료시 쓰는 명령어

# shutdown -h now
시스템을 종료 시킨다.

# shutdown -r now
시스템을 리부팅 시킨다.

# shutdown -r -t 12:00
시스템을 오전 12시에 리부팅 시킨다.

halt ---리눅스 시스템을 종료시 쓰는 명령어

# halt
시스템을 종료 시킨다.

reboot ---리눅스 시스템을 리부팅시 쓰는 명령어

# reboot or [ Ctrl + Alt + Del ]
시스템을 리부팅 시킨다.



 리눅스의 핵심은 커널이지만 일반 사용자가 사용할 수 있도록 공개될 때는 수백가지의 GNU패키지를 포함하는 배포본 형태로 공개되고 있다. 물론 커널 자체가 계속적으로 패치되고 있는 것과는 별개로 배포본 자체도 버전업된다.
이렇게 일반에 공개되는 리눅스의 배포본의 형태도 여러가지 종류인데,차츰 리눅스 설치/유지/보수시 어려움을뛰어넘고자 시도하는 모습이 새로운 배포본이 출현하면서더해가고 있다.
이 런 배포본의 종류에는 대표적으로 슬렉웨어,레드햇,데비안 등이 있는데 세가지 모두 리눅스 커널을 기본으로하기 때문에 운영체제자체가 다른 것은 아니라고 것을 밝혀둔다. 단지 GNU패키지는 같지만 그 구성에 있어서 변화가 있는 여러가지의 배포본이 등장하게 된 것이다.

./슬렉웨어
전세계적으로 가장 유명하고 가장 많은 사용자를 가지고있는 리눅스 배포본이다. 슬렉웨어 자체만으로는 나무랄데없는 프로그램이지만 패키징 방법에 있어서는 말이 많다.
설치 시 어려움은 둘째라도 쉘스크립트와 압축 기법만을이용한 슬렉웨어 패키징은 기존 프로그램의 업그레이드나추가할때 불편한 점이 많다. 웬만큼 리눅스에 익숙하지않으면 슬렉웨어 에서의 업그레이드는 어려운 일이다.
좀더 편리한 방법의 패키징 방법을 개선하지 않는 한 레드햇이나 데비안에 그 인기를 물려줘야 할지도 모를
위기에 처해 있다.

./레드햇
슬 렉웨어처럼 낮은 수순의 패키징 방법에서 벗어나 레드햇 패키지 매니저(RPM)방식이라는 좀더 고급적인 패키징 방법을 사용한다. 설치뿐만 아니라 추후의 업그레이나 추가등도 쉽게 할 수 있는 형태의 리눅스 배포본이다. 특이한 점은 RPM 방식을 잘 활용 할 수 있는 윈도우 95의 제어판 같은 X윈도우용 프로그램인 컨트롤 패널을 지원한다는 것이다.
여기서 현재 인스톨되어 있는 프로그램과 추가/업그레이드/삭제할 수 있는 패키지를 보여 줌으로써 GUI방식으로 패키지 관리를 할 수 있다.
지금까지 발표된 리눅스 배포본중 가장 훌륭하다는 평가를 받고 있지만 데미안의 추격도 만만치 않다.

./데비안
데비안 시스템은 리눅스 배포본중에서 유일하게 FSF(Free Software Foundation)GNU프로젝트의 공식 지원을 받고 있다는 특징이 있다.
레 드햇의 RPM과 비슷한 특징을 갖는 DEB라는 패키징 방법을 사용해 컴퓨터 시스템을 다시 포맷하거나, 사용을 중단하지 않고 부분,또는 전체적으로 추가/업그레이드/삭제할 수 있다는 장점을 지닌다. 데비안에서 제공되는 모든 GNU패키지가 이런 처리에 맞게 패키지 데이타베이스에 등록되어 있으며, 고유한 자료 형식인 deb로 압축되어 변환되어 있다. 이것은 슬렉웨어의 tgz,레드햇의 rpm처럼 하나의 패키지 파일이다. 데비안은 또한 레드햇 패키지를 데비안 패키지로 변환해 시스템에 설치할 수 있다. 데비안은 'alien'이라는 프로그램을 통해 rpm 확장자가 붙은 레드햇 패키지를 읽어 데비안 패키지로 변경시켜 준다. 따라서 레드햇을 흡수 할 수 있는 장점도 지니고 있다.

./SLS(Softlanding Linux System)
이 버젼은 리눅스에 관한 디스크 23개의 X11에 관한 디스크 10개로 구성되어 있다. 첫번째 디스크(a1)를 플로피에 대하여 "rawriten"(rawritten) 그리고 이미지의 나머지 부분은 DOS의 copy명령을 사용하여 DOS의 파일 포맷으로 포맷된 플로피에 기록해야 한다. 이 버젼은 리눅스를 시작하고자 할 때 필요한 모든 소프트웨어 패키지를 포함하고 있다. 처음 대하는 사람에게는 설치가 쉽게 되어 있다. SLS 버젼은 tsx-11.mit.edu의 사이트에서 /pub/linux/package(s)의 디렉토리 그리고 sunsite.unc.edu의 사이트의 /pub/linux/SLS의 디렉토리에서 찾을 수 있다.

./TAMU(Texas A&M Univesity) Linux
이 버전은 거의 SLS 버젼과 비슷하다. 그러나 SLS와는 조금 다른 소프트웨어 패키지를 가지고 있고,설치과정 또한 틀린점을 가지고 있다. 설치 과정이 SLS와의 주요 차이점이다. 하나의 부트 디스켓으로 자동 설치프로그램을 직접 부트 시키는 방법이 사용된다. 이런 설치 프로그램은 파일 시스템을 포함한 모든 것들에 대한 구성과 LILO를 이용한 하드드라이브로 부터의 부팅 그리고 간소화 시킨 X의 구성 등에 대하여 사용자에 물어본다.
이 버젼은 X 윈도우,emacs,네트워킹 도구,부트 도구들 그리고 어떠한 제약도 없는 모든 설치 프로그램의 소스 목록 등 모든 것을 포함하고 있다. TAMU는 sc.tamu.edu 사이트의 pub/free_unix4에 구할 수 있다.

./H.J.Lu's bootable rootdisk
이 버젼은 하나의 플로피에 들어갈 수 잇는 리눅스 커널과 기초 바이너리들의 버젼이다.
Lu의 gccdisk,libdisk등을 따라 손으로 리눅스 시스템을 설치하고,업그레이드하기에 좋다.
하지만 실제적으로 어떠한 설치 문서가 없기 때문에 초보자들에게는 맞지 않다.H.J.Lu의 부팅 루트디스크는 tsx-11.mit.etu 사이트의 /pub/linux/package/GCC 디렉토리 에서 찾을 수 있다.

./Manchester Computing Centre Interim Release
이 버젼은 전설적인 MCC-Iterim 리눅스이다.
원래는 de facto 표준 리눅스 배포 버젼이었다.
이 버젼은 슬렉웨어처럼,리눅스 소프트웨어의 중요한 거의 모든 부분을 가지고 있다. 그러나 emacs 또는 X 윈도우는 포함하고 있지 않다.

./Trans-Ameritech
이 버젼은 CD-ROM 버젼밖에 없다. 이 CD-ROM은 완벽한 풀버젼을 제공하고 압축되어 있지 않은 부트가 가능한 리눅스 파일시스템을 가지고 있다.
특징은 두 가지 구별되는 이점이 있다. 첫째,파일을 선택해 액세스 할 일이 생겼을 때,압축을 풀 필요가 없이 즉시 액세스 할 수 있다.그리고 두 번째로는 압축된 파일을 풀기 위한 공간의 필요성이 없어졌다.
CD-ROM은 모든 소스코드,압축되어 있지 않은 파일 시스템,그리고 NetBSD 소스와 바이너리 배포에 있어서 슬렉웨어에 기초한 것이다.
하 드웨어의 충돌을 최대로 작게 하기 위해 많은 보조 커널이 여러 다른 구성을 위해 제공되어 진다.또한 리눅스이 문서화 프로젝트 파일의 source,dvi 그리고 ps 포맷을 포함은 많은 온라인 문서가 빠른 참조르 가능하게 해준다. 이 배포는 팩스 송/수신을 가능하게 해주는 FlexFax를 포함한다.
처음 리눅스를 사용하는 사람을 위해,리눅스가 설치되기 전,DOS에서 여러문서를 읽을 수 있도록 되어 있다. 리눅스의 모든 소스파일은 CD-ROM에서 얻을 수 잇다. 자주 이용하는 소스코드 파일들은 압축되어 있지 않기 때문에 CD-ROM에서 직접 사용 할 수 있다. 압축되어 있지 않는 리눅스의 파일 시스템은 참조와 디스크 공간 관리에 이용할 수 있다. 그리고 CD-ROM에서 직접프로그램을 실행 할 수 있다. 컴퓨터애효가들을 위해, 압축되지 않은 FreeBSD가 제공된다. roman@trans-am.com 으로 주문할 수 있다.

./LST(Linux Suport Team Erlang Distribution)
사 용자가 독일어를 말할 수 있다면, 이버젼은 그 사용자를 위한 것이다. 메뉴,매뉴얼,그리고 설치 설명서들이 독일어로 되어 있다. 이 버젼은 ftp.uni-erlangen.de 사이트의 /pub/Linux/LST.distribution에서 구할 수 있다.

./Yggdrasil Plug-and-Play Linux
완 전한 CDROM버젼으로 되어 있다. 완전한 유닉스 시스템에서 발견되는 거의 모든 패키지들이 들어 있다. 완벽한 파일목록은 yggdrasil.com. 사이트로부터 FTP를 이용하여 사용할 수 있다. 그리고 유닉스와 리눅스의 많은 문서들과 리눅스 문서 프로젝트로부터 나온 3권의 책을 포함한 리눅스 바이블이라는 것을 제공한다. Yggdrasil 설치
매뉴얼과, 리눅스의 HOWTO의 완전한 모음을 제공한다. Yggdrasil의 Plug-and-Play 리눅스는 plug-and-play 작용으로 이름이 붙여졌다.
이 작용은 플로피를 드라이브 A에 넣고,컴퓨터를 켠 후에 모든 질문에 답을 하는 것이다. 이것이 설치의 전부이다. 그러나 이는 실제적으로는 복잡한 부분이 있다.왜냐하면,설치를 시작하기 전에 사용자의 하드웨어가 호환성이 있는지부터 먼저 알아야 하기 때문이다. 로긴 화면은 미리 구성되어진 사용자수와 시스템을 설치하는 install,사용자에게 했던 질문에 대해 설명을 해주는 패러그래프를 포함하여 보여준다.설치 스크립터는 모뎀을 찾기 시작하고, 그것을 찾았을 때 Yggdrasil에 있는 게시판을 통하여 전자메일이 인터넷 주소에 정확하게 전달되게 하기 위해 메일과 UUCP를 구성한다. 네트웨킹,SLIP,UUCP,프린터 등의 추가기능을 위한 제어판 뿐 아니라,X를 처음 실행한다면 자동으로 실행된다. info@yggdrasil.com의 주소로 전자메일을 보내 구할 수 있다.

./infoMagic Developer's Resource CDROM kit
sunsite.unc.edu 그리고 tsx-11.mit.edu 사이트에 저장되어 있는 단편들이다. 여기에는 GNU의 소프트웨어의 모음이 포함돼 있다.(소스의 형태로),그리고 다음에 열거한 리눅스 버전 역시 디스크에 있다.
Slackware,Debian,SLS,TAMU,MCC,그리고 JE(Japanese Extensions)리눅스의 HOWTO 문서들은 리눅스 사용자들을 위해 만들어져 왔다. 이는 Order@InfoMagic.com을 통해 연락할 수 있다. CD의 내용은 InfoMagic.com 사이트의 /pub/Linux의 디렉토리 또는 ftp.uu.net사이트의 /vendor/InfoMagic/cd-rom/linux 디렉토리에서 찾을 수 있다.

리눅스의 배포판이 위의 모든것이 아니다.
자세한 것은 뉴스그룹에서 살펴보기 바란다.
어떤 것이 뛰어나다고 단정지을 수 없다.
아직까지도 편리한 인터페이스를 제공하는 레드햇이나 데비안을 마다하고 슬렉웨어를 고집하며 사용하고 있는 파워 사용자가 많음을 볼때 우열을 가리기란 쉬운 일이 아니다.
실 제로 아직도 많은 리눅스 애플리케이션이 슬렉웨어 패키징 방법으로 많이 존재하고 있기 때문에 레드햇이나 데비안의 RPM/DEB 만을 믿을 수 없다. 하지만 슬렉웨어은 패키징 방법이 계속해서 변함이 없다면 문제가 있다. 레드햇과 데비안은 서로 상호 보안하는 패키징 형태로 발전해 나갈 듯 하다.

---2004 년 10월 21일 자 자료 네이버 블로그에서 옮긴 자료---

그냥 쓸만한 리눅스 명령어들

addbib - 도서목록 형식의 데이터베이스를 만들거나, 확장
apropos - 사용설명서의 키워드 검색
ar - 라이브러리 만들기, 관리
at, batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
awk - 패턴 검색과 언어 처리
banner - 큰 글자(배너) 만들기
basename - 경로 이름에서 마지막에 있는 이름만 출력
biff - 자신에게 편지가 배달되면 알려주는 명령
bin-mail, binmail - 예전에 사용한 전자우편 프로그램
cal - 달력보기
calendar - 간단한 일정표
cat - 파일 병합과 내용 보기
cb - 간단한 C 프로그램 beautifier(?)
cc - C 컴파일러
cd - 작업 디렉토리 바꾸기
checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
chgrp - 파일의 사용자 그룹 바꾸기
chmod - 파일의 접근 권한 바꾸기
clear - 터미날 화면 깨끗이 하기
cmp - 두 파일을 바이트 단위로 비교
colcrt - troff 파일의 밑줄 속성 문자 처리
comm - 지정 두파일의 줄 단위 비교와 그 처리
compress, uncompress, zcat - 파일 압축관련 유틸리티들
cp - 파일 복사
cpio - copy file archives in and out
cpp - C 언어 전처리기
csh - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
ctags - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
date - 시스템 시간 보기나 지정하기
dbx - 소스 수준의 디버거
deroff - nroff, troff, tbl, eqn 관련 내용 지움
df - disk free: 디스크의 남은 용량 보기
diff - 두 파일의 차이점 비교
du - disk used : 디스크 사용량 보기
echo - 인자를 표준 출력으로 출력
ed, red - 기본 줄 편집기
eqn, neqn, checkeq - 수식 표현 포멧 도구
error - 컴파일러 오류 메시지 목록
ex, edit, e - 줄 편집기
expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로
expr - 인자를 수식으로 처리
file - 파일 형식 알아보기
find - 파일 찾기
finger - 사용자 정보 알아보기
fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구
fold - 긴 줄 출력 방법 지정
ftp - 파일 전송 프로그램
gcore - 실행 중인 프로세스의 core 이미지를 구한다.
gprof - call-graph profile data(?)를 보여줌
grep - 문자열 찾기
groups - 사용자의 그룹을 보여줌
history - 이전 명령 보기
hostname - 현재 시스템 이름을 보여줌
imake - makefile 만드는 프로그램
indent - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구
install - 파일 설치
join - 관계형 데이터베이스 연산자
kill - 프로세스 죽이기 - "마누라 죽이기"와 상관없음 :-)
last - 사용자가 마지막 접속 상태를 보여줌
ld, ld.so - 링크 편집기, 동적 링크 편집기
leave - 자신의 접속 종료 시간을 알려줌
less - more 명령의 확장
lex - 어휘 분석 프로그램 생성기
lint - C 프로그램 verifier
ln - 파일의 하드, 심벌릭 링크 명령
login - 시스템 접속 명령
look - 시스템 디렉토리나, 정열된 목록에서 단어 찾기
lookbib - 도서목록형 데이타베이스에서 찾기
lorder - 오브젝트 라이브러리의 관계 찾기
lp, cancel - 인쇄 시작, 취소
lpq - 인쇄 작업 상황 보기
lpr - 인쇄
lprm - 인쇄 작업 지우기
ls - 디렉토리 내용 보기
mail, Mail - 전자 우편 프로그램
make - 실행 파일을 만들거나, 특정 작업 파일을 만들 때 사용하는 도구
man - 온라인 사용자 설명서를 보는 명령
mesg - 메시지 수신 상태를 보거나 지정
mkdir - 디렉토리 만들기
mkstr - C 소스 파일을 참조로 오류 메시지 파일을 만듬.
more, page - 텍스트 파일 보기 명령
mv - 파일 이동이나, 이름 바꾸기
nawk - 패턴 검색과 언어 처리
nice - 낮은 우선권에서 명령 실행
nm - 심블 이름 목록 보기
nroff - 문서 포멧 도구
od - 8진수, 10진수, 16진수, ascii 덤프
passwd, chfn, chsh - 비밀번호, 핑거정보, 쉘 바꾸기
paste - 여러파일의 서로 관련 있는 줄 연결시키기
pr - 문서 파일 양식화 도구
printenv - 현재 환경 변수들의 내용과 그 값 알아보기
prof - profile 자료 보기
ps - 현재 프로세스 정보 보기
ptx - permuted(순열화된?, 교환된?) 색인 만들기
pwd - 현재 작업 디렉토리 보기
quota - 한 사용자에게 지정된 디스크 할당량보기
ranlib - archive를 random 라이브러리로 변화
rcp - 리모트 카피
rcs - RCS 파일 속성 바꾸기
rcsdiff - RCS revisions 비교
rev - 한 줄의 문자열 꺼꾸로
rlogin - 리모트 로그인
rm, rmdir - 파일, 디렉토리 지우기
roffbib - 도서목록형 데이터베이스 보기 또는 양식화
rsh - 리모트 쉘
rup - 로칼 머쉰의 호스트 상태 보기(RPC version)
ruptime - 로칼 머쉰의 호스트 상태 보기
rusers - 현재 접속자 보기 (RPC version)
rwall - 모든 사용자에게 알림(RPC)
rwho - 현재 접속자 보기
sccs - Source Code Control System (SCCS)
sccs-admin, admin - SCCS 사용 내역 파일을 만들고, 관리
sccs-cdc, cdc - SCCS 델타의 델파 주석을 바꿈
sccs-comb, comb - SCCS 델타 조합
sccs-delta, delta - SCCS 파일에 데해 델타를 만듬
sccs-get, get - SCCS 파일 버전확인
sccs-help, help - SCCS 오류나 경고 메시지 검색
sccs-prs, prs - SCCS 사용내역의 선택된 부분 보기
sccs-prt, prt - SCCS 파일에서 델타 테이블 정보를 봄
sccs-rmdel, rmdel - SCCS 파일에서 델타를 지움
sccs-sact, sact - SCCS 파일의 편집 상태를 봄
sccs-sccsdiff, sccsdiff - SCCS 파일들의 버전 비교
sccs-unget, unget - SCCS 파일의 미리 얻은 것(?)을 취소한다.
sccs-val, val - SCCS 파일 유요화
script - 화면 갈무리
sed - stream editor
sh - 유닉스 표준 쉘
size - 오브젝트 파일의 크기들을 보여줌
sleep - 지정한 시간 만큼 실행 보류
sort - 줄 정열과 검색
sortbib - 도서목록형 데이터베이스 정열
spell, hashmake, spellin, hashcheck - 맞춤범 검사(물론 영어겠지요)
split - 파일 나누기
strings - 오브젝트 파일이나, 실행 파일에서 문자열 찾기
strip - 오브젝트 파일에서 심벌 테이블과 중복된 비트 삭제
stty - 터미날 설정
su - super-user, 임시적으로 새 ID로 바꿈
symorder - 심벌 순서 바꿈
tabs - 터미날 tab 크기 지정
tail - 파일의 끝 부분 보기
talk - 다른 사용자와 이야기하기
tar - 여러 파일 묶기 또는 묶긴 파일 풀기
tbl - nroff 또는 troff의 도표 작성 도구
tee - 표준 출력으로 방향 전환
telnet - TELNET 프로토콜을 이용한 원격 리모트 호스트 접속
test - 주워진 환경이 참인지, 거짓인지를 돌려줌
tftp - 간단한 ftp.
time - 명령 실행 시간 계산
touch - 파일 날짜 관련 부분을 바꿈
troff - 문서 양식화 도구
true, false - 쉘 스크립트에서 사용되는 참/거짓을 리턴하는 명령
tsort - topological sort
tty - 현재 터미날 이름 보기
ue - MICROemacs
ul - 밑줄 속성 문자 표현
unifdef - cpp 입력 줄에서 ifdef 부분 바꾸거나 지움
uniq - 중복되는 빈줄 지우기
units - 프로그램 변환도구
uptime - 시스템 부팅 기간 보기
users - 현재 접속 사용자 보기
uucp, uulog, uuname - 시스템 간의 복사
uuencode, uudecode - 이진 파일을 아스키파일로 인코딩, 반대로 디코딩
uusend - 리모트 호스트에 파일 보내기
uux - 리모트 시스템 명령 실행
vacation - 자동으로 편지 답장하기
vgrind - grind nice program listings
vi, view, vedit - ex 바탕의 편집기
vtroff - 문서 양식화 도구
w - 현재 누가 접속해 있으며, 무엇을 하고있는지
wait - 프로세스가 마치기를 기다림
wall - 모든 사용자에게 알림
wc - 단어, 줄, 바이트 계산
what - 파일에서 SCCS 버전 정보 알아냄
whatis - 명령의 간단한 설명 보여줌
whereis - 찾는 명령의 실행파일, 소스, 맨페이지가 어디 있는지 경로를 보여줌
which - 명령만 찾음.
who - 시스템에 접속되어 있는 사람만 보여줌
whoami - 현재 사용하고 있는 자신이 누군지 보여줌
write - 다른 사용자의 화면에 특정 내용을 알림
xargs - 명령행 인자 처리 명령
xstr - extract strings from C programs to implement shared strings
yacc - yet another compiler-compiler: 파싱(형태소분석) 프로그램 생성기
yes - 항상 yes만 응답하는 명령
zcat - 압축 파일 내용보기

< 출처 : http://oops.org/SERVICE/jsboard/read.php?table=jsboard_oopsFAQ&no=60&page=8 >
SSH란 무엇인가?

 우리가 별 생각없이 쓰고 있는 전통적인 ftp, pop, telnet 와 같은 서비스들은 익히 알려진대로 메시
지들이 암호화 되지 않은 방식이므로 스니핑과 같은 해킹 기법에 의해 암호가 노출될 수 있습니다.

SSH는 이러한 서비스들이 보안에 아주 취약한 점을 대체하기 위하여 나온 원격 로그인 프로그램입니다.

 일반 로그인 프로그램들이 패킷을 전송할 때 평문으로 전달을 하기 때문에 패스워드를 쉽게 가로챌 수 있는 것에 비해 SSH는 패킷 자체를 암호화 하여 전송하기 때문에 원격 관리에 혁명을 일으킨 프로그램입니다. SSH를 통한 모든 데이타는 암호화되며, 트래픽은 압축되어 더 빠른 전송 효율을 얻을 수 있습니다.

여기서는 ssh1, ssh2 와 호환이 되는 OpenSSH로 설명을 하며 인증키 방식을 설명하지 않고 패드워드 방식으로 설명을 합니다.(왜냐? 이게 더 간단하니까!) 


OpenSSH 설치하기

 OpenSSH 의 리눅스 버전은 http://www.openssh.com/portable.html에서 배포되고 있으며 소스와
RPM 패키지로 배포되고 있습니다.

대부분의 레드햇 계열 배포판에서는 설치시에 openssh 클라이언트 패키지가 설치 됩니다. 사용자들은 서버 패키지만 설치하면 쉽게 ssh 서버를 구축할 수 있습니다.

 와우리눅스 7.1 파란의 경우 OpenSSH 2.5.0 버전의 ssh 클라이언트가 기본으로 설치가 되며 ssh
서버를 구성하기 위해서는 openssh-server 패키지를 설치하면 됩니다. 와우리눅스 7.0 까치 사용자 들은 아래의 패키지를 설치하여 업그레이드 하면 됩니다.

#rpm -Uvh openssh-2.9p2-1.i386.rpm

#rpm -Uvh openssh-server-2.9p2-1.i386.rpm

#rpm -Uvh openssh-clients-2.9p2-1.i386.rpm


와우리눅스 7.1 파란의 경우, openssl 패키지와의 의존성 문제로 업그레이드가 안될 것입니다. 이러
한 문제는 소스 패키지를 재빌드 하여 설치하면 해결 됩니다.


#rpm --rebuild openssh-2.9p2-1.src.rpm

#cd /usr/src/redhat/RPMS/i386/

#rpm -Uvh openssh-2.9p2-1.i386.rpm

#rpm -Uvh openssh-server-2.9p2-1.i386.rpm

#rpm -Uvh openssh-clients-2.9p2-1.i386.rpm




서버 실행

ssh 서버를 구축하기 위해서는 아래의 패키지를 설치합니다. ssh 서버는 22번 포트를 사용합니다.

#rpm -Uvh openssh-server-2.9p2-1.i386.rpm

#/etc/rc.d/init.d/sshd start

이렇게 해서 OpenSSH 서버를 실행 시킵니다. 이제 ssh 서버가 실행중인 상태입니다.


openssh 서버를 xinetd 서버로 운영하기



/etc/xinet.d/아래에 ssh 이름으로 파일을 만들고 아래와 같이 작성합니다.

service ssh
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/sshd
server_args = -i
log_on_failure += USERID
}



ssh 로 원격 컴퓨터에 접속하기

 telnet 를 사용하여 telnet 서버에 접속하는 것처럼 ssh 명령을 사용하여 ssh 서버에 접속합니다.

ssh 를 사용하는 방법은 꽤 쉽습니다. telnet 의 사용방법과 동일하며 유연한 많은 옵션을 지원합니
다.

자세한 것은 man ssh 하시고 일단은 다음과 같이 접속할 수 있습니다.

접속하고자 하는 호스트의 계정은 -l 옵션을 사용하여 접속하거나, @ 로 계정과 서버주소를 구분하여 접속합니다.

#ssh -l 유저네임 서버주소

#ssh 유저네임@서버주소      (예 -- ssh lsk@xiannetwork.com)


만약, host 에 처음 연결하는 것이라면 유저 인증을 하기 위해 아래와 같은 메시지 프롬프트를 보게
됩니다.

The authenticity of host 'hostname' can't be established.

RSA key fingerprint is 3b:60:57:4e:6c:59:5a:99:cf:41:d5:e0:14:af:0d:a1.

Are you sure you want to continue connecting (yes/no)?


물론 눈치 채셨겠지만, 여기에서는 yes 라고 답해 주시면 됩니다.


보안 파일 전송 SCP 사용하기

ssh는 또한 보안적인 방법으로 인터넷에서 파일 전송을 하는 방법을 제공합니다. 이 프로그램은
scp (Secure Copy)라고 하며 scp 의 사용방법은 매우 단순합니다.

#scp user@host:filename user@host:filename


ssh 를 이용하여 다른 호스트에 로컬 파일을 복사하려면,

#scp linux.gif junilove@junilove.nameip.net:


이렇게 하면 현재 디렉토리에 있는 freeos.gif 파일이 junilove.nameip.net 호스트의 junilove 유저의
디렉토리에 복사가 됩니다. 끝에 있는 ':' 은 반드시 써주어야 합니다.

반대로 호스트에 있는 파일을 로컬 디렉토리에 복사하려면,

#scp junilove@junilove.nameip.net:linux.gif ./


합니다. 이렇게 하면 junilove.nameip.net 의 junilove의 유저의 홈디렉토리에 있는 linux.gif 파일을 로
컬 디렉토리에 복사합니다.

scp 에 '
-r' 옵션을 사용하면 하위 디렉토리까지 복사할 수 있습니다.

윈도우용 ssh 클라이언트

리눅스 시스템에서는 ssh 클라이언트가 설치되어서 바로 사용할 수 있지만 윈도우 시스템에서는
별도의 ssh 지원 클라이언트를 설치해야 합니다. 필자가 사용한 PuTTY 는 ssh2 프로토콜을 지원하는 공개소프트웨어이며, 소스도 공개되어 있습니다.

이 외에도 scp 클라이언트로 pscp.exe 가 배포되고 있습니다.

다만 한글지원이 잘 되지 않는다는 문제점이 있습니다. 이외에도 쉐어웨어로 많이 사용되는 SecureCRT 가 있습니다.

 PuTTY를 사용하기전에 먼저 http://www.chiark.greenend.org.uk/~sgtatham/putty/ 에서 PuTTY를
받아서 설치합니다.

별도의 설치과정은 필요없으며 실행파일을 실행하기만 하면 사용 할 수 있습니다. 처음 실행하면 아래와 같은 화면이 보이며 'Host Name' 부분에 서버주소를 적고 'Protocol' 은 ssh 로 설정합니다.

PuTTY 는 기본으로 ssh1 프로토콜을 사용하도록 설정되어 있습니다. 이
것을 ssh2 프로토콜으로 변

경합니다.

이제 'open' 버튼을 클릭하면 연결이 됩니다. 연결이 되면 처음 접속시에는 아래와 같은 화면이 보
입니다. yes 를 선택합니다.

'login as:' 에 계정이름을 적고 'password:' 에 계정암호를 입력하면 로그인이 됩니다. 쉘 프롬프트
에서 exit 를 입력하면 자동으로 로그아웃되며 PuTTY 의 프로그램은 종료됩니다.


ssh 사용 팁

ssh 를 여러가지로 활용하여 사용할 수 있습니다. 더 자세한 것들은 man ssh 를 하여 메뉴얼 페이지를 보세요. 먼저 아래와 같이 하면 서버에 있는 파일을 로컬로 복사 할 수 있습니다.

#ssh user@remote.com dd if=remotefilename | dd of=localfiename


다음과 같이 하면 서버의 파일을 로컬의 /dev/fd0 장치 드라이버에 기록할 수 있습니다.

#ssh user@remote.com dd if=remotefilename | dd of=/dev/fd0


아래의 방법은 현재의 디렉토리를 압축하여 서버의 junilove 계정의 홈디렉토리에

my_local_backup.tar.gz 에 기록합니다.

#tar cfz - . | ssh junilove@yourmachine.com dd of=my_local_backup.tar.gz


관련 자료

http://www.openssh.com/faq.html : OpenSSH FAQ

http://kldp.org/HOWTO/mini/html/Compressed-TCP/ : 압축된 TCP/IP세션을 SSH 같은 도구들로 이용하기

http://kldp.org/KoreanDoc/html/SSH-KLDP/ : SSH Howto

###########에러 구문 참고#####################################################

본적으로 ssh2 는 DNS의 Reverse (역질의)를 참고한다.

즉 이 역질의를 꺼놓지 않으면 다음과 같은 에러가 난다.

[young@local young]$ ssh
whoami.sarang.net

Disconnected; authentication
error (No further authentication methods available.).

[young@local young]$

이 에러를 제거하기 위해서는 다음과 같이 ssh2d_config를 수정해야 한다.

[root@whoami ssh2]# vi
/etc/ssh2/sshd2_config

46 RequireReverseMapping yes

47 UserKnownHosts yes

위 46번째 줄에 yes를 no로 바꾸어 준다. 참고로 sshd2_config 파일은 sshd2 데몬의 설정 파일이다.


+ Recent posts