피드 구독하기: 글 (Atom)

2007-01-24

윈도우즈 비스타(windowsvista) 무엇에 쓰는 물건인고..?

본격적인 64비트 시대를 맞이하여 MS는 차세대 데스크톱 운영체제로서 윈도우 비스타를 새롭게 선보일 예정이다. 윈도우 비스타는 완전히 새로워진 UI와 강력한 보안기능, 그리고 유비쿼터스 연결성으로 무장했다. 지금부터 새로운 운영체제 윈도우 비스타의 베일을 하나씩 벗겨보도록 한다.

이종진 고려대학교 컴퓨터학과 kennethlee@korea.ac.kr
고려대학교 정보통신대학 컴퓨터학과에 재학중이며 2002년 국내에서 처음 선발한 Microsoft MVP에 선정되어 2005년까지 3년 연속 Windows Server MVP로 활동했다. 현재 데브피아(주) O/S, BackOffice 시삽을 맡고 있으며 2006년 2월에 ‘마이크로소프트의 IT전략과 미래(한빛미디어)’를 출간했다.

 윈도우 XP(이하 XP)가 출시된 이후 5년이라는 세월이 흘렀다. 이제 MS에서는 데스크탑 운영체제의 새로운 야심작을 출시할 준비 중에 있다. MS는 이 새로운 운영체제를 윈도우 비스타(Windows Vista)라고 명명했다. MS가 기존에 3년 정도의 주기로 새로운 운영체제를 발표했던 것을 고려한다면 꽤 오래 준비한 것인데, 그 만큼 MS의 전략을 담은 운영체제라고 기대해도 좋을 것이다. 오래 기다려온 만큼 어떠한 모습과 기능들을 담고 있는지 또, Vista(보다는 뜻의 이탈리아어)라고 이름을 붙인 만큼 창(windows)을 통해 더 멋진 세상을 바라볼 수 있게 해 줄지도 사뭇 궁금해진다. 지면관계상 모든 내용을 자세하게 살펴볼 수는 없겠지만, 윈도우 비스타에서 도입된 다양하고도 새로운 기능들에 대해서 지금부터 살펴본다.

3D 기반의 UI 혁명
 새로운 운영체제가 발표될 때 마다 UI는 항상 변해왔지만, 비스타에서의 UI변화는 가히 혁명이라 불릴 만큼 파격적이다. 바로 3D 기반의 UI를 새롭게 선보이는 것이다. 에어로 글래스(Aero Glass)라는 이름의 이 3D UI는 처음 보는 순간, 감탄사가 절로 나온다. 모든 UI를 다 보여줄 수는 없으니 여기에서는 3D UI의 느낌을 쉽게 확인할 수 있는 몇 가지 화면을 통해 그 모양을 살펴본다.


<화면 1> 윈도우 키 + Tab 키를 이용한 창 전환 기능

[화면 1]에서 볼 수 있듯이 윈도우 키를 누른 상태에서 Tab 키를 누르면 3D로 실행중인 프로그램들의 창 전환 기능을 사용할 수가 있다. 또, 기존에는 실행 중인 응용 프로그램들을 살펴보기 위해서는 작업표시줄에 나타난 프로그램들을 일일이 클릭해야만 했지만 이제는 작업표시줄 상에서도 프로그램의 미리보기를 할 수 있다.


<화면 2> 작업표시줄 미리보기

윈도우 비스타의 보안
IT산업이 발달하면서 보안은 항상 중요한 이슈가 되어 왔다. ‘지도자란 최고의 위치에 있지만 외로운 것이다.’란 말처럼 MS는 플랫폼 시장을 장악한 이후로 늘 외로웠고 시기와 질투의 대상이었다. 그러한 시기와 질투로 인한 공격 때문에, 보안문제에서 MS는 그만큼 자유로울 수 없었다. 2002년, 빌게이츠는 ‘신뢰할 수 있는 컴퓨팅(trustworthy computing)’을 내세워 여러 가지 보안 위협을 차단하겠다고 선언한 이후, 출시하는 제품마다 보안 기능을 계속 강화해 왔고, 윈도우 비스타에서도 이러한 보안 측면에서 많이 향상되었다. 윈도우 비스타에서의 보안 기능은 크게 소프트웨어적 보안과 하드웨어적 보안으로 구분 지을 수가 있는데, 먼저 소프트웨어적 보안에 대해서 알아보자.

사용자 계정 보호(UAP:User Account Protection)
이 기능은 MS가 가장 심혈을 기울여 도입한 핵심 기능이다. 그 동안 문제가 되어왔던 악성코드의 자동설치와 같은 문제를 해결하기 위해 도입되었다. 기존에 사용자들이 운영체제 설치 후에 Administrator 권한을 가진 계정을 사용하여 웹 서핑을 하다가 악성코드(malware 또는 malicious code)가 백그라운드에서 자동으로 설치되어 피해를 입는 일이 비일비재했다. UAP의 개념은 바로 이러한 상황을 막기 위해 도입되었다. 평소에는 권한이 낮은 계정으로 PC를 사용하다가 응용 프로그램이나 디바이스의 드라이버를 설치하는 등 중요한 작업을 할 필요가 있을 때, 관리자의 패스워드를 묻는 인증 창을 표시하여 악성코드의 자동설치와 같은 폐해를 막는다.


<화면 3> 사용자 계정 보호(UAP) 기능

윈도우 디펜더(Windows Defender)
요즈음은 스파이웨어로 인해 인터넷상에서 개인정보 보호의 중요성 문제가 대두 되면서 이러한 스파이웨어를 찾아내고 제거해주는 안티스파이웨어 프로그램의 중요성이 강조되고 있다. 예전의 윈도우 비스타 빌드에서 윈도우 안티스파이웨어(Windows AntiSpyware)라 불리던 기능이 업데이트 되어 윈도우 디펜더(Windows Defender)가 되었다. 윈도우 디펜더는 악성 소프트웨어가 설치되는 것을 예방하고 미칠 수 있는 영향에 대해 사용자에게 미리 경고하여 시스템을 보호한다. 만약 악성 소프트웨어가 악의적 공격을 실행하려고 하면 기존의 시스템 복구와 같은 기능으로 설치 이전으로 시간을 되돌리며 악성코드를 제거하는 기능도 가지고 있다.


<화면 4> 윈도우 디펜더(Windows Defender) 기능

이 외에도 윈도우 XP에서 사용되었던 방화벽 기능이 업그레이드되었다. XP 서비스팩 2에서는 수신 트래픽만 감시할 수 있었던 반면에 비스타의 방화벽은 수신 및 발신 트래픽 모두를 감시한다.

그럼 이번엔 하드웨어적 보안에 대한 기능을 살펴보자. MS는 3년 전 하드웨어 기반 보안 계획인 팰러디움(Palladium)을 공개했다. 팰러디움은 이름 분쟁에 휘말려 곧 NGSCB(Next-Generation Secure Computing Base)로 개명되었는데, 이는 MS의 첫 번째 하드웨어 기반 보안 계획이며 윈도우 비스타에 일부분 포함될 예정에 있다. 인증 받지 않은 사용자들이 PC에 물리적으로 접속해 하드 디스크의 데이터를 접근하는 것을 방지하기 위해 설계된 NGSCB는 비스타에서 ‘BitLocker Drive Encryption’기능 이라는 이름으로 도입된다(초기에 보안 시작(Secure startup)이라는 이름이었지만, 얼마 전 발표된 세 번째 CTP(Community Technology Preview) 버전에서 이름이 변경되었다).
 ‘BitLocker Drive Encryption’이라는 이름의 보안 기능은 사용자가 데스크탑이나 랩탑 컴퓨터를 분실하였을 때 내부에 저장된 데이터를 보호해 줄 수 있도록 설계되었다. 암호화된 키, 패스워드, 디지털 인증 등을 안전하게 보관할 수 있는 완전한 디스크 암호화 기능으로서 TPM(Trusted Platform Module)이라는 칩을 사용한다. 이 보안 기능은 임시로 정지시킬 수 있으며, 만약 PC에 문제가 발생하여 하드디스크의 데이터에 접근해야 한다면 복구키를 가지고 시스템의 보안을 일시적으로 풀 수 있다.
 그러나 이 기능자체가 사용자가 소유하고 있는 PC의 제어권이나 프라이버시를 침해할 수 있다는 우려를 낳기도 하였다. 때문에 MS는 협력사들이 계획에 참여하도록 유도하면서 원래 계획보다 비교적 적은 부분을 비스타 운영체제에 포함시키려 하고 있다. 앞으로 이 기능은 지속적으로 발전하여 보안 컴퓨팅을 위해 큰 역할을 할 것으로 기대되지만, 그 전에 MS는 PC의 제어권이나 프라이버시 침해 우려를 불식시키고 그에 대한 보완책을 마련해야 하는 과제를 해결해야 할 듯하다.


유비쿼터스 연결성
유비쿼터스 세상이 되면 수많은 모바일기기들이 모두 유기적으로 연결되어 통신하게 되고, 이러한 디지털 홈이나 디지털 오피스 환경에서 윈도우 비스타는 여러 가지 기기들을 연결하는 호스트로서의 역할을 하게 될 것이다. 그럼 유비쿼터스 연결성을 보여주는 기능들을 간단히 살펴보도록 하자.

싱크 센터(Sync Center)
윈도우 비스타 베타 1에서부터 도입된 싱크 센터 기능은 PDA, 셀룰러폰(휴대폰), 디지털 미디어 디바이스, 스마트폰 등과 같은 디지털 주변기기들과의 데이터 싱크를 일관되게 관리할 수 있도록 해주는 기능이다(오프라인 폴더의 싱크도 가능). 물론, PDA는 기존에 액티브싱크(ActiveSync)라는 기능이 있었고 이 기능을 싱크 센터가 완전히 대체하는 것은 아니지만 여러 가지 종류의 디지털 주변기기들이나 오프라인 폴더의 싱크를 한 가지 방법으로 일
관되게 처리한다는 점에서는 높은 점수를 주고 싶다. 또한 향후 윈도우 비스타의 최종 버전에서 얼마나 더 많은 기능이 보충될지 사뭇 기대가 되는 대목이기도 하다.


<화면 5> 싱크 센터(Sync Center)

그룹 협업(Group Collaboration)
협업(Collaboration)은 IT 산업 전반에 걸쳐서 생산성이라는 코드와 맞물려 있는 굉장히 중요한 요소 중 하나이다. 윈도우 비스타를 사용하는 그룹 간에는 Ad Hoc 기반의 협업을 제공하므로 기존의 윈도우 XP 환경에 비해 더 효율적으로 작업을 공유할 수 있게 된다. 예를 들어, 기존에는 여러 명의 동료 직원들과 회의를 해야 할 때 회의를 시작하기 전에 내가 작성한 프리젠테이션 보고서(PPT)를 동료 직원들에게 이 메일로 보내어 공유한 다음 회의를 진행하곤 하였다. 그러나, 윈도우 비스타에서는 Ad Hoc 협업 워크스페이스(Collaboration Workspace)를 제공하기 때문에 비스타를 사용하는 PC끼리는 공유해서 열어놓은 PPT 파일을 공유할 수 있고 더 나아가 상대방이 수정하는 것도 가능하다.

 

기타 흥미로운 기능들

빠른 검색
윈도우 비스타에서는 빠른 검색 상자(Quick Search box)를 사용할 수 있다. 실제로 검색이 필요한 어느 곳에서나 빠른 검색을 이용할 수가 있다. 파일이나 응용프로그램 모두, 검색어를 입력하는 순간 관련된 개체들이 검색되어 표시된다. 이로 인해 사용자들은 더 이상 자신이 저장한 파일의 경로를 일일이 외우거나 적어둘 필요가 없다. 또, 키워드와 같은 메타데이터 관리를 통해 파일 검색할 수도 있다. 가령, 생일날 친구들과 즐겁게 놀면서 찍은 사진의 키워드를 ‘생일’로 입력해 두고 검색 시에 생일이라고만 치면 탐색 창에서 바로 ‘생일’이란 키워드가 포함된 이미지 파일들이 나타난다. 이외에도 앨범 제목, 작가, 파일 이름, 주제, 장르, 파일 유형 등 다양한 조건(필터)를 이용하여 보다 빠르고 정확한 검색을 할 수 있다.


<화면 6> 윈도우 비스타의 검색

가상 폴더
가상 폴더는 폴더를 열면 즉시 실행되어 검색 결과를 보여주는 형태로 구성되어 있다. 윈도우 비스타에는 미리 정해진 여러 표준 가상 폴더가 있으며 사용자가 가상 폴더를 지정해서 새롭게 만들 수도 있다. 어떠한 기준을 속성으로 입력하여 가상 폴더를 만들어 두면 그 가상 폴더를 클릭했을 때 바로 그 기준을 가지고 검색을 하여 검색 결과를 실시간으로 보여준다. 예를 들어, ‘작성자-이종진, 키워드-프로젝트’라고 가상 폴더를 만들어 두면 ‘작성자 이종진/키워드 프로젝트’라는 이름으로 가상 폴더가 만들어진다. 그런데, 이 가상 폴더는 하드 디스크상에 실존하는 폴더가 아니기 때문에 기능적 측면에서 살펴본다면 ‘가상 폴더’라는 말보다는 ‘저장된 검색’이라는 말이 더 어울리는 듯하지만, 개념적 측면에서 살펴보면 가상으로 존재하는 폴더이기 때문에 가상 폴더라는 이름도 그리 어색하진 않다.
가상 폴더는 어떠한 경우에 유용할까? 기존에는 동일한 파일을 여러 곳의 폴더에 중복 저장해야 할 필요가 있었지만, 가상 폴더 기능을 이용할 수 있게 됨으로써 우리는 특정 폴더에 파일을 한번만 저장해 두고 가상 폴더를 만들어(검색 및 분류) 사용을 함으로써 중복 저장이라는 불편함을 해소할 수 있다.


<화면 7> 윈도우 비스타 가상 폴더(Virtual Folder)

새로운 패칭 기술
윈도우 비스타에 도입된 새로운 패칭(Patching) 기술을 이용하면 애플리케이션을 설치하거나 보안 업데이트를 패치 하는 경우에 재시작 관리자(Restart Manager)를 통해 재부팅을 하는 횟수를 줄일 수 있다. 그동안 많은 사용자들이 사용 중에 재부팅을 해야 하는 불편함을 호소했었는데 다소나마 그 불편함이 해소될 것으로 보인다. 또한 새로운 패칭 기술은 코드명 ‘Freeze Dry’라는 기술과 맞물려 더욱 가치를 발휘할 수 있다. Freeze Dry는 업데이트 패치가 자동적으로 진행된 후 PC가 재부팅될 때, 기존의 작업환경을 그대로 복원해 내는 기술이다. 기존 작업환경의 범주에는 문서 작업, 사용 중이던 응용 프로그램의 상태가 모두 포함된다. 예를 들어, 사용자가 아웃룩을 실행시키고 메일을 작성하던 중 퇴근을 한 상태에서 새벽 시간대에 IT 관리자가 일괄적으로 PC에 업데이트를 배포할 경우, 이 기술을 사용하면 문서가 열려 있는 상태에서 패치를 적용하더라도 재부팅 후에 아웃룩은 실행되어 있는 상태이고 심지어 메일작성화면까지 그대로 나타난다.
 
새로운 개념의 가상 메모리 확장 시스템
비스타에는 SuperFetch와 EMD(External Memory Devices)가 도입되어 가상메모리를 효율적으로 사용하고 또 확장할 수 있게 되었다. 기존의 페이징 파일(Paging File)을 통한 가상메모리 사용은 애플리케이션이 메모리에 액세스되어야 하는 경우에 하드디스크의 페이징 파일에서 데이터를 불러들여 메모리에 로드시키는 방식이었다. 그러나 SuperFetch는 애플리케이션이 얼마나 자주, 그리고 언제 사용되는지에 대한 정보 등 포괄적인 정보에 대한 프로파일을 생성한다. 그리고 나서 프로파일에서 해당 애플리케이션을 계속 추적한다. 그 후에 페이징 파일에 저장된 데이터를 사용하는 애플리케이션의 프로세스를 모니터링 하여, 프로세스가 시작되면 바로 데이터를 메모리로 올려 보낸다. 따라서, 응답속도가 기존보다 향상되는 것이다. 그러나, 또 다른 문제가 있다. 페이징 파일은 하드디스크에 존재하고 하드디스크는 실제 메모리보다 응답속도가 현저히 느리기 때문에 시간적인 제약이 여전히 남아 있다. 그래서 MS는 EMD이라는 기능을 추가하여 우리가 요즘 흔히 사용하는 대용량 USB 메모리의 이점을 이용하도록 했다. USB 메모리 역시 물리적인 메모리보다는 속도가 느리지만 하드디스크 보다는 빠르기 때문에 페이징 파일을 USB 메모리에 저장하여 응답속도를 보다 높일 수 있게 되는 것이다. 비스타 시스템에 USB 메모리를 삽입하면 메모리를 사용하여 시스템 속도를 높이겠냐는 AutoPlay 대화상자가 나타나며, 속도 향상에 사용될 메모리 공간을 지정할 수도 있다(모든 USB 메모리가 이 기능을 지원하는 것은 아니다).

사이드바와 개짓
요즘은 와이드형태의 모니터와 TV의 사용이 점점 증가하는 추세다. MS는 사이드바(Sidebar)라는 소형 패널을 화면 구석에 배치하여 이곳에 개짓(Gadgets)이라는 간단한 프로그램을 위치시킬 수 있도록 했다. 개짓은 시계, 사진의 슬라이드쇼나 주식이나 날씨정보, 그리고 RSS 피드처럼 간단한 프로그램이다. 개짓은 사이드바에서 분리하여 바탕화면에 따로 위치시킬 수도 있다. 현재의 1024*768과 같은 해상도에서는 화면 한쪽을 차지하고 있는 사이드바가 답답해 보일수도 있겠지만 와이드 스크린에서라면, 매우 유용하게 사용될 수 있을 것이다.


<화면 8> PDC 2005에서 공개된 사이드바와 개짓


<화면 9> 사이드바에서 분리하여 바탕화면에 위치시킨 개짓


사이드쇼(SideShow)
사이드쇼는 노트북이나 태블릿 PC등과 같은 기기에서 보조 액정을 통해 각종 정보를 표시하는 디스플레이 플랫폼이다. 일부 노트북에서 노트북을 구동하지 않더라도 CD를 통해 음악을 감상할 수 있도록 한 것과 유사한 기능이며, 기존과 다른점은 윈도우 비스타에서 OS차원으로 동작한다는 것이다. 사이드쇼는 자체전기를 사용하므로 노트북 전원이 켜져 있지 않더라도 작동이 되지만, 전원이 꺼져 있을 때에는 캐싱 된 데이터가 표시되어 항상 최신의 데이터가 업데이트 되지는 않는다. 그러나 노트북 전원이 다시 연결되면 최신의 업데이트가 진행된다.


<화면 10> 사이드 쇼 기능을 탑재한 아수스 노트북


<화면 11> 보조 액정 패널에 나타난 사이드 쇼

다음을 기약하며 - WinFS
WinFS는 새로운 윈도우 파일 저장 시스템(File Storage System)이다. 초기에는 비스타 출시와 함께 도입될 예정이었으나, 개발일정 조정 등의 문제로 중간에 제외되었다. WinFS는 파일 시스템과 데이터베이스의 중간단계라고 이해하면 좋을 것이다. 일부에서는 WinFS를 새로운 파일 시스템이라고 소개하여 사람들로 하여금 NTFS를 대체하는 파일 시스템이라는 오해를 사는 경우가 있다. WinFS는 기존의 NTFS와 같은 파일시스템 위에 관계형 엔진을 올려 다양한 형식의 데이터를 신속하게 검색할 수 있도록 해 주는 기능이다. 따라서, WinFS가 도입되면 데이터를 다루는 애플리케이션 개발자들에게 통합된 플랫폼을 제공하여, 통합된 위치에서 데이터에 대한 참조가 가능하다. 그리고, 이것은 서로 다른 애플리케이션들의 데이터 호환성도 좋아진다는 것을 의미한다. 그러므로, 많은 데이터 교환을 필요로 하는 비즈니스 애플리케이션에서 유용하게 사용될 것이다. 현재 WinFS 베타 1이 윈도우 XP용으로 공개되었으면, 이는 MS가 소프트웨어 개발자들에게 미리 WinFS 시스템을 이해하고 최적화된 프로그램을 개발할 수 있는 기회를 제공한 것으로 보인다. WinFS는 비스타 출시 후 개발이 완료되면 애드 온(Add-On)형태로 배포될 예정이다. 필자는 새로운 파일 저장 시스템 WinFS가 무척이나 기다려진다.

지금까지 윈도우 비스타의 새로운 기능들에 대해 간단하게 살펴보았다. 글을 쓰는 내내 한정된 지면 때문에 하고 싶은 말을 다 하지 못한 것이 아쉽다. 이 글에서 다룬 내용이 윈도우 비스타의 전부라고는 할 수 없겠지만, 새로운 주요 기능들에 대해서 최대한 소개하려고 노력했다. 윈도우 비스타는 오랜 기간 준비된 MS의 야심작임에 틀림없으며 새로운 UI와 강력한 보안, 그리고 유연한 연결성으로 무장한 비스타가 사용자들을 ‘비스타’라는 풍경 속으로 끌어들일 수 있을 것이다.

참고문헌
1) Windows Vista | http://www.microsoft.com/windowsvista
2) 이미지 파일 | http://archmond.mizc.com/tt/index.php
3) Windows Vista Developer Center | http://msdn.microsoft.com/windowsvista/reliability
4) Windows Vista Sync Center | http://www.pocketpcthoughts.com/index.php?topic_id=43528

2007-01-19

마이크로소프트가 파이어폭스?

마이크로소프트(microsoft)가 드디어 firefox(불여우)를 눈에 보이게 견제 하는 군...ㅋㅋ

점점 웹 2.0이니 표준화니 너무도 괜찮은 웹콘텐츠들이 나오는 중에 ms가 더이상 유아독존으로는 버틸수 없음과 웹브라우저 세계의 지존이 또 한번 되어 보기 위함 인가...

msfirefox2007 이 물건은 어떤 특징을 가졌을까....
해석은 대략 불가능 하지만.. 아래와 같은 특징이...흐흐흐
  • 단순화된 유저인터페이스(UI)
  • 손쉬운 조작성
  • 상단 검색바 배치
  • RSS(심플바)
  • 페이지 텝
  • 페이지 확대/축소
ms가 firefox를 자신의 이익을 위해 악용할지도 모른다..는 생각이 IE7.0이 나온지 얼마 안되 firefox2007을 내어 놓았다는 것은 사람들에게 익스플로러와 파이어폭스를 비교시키고 인터넷익스플로러가 더 좋다는 점을 강조하게 될찌도 모른다...
하지만 이로 인해 브라우저가 점점 모여질고 표준의 길, 효환성에 문제가 점점 사라지고 개발자들이 편안해 질수 있기를 기대해 본다...

mysql 데이터파일 위치 변경하기

리눅스 파티션 용량이 다됐거나....
첨에 설정을 몰라서 그냥.. 깔았던 파티션에 그대로 쓰고 있다가

문제가 생겨 파일을 옴길 경우가 생긴다...

그럼 어케 해야 될까... 드디어 오늘 알아냈다는 사실...

일단... 저장되 있는데이터를 원하는 디렉토리로 카피 하세요.....

그리고 my.cnf 파일을 열면 대략 아래와 같은 것들이 나온당....
[mysqld]
datadir=usr/local/mysql/var ** 이것이 문제의 그것이다
mysqlsocket=/var/lib/mysql/mysql.sock
default-character-set = euc_kr

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

위에 별표 부분까지 나온다...
만약 원하는 위치가 /temp/mysql-data라고 한다면
다음과 같이 변경하고
datadir=/temp/mysql-data

마이에스큐엘을 리스타트 하자.....
mysqladmin -u root -p shutdown
위와 같이 하면 mysql이 내려간다...

그리고 다시 시작을 아래와 같이 하면
/usr/local/mysql/bin/mysqld_safe &

당신이 원하는 위치에 date를 만들어 갈수 있다....

Web(웹) 2.0은 무엇인가?

최근 들어 인터넷상에서 가장 많이 접하게 되는 것이 '웹 2.0'이라는 용어입니다. 하지만, 대부분의 네티즌들이 '웹 2.0'에 대한 개념을 잘 모르고 있습니다. 때문에 오늘은 '웹 2.0'에 대한 설명을 중심으로 간략하게 소개하겠습니다.

변화의 바람의 중심, 웹 2.0

웹 2.0은 IT 관련 미디어그룹 '오라일리(O’Reilly)'사의 '팀 오라일리(Tim O'Reilly)'(이하 오라일리) 회장에 의해 처음 제정된 용어입니다. 이 용어는 버블 경제로 인한 닷컴 기업의 붕괴와 이후에 살아남은 기업들을 분석하는 과정에 생성된 단어로, 구글과 아마존닷컴 등이 웹 2.0 시대에 가장 모범적인 기업으로 꼽히고 있습니다. 그럼, 웹 2.0 시대 이전의 서비스는 무엇이라 말할까요? 여러분이 예상했듯이 웹 1.0이라 지칭합니다. HTML과 Active X로 대표되는 웹 1.0은 계층적이며 기계적인 정보 분류와 전달이 주를 이뤘다면, XML, RSS, AJAX로 대표되는 웹 2.0은 자유로운 정보 공유와 개방, 그리고 이에 수반되는 손쉬운 접근성이라 말할 수 있습니다.

오라일리가 제시한 웹 2.0의 대표적인 서비스 구글 애드센스, Flickr, 비트토런트 등이 가진 공통점은 무엇일까요? 그것은 바로 스스로 컨텐츠를 구속하지 않는다는 점입니다. 물론, 저작권 문제 때문에 어려움을 겪는 웹 서비스가 있지만, 이 모두 자체 내에서 컨텐츠를 제공한 것이 아니라 사용자가 자발적으로 참여할 수 있는 하나의 플랫폼을 제공했다는 것입니다. 결국 웹 2.0은 '플랫폼으로서의 웹'과 '참여와 개방으로서의 웹'이 조화를 이룬 새로운 웹 서비스입니다.

오라일리는 웹 2.0의 첫 번째 원칙인 "플랫폼으로서의 웹"은 웹 2.0 시대에서는 플랫폼을 이해하고 그것을 지키는 자가 결국 승리하며, 더 나아가서는 플랫폼이 결국 웹으로 회귀 된다는 것을 뜻합니다. 그럼 플랫폼이 무엇일까요? 우리가 아는 가장 대표적인 플랫폼은 바로 마이크로소프트 운영체제(OS) 윈도우즈입니다. 현재, 모든 컴퓨터의 운영체제로 사용되고 있는 윈도우즈는 운영체제 시장의 독점적 위상을 차지하면서 모든 플랫폼을 자사의 기준에 맞춰 버려 사용자는 윈도우즈라는 좁은 틀에 갇히게 되며 그 어떤 것도 선택할 수 없게 됩니다. 때문에 현재까지도 마이크로소프트는 이 운영체제 플랫폼으로서의 독점적 위치와 영화를 누리고 있습니다.

웹 2.0을 좀 더 간단하게 설명하면, 웹 그 자체가 플랫폼의 역할을 수행하는 것을 말합니다. 따라서, 기존 플랫폼을 독점하다시피한 마이크로소프트가 웹 2.0 시대를 두려워하고, 서둘러 준비하는 이유 역시 이 때문입니다. 비록, 윈도우즈라는 플랫폼에 익스플로러를 끼워파는 행위 덕에 넷스케이프라는 걸죽한 프로그램을 밀어내며 웹 브라우저 시장을 장악할 수 있었지만, 앞으로 다가올 웹 2.0 시대에서는 윈도우즈를 비롯한 운영체제가 더 이상 플랫폼의 역할을 대신 해주는 시대가 영원하지 않기 때문입니다. 때문에 이전 시간에 소개했던 웹 기반의 다양한 서비스가 생겨나고 있는 것입니다.

이런 서비스는 웹 스스로가 플랫폼의 주체가 되기 때문에, 이제는 PC에 워드나 파워포인트를 설치하지 않고도 문서작업이 가능해지며, 이미지 편집 등의 작업도 할 수 있습니다. 심지어는 스타크래프트와 같은 게임을 설치하지 않아도 웹에서 바로 즐길 수 있는 시대가 도래할지도 모릅니다. 이런 상상은 점차 현실로 이뤄지고 있으며, 그 예가 바로 구글 Writely.com입니다. 이 웹 사이트는 접속만 하면 별도 프로그램 설치 없이 문서를 작성할 수 있습니다.

현재 세계 메이저 포털과 기업은 이미 웹 2.0을 이해하고 있으며, 준비하고 있습니다. 이런 점을 빠르게 받아들인 구글과 아마존은 성공의 탄탄대로를 걷고 있으며, 이에 자극을 받은 야후와 마이크로소프트 또한 그 행보를 빨리하고 있습니다. 특히, 가장 활발한 인수 합병을 보이는 야후야말로 웹 2.0 시대를 가장 철저하게 준비하고 있습니다.

하지만, 인터넷 강국이라 칭하는 국내 웹 사이트는 아직도 웹 2.0에 대한 서비스가 미비합니다. 많은 원인이 있겠지만, 메이저 포털사이트의 소극적인 자세가 가장 큰 문제라 생각됩니다. 이는 페이지뷰와 광고 수익에 의존하는 국내 웹 사이트의 관행적인
수익구조 때문입니다. 우리도 하루빨리 이런 변화에 대응해 뒤를 바짝 쫓고 있는 구글과 아마존, 야후 등의 공세에 대비해야 할 것입니다. 현재, 국내에서 웹 2.0을 가장 빠르게 접할 수 있는 서비스는 블로그입니다. RSS와 XML, Tag 등 블로그를 이루고 있는 상당한 요소가 웹 2.0에 근거를 둔 서비스이기 때문입니다. 웹 2.0을 준비하고자 하는 사용자라면, 블로그를 개설해 사용해보길 바랍니다.

장명식

2007-01-16

access와 ODBC를 이용하여 MSSQL에 연결하기

Access 의 경우 ODBC 잡는 법을 먼저 같이 해봅시다..  다음처럼 말이지요..
이 강좌는 여러분이 윈도우즈 2000을 사용한다는 가정에서 쓰여지고 있으니.. 그림도 2000 기준입니다.
하지만,  혹시 98이나, Windows NT 를 사용하시는 분이 있다면 죄송합니다만  Taeyo's ASP 책을 참고하시도록 하세요.
^^ 윈도우의 보여지는 모습만 조금 틀려졌을 뿐, 세팅순서는 거의 같습니다..  ^^

우선  을 누르고,   메뉴를 선택한 다음

 메뉴를 선택하시구요.....    를 선택합니다.

그러면 다음과 같은 ODBC 윈도우가 나타날 것입니다..  ^^ 
그러면, 바로 탭중에서 System DSN 탭을 선택하도록 합니다.

경우에 따라서는 기본적으로 잡혀져 있는 System Data Source 가 있을 수도 있지만 일단 무시하시구요.
(저의 경우는 ECDCMusic 와 LocalServer 이라는 것이 있지만...  일단 무시합니다) 
우리는 우리가 사용할 데이터베이스를 여기서 ODBC 세팅하는 것이 필요한 것이니까...
우리가 하고자 하는 일에만 집중하도록 하자구요..

자... 현재의 윈도우에서 Add 버튼을 눌러서... 새롭게 우리가 사용할 데이터베이스를 ODBC 잡아주도록 합시다.
그러면, 다음과 같은 그림이 뜨면서.. 어떤 데이터베이스를 ODBC 잡을 것인지... 지정해 줄수 있습니다.
Access를 사용하고 싶다면, 여기서 Access를... SQL을 사용하고 싶다면 여기서 SQL을 선택하면 됩니다.
Oracle도 기타 ODBC 드라이버가 제공되는 기타 데이터베이스도 모두 여기서 세팅이 가능합니다

잠시후,  Access 데이터베이스의 ODBC 세팅이 끝난 뒤 Ms SQL 서버일 경우 ODBC 잡는 법을 설명드릴 때 다시 이 윈도우를 보실 수 있을 것입니다...  ^^

여기서 중요한 것은 "데이터 원본 이름" 입니다.. 여기서 지정한 데이터 원본 이름을 통해서... 우리는 ASP 페이지에서 세팅된 데이터베이스를 접근할 수 있을테니까요....  "설명" 부분에는 자신이 알아보기 편하게 현재 데이터베이스의 설명을 적으시면 됩니다. 이제 MyDB 란 데이터 원본 이름(DSN: Data Source Name) 을 지정했으니... 어떤 데이터베이스를 MyDB 란 이름으로 사용할 것인지를 지정해야 합니다...

우리는 좀 전에 C:\Study\MyDataBase.mdb에 MDB 파일을 만들어 두었으니 그 파일을 지정하면 될 것입니다.위의 윈도우에서 가운데의  데이터베이스 : [선택] 버튼을 누르면 다음과 같은 윈도우가 뜨면서.. 파일을 지정할 수 있게 될 것입니다.... C:\Study\MyDataBase.mdb를 찾아서 지정해 주세요..

그리고 나면 다음과 같이 윈도우에 데이터베이스가 지정되어지게 될 것입니다.

이제 ODBC 설정은 끝났습니다.  이제 [확인] 버튼을 누르고 나면 우리는 ASP 페이지나 기타 여러 어플리케이션에서... MyDataBase.Mdb라는 데이터베이스 파일을 MyDB 란 이름으로써 사용할 수가 있게된 것입니다..  ^^

쉽지 않나요? 이것은 Access 의 경우의 ODBC 세팅이었구요... 이 ODBC가 세팅된 데이터베이스를 ASP 페이지에서 사용하는 것은 다음 강좌부터 진행될 것입니다.

그렇다면, Ms SQL 서버인 경우는 어떻게 될까요? 그러한 경운, 다시금 위의 ODBC 설정 윈도우를 열어서....  다시금 System DSN을 추가한다고 선택하면 됩니다.

방금 Access 로 잡아놓은 세팅이 보일 것입니다. 그것은 그것이고... 이번에 하려는 것은 SQL 서버를 사용하는 사용자일 경우입니다... DSN 이름.. 즉, 데이터 원본 이름은 중복될 수 없습니다..  ^^  고로, 이제 MyDB란 이름의 DSN은 사용할 수가 없다는 의미이지요...  그리고, SQL 서버를 쓰실분들은 위에서 한 Access 를 ODBC 잡는 것을... 하실 필요가 전혀 없습니다...  ^^   너무나도 당근과 같은 이야기지용...

SQL 서버의 특정 데이터베이스를 ODBC 잡는 것은 Access의 경우보다는 조금 어렵습니다. SQL 서버는 말그대로 서버이기에 계정이라는 것이 있고, 각각의 계정은 비밀번호를 가지고 있습니다. 그리고, 보안적인 부분이 강하게 움직이는 것이 서버이지요...  ^^  그러한 이유로 조금 더 복잡합니다만... 세팅에 어려움은 없습니다. 여러분은 금방 외울 수 있을 것입니다..  모든 ODBC세팅에 빠지지 않는 것이 무엇인지 기억하시면 되니까요... ODBC 세팅에 빠져서는 안되는 것일 무엇일까요??   마치 5W1H 와 같은 것...

어떤 데이터베이스 제품의 어떤 데이터베이스를 어떤 이름의 DSN으로 잡느냐는 것입니다.

위의 Access 의 경우에도 위의 조건을 따랐습니다. 먼저, 데이터베이스 제품을 선택했고, DSN이름을 지정한 다음, 해당 데이터베이스 파일을 지정해 주었습니다. 이는 SQL 서버에서도 오라클에서도 달라지지 않습니다.. 단지, 서버 제품에서는 사용자 계정 아이디와 비밀번호가 존재하기에 그것까지 세팅해 주는 부분이 추가되지요..

자.. 이 사실을 기억하시고...  이제 SQL 서버를 ODBC 연결해 보도록 합시다...^^

System DSN 탭에서..   [ADD]를 하게되면...  위와 같은 윈도우가 나오는데... 일반적으로 SQL 서버는 가장 밑에 존재하고 있습니다. 그것을 지정하시고..  [마침]을 누르시면 됩니다. 그러면 다음과 같은 윈도우가 등장합니다. 여기는 DSN과 설명 그리고... 데이터베이스 서버가 어떤 것인지 지정하는 부분이 등장합니다. DSN 명이 우리가 나중에 ASP 에서 사용할 이름이기에.. 이 이름을 잘 지정하고 외워두어야 합니다.

저는 아까의 Access와 구분을 하기 위해서.. MySQLDB 라고 주어 보았습니다. Access와는 다른 부분이... Server 라는 부분인데..  여러분의 네트웍상에는 여러대의 SQL 서버가 있을 수 있기 때문에...  그 서버의 이름을 지정하는 부분이 필요합니다. 여러 데이터베이스 서버가 존재할 수 있기 때문에 그중에 하나를 선정하는 것이지요.. 대부분, 자신의 PC 에 SQL 서버를 설치하고 있으실 것이기에...  다들 (local) 이라고 하시면 됩니다. 아니면, 자신의 컴이름을 기입하셔도 되져.. 컴 이름이 Sony 라면.  그 부분을 Sony 라고 적어주면 됩니다.

그리고.. [다음]...  그러면 이제 어떤 윈도우가 나올까요?

이번에는 어떤 아이디와 패스워드로 데이터베이스 서버로 접근할 것인지를 물어보는 윈도우가 나옵니다. NT 인증과 SQL 인증을 사용할 수 있는데..  대부분 SQL 인증을 많이들 사용합니다. 이것은 SQL 서버를 접근할 수 있는 계정을 NT 계정과는 따로  사용하겠다는 의미이지요...

저의 경우는 SQL 인증을 선택했구요.... 해당 아이디와 비밀번호는 SQL 서버의 기본적인 어드민 계정인 Sa를 사용했습니다. 기본적으로 Sa 계정은 암호가 없습니다.

하지만, 가급적.. 아니 반드시 SQL 서버 설치후 Sa 계정에게 반드시 암호를 부여하는 것이 좋습니다
(하지만, 사실 가급적 이 계정은 사용하지 않는 것이 좋긴 하죠.. 새로 계정을 하나 만들어서 사용하는 것이...)
저는 암호를 부여했기에... 위에 그림처럼 암호도 같이 지정하고 있는 것을 볼 수 있습니다. 지정이 잘 되었다면 다음으로 진행합니다.  혹, 다음과 같은 에러 메시지를 만나셨나요???

이 에러 메시지는 계정 아이디와 암호가 일치하지 않아서 나는 에러입니다... 이런 에러가 나면 SQL 서버 로 가셔서... 계정의 아이디와 암호를 다시금 확인해 보세요... 누군가가 암호를 바꾸어 두었던가, 그런 계정이 존재하지 않던가 할 것입니다...  ^^ 아이디와 암호도 모두 맞추어 주었다면...  ^^  다음과 같은 윈도우가 나옵니다...

그렇습니다. 바로 이제 우리가 사용할 데이터베이스를 선택하는 윈도우이지요...  ^^

기본적으로는 화면이 비활성화 되어져 있어서... 조금 혼란스러울 수 있습니다만... 여기의 가장 첫번째 체크박스에 체크표시를 하시고.. 위의 그림처럼.. 사용할 데이터베이스를 지정해 주어야 합니다. 우리의 경우 MyDataBase 이기에.. 그것을 선택하시면 됩니다. 이 단계를 제대로 거치치 않으면 기본적으로 Master 데이터베이스가 잡히게 되기에.. ODBC 를 잡아놓고도 제대로 ASP 페이지에서 데이터베이스로 접근이 안되는 일이 발생할 수 있습니다.

설정이 되었으면 다음으로...

그러면 위와 같은 윈도우가 나오는데요... 이것에서 우리가 세팅해 줄 것은 아무 것도 없습니다. 그냥 웃으면서 넘어가세요... ^^ [마침] 버튼을 눌러주시면, 다음과 같은 마지막 윈도우가 등장합니다.

여기서 지금까지 여러분이 세팅을 잡은 내역이 보여지는데요.. 그게 영어라 여러분은 별로 읽어보고 싶지 않을 수 있습니다...   하지만, 데이터베이스 이름은 가급적 꼭 확인하도록 하세요....  ^^ 그리고, 기분 나쁘다고 넘 성급하게 [OK] 를 누르지 마시구요... 꼭.. Test Data Source 를 해보세요

그리고,  위와같이 TESTS COMPLETED SUCCESSFULLY! 라고 메시지가 나오는 것을 확인 하셔야만 합니다...  이러면 ODBC 세팅이 완벽하다는 것을 알 수가 있지요... 여기까지 꼭 확인해 보셔야만 한답니다..... 이래서 Access 와 Ms SQL 서버의 ODBC 설정부분은 다 설명을 드렸네여

2007-01-11

리눅스 locate 명령어 사용법

1. 기능
파일을 검색하는 명령어이다. Find와 유사한 기능이나 DB를 이용한 검색이므로 검색 속도가 빠르다.

2. 문법
# locate [형식]

3. 옵션
-e <dir1,dir2,...> : 검색에서 배제 할 디렉토리를 지정한다.
-n <num> : 결과물의 개수를 지정된 숫자로 제한한다.

4. 사용방법 및 정보
가) 처음으로 locate를 실행할 때는 아래와 같이, updatedb 명령어나 cron 작업을 이용하여 데이터베이스를 갱신시켜

[root@sense ~]# updatedb &


이 작업은 root로 실행하여야 한다. 매일 DB를 갱신하여 사용의 효율을 높인다. cron에 대해서는 후에 다루게 된다.

[root@sense ~]# /etc/cron.daily/slocate.cron &


나) inittab 이라는 패턴이 포함된 파일 들을 모두 출력한다.

[root@sense ~]# locate inittab
/etc/inittab
/root/inittab
/usr/share/vim/vim63/syntax/inittab.vim
/usr/share/man/ko/man5/inittab.5.gz
/usr/share/man/man5/inittab.5.gz
/usr/share/terminfo/a/ansi+inittabs

 

리눅스 less 명령어 사용법

1. 기능
more와 유사하게 페이지 단위로 문서를 보여준다. 이것은 문서의 앞으로 이동하는 것이 가능하다.

2. 문법
# less [ 옵션 ] 파일명

3. 옵션
- : less에서 사용할 수 있는 명령들에 대한 도움말을 제공한다. 이 옵션이 사용되면 다른 인수는 무시되고, 도움말 화면을 보여준다.
-a : 마지막 라인이 화면에 출력되고 나서 탐색을 시작한다.
-c : 필요할 때 전체 화면은 다시 갱신한다.
-C : -c 옵션과 같지만 갱신할 때 화면 전체를 지우고 시작한다.
-e : 두 번째로 파일의 끝에 도달하면 자동적으로 종료한다.
-E : 파일의 끝에 도달하기만 하면 자동적으로 종료한다.
-i : 대소문자를 구분하여 탐색한다.
-n : 행번호를 추가한다.
-q : 특정 에러가 발생하지 않으면 아무 소리도 내지 않고 조용히 동작한다.
-Q : 결코 아무 소리도 내지 않는다.
-s : 연속되는 공백 라인은 하나의 행으로 처리한다.
-x 숫자 : 수치를 지정해서 탭 간격을 조정한다. 기본값은 8이다.

4. 사용방법 및 정보

cat 명령으로 파일 내용을 확인할 때, 파일 내용이 많은 경우 너무 빨리 지나가 버리기 때문에 제대로 확인할 수가 없다. 이런 경우에 more 나 less 명령을 통해 파일 내용을 페이지 단위로 확인하게 된다. 이때, more 명령은 정방향으로 한페이지씩 확인이 가능하고, less 명령은 한페이지씩 확인 한 후 다시 지나간 내용을 확인할 수 있다. 정방향으로 확인하고자 할 때는 space bar를 이용하고, 역방향으로 확인하고자 할 때는 back을 의미하는 'b' 키를 이용한다.

리눅스 killall 명령어 사용법

1. 기능
프로그램 명으로 프로그램을 종료 시킬 때 사용한다.

2. 문법
# kill [옵션] 프로그래명

3. 사용방법 및 정보
가) killall은 지정된 명령이 실행중인 모든 프로세스에 시그널을 보낸다. 만약 시그널 이름이 지정되지 않으면, SIGTERM 이 보내진다. 다음 명령을 통해 Apache 웹 서버 데몬(httpd)을 모두 종료 시킨다.

<shell>
[root@sense tar]# pstree | grep httpd
|-httpd---7*[httpd]
[root@sense tar]# killall httpd
[root@sense tar]# pstree | grep httpd
</shell>


나) 기본 시그널 외에 시그널을 지정하여 사용할 수 있다. xinetd에 대한 설정을 바꾼 후 설정을 반영시켜 다시 데몬을 실행시키고자 할 때 아래와 같은 명령을 사용하면 된다.

<shell>
[root@sense tar]# killall -HUP xinetd
</shell>

 

리눅스 kill 명령어 사용법

1. 기능
현재 수행중인 프로세서에게 시그널을 보낸다. 보통 kill 명령은 프로세서를 죽이는 데에 사용된다. 그래서 이 유틸리티의 이름도 kill이 되었다.

2. 문법
# kill [-signalID] PID
# kill -l

3. 옵션-type pattern 형식이 pattern인 것.
-signal ID : 프로세서에게 보낼 시그널을 지정한다. 시그널은 번호로 지정될 수도 있고 시그널 이름으로 지정될 수도 있다.
-l : 시그널 종류를 나열한다. 시그널의 종류는 시그널 번호 순서대로 이름으로 나열한다.

4. 사용방법 및 정보
시그널의 종류를 지정하지 않으면 프로세서를 종료시키는 의미로 디폴트 시그널 ID 15번을 보내게 된다.

예를 들면 당신이 시스템을 사용을 마치고 로그아웃할 때는 시그널 ID 1번의 HUP(hang up) 시그널이 시스템으로 전달되며, 이 시그널은 당신의 셸 상태에서 실행중인 모든 프로세서를 종료시키고(앞에서 언급한 nohup에 의한 프로세서는 제외) 로그아웃하게 한다.

[root@sense root]# kill -l

1) SIGHUP 2) SIGNT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGIOT 7) SIGBUS 8) SIGPPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOL 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR

<shell>
[root@sense ~]# ps aux
root 2209 0.0 0.4 8416 2132 ? Ss Mar17 0:00 cupsd
</shell>

ps 명령을 실행한 결과, 현재 cupsd 데몬이 구동중인 것을 확인할 수가 있고, 이 프로세스에 대한 정보를 확인할 수 있다. 이 중 PID를 이용하여 프로세스를 강제종료 시키고자 한다면 다음과 같은 명령을 실행한다.

<shell>
[root@sense ~]# kill -9 2209
</shell>

위 명령을 실행한 후 ps 명령을 다시 실행하면 cupsd에 대한 정보가 없는 것 확인할 수 있다.
 

리눅스 halt 시스템 종료 명령어 사용법

1. 기능
halt는 아무런 경고 없이 시스템을 즉시 종료시킨다.

2. 문법
# halt [ 옵션 ]

3. 사용방법 및 정보
시스템이 halt되면 'System halted' 메시지가 나오고, 시스템은 정지한다. halt는 옵션을 가지지 않는다. 명령이 내려지면 일련의 마무리 작업을 수행한 후에 정지한다. 시스템 종료 기록도 /var/adm/wtmp 로그 파일에 추가된다.
 

리눅스 gzip 명령어 사용법

1. 기능
리눅스 파일 압축 명령어

2. 문법
# gzip [옵션] 파일명

3. 옵션-type pattern 형식이 pattern인 것.
-d :압축을 해제한다.
-l : 압축파일 안에 있는 파일 정보(압축된 사이즈, 압축율) 출력한다.
-r : 하위 디렉토리까지 모두 압축한다.
-S : 다른 확장자를 지정(기본값은 .gz)한다.
-v : 압축하거나 풀 때 압축율, 파일명을 출력한다.


4. 사용방법 및 정보
가) 압축 파일을 생성한다.

[root@sense tar]# gzip test.txt
[root@sense tar]# ls -l test.txt.gz
-rw-r--r-- 1 root root 29 Mar 26 12:16 test.txt.gz


나)압축을 해제할 때는 gunzip 명령을 사용한다.

[root@sense tar]# gunzip test.txt
[root@sense tar]# ls -l test.txt
-rw-r--r-- 1 root root 0 Mar 26 12:16 test.txt

 

리눅스 grep 명령어 사용법

1. 기능
파일 내에서 특정 패턴을 검색한다. 이름은 Global Regular Express Printer 의 머리글자이다.

2. 문법
# grep [ -vclhnief ] 표현 파일명(들)
# fgrep [ -vclhnief ] 문자열 파일명(들)

3. 옵션-type pattern 형식이 pattern인 것.
-V : 일치되는 내용이 없는 라인을 표시한다.
-C : 일치되는 내용이 있는 행의 개수를 센다.
-I : 일치되는 내용이 있는 파일의 이름만을 표시한다.
-h : 일치되는 내용을 찾은 파일의 이름을 표시하지 않는다.
-n : 일치 내용이 있는 행은 행 번호와 함께 표시된다.
-i : 대소문자 구분을 하지 않는다.
-e 표현 : 표현이 하이픈 문자로 시작될 때 사용한다.
-f 파일 : 찾으려는 문장이나 표현이 있는 파일을 지시한다.

4. 사용방법 및 정보
원하는 탐색 단어 혹은 문장을 검색한다. 표현은 일반 표현식을 사용한다. fgrep은 문자열을 검색할 때 빠르게 사용할 수 있다.

[root@sense ~]# ls | grep mail
mail.txt


- ls 결과 중 mail 이라는 구문이 들어 간 파일이 있는 지 검색한다.

grep "[Ss]ense" mail.txt


앞 글자가 대소문자인지 상관하지 않고 sense라는 단어를 찾는다. 이것은 다음의 fgrep 명령과 같은 동작을 한다.

# fgrep sense mail.txt

리눅스 echo 명령어 사용법

1. 기능
echo는 인수로 지정된 문자열을 그대로 화면에 출력한다. 이것은 인수로 주어진 문자열이 오퍼레이팅 시스템으로 읽혀진 후에 다시 그대로 화면에 ‘메아리’치는 것으로 생각할 수 있다.

2. 문법

# echo [ -ne ] 문자열



3. 옵션
-n : 새로 개행하지 않고 출력하게 한다.
-e : 문자열 중에서 백슬래쉬와 조합되는 특수 문자를 인식하게 한다. 그러한 특수 문자들은 다음과 같은 것들이 있다.
\a 벨소리
\b 백스페이스
\f 용지바꿈(form feed)
\n 행바꿈
\r 0 칼럼으로(carriage return)
\f 탭(tab)
\v 수직 탭
\\ 백슬래쉬 문자
\c 출력 후 행바꿈 금지

4. 사용방법 및 정보
가) 일반적으로 echo 명령은 프롬프트 상에서 사용되는 일은 없다. 하지만 스크립트 작성시 자주 사용된다. 셸 스크립트 상에서 echo 명령은 BASIC의 PRINT 명령이나 C 언어의 printf() 함수와 같이 메시지를 출력하는 데에 자주 사용된다. 또한 전혀 필요 없을 것 같은 echo의 -n 옵션도 스크립트 상에서는 유용하게 사용될 수 있다.

<shell>
[root@sense ~]# echo "This is an echo test."
This is an echo test.
</shell>


나) echo 명령으로 환경변수 값도 확인할 수 있다.

<shell>
[root@sense ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:
/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/local/mysql/bin: /usr/local/apache/bin </shell>

 

리눅스 du 명령어 사용법

1. 기능
du 는 Disk Usage를 의미하며, 지정된 디렉토리의 디스크 사용량을 표시해준다.

2. 문법
# du [옵션] 파일

3. 옵션
-a : 디렉토리가 아닌 모든 파일에 대한 정보를 출력
-k : 결과 값을 KB 단위로 출력한다. (기본값)
-m : 결과 값을 MB 단위로 출력한다.
-h : 사용자가 이해하기 쉬운 용량의 단위를 표시한다. ((ex) KB,MB,GB)
-l : 하드 링크의 용량을 모두 계산한다.
-s : 사용량의 총 합계만 출력한다.
-S : 하위 디렉토리를 합치지 않고, 각각을 나누어서 계산한다.
지정된 디렉토리 내의 파일과 모든 하위 디렉토리의 용량, 내용까지 볼 수 있다.

4. 사용방법 및 정보
가) home 디렉토리 내의 사용량의 총합을 알아보기 쉬운 단위로 표시한다.

[root@sense tar]# du -sh /home
484K /home


나) home 디렉토리내에 있는 모든 디렉토리와 파일들의 정보를 표시한다.

[root@sense tar]# du -a /home
8 /home/lebowski/.zshrc
8 /home/lebowski/.gtkrc
------------중략-----------------
56 /home/linuxone
484 /home

리눅스 date 명령어 사용법

1. 기능
date : 시스템의 날짜, 시간을 표시 및 변경

2. 문법
date [옵션] 형식

3. 사용방법 및 정보
가) date 명령어를 사용하여 시스템 날짜와 시간을 확인할 수 있다.

<shell>
[root@sense ~]# date
Sat Mar 26 11:39:27 KST 2005
</shell>


나) date 명령어를 사용하여 시스템 날짜와 시간을 변경할 수 있다.

<shell>
[root@sense ~]# date 032611412005
Sat Mar 26 11:41:00 KST 2005
</shell>


다) 특정 날짜에 대한 정보를 얻을 수 있다.

<shell>
[root@sense ~]# date -d '7days ago'
Sat Mar 19 11:40:40 KST 2005
</shell>

리눅스 free 명령어 사용법

1. 기능
실제적인 메모리와 스왑 공간의 용량과 남은 공간, 사용량 등을 보여준다.

2. 문법
#free [ 옵션 ]

3. 옵션
-b : 메모리 공간을 나타낼 때 바이트 단위로 보여준다.
-k : 메모리 공간을 나타낼 때 킬로바이트 단위로 보여준다.(기본 설정)
-m : 메모리 공간을 나타낼 때 메가바이트 단위로 보여준다.
-s seconds : 지정된 초(seconds) 단위로 업데이트 된 정보를 보여준다.

4. 사용방법 및 정보
가) free 명령을 통해 메모리에 대한 정보를 볼 수 있다.

<shell>
[root@sense ~]# free
total used free shared buffers cached
Mem: 515812 483288 32524 0 79688 180588
-/+ buffers/cache: 223012 292800
Swap: 1020088 160 1019928
</shell>


나) 사용하지 않는 램 용량을 보려면(MB 단위) 다음과 같은 명령을 사용한다.

<shell>
[root@sense ~]# free -m | grep Mem | awk '{ print $4 }'
31
</shell>


다) 실시간으로 정보를 업데이트 해서 보고 싶다면 ?s 옵션을 사용한다.

<shell>
[root@sense ~]# free -s 10
total used free shared buffers cached
Mem: 515812 483416 32396 0 79720 180636
-/+ buffers/cache: 223060 292752
Swap: 1020088 160 1019928

total used free shared buffers cached
Mem: 515812 483416 32396 0 79724 180636
-/+ buffers/cache: 223056 292756
Swap: 1020088 160 1019928
</shell>


10초 단위로 업데이트 된 메모리 정보를 보여준다.

리눅스 cal 명령어 사용법

1. 기능
서기 원년부터의 달력을 볼 수 있다.

2. 문법
# cal [-jy] [ [ 달 ] 연도 ]

3. 옵션
-j : 1월 1일부터 날짜수를 계산하는 julian 날짜를 표시한다.
-y : 올해의 달력을 표시한다.

4. 사용방법 및 정보

가) 현재 달의 달력을 출력한다.

<shell>
[root@sense ~]# cal
March 2005
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 </shell>


나) 올해의 달력을 출력한다.

<shell>
[root@sense ~]# cal -y
2005

January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 1 2 3 4 5
2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12
9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 19
16 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 26
23 24 25 26 27 28 29 27 28 27 28 29 30 31
30 31

------------------------중략-----------------------------------
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 1 2 3
2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
30 31
</shell>

리눅스 fsck 명령어 사용법

1. 기능
파일 시스템이 완전한 상태를 유지하고 있는가를 검사하고, 잘못된 것은 바로 잡는다.

2. 문법
# fsck [ -arsVN ][ 파일시스템 ]

3. 옵션
-a : 검사도중 발견된 에러를 자동적으로 복구한다.
-r : 검사도중 에러가 발견되면 복구할 것인가를 물어온다. 이것은 하위 호환성을 위한 것으로서 사실상은 사용되지 않는다.
-s : 병렬적인 방법이 아니라 순차적인 방법으로 검색한다.
-V : 검색 중 각종 정보를 자세하게 보여준다.
-N : 실제로 검사 작업을 하지는 않도록 한다.

4. 사용방법 및 정보
이것은 시스템이 처음 가동될 때 시스템 초기화 스크립트에 의해 자동으로 실행된다. 이름은 file system check를 줄인 것으로, 파일 시스템을 스캔(scan)하여 일관성을 유지하고 있는가를 검사한다.
디스크의 블록이 bitmap에는 사용되지 않은 상태로 표시되었음에도 불구하고 inode로부터 참조된다든지 반대로 사용된 블록으로 표시되었는데도 inode로부터 참조되지 않는 일이 있는가를 검색한다. 그 외에도 inode 링크계수가 올바른지 두 개 이상의 inode가 같은 블록을 참조하는지 혹은 블록번호가 유효한 것인가 등 여러 가지를 검사한다.

-a 옵션을 사용하였다면 검사도중 발견된 오류는 자동으로 복구된다. -r 옵션을 사용한다면 반드시 -s 옵션을 함께 사용해야 한다. fsck는 기본적으로 한꺼번에 몇 개의 검사를 병행하는 병렬 작업을 하기 때문에 하나의 에러를 발견하더라도 다른 검사는 계속 수행되고 있다.
검사 시간을 최대한 절약하기 위해서 병렬 작업을 하기 때문에 사용자의 수정과 다른 검사 작업의 호홉이 맞지 않을 수 있다. 그러므로 -s 옵션을 주어서 오직 하나의 검사 작업만 진행되도록 해야 한다. 그러나 -r 옵션은 하위 버전과의 호환성을 위한 것으로서 사용자는 -a 옵션만을 사용하는 것으로서 충분하다.
파일 시스템을 지정해 주지 않으면 /etc/fstab 파일에 나열된 파일 시스템을 검색한다.

리눅스 find 명령어 사용법

1. 기능
원하는 특정 파일을 디렉토리를 탐색하여 찾는다. find는 매우 강력한 도구로 지정된 조건에 만족하는 파일을 찾는다. 파일의 조건은 이름이나 크기, 날짜 등 다양하게 지정할 수 있다.

2. 문법
# find [ 경로 ] 탐색 조건

3. 옵션-type pattern 형식이 pattern인 것.
b : block device file, c: character device file, d: directory
p : named pipe, f: regular file, l:symbolic link, s:socket
-name 파일명 파일명으로 검색
-size 크기로 검색
-exec 명령 {}\; 검색된 결과에 대해서 지정한 명령을 적용
-user 사용자명 사용자명 소유의 파일을 검색
-amin n n분 이전에 접근한 파일
-atime n n*24시간 이전에 접근한 파일
-ctime n n*24시간 이전에 파일의 상태가 변경된 파일
-mtime n n*24시간 이전에 파일의 내용이 변경된 파일
-empty 크기가 0인 일반 파일 또는 디렉토리
-name 파일명 : 찾고자 하는 파일의 이름을 정한다. 와일드 카드도 가능하다.
-perm 모드 : 파일 권한(permission)이 일치되는 것을 찾는다. 원하는 권한은 ls로 볼 수 있는 형태와 같이 지정한다.
-links : 특정 개수의 링크를 가진 파일을 찾는다. 물음표 부분에 링크의 숫자를 표기한다.
-size : 파일의 크기가 일치하는 것을 탐색한다. 파일 크기는 블록단위로 물음표 부분에 지정한다. 한 블록은 512바이트로 내정되어 있지만 블록 숫자 뒤에 단위로 k자를 붙이면 1키로바이트 크기의 블록 숫자로 간주된다.
-user 사용자 : 파일 사용자의 ID에 따라서 검색한다. 로그인 이름이나 번호 모두가 가능하다.
-exec 명령 : 원하는 검색 조건에 맞는 파일을 찾으면 명시된 명령을 실행한다. 명령의 끝은 \;을 사용하여 끝낸다. find가 검색해낸 파일의 이름을 인수로 사용하고 싶다면 그 위치에 {}를 사용한다.
-newer 파일 : 어떤 파일보다 최근에 갱신된 모든 파일을 검색한다.

4. 사용방법 및 정보
단순한 파일을 찾는 것은 물론, 다양한 조건(파일 모드, 파일 타입, 크기, 시간 등)을 이용하여 원하는 파일 들을 찾을 수 있다.
가) /home 디렉토리 아래의 파일들 중 디렉토리 파일을 검색

<shell>
[root@sense ~]# find /home -type d
/home
/home/lebowski
/home/mysql
/home/sense
/home/linuxone
</shell>


나) 홈 디렉토리 아래에서 크기가 5096kb 이상인 파일을 찾아 자세한 정보(ls ?l)을 출력한다.

<shell>
[root@sense ~]# find ~ -size +5096k -exec ls -l {} \;
-rw-r--r-- 1 root root 669319168 Mar 11 17:10 /root/valhalla-i386-disc2.iso
-rw-r--r-- 1 root root 5563716 Feb 28 11:21 /root/.mozilla/firefox/kazb7qu2.default/Cache/D0709ED3d01
-rw-r--r-- 1 root root 714907648 Mar 5 17:25 /root/images/nuxone/NuxOne_v2.1_RPMS_CD2.iso
-rw-r--r-- 1 root root 596164608 Mar 5 17:01 /root/images/nuxone/NuxOne_v2.1_RPMS_CD1.iso
-rw-r--r-- 1 root root 318918656 Mar 5 17:18 /root/images/nuxone/NuxOne_v2.1_RPMS_CD3.iso
</shell>


다) /usr 디렉토리 내에서 지난 24시간 동안 사용되었던 확장명이 jpg인 모든 파일을 찾아 그 내용을 자세히 출력 시켜준다.

[root@sense ~]# find /usr -name “*.jpg” -atime -1 -exec ls ?l {} \;


라) dev 디렉토리 내에 빈 파일들을 찾는다.

[root@sense ~]# find /dev -type f -empty

 

리눅스 cp 명령어 사용법

1. 기능
파일을 현재의 위치나 다른 디렉토리로 복사(copy)한다.

2. 문법
# cp [ 옵션 ] 파일명1 파일명2
# cp [ 옵션 ] 파일명(들) 디렉토리

3. 옵션
-a : 가능한 한 원 파일의 구조와 속성을 그대로 복사한다.
-b : 복사할 때 덮어쓰게 되는 파일은 백업을 만든다.
-d : 심볼릭 링크는 심볼릭 링크로 복사한다. 그리고 원본 파일과의 하드 링크 관계를 유지한다.
-f : 복사 위치에 존재하는 파일을 제거하고 복사한다.
-i : 복사 시 같은 이름의 파일이 존재한다면 덮어쓸 것인가 확인한다.
-I : 하드 링크를 만든다.
-P : 원본 파일의 소유자, 그룹, 권한, 시간 기록을 그대로 복사한다.
-R , -r : 파일과 하위 디렉토리에 포함된 파일 모두를 복사한다.
-s : 디렉토리가 아닌 파일의 심볼릭 링크를 만든다. 소스 파일의 이름은 전체 경로 이름으로 한다. 목적지 파일 이름은 전체 경로를 주지 않아도 현재 디렉토리로 간주되므로 상관없다.
-u : 파일의 정보를 갱신한다.
-x : 다른 파일 시스템인 하위 디렉토리는 무시한다.

4. 사용방법 및 정보
가) 만일 파일명2가 이미 존재하는 파일의 이름이라면 기존에 있던 파일은 사라지고 새로운 복사본 파일로 바뀐다. 안전을 위해 i 옵션이 환경변수로 설정되어 있다. -i 옵션은 파일명2가 이미 존재하는 이름이라면 그대로 복사할 것인지 아닌지를 선택할 수 있게 물어온다.

<shell>
[root@sense ~]# cp file1 file2
cp: overwrite `file2'? y
</shell>


나) 여러 파일을 한 번에 복사할 수도 있다.

<shell>
[root@sense ~]# mkdir copydirectory
[root@sense ~]# cp file file1 file2 copydirectory/
[root@sense ~]# ls copydirectory/
file file1 file2
</shell>


다) ?r 옵션을 통해 하위 디렉토리의 파일까지 복사할 수 있다.

<shell>
[root@sense ~]# cp -r commands copydirectory/
[root@sense ~]# ls copydirectory/
anaconda-ks.cfg commands.html copydirectory docs file1
commands commands index.html Desktop file file2
[root@sense ~]#
</shell>

리눅스 cd 명령어 사용법

1. 기능
Change Directory. 현재 작업하는 디렉토리를 변경한다.

2. 문법
# cd 디렉토리

3. 옵션
. : 현재 디렉토리
.. : 상위 디렉토리
~ : 홈디렉토리
- : 이전 디렉토리로 이동

4. 사용방법 및 정보
디렉토리 이름과 cd 명령 사이에 반드시 공백이 있어야 한다. 디렉토리 이름을 주지 않고 수행하면 사용자의 홈 디렉토리로 이동한다. 자신이 이동하고자 하는 디렉토리는 자신에게 실행 권한(execution permission)이 있어야 한다. 실행 결과는 ‘pwd’ 명령을 통해 확인할 수 있다.

[root@sense ~]# cd /etc/sysconfig : /etc/sysconfig 디렉토리로 이동
[root@sense sysconfig]# pwd : 현재 디렉토리 확인
/etc/sysconfig
[root@sense sysconfig]# cd ../.. : 두 단계 상위의 디렉토리로 이동
[root@sense /]# cd : 홈디렉토리로 이동
[root@sense ~]# pwd : 현재 디렉토리 확인
/root
[root@sense ~]# cd - : 이전 작업 디렉토리로 이동
/

 

리눅스 cat 명령어 사용법

1. 기능
cat은 concatenate (사슬로 잇다. 연결하다)에서 이름이 유래한다. 이것은 파일의 내용을 화면에 출력하는 데 사용되기도 하며 파일을 다른 곳에 순차적인 스트림으로 보내기 위해 사용된다.

2. 문법
# cat [ 옵션 ] [ 파일명]

3. 옵션
-b : 공백 외의 글자가 있는 모든 행의 개수를 센다.
-e : 제어 문자를 ^ 형태로 출력하면서, 각 행의 끝에 $를 추가한다. -vE와 같다.
-n : 각 행을 출력하면서 행 번호를 함께 첨부한다.
-s : 중복되고 겹치는 빈 행은 하나의 빈 행으로 처리한다.
-r : 행바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력한다. -vT와 같다.
-u : 유닉스 호환성을 위해 추가된 옵션으로서 무시된다.
-v : tab과 행바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력한다.
-E : 각 행마다 끝에 $ 문자를 출력한다.
-T : 시로서 탭(tab) 문자를 출력한다.
-A : -vET 옵션을 사용한 것과 같은 효과를 가진다.

4. 사용방법 및 정보
가) 파일의 내용을 터미널에서 확인하고자 할 때 cat 명령을 사용한다. Cat 명령의 인자로 특정 파일을 지정하면 해당 파일의 내용을 연속적으로 보여준다.

<shell>
[root@sense ~]# cat /etc/inittab
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
----------------------------------중략------------------------------------
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm ?nodaemon
</shell>

/etc/inittab 파일을 화면으로 출력한다.

<shell>
[root@sense ~]# cat file1 file2
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
</shell>


file1과 file2 이 두 파일의 내용을 연속적으로 보여주게 된다.

나) cat 명령은 대상 파일 명을 지정하지 않으면, 기본 값으로 표준 입력 장치를 선정한다.

[root@sense ~]# cat

지금과 같은 경우 입력 대기 상태가 되며, 내용 입력이 끝난 뒤 ctrl+d로 종료하면 표준 출력 장치인 화면으로 출력한다.

다) 위와 같은 cat 명령의 결과를 redirection 을 통해 저장할 수도 있다.

<shell>
[root@sense ~]# cat file1 file2 > newfile
[root@sense ~]# cat newfile
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
</shell>

리눅스 shutdown 명령어 사용법

1. 기 능

시스템을 종료할 때 일반적으로 사용되는 명령이다.

2. 문 법

# shutdown [ 옵션 ] 시간 [ 메시지 ]
# shutdown now

3. 옵션

-t  n : t 옵션 뒤에 n초를 명시해서, 경고 메시지를 보낸 후 n초 후에 kill 시그널을 보낸다.
-h : shutdown시 halt를 실행하게 한다.
-n : 디스크 동기화 동작의 수행을 금지한다. 이런 옵션은 보통 사용할 일이 없을 것이다.
-r : 시스템 종료를 완료하고 나서 다시 부팅 과정을 수행한다.
-f : 빠른 리부팅을 한다. 리부팅 시 파일 시스템 검사를 하지 않는다.
-c : 이미 예약되어 있는 shutdown을 취소한다. 이 옵션을 준다면 시간 인수는 줄 수 없다. 하지만 메시지는 사용자들에게 줄 수 있다.
-k : 경고만 보내고 실제로는 종료하지 않는다. k는 ‘just kidding'의 의미라고 한다.

4. 사용방법 및 정보

shutdown 명령은 미리 사용자들에게 경고만을 보내고, 정해진 시간에 시스템을 종료한다. 시간은 24시간 단위의 표기법을 사용하며 종료 5분전에는 시스템에 로그인이 금지된다. 시스템 종료 시간이 가까워짐에 따라 각 사용자들에게 메시지를 주기적으로 출력하여 경고를 보낸다.
[root@sense ~]# shutdown 22:30 System will be shutdown at 10:30 PM!! ByeBye~

다음은 밤 11시 30분에 시스템을 종료하도록 예약하며 사용자들에게 그것을 알린다.

시간을 명시할 때 now를 사용하면 곧바로 시스템을 종료한다. 리눅스 사용자들은 컴퓨터를 끄기 전에 이렇게 하면 간단하다. 혼자 사용하고 있을 때 번거로운 과정은 필요 없을 테니까 말이다.

 
리뉴(mniktw)

언제나 배움에 배고파 하는 대한민국의 프로그래머입니다.

리눅스 tee 명령어 사용법

1. 기 능

표준 입력으로부터 읽어서 표준 출력이나 파일로 쓴다.

2. 문 법

tee [option] [file]
tee command는 독립적으로 사용되기 보다는 파이프를 이용하여 다른 command와 함께 사용하는 경우가 많다.

3. 옵션

-a : 덮어쓰지 않고 주어진 파일에 표준 입력을 추가한다.
-i : 인터럽트를 무시한다.

4. 사용방법 및 정보

set 명령에 대한 결과값을 set.out 파일에 저장한다.
[root@ls ]# ls  -l /etc  | tee etclist.out
/etc 디렉토리 리스트를 etclist.out 파일에 저장한다.
 

리눅스 tail 명령어 사용법

1. 기 능

파일의 마지막 부분을 출력한다.

2. 문 법

tail  [option] ... [file] ...
기본 출력은 파일의 마지막 10줄을 보여준다.

3. 옵션

--bytes=N : Nbyte 만큼 출력한다.
-f : 파일의 10줄을 출력해주고 파일의 내용을 실시간으로 계속해서 출력한다.
-n N : n 개수만큼의 라인을 출력한다.

4. 사용방법 및 정보
[root@ls ]# tail -n 20 anaconda-ks.cfg
anaconda-ks.cfg 파일의 마지막부터 20줄까지를 출력한다.
[root@ls ]# tail -n +20 anaconda-ks.cfg
anaconda-ks.cfg 파일의 20번째 줄 이후를 출력한다.
[root@ls ]# tail -f /var/log/messages
/var/log/messages 파일을 실시간으로 화면에 출력한다(log 모니터링에 사용됨)
 

리눅스 splitbr 명령어 사용법

1. 기 능

텍스트 파일을 여러 조각으로 나눈다.

2. 문 법

split [option] [input]
파일을 나누게 되면 파일의 이름은 xaa, xab, xac 형식으로 만들어 진다. 이름을 지정할 경우 x 대신 지정한 글자가 들어간다.

3. 옵션

-b N : N byte 만큼씩 파일을 분할한다.
-l : 라인의 개수만큼씩 파일을 분할한다.

4. 사용방법 및 정보

[root@ls ]# split -l 10 anaconda-ks.cfg
anaconda-ks.cfg 파일을 10개의 라인씩 묶어 여러 개의 파일로 나눈다.
[root@ls ]# split -b 500 anaconda-ks.cfg
anaconda-ks.cfg파일을 500byte씩 묶어서 여러 개의 파일로 나눈다.
[root@ls ]# split -b 300 _d test anaconda-ks.cfg
anaconda-ks.cfg 파일을 300byte씩 묶어서 여러 개의 파일로 나눈다. 단 파일의 이름은 test이름을 넣는다.