'서버/리눅스 명령어'에 해당되는 글 16건

  1. 2017.02.10 [리눅스] grep
  2. 2017.02.03 [리눅스] sudo
  3. 2016.08.30 [리눅스] strings 명령어
  4. 2016.06.08 [리눅스] vi 에디터에서 텍스트 바꾸기
  5. 2015.12.28 [리눅스] vi 에디터 기본
  6. 2015.12.16 [리눅스] find
  7. 2015.12.09 [리눅스] sort
  8. 2015.12.08 [리눅스] tar, zip
  9. 2015.11.06 [리눅스] ls
  10. 2015.09.09 [리눅스] wc

소개


grep은 "global regular expression print"의 약어로, "파일 전체에서 정규 표현식과 일치하는 것을 출력하라"는 의미를 가지고 있다.


문자열 검색


-r 옵션는 recursive로서 서브 디렉토리까지 검색을 하게 된다.


파일에서 검색

grep "검색하고 싶은 문자열" [파일명]

디렉토리에서 검색

grep "검색하고 싶은 문자열" [디렉터리명]

grep -r "검색하고 싶은 문자열" [디렉터리명]


대소문자 구분 없이 검색


grep -r -i "검색하고 싶은 문자열" [디렉터리명]


정규 표현식 검색


정규 표현식은 특수한 기호를 사용해 검색하고 싶은 내용을 유연하게 표현하는 방법이다.


 기호

 설명

 ()

 그룹화

 |

 좌우 중 하나

 ?

 직전 표현이 0회 또는 1회 등장

 *

 직전 표현이 0회 이상 연속해서 등장

 +

 직전 표현이 1회 이상 연속해서 등장

 .

 임의의 한 문자

 ^

 줄 머리

 $

 줄 끝

 \ 다음에 오는 문자를 이스케이프



이름 찾기


grep -r -i -E "(sunghoon|성훈)" [디렉터리명]


핸드폰 번호 찾기


grep -r -i -E "0[0-9]{1,2}-[0-9]{3,4}-[0-9]{4}" [디렉터리명]


'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] sudo  (0) 2017.02.03
[리눅스] strings 명령어  (0) 2016.08.30
[리눅스] vi 에디터에서 텍스트 바꾸기  (0) 2016.06.08
[리눅스] vi 에디터 기본  (0) 2015.12.28
[리눅스] find  (0) 2015.12.16
Posted by SungHoon, Park
,

소개


sudo는 "substitute user do"라는 뜻으로서, 일부 또는 전체 명령어를 ROOT 계정 또는 다른 계정의 권한으로 실행할 수 있도록 한다.


su vs sudo


su 명령어는 다른 계정으로 전환을 한다. 사용이 필요한 명령어가 있어 ROOT 계정으로 전환을 하고 명령어 수행 했더라도 계속 접속이 유지되므로 보안에 문제가 발생하게 된다. sudo 명령어는 특정 작업에만 수행할 수 있는 권한을 부여해 주는 것이므로 이러한 보안 문제점을 방지할 수 있다.


사용법


sudo [실행할 명령어] 형태로 사용이 가능하다. 명령어를 입력 후 엔터키를 입력하게 되면 본인의 비밀번호를 묻는다. 비밀번호를 정상적으로 입력하게 되면 /etc/sudoers에 등록된 사용자인지 검증을 한 후 명령어를 실행하게 된다.


ROOT 계정으로 수행


sudo useradd user1


다른 계정으로 수행


sudo -u sunghoon useradd user1


sudoers를 이용한 권한 부여


sudo vi /etc/sudoers 편집으로 권한을 추가할 수 있다. 추가할 계정의 권한을 파일 하단에 추가하면 된다.


user1 계정에 useradd, usermod 권한을 추가


user1 ALL=/usr/sbin/useradd,/usr/sbin/usermod


참고자료


'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] grep  (0) 2017.02.10
[리눅스] strings 명령어  (0) 2016.08.30
[리눅스] vi 에디터에서 텍스트 바꾸기  (0) 2016.06.08
[리눅스] vi 에디터 기본  (0) 2015.12.28
[리눅스] find  (0) 2015.12.16
Posted by SungHoon, Park
,

strings 명령어는 바이너리 파일에서 문자열을 추출하는 역할을 한다.

아파치의 mod_jk.so 버전을 확인하고 싶을 경우 다음과 같이 실행하면 된다.


예제) strings mod_jk.so | grep mod_jk/


mod_jk/1.2.31 (1026297)

mod_jk/1.2.31


'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] grep  (0) 2017.02.10
[리눅스] sudo  (0) 2017.02.03
[리눅스] vi 에디터에서 텍스트 바꾸기  (0) 2016.06.08
[리눅스] vi 에디터 기본  (0) 2015.12.28
[리눅스] find  (0) 2015.12.16
Posted by SungHoon, Park
,

vi 에디터에서 텍스트 바꾸는 법이다.

기본형식은 다음과 같다. (맨앞에 :(콜론)이 있음)


:%s/찾는텍스트/변경할텍스트/옵션


[옵션설명]

  • i : 대소문자 구분없이 변경
  • g : 전역으로 치환
  • c : 찾을때마다 변경할 것인지 물어봄


1. foo 텍스트를 bar로 모두 변경

예제) :%s/foo/bar/g


2. foo 텍스트를 bar로 모두 변경하며, 변경전 바꿔도 되는지 물어본다.

예제) :%s/foo/bar/gc


3. 대소문자 구분없이 모두 변경

예제) :%s/foo/bar/gi



'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] sudo  (0) 2017.02.03
[리눅스] strings 명령어  (0) 2016.08.30
[리눅스] vi 에디터 기본  (0) 2015.12.28
[리눅스] find  (0) 2015.12.16
[리눅스] sort  (0) 2015.12.09
Posted by SungHoon, Park
,



텍스트 복사하기

1) 한줄복사

예제1) yy (한줄복사) → p (붙혀넣기)

예제2) V(한줄선택) → y(복사)  p (붙혀넣기)


2) 블록으로 선택하여 복사

예제) 비주얼 모드(Visual Mode) 상태에서 방향키로 텍스트의 블럭 선택 → y(복사)  p (붙혀넣기)


※ 참고자료

http://www.viemu.com/



'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] strings 명령어  (0) 2016.08.30
[리눅스] vi 에디터에서 텍스트 바꾸기  (0) 2016.06.08
[리눅스] find  (0) 2015.12.16
[리눅스] sort  (0) 2015.12.09
[리눅스] tar, zip  (0) 2015.12.08
Posted by SungHoon, Park
,

디렉토리에 존재하는 파일을 찾는 명령어이다.

기본형식은 "find [대상디렉토리] -name [파일명]"이다.


[옵션설명]

  • -name : 파일명으로 검색한다.
  • -iname : -name과 같이 파일명으로 찾으나, 대소문자를 구분하지 않는다. (insensitive)
  • -type : 파일타입을 지정한다.
    • b : block (buffered) special
    • c : character (unbuffered) special
    • d : directory
    • p : named pipe (FIFO)
    • f : regular file
    • l : symbolic link
    • s : socket
    • D: door (Solaris)
  • -user : 소유자로 검색한다.
  • -perm : 허가권으로 검색한다.
  • -size : 파일 크기로 검색한다.
  • -exec : 외부명령을 실행한다.
1. 현재 디렉토리에서 test.txt 파일명으로 찾기

예제) find . -name test.txt

2. 대소문자 상관없이 TE 텍스트가 들어간 파일 찾기

예제) find . -iname TE*

3. logs란 이름의 디렉토리 찾기

예제) find . -name logs -type d

4. 파일 사이즈로 검색
- 95k 이상 100k 이하의 파일을 검색한다.

예제) find /etc -size +10k -size -100k

5. 검색한 파일목록을 ls 명령어로 확인하기
- exec 명령어로 외부명령을 실행하며 find 결과가 {}안에 들어가게 된다.
- 끝의 \;(역슬래시 세미콜론)은 외부명령어의 끝을 의미한다.

예제) find /home1 -name "*.txt" -exec {} \;

6. find로 검색시 허가 거부됨(Permission denied)이 뜰 경우

1) 루트에서 파일을 검색하게 되면 Permission denied가 자주 뜰 수 있다. 이 경우 Standard Error 출력을 /dev/null로 버리면 된다. 참고로 /dev/null은 휴지통임.

2) 리눅스/유닉스 I/O Streams numbers

Handle

Name

Description

0

stdin

Standard Input 

1

stdout

Standard Output

2

stderr

Standard Error


예제) find / -name *.txt 2>dev/null



'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] vi 에디터에서 텍스트 바꾸기  (0) 2016.06.08
[리눅스] vi 에디터 기본  (0) 2015.12.28
[리눅스] sort  (0) 2015.12.09
[리눅스] tar, zip  (0) 2015.12.08
[리눅스] ls  (0) 2015.11.06
Posted by SungHoon, Park
,

sort 명령은 텍스트파일의 라인을 정렬해주는 명령어이다.


[옵션설명]

  • c(check) : 정렬여부를 체크한다.
  • f(fold) : 소문자를 대문자로 간주. 즉 대소문자 구분없이 정렬된다.
  • k(key) : 입력한 필드 번호를 기준으로 정렬한다.
  • n(numeric-sort) : 텍스트를 숫자로 간주하여 정렬한다.
  • r(reverse) : 역순으로 정렬한다.
  • t(field-separator) : 필드의 구분자이다. 왜 약어가 t인지는 잘 모르겠음.

1. 8번째 필드를 기준으로 정렬하기
-k 옵션으로 공백 기준 여덟번재 필드인 파일명을 기준으로 정렬을 한다.

ls -l | sort -k 8

1) 정렬전


2) 정렬후



2. 텍스트를 숫자로 간주하여 정렬하기

- n은 텍스트를 숫자로 간주하여 정렬을 한다.


cat sample.txt | sort -n


1) 정렬전


2) 그냥 정렬했을 경우


3) -n 옵션을 추가하여 정렬





'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] vi 에디터 기본  (0) 2015.12.28
[리눅스] find  (0) 2015.12.16
[리눅스] tar, zip  (0) 2015.12.08
[리눅스] ls  (0) 2015.11.06
[리눅스] wc  (0) 2015.09.09
Posted by SungHoon, Park
,

tar 명령어는 파일을 묶어주는 역할을 한다.

옵션을 통해 파일을 묶어주면서 압축도 함께 사용할 수 있다.


[tar 옵션설명]

  • z (gzip) : gzip 압축사용
  • j (소문자) : bzip2 압축 사용
  • J (대문자) : xz 압축 사용
  • c (create) : 새 archive를 생성한다.
  • v (verbose) : verbose는 "말많은, 장황한"이란 뜻이다. 진행중인 파일정보를 출력해준다.
  • f (file) : archive 파일명을 지정한다.
  • x (extract) : archive 파일을 해제한다.
  • C (change) : 디렉토리 경로를 변경한다.

1. 묶기

예제1) tar -cvf test.tar *.* (모든파일)
예제2) tar -cvf test.tar test (test 디렉토리)

2. 묶기 해제


예제) tar -xvf test.tar


3. 압축묶기

- z, j, J 옵션을 통해 압축파일을 생성한다.


예제1) tar -Jcvf test.tar test (xz 압축)

예제2) tar -jcvf test.tar test (bzip2 압축)

예제3) tar -zcvf test.tar test (gzip 압축)


4. 압축풀기

- z, j, J 옵션을 통해 압축을 해제한다.


예제1) tar -Jxvf test.tar

예제2) tar -jxvf test.tar

예제3) tar -zxvf test.tar


5. 특정 디렉토리에 압축풀기


예제) tar -zxvf test.tar -C test2




그리고 tar 명령과 함께 압축 명령도 보면 좋을 것 같아서 같은 페이지에 추가 설명한다.

압축률은 최신 압축 명령어가 더 좋으며, xz > bz2 > gz 순이다.


[압축 옵션설명]

  • # (1-9까지 숫자) : 1로 갈수록 압축시간은 빠르나 압축율이 낮다. 9로 갈수록 압축시간은 느려지나 압축율은 높다. 디폴트는 6임.
  • v (verbose) : 진행중인 파일정보를 출력해준다.
  • d (decompress) : 압축을 해제한다.

 

1. 압축하기

- 명령을 실행하게 되면 .tar 파일이 .tar.gz 등으로 파일로 변경되고 파일용량도 줄어드는 것을 확인할 수 있다.


예제1) xz test.tar

예제2) bzip2 test.tar

예제3) gzip -9v test.tar

 

2. 압축풀기


예제1) xz -d test.tar.xz

예제2) bzip2 -d test.tar.bz2 (또는 bunzip2 test.tar.bz2)

예제3) gzip -d test.tar.gz (또는 gunzip test.tar.gz)



 

'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] find  (0) 2015.12.16
[리눅스] sort  (0) 2015.12.09
[리눅스] ls  (0) 2015.11.06
[리눅스] wc  (0) 2015.09.09
[리눅스] du  (0) 2015.09.07
Posted by SungHoon, Park
,

디렉토리내 파일 리스트를 출력해주는 명령어이다.


1. 상세 리스트 보기

- l은 long의 약자로서, 좀 더 긴 리스트 포맷을 나타내준다. 상세한 정보를 보여준다고 할 수 있다.

- 또한 ll 명령어는 ls -l의 축약이다.


ls -l


2. 숨김파일까지 모두 보기

- a는 all의 약자로서 .으로 시작하는 숨김파일들까지 모두 보여준다.


ls -al


3. 하위 디렉토리까지 보기

- ls -R


4. 디렉토리 및 파일갯수 확인하기

- grep과 wc 파이프 조합을 통해 카운트할 수 있다.

- ^ 옵션은 정규표현식 메타문자로 행의 시작지시자이다.

- l 명령을 사용해야 디렉토리, 파일을 구분할 수 있는 상세정보를 알 수 있다.


1) 디렉토리 갯수 확인

ls -al | grep ^d | wc -l


2) 파일갯수 확인

ls -al | grep ^- | wc -l


3) 하위 디렉토리를 포함하여 파일갯수 확인

ls -alR | grep ^- | wc -l


5. 파일 생성일 기준으로 정렬하기

1) 내림차순

ls -alt


2) 오름차순

ls -altr


6. 파일 사이즈를 기준으로 정렬

- 파일 사이즈 정렬은 sort 옵션과 함께 사용해주면 처리할 수 있다.


1) 내림차순

ls -l | sort -k 4 -r


ls -l | sort -k 4 -r | more 

(more 옵션을 주게 되면 페이지별로 볼 수 있다. 첫번째 페이지에서 제일 큰 값을 확인할 수 있음)


2) 오름차순

ls -l | sort -k 4



'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] sort  (0) 2015.12.09
[리눅스] tar, zip  (0) 2015.12.08
[리눅스] wc  (0) 2015.09.09
[리눅스] du  (0) 2015.09.07
[리눅스] df  (0) 2015.09.07
Posted by SungHoon, Park
,

파일(또는 입력문장)내 라인수, 단어수, 글자수, 바이트수를 출력해주는 명령어이다.

(word count의 약자)


1. 문장을 입력하여 카운트하기


wc


실행후 프롬프트에 원하는 문장을 입력한 후, Ctrl + D를 눌러 종료.



실행을 완료하면 3개의 정수값이 출력되는데 순서별로 [라인수], [단어수], [글자수]이다.


2. 파일 카운트하기

명령어 뒤에 파일명을 파라미터로 전달해준다.


wc hello.txt


[hello.txt]


[결과]


3. 라인수 카운트하기


wc -l hello.txt


4. 단어수 카운트하기


wc -m hello.txt


5. 바이트수 카운트하기


wc -c hello.txt


6. 파일내 특정 단어가 포함된 라인수 카운트하기

실무에서 가장 많이 쓰이는 방법이 아닐까 한다. 로그파일에서 특정 요청이 몇번 들어왔는지, 금일 발생한 Exception이 몇번이였는지 등에 활용할 수 있다. grep과 함께 파이프(|) 조합으로 사용한다.


cat hello.txt | grep hello | wc -l



실무에서 파일대상은 catalina.out, 아파치 accesslog, log4j 로그파일 등이 될 것이다.


'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] tar, zip  (0) 2015.12.08
[리눅스] ls  (0) 2015.11.06
[리눅스] du  (0) 2015.09.07
[리눅스] df  (0) 2015.09.07
[리눅스] ps  (0) 2015.09.04
Posted by SungHoon, Park
,