리 눅스는 윈도우가 아니며, 몇 가지 유사성을 띠고 있다 해도 리눅스를 좀 편하게 쓸 수 있으려면 그 전에 "뭔가 새로운 방법"을 배워야 한다는 걸 깨달아야 한다. 리눅스는 유닉스의 오픈소스 복제품으로, 유닉스란 도스(DOS)와 윈도우 이전부터 있던 운영체제이며 다중 사용자용으로 설계된 안전한 운영체제(OS)이다.

다음에 기술할 내용은 리눅스와 다양한 BSD류의 유닉스 기반 *nix 시스템에 일반적으로 적용된다. 이 글에서는 모두 리눅스에서 사용한다고 가정한다.

반드시 알아야 할 10가지를 다음에 나열했다.

1. 파일 계층
각 드라이브 당 파일 트리를 하나씩 갖고 있는 여타 OS와는 달리 리눅스 파일 시스템은 하나의 거대한 트리 구조이다. 맨 꼭대기에 / (루트)가 있고 모든 폴더, 파일, 드라이브는 이 루트에서 가지가 뻗어나간다.

예를 들어, 여러분이 하드 드라이브 2개(a와 b), 플로피 드라이브 1개, CD롬 1개가 있다고 하자. 첫 번째 하드 드라이브는 파티션이 둘로 나누어져 있다고 하자(a1과 a2). 윈도우에서는 다음과 같이 표시된다.:

+ hard drive a, partition one (hda1): C Drive
+ hda2: D Drive
+ hdb1: E Drive
+ floppy: A drive
+ CD-ROM: F Drive

리눅스에서는 하나의 파일 시스템으로 나타날 뿐 윈도우의 예처럼 5개가 아니다. 각 드라이브는 트리에 마운트(mount)되고 마치 폴더처럼 동작한다. 드라이브는 다음과 같이 위치시킬 수 있다.:

+ hda1: / (our Root)
+ hda2: /home
+ hdb1: /home/user/music
+ floppy: /mnt/floppy
+ CD-ROM: /mnt/cdrom

D 드라이브와 E 드라이브는 C 드라이브 안에 붙어있으며 드라이브를 옮겨가기 위해 최상위까지 갈 필요는 없다. 그저 한 폴더에서 다른 폴더로 이동하는 걸로 간단하게 이동이 끝난다. 플로피와 시디롬도 마찬가지여서 하나의 파일 시스템의 일부분으로 /mnt 하에 붙어있다. 설치 프로그램이나 사용자가 컴퓨터에게 뭐가 어디에 붙어있고 어떻게 조작해야 하는지 알려주는 /etc/fstab 파일을 어떻게 설정하느냐에 따라 실제로 이 드라이브들은 리눅스 시스템 어디에든 붙일 수 있다. 그림 A를 보라.

 



2. 모듈식 시스템
윈도우 XP, 윈2k, 윈98, 윈95, 애플 OS X의 속이 어떤지 생각해 보라. 각기 내부에 서로 다른 컴포넌트를 지니고 있고 서로 다른 그래픽 환경을 갖고 있을 것이다. XP에서 동작하는 미디어 플레이어에, 98의 파일 관리자에, 윈2k의 안정성에, OS X의 외관을 한데 합치고 싶다면 어떻게 할 수 있을까?

리눅스에서 시스템의 각 부분은 서로 독립적이어서 이것저것 섞어서 여러분의 OS를 흡사 프랑켄슈타인 OS로 만들 수도 있다. 방화벽으로 돌릴 프로그램은 이것, 미디어를 재생할 프로그램은 저것, 파일 관리자로 돌릴 건 또다른 어떤 것 등 다양한 프로그램 중에서 선택해서 쓸 수 있다.

MS의 운영체제는 모든 것이 상호 연결돼 시스템의 각 부분이 서로 의존하고 있기 때문에 ‘탑’에 비유할 수 있는 것과는 달리, 리눅스 OS는 마치 시장처럼 여기저기 펼쳐져 있다. 시장에서는 모두들 공익을 위해 함께 움직이지만 시장 상인(리눅스의 독립적 부분)들은 시장에서 빠질 수 있고, 그래도 시장(운영체제)은 돌아갈 것이다. 미디어 플레이어나 파일 관리자를 원치 않는다고? 빼버려라! 여러분 OS는 금이 간 탑처럼 쓰러져 버리지 않을 것이다.

이런 모듈화가 돼 있기 때문에 리눅스 배포판(distributions. 영어로 보통 distros라고 불린다)은 종류가 꽤 많다. 어떤 개인이든 회사든 자신들이 가장 유용하다고 생각되는 걸 찾아내서 모은 후에 거기다가 이름을 갖다 붙인다. 레드햇(RedHat), 잔드로스(Xandros), 심플리멤피스(SimplyMEPIS), 수세(Suse)가 그런 배포판의 예이다.

일부 배포판은 대형 배포판을 흉내내서 만들어내곤 하지만 포함된 프로그램은 바뀐다. 이는 리눅스의 방식인 믹스앤매치(mix-and-match) 접근 방식으로서 결국에는 사용자들에게 더 많은 선택권을 부여해준다. 디스트로워치닷컴(DistroWatch.com)에서는 현재 리눅스에 350개가 넘는 배포판이 있는 것으로 집계하고 있다. 목록에 나와있는 많은 배포판들은 특정 사용자 집단을 위해 특화돼 있긴 있지만, 모든 배포판은 똑같은 프로그램을 돌리도록 수정될 수 있다.

프 로그램이 상호 교환될 수 있기 때문에 GUI(Graphical User Interface)도 예외는 아니다. GUI를 바꿀 수 있어 마우스, 프로그램 아이콘, 메뉴 등에서 현대적인 OS의 룩앤필(look and feel)을 가질 수 있다. 어떤 리눅스 시스템이라도(휴대폰에서 돌아가는 리눅스 말고 실제 컴퓨터에 돌아가는 리눅스) 여러 가지 서로 다른 GUI 중 하나를 택해 이용할 수 있고, 여러 웹 서버나 서로 다른 이메일 클라이언트 프로그램을 돌릴 수도 있다.

시스템을 윈도우처럼 보이게 하고 싶은가? FVWM에서 XP 테마를 사용하면 된다. 속도가 좀 빨랐으면 좋겠나? IceWM을 써보라. 좀더 "기능이 풍부한" 걸 원하는가? GNOME이나 KDE를 써보기 바란다.

이 런 GUI들 모두 장단점이 있지만, 모두다 마우스를 이용이 가능한 인터페이스를 제공한다. 이런 다양한 GUI들을 쓸 수 있기에 사람들이 사용하는 리눅스 화면이 서로 제각기 달라보일지 모르겠지만 모든 GUI의 이면에서는 똑같은 작업이 이뤄지고 있다. 직접 눈으로 확인해 보라. 어려운 일은 아니다.

3. 하드웨어, 소프트웨어, 그리고 그 중간에 위치한 것
리 눅스는 짧은 기간동안 큰 발전을 했다. 리눅스는 MS 윈도우 나이의 절반도 안 되지만 레드몬드의 OS(MS 윈도우)가 비싸고 버그도 많은 반면 리눅스는 더 강력하고, 더 안정적이며, 리소스도 덜 잡아먹고, 그래픽 측면에서는 (리눅스가 더 우월하지 않다해도) 동등한 수준을 보인다.

리눅스가 아직 MS 윈도우를 쫓아가지 못하는 건 벤더들의 지원이다. 예를 들어, 만약에 여러분이 인튜잇(Intuit)의 퀵북(QuickBooks)없인 못산다해도 리눅스에서 그대로 구동시킬 순 없다. 리눅스에서 윈도우 프로그램을 동작시키려는 프로젝트들이 있다. 크로스오버 오피스(CrossOver Office)와 와인(Wine)같은 것들이 있는데, 윈도우 프로그램이 뭐냐에 따라 돌릴 수 있을 수도 있고 없을 수도 있다. 소프트웨어 업체들이 리눅스로 프로그램을 이식하겠다고 결정할 때까지는 윈도우 프로그램을 리눅스 자체에서 있는 그대로 돌릴 수는 없을 것이다.

그렇다 해도 몽땅 다 못하는 건 아니다. 오픈소스 소프트웨어 형태로 된 리눅스용 프로그램은 1만 5000개가 넘는다. 이런 프로그램들은 보통 무료로 쓸 수 있어서 품질도 천차만별이지만, 프로그램 대다수는 잘 만들어졌고 지속적으로 개선되고 있다. 이런 프로그램들은 전용 파일 형식이 아닌 것들을 가져오기(import)하거나 내보내기(export)할 수 있다. GNUCash는 퀵북 파일을 제대로 읽어 들일 수 있고, 오픈오피스는 MS워드의 *.doc 파일을 읽어 들일 수 있다.

GNUCash를 안 좋아한다면 낙심하지 말기 바란다. 무료로 제공되는 유사한 프로그램들이 더 있으며, 점점더 많은 소프트웨어 업체들이 자사의 소프트웨어를 리눅스 버전으로 출시하고 있다.

동 일한 현상이 하드웨어에도 적용된다. 컴퓨터 상점에서 구매한 보통 하드웨어가 애플 컴퓨터와 동작하는 걸 기대할 수 없는 것처럼, 동일한 문제가 리눅스 머신에서도 있다고 할 수 있다. 대부분의 표준 하드웨어는 완벽하게 동작한다. 하드 드라이브, 램, 플래시 드라이브, 마더보드, 네트워크 카드(NIC), 디지털 카메라는 보통 리눅스에서 거의 문제를 일으키지 않는다.

하지 만 새로 나온 최신 하드웨어는 이야기가 좀 다르다. 하드웨어 벤더가 리눅스를 지원하기로 할 때까지는 리눅스 공동체에 참여하는 사람들이 여가 시간을 할애해서 무료 배포용으로 이런 하드웨어를 이용하기 위해 필요한 드라이버를 만들어줘야 한다.

하드 웨어 회사들은 호환성을 해결하고자 직접 MS와 함께 작업하는 일이 많지만, 리눅스 측에 대해서는 자발적 참여자들이 알아서 리눅스 하드웨어 지원을 해결하도록 내버려두는 경향이 있어 윈도우가 지원하는 것보다는 뒤처질 수밖에 없다. 랩톱은 비표준 하드웨어로 악명이 높다. 랩톱에서 사용하는 특수키를 매핑하는 것 때문에 리눅스에서 고역이 될 수 있다. 그래도 좋은 소식이 있다면, 더 많은 회사들이 리눅스에서 미래를 보고 있기 때문에 소프트웨어처럼 리눅스 하드웨어에 대한 벤더 지원도 더 나은 쪽으로 변화하고 있다는 것이다.

리눅스 머신에서 하드웨어와 소프트웨어 사이에 있는 건 커널이다. 커널은 하드웨어와 소프트웨어를 연결해주는 역할을 하며, 업데이트된 커널은 매 몇 주마다 인터넷을 통해 얻을 수 있도록 만들어진다. 현재 가장 최신 버전은 2.6.14이다. 현재 지원되지 않는 하드웨어를 보유하고 있다면 좀더 새로운 커널에서는 구원을 받을 수도 있다. 하지만 커널을 직접 설치한다는 게 항상 쉬운 일은 아니다. 대신 그런 일을 해주는 패키지 관리자가 존재한다.

4. 패키지 관리자 - 프로그램 설치를 쉽게 해주는 소프트웨어
리 눅스에서 프로그램을 설치하는 데에는 여러 가지 방법이 있지만 가장 쉬운 방법은 배포판의 패키지 관리자(PM; Package manager)를 이용하는 것이다. PM을 이용하면 어떤 빠진 파일이라도 의존성을 이용해 설치해주기 때문에 프로그램이 문제없이 동작하게 된다. 배포판 선택은 여러분이 어떤 PM을 좋아하느냐로 귀착되곤 하지만, 무엇이든 간에 대응되는 패키지만 찾아낼 수 있다면 다른 배포판에서도 어떤 리눅스 소프트웨어든 설치될 수 있다.

보통 이런 PM들은 프로그램을 담아두는 온라인 저장소를 갖고 있다. 프로그램 저장소를 검색해서 설치를 클릭하는 것만 하면 될 정도로 애플리케이션 설치는 쉽다. 여러분의 패키지 관리자에서 IceWM이나 Mplayer를 찾을 수 없는가? 찾고 있는 패키지를 담고 있는 온라인 저장소를 새롭게 추가하는 방법을 쓸 수도 있다.

몇 가지 패키지 관리자의 예를 들어보면, 데비안(Debian)과 그 변종들에서 사용되는 dpkg 및 Apt에 기반한 시냅틱(Synaptic), 레드햇과 변종들에서 이용되는 윰(Yum), 수세와 변종들에서 사용되는 YaST2, 젠투(Gentoo)에서 이용하는 이머즈(Emerge)가 있다.

5. 권한
리눅스는 다중 사용자를 지원하도록 설계됐고, 사용자는 그룹으로 나눠진다. 모든 사용자들은 자신이 소유한 파일에 대해 읽기, 쓰기, 실행(R/W/X) 권한을 가지며 해당 권한을 변경할 권한도 갖는다. 리눅스는 다중 사용자용으로 설계됐기 때문에 사용자들은 각자 암호를 가지며 자기 소유 파일에 대한 접근을 제한할 수도 있다. 이를 사용자 권한(User Permission)이라 부른다.

각 사용자는 하나 이상의 그룹에 소속되고, 사용자는 자신의 파일/폴더 권한을 설정할 수 있어 그룹 내 다른 사용자들이 파일을 읽을 수는 있지만 쓸 수는 없게 하거나 R/W/X를 서로 서로 조합해서 설정할 수도 있다. 이런 걸 그룹 권한이라고 한다. 예를 들어 조와 수잔은 회계 부서에 근무한다고 하자. 이들은 회계 부서(Accounting) 사람들이 서로 파일에 접근할 수 있도록 허가할 수 있지만, 영업 쪽 사람들의 접근은 제한할 수도 있다.

이외의 사용자에 대한 권한으로서, 그룹에 속하지 않은 사람들에게 해당 파일에 대한 접근을 허용하거나 거부할 수 있다. 이 권한은 시스템 전반의 안전을 위한 것일뿐 아니라 각 사용자의 데이터의 안전을 위해서도 존재한다. 집에서 리눅스를 쓰는 대부분의 사용자들은 파일에 기본 권한을 써도 무방하다. (그림 B 참조)



루트(root. 파일 시스템의 루트(/)와 혼동하지 말라) 사용자는 윈도우의 관리자 계정(Administrator)과 비교할 수 있고, 모든 파일에 대해 권한을 가지며 시스템 전체에 미치는 설정을 수정할 수 있는 유일한 사용자이다. 루트 사용자는 시스템 관리를 위해 사용되는 자체 암호를 갖는다. 이러한 차이점으로 일반 사용자들이 시스템에 유해한 스파이웨어를 설치하거나 중요 파일을 삭제할 수 없도록 한다.

6. 홈 디렉토리
윈도우에는 '내 문서(My documents)'라는 데가 있지만, 문서가 아닌 파일은 어디에 두겠는가? 보통은 윈도우 바탕 화면에 둔다! 리눅스에서도 데스크톱을 난잡하게 만들 수 있는 건 마찬가지지만, 사용자들은 각자 홈 디렉토리를 갖게 되며 보통 /home/user에 위치한다(user는 사용자 계정 이름). 이런 홈 디렉토리 내에서 문서를 놔둘 수도 있고(/home/user/documents), 프로그램 링크를 둘 수도 있으며, 음악(/home/user/Music) 등 원하는 건 뭐든지 놔둘 수 있다.

홈 디렉토리에는 파일과 폴더를 생성할 수 있고, 원하는 만큼 정리하고 다시 또 어질러놓을 수도 있다. 마치 우리가 집안에서 하는 것처럼 말이다. 권한이 어떻게 설정되었는지에 따라 홈 디렉토리에 있는 파일에 대해 다른 사용자가 접근할 수 있게 허락할 수도 혹은 금지할 수도 있다. (루트 사용자만은 예외다).

7. 기본 설치 차이점
리 눅스 배포판 간에는 차이점이 약간씩 있어서, 파일들이 위치하는 곳이라든가 기본 프로그램들의 이름이 다른 경우가 있다. 레드햇과 수세는 파일 시스템이 약간 다르다는 걸 알아두고 시작하는 게 좋겠다. 대부분 사용자들은 그런 차이점이 뭔지 알 필요는 없지만, 내부 파일 시스템이 약간 다를 수 있다는 것 정도는 알아둬야 한다. 누군가에게 도움을 요청할 때 여러분이 사용하는 배포판이 뭔지 확실히 알려줄 수 있도록 해라. 시스템에 문제가 없거나 눈에 보이지 않는 복잡한 작업을 설정하는 것에 관심이 없다면 이에 대해 지나치게 신경쓰지 않아도 된다.

8. CLI
윈도우의 ‘시작(Start)/ 버튼과 유사한 리눅스 GUI 상의 버튼을 누르면 메뉴가 나타나는데, 이 메뉴에서 xterm 프로그램(보통 콘솔(Console)이라 부른다)을 실행시키면 터미널(Terminal)이라는 게 나타난다. 도스창과 약간 닮았지만 사실 도스보다 오래되었고 도스의 기능을 능가한다. 이는 명령줄 인터페이스(CLI; Command Line Interface)이며, 우리가 좋아하는 OS의 기원으로서 모든 리눅스 배포판에 존재한다. 책 한 권 쓸 정도의 분량이어서 자세히 들어가진 않겠지만, CLI는 컴퓨터의 문제점을 해결하곤 할 때 필요한 강력한 도구이다. 인터넷에서 누군가에게 도움을 요청했을 때 lspci를 실행시켜 보라고 했다면 xterm을 시작해서 lspci라고 입력하고 엔터키를 눌러야 한다. 그러면 화면에 뭔가 나타날 것이다.

xterm을 시작하면 제한된 권한을 갖고 있는 일반 사용자 상태이다. xterm에서 루트 사용자 모드(앞서 이야기한 권한을 보라)로 가려면 su [엔터]를 입력하고, 그리고 나서 루트 암호 [엔터]를 입력한다. 그러면 막강한 권한을 가진 루트가 된다. 루트 사용자는 리눅스가 돌아가는 데 필요한 시스템 파일을 포함해서 어떤 사용자의 데이터도 파괴할 수 있다. xterm을 끝내거나 su 모드에서 떠나려면 exit [엔터]를 입력한다.

9. 컨트롤(ctrl)-알트(alt)-이스케이프(escape)
컨트롤-알트-이 스케이프키를 함께 누르면 마우스가 해골과 두 개의 뼈를 교차시킨 불길한 형상을 한 X 모양으로 바뀐다. 이 모드에서 오동작하거나 먹통인 애플리케이션 위에 놓고 클릭하면 해당 프로그램을 종료시킬 수 있다. 윈도우 작업 관리자(Task Manager)에서 프로세스 종료(End Process)와 유사하지만 조심해서 쓰기 바란다. 만약 키를 누르긴 했는데 아무 것도 종료시키고 싶지 않다면, 되돌아가기 위해 Esc 키를 사용하기 바란다. 엉뚱한 프로그램에다가 클릭하면(데스크톱 GUI 포함) 꽤나 골치 아픈 일이 벌어질 수 있다.

10. 인터넷은 여러분의 친구!
많은 배포판들은 질문, 답변, 팁을 주고받는 사용자 포럼이 있다. 리눅스퀘스천(LinuxQuestions.org)이 전반적인 리눅스 지식과 도움을 얻을 수 있는 좋은 사이트이다. 기억할 것은, 어떤 포럼에서라도 질문을 올리기 전에 이미 해결되었을지도 모르는 문제에 대해 또 묻는 일이 없도록 질문할 내용을 검색해 보기 바란다(LQ와 구글 모두에서).

또한 찾은 해결책이 언제 나온 것인지 체크해보기 바란다. 답변이 올라온지 너무 오래됐다면 이처럼 빠르게 바뀌는 오픈소스 소프트웨어 세계에서는 더 이상 써먹을 수 없는 해결책일지도 모르기 때문이다. 질문할 때 여러분 시스템에 관해 할 수 있는 한 많은 정보를 포함시켜 올리기 바란다. 이를테면 다음과 같은 정보들을 포함하는 것이 좋겠다.:

* 프로세서 타입 (인텔, AMD, 아니면 애플 PPC?)
* 배포판 (수세? 데비안?)
* 어려움을 겪고 있는 프로그램
* 기타 관련 정보

반드시 명심해야 할 것
리 눅스와 오픈소스 소프트웨어는 지난 몇 년동안 쑥쑥 커왔지만, 윈도우라는 닫힌 세계에서 리눅스로 온 사용자들에겐 리눅스의 내부 동작은 낯설기만 할지도 모른다. 마음을 열고 지식을 기꺼이 공유하고자 한다면 리눅스 공동체가 성장하는 데 도움이 될 것이다. 우리는 여러분들을 환영한다.

 

내용출처 : ZDNet Korea - Jeffrey G. Thomas ( TechRepublic )

파일 목록을 보는 명령어.. 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 데몬의 설정 파일이다.


 

 

Kloonigames 라는 팀 그룹(헬싱키 대학 공대생들로 이루어졌다고 합니다.)
에서 만들어진 크레용 피직스 라는 게임입니다.

 

이 게임은 어릴적 크레파스로 낙서를 하는듯한 느낌의 게임으로 도화지 위에
그림을 그려, 공을 이동시키는 게임입니다.

게임 방법이 굉장히 단순하기 때문에 누구나 쉽게 접할 수 있습니다.

GDC2008 에서 인디게임을 대상으로 열리는 인디펜던스 게임 페스티벌
(IGF 2008)의 대상을 받았다는군요

 

 

 

게임 다운로드 : 다운로드1다운로드2(미러)

 

 

추가적인 레벨팩과 더 자세한 정보는 제작 블로그에서 얻을 수 있습니다.

http://www.kloonigames.com/blog/

'#창고 > 게임과 설정' 카테고리의 다른 글

超・ちゃぶ台返し!  (0) 2010.02.18
[Online] Plan B Action!  (0) 2010.02.18
[PC게임] Spelunky  (0) 2010.02.13
My Brute  (0) 2010.02.11
[Mobile] Uniwar  (0) 2010.01.25
명작 RPG -로리타공주-  (4) 2009.08.06
Audio Surf  (0) 2009.05.04

샵앤형 결혼식날 ' ㅅ')

'#블로그 > 사진' 카테고리의 다른 글

[*istDL] 8.14 하루  (4) 2009.08.15
[*istDL] 비온뒤 하늘  (0) 2009.07.25
[*istDL] 하늘공원에서  (0) 2009.05.03
[MX] 마지막 억새  (0) 2009.05.03
[D100] 하늘을 가르다  (0) 2009.05.03
[MX] 철책의 봄  (0) 2009.05.03
[MX] 바쁜 일상  (0) 2009.05.03

+ Recent posts