리눅스 명령어
페이지 정보
작성자 admin 작성일15-12-23 12:11 조회348회 댓글0건관련링크
본문
* 실행파일 경로
- 파일 실행시 참조되는 경로는 $PATH 변수에 설정되어 있다.
echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin
- 파일 실행시 경로명 없이 파일명만 사용한 경우에는 shell 내장 명령어인지를 먼저 확인한다.
shell 내장 명령어가 아니면 $PATH 변수에 설정되어 있는 디렉토리 경로에서 파일을 찾는다.
현재 디렉토리는 참조하지 않는다.
$PATH 에 설정되지 않는 디렉토리의 파일을 실행할 때 경로를 생략할 수 없다.
실행파일 경로를 재지정 하려면
PATH=설정할 경로 명
*. logout 하게 되면 설정 변수값을 잃어버린다.
파일관련 명령어
cat
conCATenate에서 나온 말로 파일의 내용을 표준 출력으로 내보내어, 파일내용을 알아보거나,
여러 파일을 하나의 파일로 출력하여 연결한다.
또는 표준 입력으로부터 파일을 만들 수도 있다.
cat [options] [file(s)]
파일 이름이 주어지지 않으면, 표준 입력으로 입력 받는다.
자주 사용되는 옵션
-n : 행 번호를 붙여서 출력.
-b 행 번호를 보여주되 빈 줄은 행 번호를 붙이지 않고 출력
ex)
cat dict1 dict2 > dictionary => dict1 과 dict2 파일을 연결하여 dictionary라는 파일에 저장
cat > memo => 'control-d'를 입력할 때까지 키보드(표준 입력)로 입력한 내용을 memo라는 파일로 저장
head
파일의 선두를 보여준다.
head [-count] [file(s)] : count에 정해준 줄 수만큼 file(s)의 첫 부분을 보여준다.
count를 생략하면 파일의 첫 10줄을 보여준다.
file을 생략하면 표준입력을 사용한다.
tail
파일의 끝부분을 보여준다.
tail [-count] [file(s)]사용법은 head와 같다.
wc (word count)
파일,또는 표준 입력 안의 행, 단어, 문자의 수를 센다.
wc [options] [file(s)]
자주 사용되는 옵션
-l : line 수 출력
-c : 문자(charater)수 출력
-w : 단어(word)수 출력
옵션을 생략하면 line수, 단어수, 문자수를 모두 출력한다.
ex)
[lee@river lee]$ wc /etc/passwd 109 125 4484 /etc/passwd
more
파일의 내용을 화면 단위로 끊어서 보여준다.
more file(s) : file이 생략되면 표준 입력을 사용한다.
more에서 사용되는 명령어(more 가 실행중일때)
h 도움말
space 다음 페이지
RETURN 다음 한줄 스크롤
q,Q 종료
b,^B 이전 페이지
/pattem 검색
= : 현재 라인 번호 출력
:f : 현재 파일 이름과 라인 번호를 보여준다.
! 쉘 명령어를 실행한다.
*. more 와 유사한 명령어로 less 가 있으나 more 보다 많이 쓰이진 않는다.
* meta character *
- shell 이 특별한 의미로 해석하는 문자를 메타 문자라고 한다. (대개 특수문자가 이에 해당된다)
redirection - 입출력 방향 재지정
file descriptor
0: 표준입력
1: 표준출력
2: 표준에러
> ( = 1>) : 출력방향 전환 (표준출력 => file) 파일이 존재하는 경우는 overwrite
>>( = 1>>) : 출력방향 전환 (표준출력 => file) 파일이 존재하는 경우 append
<(= 0<) ; 입력방향 전환 (표준입력 => file) 입력을 키보드가 아닌 파일에서 받아들다.
<<_문자열; here document 라고 한다. 이 문자열까지만 입력을 받는다는 의미이다.
2> ; 에러방향 전환 (표준에러 => file) 표준에러의 방향은 모니터이다.
에러를 모니터 상에 출력하지 않거나 파일로 남길 때 사용한다.
ex 1)
cat > a.txt => 키보드 입력으로 파일을 만든다.
ctrl + d 를 입력하면 완료된다.
cat < a.txt => 키보드 대신 파일로부터 입력을 받아서 표준출력으로 출력한다.
cat => 키보드로 입력받은 내용을 모니터로 출력한다.
ex 2)
[root@river root]# ls -l a.txt b.txt c.txtls: c.txt: No such file or directory <= 이 부분이 표준에러이다.
-rw-r--r-- 1 root root 0 May 1 20:28 a.txt <= 이부분은 표준출력
-rw-r--r-- 1 root root 0 May 1 20:28 b.txt <= 이부분도 표준출력
[root@river root]# ls -l a.txt b.txt c.txt 2> /tmp/error.txt
-rw-r--r-- 1 root root 0 May 1 20:28 a.txt
-rw-r--r-- 1 root root 0 May 1 20:28 b.txt
=> 에러가 모니터로 출력되지 않고 /tmp/error.txt 파일에 저장되었다.
출력을 그냥 버리고 싶을 경우에는 /dev/null 로 보내면 된다.
pipe
pipe는 앞에 명령의 실행결과를 pipe 뒤의 명령어의 입력으로 전달한다.예를 들면
ls -l /etc | more
=> ls -l /etc 의 실행결과를 모니터로 출력하지 않고 more 명령의 입력으로 전달한다.
pipe를 사용하면 명령을 조합해서 사용할 수 있다는 점 때문에 매우 많이 사용된다.
grep(get regular expression)
: 특정한 문자열을 포함하고 있는 라인을 찾기 위해 사용한다.
자주 사용되는 옵션
-v(invert) ; 찾고자 하는 문자열과 일치하는 라인을 제외한 모든 라인을 출력한다.
-n(number) ; 문자열이나 패턴을 일치시키는 라인들의 라인번호를 표시해준다.
-l(listfile) ; 특정한 패턴을 찾기 위해 여러 개의 파일을 검색할 때 편리하게 사용할 수 있다.
이 옵션은 패턴을 갖고 있는 줄을 찾아 보여주는 것이 아니라 그러한 줄이 발견된 파일명을 결과로 보여준다.
정규표현식
정규 표현식이란 어떤 문자열의 집합을 표시하는 텍스트 스트링을 말하는 것으로 일반적으로
텍스트 형식 문서등에서 문자열을 찾아내고 치환하는데 많이 사용된다.
정규 표현식은 vi.ex,ed,sed,grep 등에서 사용되며 윈도우의 찾기 기능이나 바꾸기 기능과는 비교할
수 없는 편리함이나 강력한 기능을 갖고 있다.
“[문자열]”의 의미
정규 표현식에서 문자열이 “[ ]"로 둘러싸여 있으면 이문자열들중 하나를 의미하게 된다.
ex [0-9] : 숫자 한글자
[a-z] : 소문자 한글자
[A-Z] : 대문자 한글자
[a-zA-Z] : 대소문자 관계없이 한글자
[Oo]wl : Owl 또는 owl 그러나 Oowl 은 해당되지 않는다.
"[ ]"안에서 “^”는 문자열중 ^이하를 포함하지 않는 문자열을 말한다.
ex) [^0-9] : 숫자가 아닌 문자 하나를 의미한다.
[-0-9] : 숫자 한 개 또는 - 기호를 의미한다.
[^-0-9] : 숫자나 - 기호가 아닌 문자 하나를 의미한다
[^A-Z] : 대문자를 제외한 문자
c[a-z0-9]t : 두 번째 문자가 임의의 소문자나 숫자.
“^”와 $의 의미
“^”는 라인의 시작 부분을 의미하는 것인 반면 “$”는 라인의 끝 부분을 의미한다. 만약 “new"로
시작하는 부분을 찾고 싶다면 ”^new"라고 표현한다.
“\”
정규표현식에서는 특별한 의미를 지니고 있는 <>,()등의 기호들의 표현하기 위해 해당 문자의 바로
앞에 역슬래시를 사용하여 구분한다.
ex) \$$ : $로 끝나는 라인을 의미한다.
“.” : 아무문자나 한 개의 문자를 의미.
ex) [0-9]* : 숫자가 들어 있거나 그렇지 않은 부분을 의미.
sort
알파벳 순서대로 또는 숫자 순서대로 정렬항목을 기준으로 오름차순, 내림차순으로 정렬한다.
보통 정렬은 사전적으로 순서화되는데 이때 주의할 점은 알파벳 순서는 소문자보다 대문자가 우선이고,
숫자들은 모든 문자보다 우선한다는 것이다. 옵션 없이 실행하면 보통 오름차순이고, -r 옵션을 사용하면 내림차순이다.
cut
데이터의 특정 열을 선택하거나, 파일내의 특정 필드만을 표시할 때 사용한다.
주요옵션
-c 목록 : 목록에 지정한 열을 출력
1,2번열을 출력하려면 -c1,2
1번에서 10번열까지 출력하려면 -c1-10
-f 목록 : 목록에 지정한 필드를 출력
-f1,3은 1번 필드와 3번 필드를 출력
-d 문자 : 문자로 지정된 문자를 필드 구분자로 사용
ex1) $cat test.txt
first second third
$ cut -c1-3 test.txt
fir
$ cut -f1 test.txt
first
$
ex2) $ cat /etc/passwd # 필드구분자를 “:”를 사용
root:x:0:1:Super-User:/root:/bin/bash
daemon:x;1:1::/:
bin:x:2:2::/usr/bin:
$ cut -f1 -d: /etc/passwd
root
daemon
bin
$
paste
수직으로 파일을 결합하여 보여준다.
ex)
$ cat a
kug
kang
su
$ cat b
222-222
333-333
$ paste a b
kug 111-111
kang 222-222
su 333-333
$
*. 파일을 결합할 때 중간에 특정한 구분자를 넣고자 할 때에는 -d옵션을 사용 한다
$ paste -d* a b
kug*111-111
kang*222-222
su*333-333
$
*. 또 다른 옵션 -s는 연속적인 라인을 1개 라인으로 결합한다. 1개 파일내의 라인이 모두 결합되고 나면
그 다음 파일의 라인들도 계속 결합된다.
$ paste -s a b
kug kang su
111-111 222-222 333-333
$
tr
표준입력에서 문자를 복사하여 표준출력에서 출력하는데, 지정된 대로 문자를 교체 또는 삭제한다.
보통은 소문자를 대문자로 바꾸거나 그 외 텍스트 처리작업을 할 때 주로 사용된다.
$cat c
kildong 111-1111
kang 222-2222
su 333-3333
$tr k A < c
Aug 111-1111
Aang 222-2222
$ tr \[a-z\] \[A-Z\] < c
KUG 111-111
KANG 222-2222
SU 333-3333
$
cat c | tr a-z A-Z
KUG 111-111
KANG 222-2222
SU 333-3333
또 다른 옵션 -d(delete)는 아래와 같이 특정한 칼럼을 제거할 수도 있다.
$ cat c
kug 111-111
kang 222-222
$tr -d [0-9]
kug -
kang -
$
파일 검색 명령어
whereis
whereis command(s)
whereis 로 파일을 찾기를 하면 $PATH 변수와 관계없이 대부분의 명령어을 모두 검색한다.
그리고 도움말 파일과 /etc 디렉토리 아래에 있는 파일을 검색한다.
(*. 그외에 stdio.h 등의 헤더파일도 검색한다)
which
which command(s)
winch 명령어는 $PATH 변수에 잡혀있는 명령어만 검색한다.
그리고 alias 설정되어있는것도 검색한다.
find
find [path...][expression]
ex) find /tmp /etc -name passwd
find /etc -name pass*
find /etc -name *conf
find /etc -type d ; 파일타입이 디렉토리를 검색
find /etc -type f ; 파일타입이 파일을 검색
find /home -user user1 ; 파일의 소유주가 user1 인파일을 검색
*. find 명령으로 파일명을 검색하는경우 file이름에 '*' 가 포함되어 있는경우는
* 가 메타문자로 번역되어 에러가 날수 있다.
이런경우에는 파일명에 작은 따옴표를 붙여줘야 한다.
기타 find 사용의 다른 예)
find /etc -name *.conf -print
*. print 는 디폴트 action
find /etc -name *.conf -exec cp {} /tmp/test \;
<-- 검색된 파일을 출력하지 않고 복사.
find /etc -name *.conf -exec cp {} /tmp/test \;-print
<-- 검색된 파일을 지정된 디렉토리에 복사하면서 동시에 출력.
find /etc -name *.conf -ls
<-- 검색된 파일을 자세하게 출력
Man Page. http://www.gentoo.org/doc/en/man-guide.xml <= 여기에 설명이 잘되어 있습니다.
man0p p가 POSIX를 뜻한다. 다른 디렉토리에서도 p로 끝나는 것은 같은 의미이다.
이 디렉토리의 맨페이지는 여러가지 POSIX 헤더 파일의 기능을 설명한다.
*. manual page 를 출력할때 man 명령이 LANG(LANGUAGE)변수를 먼저 확인하여
한글이면 한글메뉴얼 페이지를 찾아서 출력하고 없으면 영어로 작성된 manual page를
출력한다.
LANG 변수 출력 -> echo $LANG
LANG 변수 변경 : 한글에서 영어로 --> export LANG=C
영어에서 한글로(utf 타입으로) --> export LANG=ko_KR.UTF-8
LANG 변수의 디폴트값은 설치할때 한글로 지정했다면 ko_KR.UTF-8 로 설정된다.
manual page 의 호출은 manual page 의 섹션번호가 작은번호에서 큰번호 순서대로
탐색된다.
man1 일반적인 명령어
man1p POSIX버젼의 명령어를 설명한다. 기본적인 명령어만을 다루기 때문에 man1보다 훨씬 작다.
man2 리눅스 커널 시스템 호출이다.
man3 표준 C 라이브러리 함수를 설명한다.
man4 특별한 장치를 설명한다. 이 장치는 보통 커널에서 생성하는 것이지만,
Xorg-X11도 여기에 장치를 넣는다.
man5 시스템 설정파일을 위한 설명
man6 게임이나 다른 특별한 장난감을 소개한다.
man7 그 외의 여러가지 것들을 설명한다. 캐릭터셋이나 SQL 구문, ISO표준,
정규 표현식 등이 여기 포함된다.
man8 (대체로 root가 실행하는) 관리용 명령어들을 설명한다
man9 원래 커널의 여러 부분의 설명이 들어 있기로 되어 있는 곳이다.
mann 주로 Tcl/Tk에서 사용한다. n은 new를 뜻한다.
- 파일 실행시 참조되는 경로는 $PATH 변수에 설정되어 있다.
echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin
- 파일 실행시 경로명 없이 파일명만 사용한 경우에는 shell 내장 명령어인지를 먼저 확인한다.
shell 내장 명령어가 아니면 $PATH 변수에 설정되어 있는 디렉토리 경로에서 파일을 찾는다.
현재 디렉토리는 참조하지 않는다.
$PATH 에 설정되지 않는 디렉토리의 파일을 실행할 때 경로를 생략할 수 없다.
실행파일 경로를 재지정 하려면
PATH=설정할 경로 명
*. logout 하게 되면 설정 변수값을 잃어버린다.
파일관련 명령어
cat
conCATenate에서 나온 말로 파일의 내용을 표준 출력으로 내보내어, 파일내용을 알아보거나,
여러 파일을 하나의 파일로 출력하여 연결한다.
또는 표준 입력으로부터 파일을 만들 수도 있다.
cat [options] [file(s)]
파일 이름이 주어지지 않으면, 표준 입력으로 입력 받는다.
자주 사용되는 옵션
-n : 행 번호를 붙여서 출력.
-b 행 번호를 보여주되 빈 줄은 행 번호를 붙이지 않고 출력
ex)
cat dict1 dict2 > dictionary => dict1 과 dict2 파일을 연결하여 dictionary라는 파일에 저장
cat > memo => 'control-d'를 입력할 때까지 키보드(표준 입력)로 입력한 내용을 memo라는 파일로 저장
head
파일의 선두를 보여준다.
head [-count] [file(s)] : count에 정해준 줄 수만큼 file(s)의 첫 부분을 보여준다.
count를 생략하면 파일의 첫 10줄을 보여준다.
file을 생략하면 표준입력을 사용한다.
tail
파일의 끝부분을 보여준다.
tail [-count] [file(s)]사용법은 head와 같다.
wc (word count)
파일,또는 표준 입력 안의 행, 단어, 문자의 수를 센다.
wc [options] [file(s)]
자주 사용되는 옵션
-l : line 수 출력
-c : 문자(charater)수 출력
-w : 단어(word)수 출력
옵션을 생략하면 line수, 단어수, 문자수를 모두 출력한다.
ex)
[lee@river lee]$ wc /etc/passwd 109 125 4484 /etc/passwd
more
파일의 내용을 화면 단위로 끊어서 보여준다.
more file(s) : file이 생략되면 표준 입력을 사용한다.
more에서 사용되는 명령어(more 가 실행중일때)
h 도움말
space 다음 페이지
RETURN 다음 한줄 스크롤
q,Q 종료
b,^B 이전 페이지
/pattem 검색
= : 현재 라인 번호 출력
:f : 현재 파일 이름과 라인 번호를 보여준다.
! 쉘 명령어를 실행한다.
*. more 와 유사한 명령어로 less 가 있으나 more 보다 많이 쓰이진 않는다.
* meta character *
- shell 이 특별한 의미로 해석하는 문자를 메타 문자라고 한다. (대개 특수문자가 이에 해당된다)
redirection - 입출력 방향 재지정
file descriptor
0: 표준입력
1: 표준출력
2: 표준에러
> ( = 1>) : 출력방향 전환 (표준출력 => file) 파일이 존재하는 경우는 overwrite
>>( = 1>>) : 출력방향 전환 (표준출력 => file) 파일이 존재하는 경우 append
<(= 0<) ; 입력방향 전환 (표준입력 => file) 입력을 키보드가 아닌 파일에서 받아들다.
<<_문자열; here document 라고 한다. 이 문자열까지만 입력을 받는다는 의미이다.
2> ; 에러방향 전환 (표준에러 => file) 표준에러의 방향은 모니터이다.
에러를 모니터 상에 출력하지 않거나 파일로 남길 때 사용한다.
ex 1)
cat > a.txt => 키보드 입력으로 파일을 만든다.
ctrl + d 를 입력하면 완료된다.
cat < a.txt => 키보드 대신 파일로부터 입력을 받아서 표준출력으로 출력한다.
cat => 키보드로 입력받은 내용을 모니터로 출력한다.
ex 2)
[root@river root]# ls -l a.txt b.txt c.txtls: c.txt: No such file or directory <= 이 부분이 표준에러이다.
-rw-r--r-- 1 root root 0 May 1 20:28 a.txt <= 이부분은 표준출력
-rw-r--r-- 1 root root 0 May 1 20:28 b.txt <= 이부분도 표준출력
[root@river root]# ls -l a.txt b.txt c.txt 2> /tmp/error.txt
-rw-r--r-- 1 root root 0 May 1 20:28 a.txt
-rw-r--r-- 1 root root 0 May 1 20:28 b.txt
=> 에러가 모니터로 출력되지 않고 /tmp/error.txt 파일에 저장되었다.
출력을 그냥 버리고 싶을 경우에는 /dev/null 로 보내면 된다.
pipe
pipe는 앞에 명령의 실행결과를 pipe 뒤의 명령어의 입력으로 전달한다.예를 들면
ls -l /etc | more
=> ls -l /etc 의 실행결과를 모니터로 출력하지 않고 more 명령의 입력으로 전달한다.
pipe를 사용하면 명령을 조합해서 사용할 수 있다는 점 때문에 매우 많이 사용된다.
grep(get regular expression)
: 특정한 문자열을 포함하고 있는 라인을 찾기 위해 사용한다.
자주 사용되는 옵션
-v(invert) ; 찾고자 하는 문자열과 일치하는 라인을 제외한 모든 라인을 출력한다.
-n(number) ; 문자열이나 패턴을 일치시키는 라인들의 라인번호를 표시해준다.
-l(listfile) ; 특정한 패턴을 찾기 위해 여러 개의 파일을 검색할 때 편리하게 사용할 수 있다.
이 옵션은 패턴을 갖고 있는 줄을 찾아 보여주는 것이 아니라 그러한 줄이 발견된 파일명을 결과로 보여준다.
정규표현식
정규 표현식이란 어떤 문자열의 집합을 표시하는 텍스트 스트링을 말하는 것으로 일반적으로
텍스트 형식 문서등에서 문자열을 찾아내고 치환하는데 많이 사용된다.
정규 표현식은 vi.ex,ed,sed,grep 등에서 사용되며 윈도우의 찾기 기능이나 바꾸기 기능과는 비교할
수 없는 편리함이나 강력한 기능을 갖고 있다.
“[문자열]”의 의미
정규 표현식에서 문자열이 “[ ]"로 둘러싸여 있으면 이문자열들중 하나를 의미하게 된다.
ex [0-9] : 숫자 한글자
[a-z] : 소문자 한글자
[A-Z] : 대문자 한글자
[a-zA-Z] : 대소문자 관계없이 한글자
[Oo]wl : Owl 또는 owl 그러나 Oowl 은 해당되지 않는다.
"[ ]"안에서 “^”는 문자열중 ^이하를 포함하지 않는 문자열을 말한다.
ex) [^0-9] : 숫자가 아닌 문자 하나를 의미한다.
[-0-9] : 숫자 한 개 또는 - 기호를 의미한다.
[^-0-9] : 숫자나 - 기호가 아닌 문자 하나를 의미한다
[^A-Z] : 대문자를 제외한 문자
c[a-z0-9]t : 두 번째 문자가 임의의 소문자나 숫자.
“^”와 $의 의미
“^”는 라인의 시작 부분을 의미하는 것인 반면 “$”는 라인의 끝 부분을 의미한다. 만약 “new"로
시작하는 부분을 찾고 싶다면 ”^new"라고 표현한다.
“\”
정규표현식에서는 특별한 의미를 지니고 있는 <>,()등의 기호들의 표현하기 위해 해당 문자의 바로
앞에 역슬래시를 사용하여 구분한다.
ex) \$$ : $로 끝나는 라인을 의미한다.
“.” : 아무문자나 한 개의 문자를 의미.
ex) [0-9]* : 숫자가 들어 있거나 그렇지 않은 부분을 의미.
sort
알파벳 순서대로 또는 숫자 순서대로 정렬항목을 기준으로 오름차순, 내림차순으로 정렬한다.
보통 정렬은 사전적으로 순서화되는데 이때 주의할 점은 알파벳 순서는 소문자보다 대문자가 우선이고,
숫자들은 모든 문자보다 우선한다는 것이다. 옵션 없이 실행하면 보통 오름차순이고, -r 옵션을 사용하면 내림차순이다.
cut
데이터의 특정 열을 선택하거나, 파일내의 특정 필드만을 표시할 때 사용한다.
주요옵션
-c 목록 : 목록에 지정한 열을 출력
1,2번열을 출력하려면 -c1,2
1번에서 10번열까지 출력하려면 -c1-10
-f 목록 : 목록에 지정한 필드를 출력
-f1,3은 1번 필드와 3번 필드를 출력
-d 문자 : 문자로 지정된 문자를 필드 구분자로 사용
ex1) $cat test.txt
first second third
$ cut -c1-3 test.txt
fir
$ cut -f1 test.txt
first
$
ex2) $ cat /etc/passwd # 필드구분자를 “:”를 사용
root:x:0:1:Super-User:/root:/bin/bash
daemon:x;1:1::/:
bin:x:2:2::/usr/bin:
$ cut -f1 -d: /etc/passwd
root
daemon
bin
$
paste
수직으로 파일을 결합하여 보여준다.
ex)
$ cat a
kug
kang
su
$ cat b
222-222
333-333
$ paste a b
kug 111-111
kang 222-222
su 333-333
$
*. 파일을 결합할 때 중간에 특정한 구분자를 넣고자 할 때에는 -d옵션을 사용 한다
$ paste -d* a b
kug*111-111
kang*222-222
su*333-333
$
*. 또 다른 옵션 -s는 연속적인 라인을 1개 라인으로 결합한다. 1개 파일내의 라인이 모두 결합되고 나면
그 다음 파일의 라인들도 계속 결합된다.
$ paste -s a b
kug kang su
111-111 222-222 333-333
$
tr
표준입력에서 문자를 복사하여 표준출력에서 출력하는데, 지정된 대로 문자를 교체 또는 삭제한다.
보통은 소문자를 대문자로 바꾸거나 그 외 텍스트 처리작업을 할 때 주로 사용된다.
$cat c
kildong 111-1111
kang 222-2222
su 333-3333
$tr k A < c
Aug 111-1111
Aang 222-2222
$ tr \[a-z\] \[A-Z\] < c
KUG 111-111
KANG 222-2222
SU 333-3333
$
cat c | tr a-z A-Z
KUG 111-111
KANG 222-2222
SU 333-3333
또 다른 옵션 -d(delete)는 아래와 같이 특정한 칼럼을 제거할 수도 있다.
$ cat c
kug 111-111
kang 222-222
$tr -d [0-9]
kug -
kang -
$
파일 검색 명령어
whereis
whereis command(s)
whereis 로 파일을 찾기를 하면 $PATH 변수와 관계없이 대부분의 명령어을 모두 검색한다.
그리고 도움말 파일과 /etc 디렉토리 아래에 있는 파일을 검색한다.
(*. 그외에 stdio.h 등의 헤더파일도 검색한다)
which
which command(s)
winch 명령어는 $PATH 변수에 잡혀있는 명령어만 검색한다.
그리고 alias 설정되어있는것도 검색한다.
find
find [path...][expression]
ex) find /tmp /etc -name passwd
find /etc -name pass*
find /etc -name *conf
find /etc -type d ; 파일타입이 디렉토리를 검색
find /etc -type f ; 파일타입이 파일을 검색
find /home -user user1 ; 파일의 소유주가 user1 인파일을 검색
*. find 명령으로 파일명을 검색하는경우 file이름에 '*' 가 포함되어 있는경우는
* 가 메타문자로 번역되어 에러가 날수 있다.
이런경우에는 파일명에 작은 따옴표를 붙여줘야 한다.
기타 find 사용의 다른 예)
find /etc -name *.conf -print
*. print 는 디폴트 action
find /etc -name *.conf -exec cp {} /tmp/test \;
<-- 검색된 파일을 출력하지 않고 복사.
find /etc -name *.conf -exec cp {} /tmp/test \;-print
<-- 검색된 파일을 지정된 디렉토리에 복사하면서 동시에 출력.
find /etc -name *.conf -ls
<-- 검색된 파일을 자세하게 출력
Man Page. http://www.gentoo.org/doc/en/man-guide.xml <= 여기에 설명이 잘되어 있습니다.
man0p p가 POSIX를 뜻한다. 다른 디렉토리에서도 p로 끝나는 것은 같은 의미이다.
이 디렉토리의 맨페이지는 여러가지 POSIX 헤더 파일의 기능을 설명한다.
*. manual page 를 출력할때 man 명령이 LANG(LANGUAGE)변수를 먼저 확인하여
한글이면 한글메뉴얼 페이지를 찾아서 출력하고 없으면 영어로 작성된 manual page를
출력한다.
LANG 변수 출력 -> echo $LANG
LANG 변수 변경 : 한글에서 영어로 --> export LANG=C
영어에서 한글로(utf 타입으로) --> export LANG=ko_KR.UTF-8
LANG 변수의 디폴트값은 설치할때 한글로 지정했다면 ko_KR.UTF-8 로 설정된다.
manual page 의 호출은 manual page 의 섹션번호가 작은번호에서 큰번호 순서대로
탐색된다.
man1 일반적인 명령어
man1p POSIX버젼의 명령어를 설명한다. 기본적인 명령어만을 다루기 때문에 man1보다 훨씬 작다.
man2 리눅스 커널 시스템 호출이다.
man3 표준 C 라이브러리 함수를 설명한다.
man4 특별한 장치를 설명한다. 이 장치는 보통 커널에서 생성하는 것이지만,
Xorg-X11도 여기에 장치를 넣는다.
man5 시스템 설정파일을 위한 설명
man6 게임이나 다른 특별한 장난감을 소개한다.
man7 그 외의 여러가지 것들을 설명한다. 캐릭터셋이나 SQL 구문, ISO표준,
정규 표현식 등이 여기 포함된다.
man8 (대체로 root가 실행하는) 관리용 명령어들을 설명한다
man9 원래 커널의 여러 부분의 설명이 들어 있기로 되어 있는 곳이다.
mann 주로 Tcl/Tk에서 사용한다. n은 new를 뜻한다.
댓글목록
등록된 댓글이 없습니다.