파일 및 디렉터리의 허가권


먼저 파일 및 디렉터리의 허가권을 확인하기 위해선,

ls -l [파일 또는 디렉토리의 이름] 명령어를 사용해 속성을 확인해야한다.

명령어를 사용하면 파일 유형(-, d) 뒤에 'rwxr-xr--' 같은게 표시될 것이다. 이게 파일 허가권 정보다.


'r'은 read, 'w'는 write, 'x'는 execute의 약자이며,

맨 앞 3개는 소유자, 중간 3개는 그룹, 마지막 3개는 그 외 사용자의 파일 접근 권한을 의미한다.

rwxr-xr--은 소유자는 읽고 쓰고 실행할 수 있으며,

그룹은 읽고 실행할 수 있되 쓰지는 못하고, 그 외 사용자는 읽기만 할 수 있음을 의미한다.


허가권은 숫자로도 표현할 수 있는데, 먼저 2진수로 표현한 후 

10진수로 바꿔준 것이다. (ex) rwx -> 110 -> 7 / r-x -> 101 -> 5 / r-- -> 100 -> 4)


허가권 변경 명령어

chmod [옵션] [허가권] [파일 또는 디렉토리의 이름]

'-R' 옵션: 디렉터리와 파일들의 권한을 재귀적으로 모두 바꿈

ex) chmod -R 777 /home/test

-> 디렉토리와 그 밑 모든 폴더 및 파일을 사용자, 그룹, 그 외 사용자 모두가 읽고 쓰고 실행할 수 있게 함



파일 및 디렉터리의 소유권

소유권은 파일을 소유한 사용자와 그룹을 의미한다


소유권 변경 명령어


chown [사용자 이름][.그룹 이름] [파일 또는 디렉토리의 이름]

파일 또는 디렉토리를 소유한 사용자를 변경할 때나, 파일 또는 디렉토리를 소유한 사용자와 그룹을 함께 변경할 때 사용한다.

ex) chown testuser.testgroup test -> test의 소유자를 testuser로 변경하고, 파일을 소유한 그룹을 testgroup으로 변경함


chgrp [그룹이름] [파일 또는 디렉토리의 이름]

파일 또는 디렉토리를 소유한 그룹만 변경할 때 사용한다.

'Ubuntu > 명령어' 카테고리의 다른 글

vi 에디터 명령어 정리  (0) 2017.10.25
Ubuntu 압축 풀기 - tar 명령어  (0) 2017.10.16
Ubuntu 운영체제의 apt-get 명령어 사용법  (0) 2017.10.16

몇년 전에 리눅스를 사용하면서 vi 에디터 명령어를 조금 외웠었다.

그런데 오랜만에 다시 하려니까 기억나는 건 :q!... :wq.... i.... 딱 이 세가지.

Putty로 원격지 서버에 접속해서 편집할 땐 저거만 알아도 별 무리가 없었는데,

직접 Ubuntu OS를 깔고 vi 에디터를 사용하려니 저걸론 부족해서 조금 더 찾아봤다.

전부 다 정리하긴 무리가 있고, 자주 사용하게 되는 것들만 정리해봤다.


vi Tutorial Editor Modes

출처: http://www.livefirelabs.com/unix_tip_trick_shell_script/unix_operating_system_fundamentals/vi-tutorial-part-1.htm

먼저, 사용법을 간략하게 표현한 표부터 첨부하겠다.


라인 명령 모드(Last line Mode)로 바꾸기 위해선 먼저 :를 눌러야한다.

Enter키를 누르면 다시 명령 모드로 돌아올 수 있다.

입력 모드로 바꾸기 위해선 i, a 등이 사용되는데 밑에 정리하겠다.


라인 명령 모드에서,

w는 저장, q는 종료키라고 생각하면 된다.

:w를 누르면 편집한 내용이 저장 되고 :q를 누르면 종료된다.

:wq를 누르면 저장 후 종료, :q!를 누르면 편집 내용을 무시하고 종료할 수 있다.

vi 에디터를 열 때, 파일명을 지정하지 않았다면 :w 뒤에 원하는 파일명을 입력하면 된다.


다음은 명령 모드에서 입력 모드로 전환하는 키다.

i

 현재 커서의 위치부터 입력

I

 현재 커서 줄의 맨 앞에서부터 입력 

a

 현재 커서의 위치 다음 칸부터 입력 

A

 현재 커서 줄의 맨 마지막부터 입력 

o

 현재 커서의 다음 줄에 입력

O

 현재 커서의 이전 줄에 입력 

 현재 커서 위치의 한 글자를 지우고 입력 

S

 현재 커서의 한 줄을 지우고 입력


명령 모드에서 커서를 이동할 때 사용하는 키다.

h

 커서를 왼쪽으로 한 칸 이동

j

 커서를 아래로 한 칸 이동

k

 커서를 위로 한칸 이동

l

커서를 오른쪽으로 한 칸 이동 

ctrl+F

 다음 화면으로 이동 

ctrl+B

 이전 화면으로 이동 

^

 현재 행의 처음으로 이동 

$

 현재 행의 마지막으로 이동 

gg

 제일 첫 행으로 이동 

G

 제일 끝 행으로 이동 

[n]G

 해당 숫자(n)의 행으로 이동 

:[n]+Enter

 해당 숫자(n)의 행으로 이동 


명령 모드에서 삭제, 복사, 붙여넣기와 관련된 키다.

 현재 커서가 위치한 글자 삭제

X

 현재 커서가 위치한 앞 글자 삭제 

dd

 현재 커서의 행 삭제 

[n]dd

 현재 커서부터 숫자(n)만큼의 행 삭제 

yy

 현재 커서가 있는 행을 복사 

[n]yy

 현재 커서부터 숫자(n)만큼의 행을 복사

p

 복사한 내용을 현재 행 이후에 붙여넣기

P

 복사한 내용을 현재 행 이전에 붙여넣기


명령 모드에서 문자열을 찾는 키다.

 /[문자열]+Enter

 해당 문자열을 찾음(현재 커서 이후)

n

 찾은 문자 중에서 다음 문자로 이동


이 외에도 라인 명령 모드에서

:%s/[기존문자열]/[새문자열] 을 사용하면 문자열을 치환할 수 있고,

:set number 를 입력하면 vi 에디터의 앞에 행 번호가 표시된다.



Windows와 달리 Linux에서는 파일 압축과 파일 묶기가 원칙적으론 별개의 프로그램으로 실행되지만,

파일 묶기 명령어인 tar 명령어를 사용하면 옵션을 사용해 파일 압축을 한 번에 할 수 있다.


tar 사용법

tar [옵션] [압축된 파일명 혹은 압축할 파일이나 폴더명]


옵션

c(소문자): 새로운 묶음을 만든다.

x: 묶인 파일을 푼다.

t: 묶음을 풀기 전에 묶인 경로를 보여준다.

C(대문자): 묶음을 지정된 디렉터리에 푼다.


f(필수): 파일 이름 지정

v: 파일이 묶이거나 풀리는 과정을 보여준다.(생략 가능)

J(대문자): tar + xz (xz 압축 혹은 압축 해제)

z: tar + gzip (gzip 압축 혹은 압축 해제)

j(소문자): tar + bzip2 (bzip2 압축 혹은 압축 해제)


ex)

압축 + 파일 묶기 : tar -czvf filename.tar.gz /etc/systemd/

압축 해제 + 파일 풀기 : tar -xzvf filename.tar.gz / tar -xjvf filename.tar.bz2

apt-get 명령어 Ubuntu 운영체제의 패키지 관리 명령어로써,

Ubuntu에서 제공하는 deb 파일 Repository에서 설치할 deb 파일은 물론이고 해당 파일과 의존성이 있는 

다른 deb 파일까지 인터넷을 통해 모두 설치해준다.

(Repository의 URL은 /etc/apt/sources.list 파일에 저장되어 있음)


* Package란?

데비안 리눅스에서 Windows의 setup.exe와 비슷하게 프로그램 설치 후 바로 실행할 수 있게 제작한 실행 파일로, 확장명은 *.deb이다.



apt-get의 기본 사용법


패키지 설치

apt-get [옵션] install [패키지이름]

'-y' 옵션: 사용자에게 yes/no를 묻는 부분에서 무조건 yes를 입력한 것으로 간주함

'--reinstall' 옵션: 재설치


패키지 리스트의 업데이트

apt-get update

실제로 새로운 버전의 소프트웨어를 설치하는 것이 아니라,

업그레이드가 필요한 패키지와 Repository에 새로 추가된 리스트를 업데이트 해준다.


설치된 패키지 업그레이드

apt-get [옵션] upgrade

설치되어 있는 패키지를 모두 최신 버전으로 업그레이드

(의존성 검사하며 업그레이드: apt-get dist-upgrade)


패키지 삭제

apt-get [옵션] remove [패키지이름]

'--purge' 옵션: 설정파일까지 함께 제거


패키지 소스코드 다운로드

apt-get source [패키지이름]


패키지 소스코드 빌드

apt-get build-dep [패키지이름]

소스코드를 의존성있게 빌드

'Ubuntu > 명령어' 카테고리의 다른 글

Ubuntu 파일 및 디렉터리의 허가권과 소유권  (0) 2017.10.25
vi 에디터 명령어 정리  (0) 2017.10.25
Ubuntu 압축 풀기 - tar 명령어  (0) 2017.10.16

+ Recent posts