리눅스 기본 명령어- 2

 


 

앞에서 리눅스에 대한 간단한 정보확인, 이동 등등의 명령을 알아보았다.

 

이제 본격적으로 파일을 만들어보고 디렉토리도 만들어보고 지워보고

복사도해보고 파일속 내용도 명령어로 확인해보고.. 등등 실습해보자.


cat
 

cat명령어는 해당파일의 내용을 보게해주는 명령어이다.

만약에 test.txt 이란 파일이 있다면 그 안에 내용을 보여준다.

 

아래는 cat 명령어 입력한것과 결과물이다.

 

물론 test.txt는 실습을 위해 미리 만들어 둔 파일이므로

실제 파일을 만들어 보는 작업은 다음포스트 vi 에디트 실습 때 하겠다.

 
일단은 ls을 처본 결과 이상한 파일들이 있는데 cat 뒤에다가 저 파일 명을 입력해서

안 속을 들여다 보는 것도 나쁘진 않을것 같다.


어쨋든 요점은 파일 속 내용을 보여주는 명령이라고 기억해놓자.
 
mkdir
 
mkdir 명령어는 디렉토리를 새롭게 생성할 때 사용하는 명령어이다.

전에 리눅스 디렉토리에 관해 많이 알아보았는데 /root, /home, /etc 등등

 
이 리눅스에 기본적으로 가지고있는 디렉토리말고

우리가 뭐 새롭게 파일들을 따로 저장해둔다던가 그런 일반 디렉토리를 만들고 싶을 때

사용하는 명령어라고 보면 되겠다.

 
디렉토리는 하나의 폴더라고 생각하면 되겠다.
 

아래는 mkdir 명령을 통해 디렉토리를 만들어보는 작업을 한 것이다.

 

mkdir water 라는 명령을 쳐서 water 라는 이름을 가진 디렉토리를 생성하고

 

전에 알아보았던 ls, pwd, cd 명령을 응용해서 새로만든 디렉토리에 이동해보고 디렉토리안 파일들 확인해보고

현재 디렉토리가 어디에 위치해 있는지 알아보는 작업을 하였다.

 

ls를 입력해 봤을때 water 디렉토리 안은 아무것도 안뜨는걸로 보아 파일이 아예 없는것을 짐작 할 수 있다.

 

다음 포스트에 vi 에디트를 알아봄과 동시에 파일 옮기기, 파일 복제, 파일 덮어씌우기, 파일 지우기,

디렉토리 지우기 등등에 대해 알아보자.

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

리눅스 기본 명령어-1

 

 

 

리눅스 계정 패스워드변경 (passwd), 디렉토리파일 확인 명령 (ls) 을 앞서 알아보았다.

그렇다면 리눅스에서 자주쓰이는 명령어와 기본명령어를 알아보자.

 

pwd

 
pwd는 현재 위치를 나타낸다.

내가 현재 어떤 디렉토리에 위치해있는지 알려주는 명령어이다.
 

pwd의 명령어를 입력하면 아래와 같다.
 

pwd를 입력해본 결과 /root로 뜨는것을 확인할 수 있다.

이는 현재 디렉토리가 /root 홈 디렉토리라는것을 알 수 있다.
 

cd

 
cd는 윈도우에서도 사용된다.

우리가 명령 프롬프트 창에서 해당 파일 디렉토리를 찾아갈 때 많이 쓰인다.
 

pwd로 현재 디렉토리가 /root 임을 확인했다.

나는 /home 디렉토리로 이동하고싶다. 그렇다면
 

cd /home 명령을 입력해서 현재디렉토리를 /home 디렉토리로 이동하는것이다.

 
cd명령을 입력하면 아래와 같다.
 

위에 그림을 보면 ~ 부분이 home 으로 바뀌는것을 볼 수 있다.

이는 /home 디렉토리가 현재 디렉토리임을 뜻한다.
 

아까 pwd 명령을 응용해보면 /home 이라고 뜨는것을 확인 할 수 있다.

man 또는 --help

 
man은 명령어의 사용법에 관해 알려주는 명령어이다.

명령어가 명령어의 사용법을 알려주니 어떻게보면 우습다

man 명령어는 --help의 기능을 한다.

--help 또한 사용법에 관해 알려주는 명령어이다.

 
형식
 

#[리눅스명령어] --help

#man [리눅스명령어]
 

위에서 알아보았던 명령어를 응용해서 사용법 정보를 알아보자.

 
ls라는 명령어에 대한 사용법을 알고싶다 그러면
 

ls --help 또는 man ls 라고 입력해주면 된다.
 

결과는 아래와 같다.

ls --help 결과


man ls 결과

more
 

위에 명령을 입력할 때 잘 보면 | more 가 뒤에 붙어서 입력한 것을 확인할 수 있는데

이 more 명령어는 정보가 많을때 한페이지 분량으로 부터 시작해서

엔터를 처가며 조금씩 조금씩 볼 수 있게 해주는 명령어라고 보면 된다.

| ( 쉬프트키+역슬래쉬 ) 은 파이프라고 불리우는데

또다른 명령을 한줄에 여러개 쓸 때 사용된다.

whereis


실행파일 위치, 메뉴얼 파일 위치를 출력한다.
 

예를들어 앞 포스트서 보았던 패스워드 변경 명령어 passwd를 들면

whereis passwd 라고 입력해보자.

결과는 아래와 같다.

whereis 명령어는 많이 쓰이는 명령어는 아니므로 이런게 있다 정도만 알아두면 되겠다.

 

 

               

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,


Bitnami로 내PC에 아파치웹서버 간단하게 구축하기

 

 

 

 

인터넷 검색을 하다보니 간단하게 아파치웹서버를 간단하게 구축할 수 있는 프로그램이 여러가지 있는 것으로 보이지만

오늘은 Bitnami로 내PC에 아파치웹서버 간단하게 구축을 해보기로 합니다.
어렵지 않으니 천천히 따라해 보시기 바랍니다.

 

먼저 www.bitami.com 에 접속하여 프로그램을 다운로드 받아봅니다.

 

 

 

 

애플리케이션 /

 

 

설치파일을 다운로드 한다. 용량은 약 120MB정도다. 

 

 

 

 

다운받아 설치하면 아래와 같이 공란을 채우고 기억해 두시기 바랍니다.

 

 

 


프로그램의 정상적인 설치 및 작동여부는 Go To Application을 눌러서 아래 화면이 나오면 정상적으로 설치되었다고 볼 수 있다.

이렇게 해서 설치하는 것까지 해보고 다음 포스팅에서 계속 웹서버 응용을 학습해 보도록 하겠습니다.

 

               

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

CentOS | MySQL 설치하고 root 사용자 비밀번호 생성하기

 

리눅스를공부하고 이제는 서버구축을 해보기위해 교재를 사왔습니다.

교보문고에서 CentOS책중에서 가장 뚜꺼운 책같아요

page가 1423 와우 !! 이책을 다보고 테스트 해볼려면 한참 걸리겠지만  ....

일단오늘은

[CentOS 리눅스] MySQL 설치하고 비밀번호 생성하기하는 내용을 좀 보겠습니다.

 

CentOS는 안정적이라는 장점이 있지만, 패키지 업데이트가 느리고, 많은 부분을 직접 설정해야 한다는 단점이 있습니다. MySQL 비밀번호 설정도 그렇습니다. 우분투(Ubuntu) 같은 경우 MySQL 설치 시 비밀번호를 설정하도록 되어 있는데, CentOS는 직접 비밀번호를 만들어줘야 합니다.

CentOS에서 MySQL을 설치하고 root 사용자 비밀번호를 만드는 방법을 정리해보겠습니다.

MySQL 설치

다음과 같이 명령하면 MySQL이 설치됩니다.

 


yum install mysql-server

MySQL 서버를 실행시키는 명령어는 다음과 같습니다.
service mysqld start

root 사용자 비밀번호 생성

root 사용자의 비밀번호를 설정하려면 다음과 같이 명령하여 MySQL에 접속합니다.
mysql -u root -p mysql

비밀번호를 입력하라고 나오는데 아직 비밀번호가 없으므로 엔터를 칩니다.

root의 비밀번호를 생성하는 명령은 다음과 같습니다. (new-password에 원하는 비밀번호를 넣으세요.)
update user set password=password('new-password') where user='root';

이제 권한 테이블을 업데이트합니다.
flush privileges;

다음과 같이 명령하여 MySQL에서 나옵니다.
quit;
아래이미지는 제가 사온 책입니다.

 

 

 

 

이책으로 서버구축해보고 계속 포스팅해 드리겠습니다. 감사합니다.

 

               

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

ATOM 설치

 

코딩을 할 수 있는 에디터를 설치하겠습니다.

저는 에디터로 EditPlus에디터를 사용하고 있습니다.

 

우선 ATOM을 설치하겠습니다.

 

ATOM 다운로드를 위해 여기를 클릭하세요. [여기]

 

여기를 누르면 다음과 같이 아톰 홈페이지가 나타납니다.

 

 

화면에 보이는 Download Windows Installer을 눌러주세요.

 

 

다운로드 폴더에 가서 AtomSetup파일을 실행하면 설치가 끝난후 다음과 같이 에디터가 나타납니다.

 

 

이제 아톰에디터에 Hello World를 작성하고 이것을 웹페이지에 띄워보겠습니다.

 

Hello World를 작성해주세요.

이제 이 파일을 바탕화면에 web이라는 폴더를 만든 후 helloworld.html 파일명으로 저장해주세요.

 

이제 저장한 helloworld.html를 더블클릭하여 실행해 주세요

 

이제 HTML부터 시작해서 순차적으로 CSS, JavaScript, jQuery, MysQL, PHP를 배워봅시다.

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 

ubuntu 강좌 소개

리눅스 ubuntu를 통해 집에서 홈페이지를 운영관리하고 싶으면

이번 강좌를 열심히 배워보세요

제 주위에는 몇몇 사람이 그러니까 컴퓨터를 잘하는 친구인데

IDC는 비용이 들어간다고 집에서 운영하고 있습니다.

정보위주의 홈페이지를 운영하기 때문이죠

유료 사이트라면 당연히 IDC에서 운영을 해야 하는게 맞지만

무료 사이트이기 때문에 비용을 아끼고자 집에서 운영중라고해요

저도 그래서 집에서 연습삼아 해보려고

최근에 저는 노트북 한대를 구입했습니다.

친구말에 의하면

서버는 아톰으로 돌아가고 파워도 어댑터로 되어있고 정말 저전력으로 설계된 서버를 사용

했다고 하는데 .

하지만 정전이 되거나 하면 전원이 끊기게 되었고 WOL(원격으로 전원을 켜는 기능)을 설정해 놓지 않아 정전 한번 나면 그 날 하루는 집에가서 전원을 켜기 전까지 꺼져 있어야 했답니다.

최근에는 WOL을 설정했지만 제가 늘 사이트를 살펴 볼 수도 없기에 잠깐 정전이 되더라도

컴퓨터가 계속 켜져 다시 전기가 들어와도 바로 운영가능 하도록 노트북을 구입했다는데 ?

집에서 서버를 운영한다 ?

 

 

 

아무튼 여러 가지 방법으로 구글링을 해서든지 집에서 서버설치 방법을

연구하고 연구해야 겠지요 ?

서버를 설치하려면 도메인도 구입하셔야죠 !

서버를 설치하고 셋팅 후 도메인을 구입해서 자신이 구입한 도메인을 웹브라우저에 입력하면 자신이 셋팅한 서버에 연결되는 과정이라고 보면 되겠습니다.

이 방법을 학습하면

짜잔 ! 자신만의 서비스를 집에서 구축할 수 있다!

일단 서버용으로 사용할 컴퓨터가 필요합니다.

고사양이 아니어도 괜찮아요.(아톰도 괜찮아요!)

전는 iptime공유기를 사용하므로 iptime공유기의 설정을 대상으로 설명합니다.

우선 서버 셋팅을 한 후 도메인 연결 작업을 진행하겠습니다.

도메인 구입비용은 약 8000~15000원 사이이며 연단위로 유지비를 결제해야합니다.

서버 셋팅하는 방법만 알려면 도메인 구입은 필요하지 않겠죠!

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

>Telnet 접속하고자하는HOST [PortNumber]

이 명령어가 제대로 수행되면 로그온 절차가 시작됩니다.

 

 

 

1. 압축하기 : tar cvfz [경로]000.tar.gz

2. 압축풀기 : tar xvfz [경로]000.tar.gz

3. ls : 현재 디렉토리의 파일 리스트를 보여줌.

 ls -al : 파일의 속성(크기, 퍼미션, 히든 파일)을 보여줌.

 ls -at : 파일이 생성된 시간까지 보여줌.

4. cd : 지정된 경로로 디렉토리를 이동할 수 있다.

ex) cd /; cd /bin/src; cd ;                    /* cd는 현재 디렉토리를 보여주고, 해당경로를 지정하였을 때 이동한다.*/

5. chmod : 파일이나 디렉토리의 퍼미션을 변경해줌.

ex) chmod 755 test01.java

6. mkdir : 디렉토리를 생성

ex) mkdir test01

7. rmdir : 디렉토리를 제거

ex) rmdir : testdir

8. rm : 디렉토리 및 파일을 제거(지움)

rm -r : 해당 경로에 포함된 디렉토리까지 지움

rm -f : 지움 명령을 다시 한번 확인하지 않고 바로 지움.

rm -rf : 디렉토리를 강제로 지움. 디렉토리가 비워져 있지 않아도 강제로 지움.

ex) rm -rf testdir

9. cp : 디렉토리 및 파일을 복사.

cp -r : 해당 경로에 포함된 디렉토리까지 복사

ex) cp test01.java test02.java                        /* test01.java를 test02.java로 같은 디렉토리 내에 복사*/

ex) cp -r testdir /workspace/test/testdir        /* 현재 디렉토리 내에 있는 testdir 디렉토리를 /wokrspace/test/testdir로 복사 */

10. mv : 디렉토리 및 파일을 이동시키거나 이름을 변경

ex) mv test01.java test02.java                        /* test01.java를 test02.java로 이름 변경*/

ex) mv test01.java ../test                              /* test01.java를 현재 디렉토리 내에 있는 test디렉토리로 이동*/

ex) mv testdir testdir01                                 /* testdir을 testdir01로 이름 변경*/

11. du : 디스크 사용에 관한 정보를 알려줌

ex) du / (리눅스의 총용량)

 

12. 기타 명령어

Telnet의 명령어는 대부분 유닉스/리눅스 명령어와 부합되어 있다.

각 장비 및 시스템에 포팅되어 있는 버전에 따라 각 명령어가 조금씩 다르니 확인 후 사용해야 함.

 

adduser : 유저를 만들 때 사용하는 명령

chown : 파일이나 디렉토리의 ownership을 바군다

ex) chown lp /dev/lp

diskinfo : 시스템에 설치되어 있는 디스크의 정보를 보여준다.

ex) diskinfo /dev/rdisk/c0t6d0

date : 현재 시각 표시

echo : 표준 출력에 문자열을 출력

exit : 로그아웃하고 프로그램 종료

file : 파일 내용의 성격을 보여준다(파일의 종류를 알아볼 때)

finger : 현재 로그인 되어 있는 사용자의 인적사항을 출력한다.

find : 파일 시스템에서 파일이나 디렉토리를 찾을 때 사용

ex) find /-name core -print

grep : 파일 내에서 특정 패턴을 찾는다

ex) grep 0- l ifconfig /sbin/init.d/*

gzip : 압축명령

gunzip : 압축해제명령

jobs : 백그라운드에서 실행되고 있는 작업들의 작업번호, 작업 상태등을 보여줌.

kill : 실행 중인 프로세서를 강제종료할 때.

ex) kill -9 924

last : 최근 접속한 사용자의 이름과 장소, 시간 등을 알려줌

lp : 시스템의 기본 프론터에 파일을 프린트 함.

lpstate -t : 모든 프린터 스풀러에 관련된 정보를 보여줌

mail : 다른 사용자에게 편지 보내기

more : 텍스트 파일 내용을 페이지 단위로 봄(더 보려면 spacebar 누름, 한줄 보기는 enter)

ps -ef : 시스템에서 수행되고 있는 모든 프로세스를 보여줌

passwd : 암호 변경

shutdown : 시스템 끔

top : 주기적으로 변하는 프로세스의 정보를 보여줌

useradd : 사용자 추가

userdel : 사용자 삭제

usermod : 사용자 권한 주기

what : 파일의 버전 정보를 보여줌

who : 로그인 된 사용자 목록을 보여줌

who am i : 현 사용자의 로그인 명, tty 및 로그인한 날짜/시간을 보여줌

who -r : 현재의 run state를 보여줌

sort :  파일정렬

sleep : 지정한 시간만큼 쉰다.

shutdown -h now : 당장 종료

shutdown -r now : 시스템 리부팅

userdel pr 디렉토리명 : 사용자의 홈디렉토리까지 삭제

 

13. vi : Linux의 vi edit 기능을 수행함.

vi edit는 크게 입력모드와 명령모드로 구분된다.

 

>>입력모드 : 입력모드로 전환하기 위해서 다음과 같이 i,a,o,O를 타입핑해야 한다.

i 커서가 놓여 있는 위치의 문자 앞에 삽입

a 커서가 놓여 있는 위치의 문자 뒤에 삽입

o 현재행의 아래행을 밀어내고 입력모드로 전환

O(대소문자 구분) 현재행을 한줄 아래로 밀어내고 입력모드로 전환

입력모드를 벗어나려면 ESC 키를 누르면 명령모드로 돌아온다.

 

>>명령모드

:q                 저장하지 않고 종료

:q!                강제 종료

:w                저장

:w!               강제로 저장

:wq              저장하고 종료(=:x)

:wq!             강제로 저장하고 종료

:w file_name  새이름으로 저장

-> 커서이동 :명령모드에서 이동할 수 있다(리눅스에서는 일반 방향키로도 이동이 가능)

h(왼쪽), (아래쪽)j, k(위쪽), l(오른쪽),

w(오른쪽), b(왼쪽), 0(행의 처음으로 이동), $(행의 마지막으로 이동)

-> 텍스트교체

R(커서가 있는 자리부터 여러문자를 교체)

r (커서가 있는 자리부터 한글자만 교체)

-> 삭제명령

dw   한 단어 삭제

dd    한 줄 삭제

D     커서 위치부터 행 끝까지 삭제

x      한 글자 삭제

-> 자르기와 붙여넣기

y(텍스트를 복사), yy(한줄을 복사)

->범위지정

:행번호(문서의 지정 번 행으로 이동)

:$(행의 마지막으로 이동), :$=(현재 편집중인 텍스트 내용이 총 몇 줄인지 확인)

:시작행,마지막행d (시작행부터 마지막행까지 지움)

:시작행,마지막행y (시작행부터 마지막행까지 임시버퍼에 저장)

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

리눅스 트리 계층구조( linux tree directory) 이해

  

 

리눅스는 계층적인 트리 형태로 구성되어 있다.
리눅스는 윈도우즈와는 달리 드라이브 라는 개념을 사용하지 않고 파티션(partition)과 마운트(mount)라는 개념을 사용한다.
리눅스는 유닉스와 마찬가지로 모든것을 파일로 취급하여 처리하며 리눅스의 기본적인 디렉토리 구조는 다음과 같다.
 

 

/ (root)
최상위 디렉토리로서, 루트 디렉토리라고 한다.
모든 디렉토리는 루트를 기준으로 생성되며 루트는 모든 디렉토리의 출발점이자 다른 파티션의 연결점이다.
/bin
시스템에서 사용되는 기본 명령어들이 위치하는 디렉토리로 많은 리눅스 명령이 저장되어 있다.
'bin' 이라는 이름은 이곳의 프로그램 배부분이 이진 파일이라는 것을 의미한다.
/var
내용이 자주 변경되는 가변 자료들이 저장되는 곳으로, 기본적으로는 시스템을 운영할 때 발생되는 로그 파일들이 저장된다.
다은과 같은 서비스를 제공하는 서버로 리눅스를 운영할때 사용 하면 바람직 하다.
- 메일을 송/수신할 때 임시로 저장되는 스풀
- 프린트로 전송하기 위해 임시로 저장하는 프린트 스풀 데이터
- 레드햇 배포판에서 패키지로 제공하는 아파치 웹 서버 관련 자료
- MySQL의 데이터 베이스
- FTP의 최상위 디렉토리 등등

/boot
부팅에 필요한 지원 파일들이 위치하는 디렉토리이며, 시스템 부팅 시 부트로더가 커널의 위치를 참조 한다.
/dev
각 장치에 대한 장치 파일이 위치하는 디렉토리로, 용량을 차지 하지 않는 가상의 디렉토리다.
통상적으로 파일을 저장하지 않는다.
/dev 디렉토리에 있는 유용한 파일 가운데 하나는 null 이다.
이파일은 존재하지 않거나 비어 있는 장치를 의미한다.
/etc
리눅스에서 사용되는 모든 어플리케이션 및 환경 설정에 필요한 설정 파일들이 존재한다.
실행파일은 존재하지 않고 편집기를 이용하여 해당 파일을 변경하여 시스템의 설정을 변경하는 디렉토리다.
시스템을 관리하는데 필요한 프로그램이나 파일이 있다.
가장 유명한 파일은 시스템의 암호 파일인 passwd가 있다.
/home
일반 사용자들의 홈 디렉토리가 위치하는 곳이다.
또한 FTP, MySQL, 등 별도의 공간을 요구하는 서비스를 위한 디렉토리로 사용될 수도 있다.
/lib
기본적인 라이브러리가 위치하는 디렉토리로서, 시스템 운영이나 프로그램을 구동할 때
필요한 공유 라이브러리 및 부팅할 때 사용되는 커널 모듈도 포함된다.
/mnt

시스템 관리자에 의해 임시로 마운트된 파일 시스템들이 위치할 곳이다.
CD-ROM 이나 USB에 대한 기본 마운트 포인트를 제공한다.
/proc
프로세스와 시스템 정보를 제공하기 위한 목적으로 설계된 가상 파일 시스템을 위한 디렉토리다.
/proc은 실제로 하드디스크 상에 존재하는 것이 아니라 메모리에 존재하는 것으로서
메모리에 존재하는 내용을 마치 하드디스크에 있는 하나의 파일처럼 다룰수 있게 해 주는 디렉토리다.
/sbin
sbin은 시스템 바이너리(system binaries)의 약자로 시스템 관리자가 사용하는 시스템운영에 필요한 명령어가 존재하는 디렉토리다.
즉 관리자만 사용하며 해당 명령어로는 fdisk, reboot 등이 있다.
/tmp
프로세스 생성 과정에서 발생되는 임시 파일을 저장하는 디렉토리로, 수시로 파일이 생성되고 삭제된다.
시스템을 재구동하는 경우에는 존재하는 모든 파일이 삭제된다.
일반적으로 짧은 시간 동안만 저장할 필요가 있는 파일을 이곳에 저장한다.
/usr
모든 어플리케이션 및 시스템 파일들, 라이브러리 파일 및 실행 파일이 위치하는 디렉토리로, 비교적 많은 공간이 필요하다.
/usr의 하위 디렉토리

 디렉토리명

 

 /usr/bin

 실행 파일을 보관하는데 사용한다.

 /usr/dict

 리눅스 사전이 사용하는 파일들이 들어 있다.

 /usr/include

 프로그래머들이 사용하는 파일들이 존재한다.

 /usr/lib

 /lib의 일부분처럼 프로그램의 라이브러리들이 존재한다.

 /usr/local

 시스템 관리자가 자신의 프로그램이나 문서를 저장하는데 사용한다

 /usr/man

 매뉴얼에서 사용하는 디렉토리와 파일이 들어 있다.

 

 디렉토리명 
 /usr/bin  실행 파일을 보관하는데 사용한다.
 /usr/dict  리눅스 사전이 사용하는 파일들이 들어 있다.
 /usr/include  프로그래머들이 사용하는 파일들이 존재한다.
 /usr/lib  /lib의 일부분처럼 프로그램의 라이브러리들이 존재한다.
 /usr/local  시스템 관리자가 자신의 프로그램이나 문서를 저장하는데 사용한다
 /usr/man  매뉴얼에서 사용하는 디렉토리와 파일이 들어 있다.
  


 리눅스 디렉토리 구조 -2
 
리눅스는 설치를 하면 최상위 디렉토리가 존재하기 마련인데
바로 루트 디렉토리이다.
 루트 디렉토리는 / 으로 표시한다.
폴더 이름 자체가 / 으로 되어있다는 뜻이다.
 하지만 /(루트) 디렉토리가 존재하는 반면 /root 라는 디렉토리도 존재하는데
 (루트)디렉토리는 말그대로 루트 디렉토리이고, /root 디렉토리는 관리자 홈 디렉토리를 말한다.
 


 리눅스 GUI 환경에서 파일 브라우저로 /를 검색해본 결과 ( 프로그램 -> 파일 브라우저 )
위와 같이 나온다.
 
리눅스의 파일 브라우저는 윈도우에서 탐색기라고 보면된다.
파일이 여러개있다.
루트 디렉토리 안에 들어있는 또다른 디렉토리들에 대한 정보를 알아보자.
 
/root : 관리자 홈 디렉토리
/boot  : 커널 디렉토리 (부팅 관련 파일 )
/etc  : 시스템 설정파일 디렉토리
/usr : 응용프로그램 디렉토리
/var : 로그파일, 메일 디렉토리
/lib : 라이브러리 디렉토리
/tmp : 임시 디렉토리
/home : 일반계정 홈디렉토리
/dev : 장치파일 디렉토리
/proc : 프로세스 정보 디렉토리
/media, /mnt : CDROM 마운트 디렉토리
  
현재,부모,자식 디렉토리
 
1. 현재 디렉토리 : 현재 디렉토리는 현재 자신의 위치한 디렉토리를 말한다.
" . "로 표현
● 사용자가 현재 작업중인 디렉토리
 
2. 부모 디렉토리
" .. "로 표현
● 현재의 디렉토리가 포함되어 있는 바로 위의 디렉토리
 
부모 디렉토리 입장에서 하위 디렉토리를 본다면 그 하위 디렉토리는 자식 디렉토리가 되는것임!
  
상대 경로 이름과 절대 경로 이름
 
경로(path) : 파일이 위치한 부분
 절대경로(absolute path) : 루트(/) 디렉토리부터의 위치
 상대경로(relative path) : 현재의 디렉토리부터의 위치
 
예를 들어보자.
/home 디렉토리에 mulhanbangul 이라는 파일이 있다고 치면
절대 경로로 치면 /home/mulhanbangul 이 되는 것이다.
 
반면에
 
상대경로로 표현하면 ../mulhanbangul 이렇게 된다.
 
절대경로와 상대경로의 쓰임은 다음 포스트에서 명령어를 알아가면서
직접 이해해 볼터니 잘 기억해두자.
 
 
명령어 디렉토리
 
명령어 디렉토리는 명령어가 저장되어있는 디렉토리를 말한다.
한마디로 그 디렉토리마다 명령어 제한이 존재하는데
예를들어 아래처럼 /bin인 경우에는 모든 사용자가 사용이 가능한 명령어를 저장하고있다.
 
/bin : 슈퍼유저(root) + 일반유저 = 모든 사용자가 쓸 수있는 명령어
/sbin : 슈퍼유저(root)용 명령어
/usr/bin : 대부분의 사용자 명령어
/usr/sbin : 시스템 관리용 명령어
/usr/local/bin : 리눅스 OS 설치 후에 추가된 프로그램 명령어
 
 
보면 /bin /usr/bin은 그럼 서로 같은거 아니냐 라고 생각할 수 있겠지만
사실은 /usr/bin보다 /bin이 더 큰 디렉토리라고 보면된다.
 

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,


  리눅스 기본 명령어 통해 상대경로/절대경로를 알아낼 수 있습니다.
그럼 순서대로 하나씩 차근차근 실습을 하면서 명령어를 익혀보세요

 

리눅스의 바탕화면에서 오른쪽 마우스를 클릭하면 위와 같은 창이 나오는데
여기서 'open in Terminal'을 클릭하고 프롬프트 창에서 명령어를 입력하면된다
passwd
계정의 비밀번호를 변경하는 명령어 입니다.


ls
ls는 파일과 디렉토리의 리스트를 보는 명령어 입니다.
MS-DOS 의 DIR 명령어와 같은 개념이라 보시면 됩니다.


ls 명령에는 옵션이 따라 붙는데, 가장 많이 쓰는 옵션이 -a, -l, -h 입니다.
-a : 모든 파일의 리스트를 보기 위해 쓰는 옵션으로, 모든 파일과 디렉토리 및 숨김파일까지 보여줍니다.
-l : 각각의 디렉토리나 파일의 정보를 함께 보여줍니다. 파일의 권한 및 소유자, 소유그룹, 용량 등을 보여줍니다.
-h : 파일의 용량을 보기 좋은 단위로 보여줍니다. 1967000000 Byte 대신에 1.9G 이런식으로 보여주는거죠.


-rw-r--r--    1 root      root                7.4G 2013-03-05 22:54 sda_disk.img
drwxrwxrwx  2 root      root                4.0K 2013-03-15 20:41 temp


출력결과를 볼 때 권한과 관련 된 부분은 가장 좌측의 열자리 입니다. 1/3/3/3 순으로 끊어서 보시면 되고,
제일 앞에 'd' 가 있는 경우는 디렉토리, '-' 가 있는 경우는 파일 입니다. 그 뒤의 9자리가 권한과 관련된 것입니다.


옵션을 한꺼번에 적용할 수도 있습니다.
예를 들어 ls -alh 라고 한다면 모든 파일의 리스트를 보여주는데, 자세한 정보와 함께 보기좋은 단위의 용량으로 리스팅 해줍니다.

cd
DOS에서의 cd와 같은 것입니다.
상위 디렉토리로 이동할 때는 cd .. (한칸 띄워야 합니다) 이라고 해주면 되고, 루트로 가려면 cd / 이라고 해주면 됩니다.
root 아래의 pogodata 디렉토리로 이동하려면 cd /pogodata 라고 해주면 되겠습니다.
하위 디렉토리로 갈 때는 cd 해당폴더명 이렇게 해주면 이동합니다.


pwd
현재 사용자가 위치하고 있는 디렉토리의 절대경로를 출력해 주는 명령어 입니다.


mkdir
디렉토리를 만드는 명령어 입니다.
mkdir test 라고 하면 하부에 test라는 디렉토리를 만드는 것입니다.
절대경로를 사용하여 mkdir /pogodata/movies 이런식으로 디렉토리를 만들어 줄 수도 있습니다.
유용한 옵션으로는 -m 옵션이 있는데, 퍼미션 까지 지정하여 디렉토리를 만들어 줍니다.
mkdir -m 777 /pogodata/movies 라고 한다면, root 하부의 pogodata 하부에 movies 라는 디렉토리를 만들고,
777 권한을 부여한다는 것입니다.


nano
텍스트 파일의 편집에 이용되는 명령어 입니다.
nano (편집할 파일명) 의 형식으로 사용됩니다.
nano /etc/fstab 이런식으로 절대경로로 사용될 수도 있습니다.
해당하는 위치에 파일이 없는 경우에는 파일을 생성하는 역할도 해줄 수 있습니다.


fdisk
fdisk (디바이스명) 으로 입력하면 해당 디바이스의 파티션을 조정할 수 있습니다.
예를 들면, fdisk /dev/sda 라고 해주면
sda 에 잡혀있는 디바이스의 파티션을 설정할 수 있는 것입니다.
여기서 스왑파티션의 설정도 가능합니다


-l 옵션을 추가하여 fdisk -l 이라고 해주면
현재 시스템의 파티션 목록을 보여주게 됩니다.


chmod
파일이나 디렉토리의 권한을 변경하여 줍니다.
chmod 777 /pogodata 라고 하면 /pogodata 디렉토리의 권한을 777로 설정해 주는 것입니다.
-R 옵션이 들어가면 하부 디렉토리까지 적용이 가능합니다.


chown
소유자나 소유그룹을 변경할 수 있는 명령입니다.
chown pogo_user test
- test 라는 파일의 소유자를 pogo_user 로 변경하는 것입니다
chown :family test
- test 라는 파일의 소유그룹을 family 로 변경하는 것입니다. 그룹 이름 앞에 콜론을 찍습니다.
chown pogo_user:family test
- test 라는 파일의 소유자, 소유그룹을 한꺼번에 변경할 수 있으며,
  소유자를 pogo_user 로 바꾸고, 소유그룹을 family 로 바꾸어 줄 수 있습니다.


which
명령어 파일의 경로를 알려줍니다.
which (찾을 명령어) 형식으로 사용합니다.


whereis
명령어의 실행파일위치, 소스위치, 메뉴얼 페이지 파일위치를 찾아주는 명령어로써,
명령어의 위치만을 찾아주는 which에 비해 포괄적인 명령어 입니다.
whereis (명령어) 의 형식입니다.


whatis
명령어의 역할을 간단히 알려주는 기능을 합니다.
whatis (명령어)


--help
명령어 뒤에 붙여주면 간단한 기능 및 옵션에 대하여 알려줍니다.
(명령어) --help 의 형식으로 사용합니다.


man
명령어의 메뉴얼 파일을 보여줍니다.
man (명령어) 형식으로 사용하게 되며, 자세한 메뉴얼을 볼 수 있습니다.
예를 들어, man rtmpdump > rtmp.txt 의 형식으로 사용하게 되면
rtmpdump 의 메뉴얼을 rtmp.txt 파일로 저장하여 줍니다.


| more
사용하는 명령 뒤에 붙여서 쓰는 것으로 more 앞에 있는 '|' 은 소문자 L이 아니라,
C:\> 에 사용되는 \ 문자와 같은 키 위에 있는 문자로 '쉬프트 + \' 로 입력하게 됩니다.
출력의 내용이 너무 길어 한페이지에 다 볼 수 없을 때 출력결과를 끊어서 보여주는 역할을 합니다.


df (Disk Free)
df 명령은 디바이스의 용량 및 마운트 경로, 파티션 정보 등을 보여주는 명령입니다.
-h 옵션을 사용하면, Kilo, Mega, Giga 등의 보기좋은 용량으로 보여줍니다.


mkfs
mkfs -t [파일 시스템 타입] [디바이스명] 의 형식으로 사용하는 것으로, 파일 시스템을 작성하고 포멧을 해줍니다.
mkfs -t ext3 /dev/sda (mkfs.ext3 /dev/sda 라고도 쓸 수 있습니다.) 라고 한다면
/dev/sda 디바이스를 ext3 파일 타입으로 포멧하겠다는 뜻이 됩니다.


fsck
fsck -t [파일 시스템 타입] [디바이스명] 의 형식으로 사용하는 것으로,
손상 된 파일시스템을 점검하고 복구해 주는 역할을 합니다.
fsck -t ext3 /dev/sda 같은 형식으로 사용할 수 있으며, 마운트를 해제하고 진행해야 합니다.
(fsck.ext3 /dev/sda 와 같이 사용할 수 있습니다)


uptime
시스템의 부하율을 보여줍니다.
12:54:21 up  3:28,  2 users,  load average: 0.00, 0.03, 0.04
이런 형식으로 출력되며
맨 끝의 3개의 숫자들은 지난 1분, 5분, 15분동안의 시스템 부하율을 각각 평균으로 보여주는 것입니다.


top, htop
시스템 모니터링을 위한 명령입니다.


free
메모리의 사용현황을 보여줍니다.


tar
묶을 때 : tar cvfz (압축파일.tar.z) (압축대상파일 및 디렉토리)
풀 때 : tar xvfz (압축파일.tar.z)


옵션
c : 여러개의 파일을 하나의 파일로 묶어 tar파일을 생성할 때 사용 (압축하지 않고 묶기만 하는 것)
f : tar파일을 사용할 때에는 반드시 포함
v : 파일들의 내용을 보려고 할 때 사용
x : 묶인 파일을 다시 풀어줄 때
z : 압축과 관련 된 옵션 (z 옵션이 들어가면 파일 확장자가 tar.z 가 되고, z 옵션이 없으면 tar 가 됩니다)


halt
시스템을 종료합니다.
halt 명령 후 10초 정도 지나면 usb의 led 가 깜빡거리다가 꺼지는 것을 볼 수 있고,
그 후에 플러그를 빼주시는 게 좋습니다.


reboot
시스템을 재부팅 합니다.


* 파일의 삭제, 복사, 이동 등의 명령어는 왠만큼 FTP 클라이언트로 대체 가능하여 제외 하였다.
 
리눅스의 기본 파일 시스템 및 계층구조
1. 파일시스템(/)
'/'은 최상위 루트 디렉터리로 리눅스의 모든 디렉터리들의 시작점이다.
2. /boot
리눅스 부트로더(Boot Loader)가 존재하는 디렉터리이다.
3. /bin
기본적인 명령어(실행파일)가 저장된 디렉터리이다.
4. /dev
시스템 장치(device)파일을 저장하고 있는 디렉터리이다.
5. /etc
시스템의 거의 모든 설정파일이 존재하는 디렉터리(서비스)이다.
6. /home
일반 사용자의 홈디렉터리 생성 위치이다.
7. /lib
커널모듈파일과 라이브러리파일(언어소스파일)들이 들어 있는 디렉터리이다.
8. /lost+found
파일시스템마다 존재할 수 있는 디렉터리로 파일시스템 체크(점검) 및 복구 유틸리티 실행 후 주로 생성되는 것이다.
9. /media
로컬 장치파일이 들어있는 디렉터리이다.
10. /mnt
원격 장치파일이 들어있는 디렉터리이다.
11. /proc
가상화 파일시스템이 들어 있는 디렉터리이다. (커널, 프로세스등)
12. /root
루트(root)의 홈 디렉터리이다.
13. /sbin
시스템 명령어가 들어 있는 디렉터리이다. (root 만이 사용할 수 있는 명령어)
14. /tmp
임시저장파일이 들어있는 디렉터리 일명 "공용디렉토리" . 시스템을 사용하는 모든 사용자들이 공동으로 사용하는 디렉토리이다.
15. /usr
시스템이 아닌 일반 사용자들이 주로 사용하는 디렉터리이다.
16. /var
시스템로그파일,메일파일등이 들어있는 디렉터리로 시스템운용중에 생성되었다가 삭제되는 데이터를 일시적으로 저장하기 위한 디렉터리이다.
이렇듯 리눅스의 계층구조는 최상위 디렉터리 '/' 아래로 'boot', 'bin', 'dev', 'mnt', 'sbin' 그외 여러 하위 디렉터리로 구성되어 있다.

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

리눅스 Vi / Vim 편집기 명령어 익히기

 

 

Linux vi편집기 명령어  

리눅스에서 작업을 도와주는 리눅스 단축명령어을 이용하며  편합니다.
vi 편집기를 처음시작하면 명령어 모드상태가 되며 이 상태에서 문자입력시 사용되는 명령어를 이용하여
입력모드로 들어갑니다. 이 후 명령어모드와 입력모드간의 변경은 esc키를 이용하여 변경하며
명령어모드에서 :키를 입력하면 마지막 라인모드가 됩니다.
아래 vi명령어를 정리해 두었으며  되로록 자주 사용하면서 습득하는 것이 좋습니다.

vi , vim 편집기 명령어 ( vi를 더 개량 한 것이 vim 편집기 이다.

1. vi 시작 및 종료
   vi  filename  : vi를 시작하여 지정한 파일 편집
   vi file1 file2 ... filen   :   여러개의 파일을 동시에 편집
   vi -r filename   :  비정상적인 vi 모드의 종료 등에 의한 편집파일 복구모드에서 작업
 
   [vi 종료 및 파일 생성]
   :q   -   수정하지 않았을 경우 종료하기
   :q!  -    수정한 것을 저장하지 않고 종료하기
   :w   -    저장하기
   :w!  -    읽기 전용의 파일을 저장하기
   :wq-    저장하고 종료하기
   ZZ  -   저장하고 종료하기
   :w new_file_name    -   새로운 파일이름으로 저장하기
   :w %.new   -   현재 파일 이름에 .new를 붙여서 새로운 파일로 저장
   :n,$ w file_name   -   n줄부터 끝줄까지 file_name으로 저장하기
   :.,n w file_name   -   현재줄부터 n줄까지 file_name으로 저장하기
   :n1, n2 w file_name   -   n1줄부터 n2줄까지 file_name으로 저장하기
   :n1, n2 w >> file_name  -   n1줄부터 n2줄까지를 file_name으로 추가하기
 
   [파일관리]
   :w [file-name]   -   현재 내용 저장
   :w! [file-name]   -   기존의 파일에 덮어 쓰기
   :e file-name   -   파일 불러오기
   :e! file-name   -   현재 내용을 저장않고 새 파일 불러오기
   :e#   -   직전 편집 파일 불러오기 - 여러 개의 파일을 동시 작업시
   :r file-name   -   현재 커서 위치에 파일 내용 삽입
 
2. 모드전환
   명령모드 --->  입력모드 : a, A, i, I, o, O, ....
   입력모드 --->  명령모드 : Esc Key
 
3. 편집
   - 텍스트를 편집하기 위해선 먼저 입력 모드로 변경해야 한다.
   - vi 편집기에서 명령모드에서의 키는 다음의 약어를 암기한다.
   d : delete 삭제
   c : change 변경
   y : yang 복사
   p : paste 붙이기
   w : word 단어
   u : undo 취소
   $ | ^ : 줄의 끝 | 시작
 
 
   [텍스트의 추가 및 삽입]
   i (insert)   -   현재 커서가 있는 위치에 새로운 텍스트를 끼워 넣는 기능
   I (insert)   -   현재 줄의 처음부터 새로운 텍스트를 끼워 넣는 기능
   a (append)   -   현재 커서가 있는 위치 다음부터 입력하는 기능
   A (append)   -   현재 줄의 끝에 텍스트 입력하는 기능
   o (open)   -   현재 커서가 있는 다음 줄에 행을 삽입하여 편집
   O (open)   -   현재 커서가 있는 앞줄에 행을 삽입하여 편집
 
   [문자 복사 및 삭제와 복구]
   x  -   한번에 커서 뒤의 한 글자를 삭제
   X  -   한번에 커서 앞의 한 글자를 삭제
   숫자1, 숫자2d   -   파일의 숫자 1행에서 숫자 2행까지 삭제
   dd   -   한 라인을 삭제하고 그 내용을 버퍼에 저장
   ndd  -   현재 line부터 n개의 line을 지우고 그 내용을 버퍼에 저장
   dw   -   한 단어를 삭제
   D   -   현재 커서의 위치에서 그 행의 끝까지 삭제
   u  -   마지막에 실행한 명령을 취소하고 명령 실행 이전으로 복구
   U  -   u에 의해 취소된 명령 재실행
   ^r  -   u에 의해 연속적으로 취소된 명령을 연속적으로 재실행
   nY  -   다음 줄부터 n줄을 버퍼에 복사
   yw   -   한 단어 복사
   y$   -   커서 위치에서  그 줄 끝까지 복사
   yO   -   커서 위치에서 그 줄 처음까지 복사
   yG  -   커서 위치에서 문서의 끝까지 복사
   :n1,n2 y  -   n1번 line에서 n2번 line까지를 버퍼에 저장
   p | P   -   버퍼의 내용을 현재 line 뒤/앞에 붙인다
   :n1,n2 t n3   -   n1번 line에서 n2번 line까지를 n3번째 line 뒤에 복사
   :n1,n2 m n3   -   n1번 line에서 n2번 line까지를 n3번째 line 뒤에 이동
 
4. 이동
   ^은 Control Key를 의미하고, 아래에서 ^?은 ^과 다른 키(?)를 함께 누르는 것을 의미한다.
   아래에서 n은 숫자를 의미한다.
 
   [커서의 이동]   -   커서의 이동은 명령 모드에서 가능하다.
   한글자 이동   -   h(왼쪽으로 한 글자 이동)  l(오른쪽으로 한 글자 이동)
   한 행 이동   -  j(아래로 한 행 이동)  k(위로 한 행 이동)
   한 화면 이동   -   ^f/^b: 한 화면 아래/위로 이동(forward/backward)
   반 화면 이동   -   ^d/^u : 반 화면 아래/위로 이동(down/up)
   한 단어 이동   -   w,W(한 단어 앞으로 이동), b, B(한단어 뒤로 이동),e(단어의 끝으로)
   행 지정 이동   -   nG(지정한 행으로 커서를 이동)
 
   [커서 이동]
   G  -   파일의 맨 끝으로 이동
   nG  -   n번째 줄로 이동
   :n  -   n번째 줄로 이동
   (, n(   -   현재 문장의 선두(위의 n번째 선두)로 이동
   ), n)   -   다음 문장의 선두(아래의 n번째 선두)로 이동
   {, n{   -   현재 문단의 선두(위의 n번째 선두)로 이동
   }, n}   -   다음 문단의 선두(아래의 n번째 선두)로 이동
   [ + [   -   이전 블록({})의 처음으로 이동
   ] + ]   -   다음 블록({})의 처음으로 이동
   ^ (6)   -   커서가 위치한 줄에서 맨앞으로 이동(빈칸무시)
   O(숫자)   -   커서가 위치한 줄에서 맨앞으로 이동(공백을 제외한 맨앞)
   $   -   커서가 위치한 줄에서 맨뒤로 이동
   H | M | L   -   화면상에서 커서를 처음/중간/마지막 줄로 이동
 
   [검색 & 치환]
   :s/string  -   string을 탐색
   /string  -   string이라는 문자를 현재의 위치에서 탐색
   ?string   -   string이라는 문자를 현재의 위치에서 역으로 탐색
   n   -   한번 탐색한 문자열을 연속적으로 탐색
   N   -   한번 탐색한 문자열을 역으로 연속적으로 탐색

   [문자 치환]   n은 숫자를 나타냄
   rc  -   현재 문자를 c로 치환
   R  -   현재 커서부터 Esc 문자가 입력될 때까지 치환
   s   -   현재문자를 삭제하고 입력모드로 전환
   ns   -   현재부터 n문자를 삭제하고 입력모드로 전환
   S   -   현재줄을 삭제하고 입력모드로 전환
   [단어 치환]   n은 숫자를 나타냄
   cw  -   한 단어를 치환하고 입력 모드로 전환
   ncw  -   현재부터 n단어를 삭제하고 입력 모드로 전환
   cc   -   현재 줄을 삭제하고 입력모드로 전환
   ncc   -   현재 줄부터 n줄을 삭제하고 입력모드로 전환
   C   -   현재 커서부터 줄 끝까지의 내용을 삭제하고 입력 모드로 전환
   nC   -   현재 커서부터 n줄까지 내용을 삭제하고 입력 모드로 전환
 
5. 환경 설정 및 기타 기능
   [set 및 기타]
   :set nu | nonu   -   line번호를 보여/안보여 준다
   :set ai | noai   -   자동 들여 쓰기/취소
   :set shiftwidth=4   -   들여쓰기 폭을 4문자로 설정
   :set cindent   -   C프로그램을 작성시 활용할 수 있는 자동 편집 기능
   :set all   -   set 변수 보기
   :set  -   현재 설정된 set 상태
   :syntax on | off\   -   색문자의 사용 on|off
 
   [환경 설정]
   set 등의 환경 초기 설정을 지정함으로 하여 vi 실행시에 초기 설정에 의한 작업 환경 홈디렉토리에 .exrc
   또는 .vimrc에 사용하고자 하는 설정을 편집한다.
 
   [태그 기능]     지정된 표시의 위치로 이동할 때 사용
   m + a   -   현재의 위치를 a위치로 표시(marking)
   m + c   -   현재의 위치를 c위치로 표시(marking)
   ' + a   -   a 표시된 위치로 이동
   ' + c   -   c 표시된 위치로 이동
   ' + '   -   '를 연속 두 번 누르면 이전 작업 위치로 이동
 
   [문자 buffer 기능]     각 문자에 대해 버퍼로 활용 가능
   " + a + y5y   -   문자 a에 현재 줄부터 5줄을 저장
   " + a + p   -   문자 a에 저장된 5줄의 내용을 붙여 넣기
 
   [기타]
   J   -   현재 줄과 다음 줄을 합침
   ~  -   대소문자로 상호 변환
   ^v + m   -   제어문자인 ^M문자를 현재의 위치에 삽입
   .(dot)   -   조금전 실행한 기능을 반복 실행
   ctrl + g   -   편집 중인 파일 이름과 현재 위치를 확인
   ctrl + l   -   Refresh (화면갱신)
   ctrl + 6   -   2개의 파일을 동시에 편집하고 있을 때 상호 이동

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,