[RHEL6] 일반 명령어 3탄(info, ln, ls, man, mkdir)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 일반 명령어 3탄(info, ln, ls, man, mkdir)

by 찬찬이 아빠 2020. 3. 23.
반응형
  11. info(하이퍼 텍스트 맨페이지)

 1) 경로 : /usr/bin/info

 2) 요약 : 도움말에 하이퍼텍스트 기능이 추가된 매뉴얼

 3) 사용 방법 : info [옵션] 항목

 4) 옵션

 --directory 경로명 : 지정한 경로명에서 info 문서를 찾음. 기본값은 /usr/info 또는 /usr/local/info 디렉터리

 -f file, --file file : 지정한 파일(file)의 하이퍼텍스트 도움말을 출력

 -n node, --node node : 지정한 노드(node)의 하이퍼텍스트 도움말을 출력

 -o file, --output file : 화면으로 결과를 보여주지 않고 파일(file)로 결과를 복사

 --vi-keys : vim에서 사용하는 키 바인딩을 사용

 --help : 도움말 출력

 --version : 버전 정보 출력

 

 5) 추가 설명

info 명령어는 시스템이나 프로그램에 대한 사용자 문서를 제공합니다. 대부분의 배포판이 info 파일을 /usr/local/info 또는 /usr/info 디렉터리에 둡니다. 사용자 문서를 위한 또 다른 대표적인 명령어로는 매뉴얼 페이지를 참조하는 man을 들 수 있습니다.

 

아래는 info 명령어를 실행한 상태에서 사용할 수 있는 단축키 입니다.

단축키 설명
h info에 대한 명령어 키를 출력
? info에 대한 도움말을 출력
Ctrl + g 작업을 중지하거나 명령을 취소
Ctrl + l(엘) 화면을 새롭게 갱신

 

<다른 노드로 이동하기>

단축키 설명
n 같은 레벨의 다음 노드로 이동(next)
p 같은 레벨의 이전 노드로 이동(previous)
u 한 레벨 위의 노드로 이동(up)
m 특정 단어에 커서를 놓거나 노드를 지정하여, 지정한 노드로 이동. 이때 정확한 노드 이름을 입력할 필요는 없음
f 이 단축키는 상호 참조할 이름을 물어봄. 이때 사용법은 m 단축키와 같음
l(엘) 윈도우에서 보이는 마지막 노드로 이동

 

<노드 안에서 이동하기>

단축키 설명
Space Bar 한 화면 아래로(다음으로, 앞으로) 이동
Delete 한 화면 위로(이전으로, 뒤로) 이동
b 노드의 처음으로 이동

 

<고급 명령

단축키 설명
q info를 종료
l(엘) 노드 안에 있는 목록의 첫 번째 항목으로 이동. 숫자를 지정하면 지정한 항목으로 이동
g 지정한 특정 노드로 이동
s 현재의 노드에서 특정 문자열을 찾기 위해 사용. "/"과 기능이 같음

 

VI 에디터에 익숙한 사용자에게는 info 보다 VI 단축키가 더 쉬울 것입니다. 이럴 때는 --vi-keys 옵션을 사용합니다.

# info --vi-keys

 

info의 내용을 파일로 저장하려면 -o 옵션을 사용합니다. 아래는 info 자체 내용을 out.txt 파일로 저장합니다.

# info --subnodes -o out.txt info

 

 

 

  12. ln(파일 링크)

 1) 경로 : /bin/ln

 2) 요약 : 파일 링크를 만듦

 3) 사용 방법 : ln [옵션] 원본 [대상]

                       ln [옵션] 원본... 디렉터리

 4) 옵션

 -b, --backup : 대상 파일이 있다면 백업 파일을 생성

 -d, -F, --directory : 디렉터리의 하드 링크를 생성(root 계정만 가능)

 -f, --force : 링크를 생성할 대상 파일이 있더라도 강제적으로 새로운 링크를 생성

 -i, --interactive : 링크를 생성할 대상 파일이 있을 때, 삭제 유무를 사용자에게 물어봄

 -n, --no-dereference : 링크할 원본이 심볼릭 링크된 파일이면 그 파일의 대상 파일을 추적하여 원본 파일에 링크

 -S, --suffix=backup-suffix : 링크를 생성할 대상 파일이 이미 있다면, 백업 파일의 확장자(backup-suffix)를 지정

 -s, --symbolic : 링크할 원본이 심볼릭 링크된 파일이면, 그 파일을 링크

 -V, --version-control {numbered, existing, simple} : 백업 하는 방법을 지정

    * t, numbered : 항상 번호로 된 백업 파일을 생성

   * nil, existing : 대상 파일이 있을 경우에만 백업 파일 생성

   * never, simple : 간단한 백업 파일 생성

 -v, --verbose : 자세한 상태를 출력

 --help : 사용법 출력

 --version : 버전 정보 출력

 

 5) 추가 설명

l(엘)n 명령어는 파일을 실제 경로가 아니라 사용하기 편리한 다른 경로로 접근할 수 있도록 지정합니다. 파일을 링크하는 방법은 심볼릭 링크와 하드 링크가 있습니다. 심볼릭 링크를 소프트 링크라고도 합니다.

 

<심볼릭 링크, 소프트 링크>

일반적으로 링크라고 하면 심볼릭 링크(Symbolic link)라고 생각해도 무방합니다. 심볼릭 링크는 소프트 링크(Soft link)라고도 합니다. 심볼릭 링크를 사용하면 불필요한 파일의 복사를 하지 않아도 되고 원본 파일의 업데이트 시에 링크된 파일에 바로 적용이 됩니다. 보통 여러 디렉터리에서 동일한 라이브러리를 요구하는 경우나, 하나의 파일을 여러 사용자가 공통으로 사용할 경우에도 많이 쓰입니다.

# ln -s /home/admin/html /var/www
# ln -la www
lrwxrwxrwx 1	root	root	7 Mar 14:50 www -> /home/admin/html

 

<하드 링크>

하드 링크(Hard link)는 동일한 파일의 크기로 링크가 된 대상 파일의 내용이 변경된 경우에는 원본 파일도 동일하게 변경 내용이 적용됩니다. 이렇게 하면 원본 파일이 삭제되어도 원본과 공일한 내용을 하드 링크된 파일을 가지고 있어 자원을 공유할 수 있고, 데이터를 안전하게 관리할 수 있습니다.

 

# cat test
Hello World!

# ln test test_hardlink
# cat test test_hardlink
Hello World!

Hello World!
# rm -f test
# cat test_hardlink
Hello World!

 

<심볼릭 링크와 하드 링크의 차이>

구분 심볼릭 링크 하드 링크
파일 크기 작음 원본과 같음
원본 파일 삭제 시 사용 불가능 사용 가능
권한 'l(엘)'로 표시 일반 파일

 

 

 

  13. ls(파일 목록 보기)

 1) 경로 : /bin/ls

 2) 요약 : 디렉터리 목록을 출력

 3) 사용 방법 : ls [옵션] [파일]

 4) 옵션

 -a, --all : .을 포함하여 경로 안의 모든 내용을 출력

 -A, --almost-all : .과 ..을 제외한 모든 내용을 출력

 -b, --escape : 알파벳 형식의 리스트를 출력

 --block-size=SIZE : 지정한 바이트(SZIE) 만큼의 블록을 사용

 -B, --ignore-backups : ~로 끝나는 백업 파일을 출력하지 않음

 -c : -l(엘)t 옵션과 함께 마지막 변경 시간을 출력하고 시간을 기준으로 정렬. -l(엘) 옵션과 함께 마지막 변경된 시간을 출력하고 이름을 기준으로 정렬

 -C : 열의 엔트리를 출력

 --color[=WHEN] : 파일의 타입을 색상으로 구별하지 정함. WHEN의 값은 "never", "always", "auto"임

 -d, --directory : 디렉터리의 경로를 출력. 심볼릭 링크라면 원래의 링크 정보를 출력하지 않음

 -D, --dired : emacs를 위한 출력 형태를 생성

 -f : 정렬하지 않음. 이 옵션은 -aU 옵션을 활성화하고 -ls --color옵션을 비활성화

 -F, --clasify : 목록의 마지막에 */=>@| 중에 하나의 지시자를 덧붙임(실행 파일은 "*", 경로는 "/", 소켓은 "=", 심볼릭 링크는 "@", FIFO는 "-l(파이프)

 -File-type=WORD : 옶ㄴ 대신 워드 포맷을 지정하여 출력. -x는 across, -m은 commas, -x는 horizontal, -I(대문자 아이)은 longg, -1은 single-column, -l(엘)은 verbose, -C는 vertical을 지정하여 출력

 --full-time : -l(엘) --time-style=full-iso와 비슷

 -g : -l(엘)과 비슷하나 소유자의 리스트를 출력하지 않음

 --group-directories-first : 파일 이전에 그룹 디렉터리를 먼저 출력

 -G, --no-group : 긴 리스트 형식으로 출력하나 그룹 이름은 출력하지 않음

 -h, --human-readable : -l(엘)과 함께 사람이 읽는 쉬운 형식의 크기로 출력(1K, 234M, 2G)

 --hide=PATTERN : 지정한 PATTERN과 매칭되는 리스트를 숨김(-a나 -a옵션 선택을 우선함)

 --indicator-style=WORD : 목록 이름에 WORD 스타일의 지시자를 추가. node(기본값), slash(-p), file-type)--file-type), classif(-F)가 올 수 있음

 -i, --inode : 각 파일의 인덱스 값을 출력

 -l(대문자 아이), --ignore=PATTERN : 지정한 PATTERN에 매칭되는 목록을 출력하지 않음

 -k : --block-size=1K와 비슷함

 -l(엘) : 긴 리스트의 포맷으로 출력

 -L, --dereference : 심볼릭 링크의 정보를 보여줄 때 링크 파일의 원본 파일의 정보를 출력

 -m : 콤마(,)로 구분된 목록 형식으로 출력 

 -n, --numberic-uid-gid : -l(엘) 옵션과 비슷하나 숫자 형식의 사용자와 그룹ID를 출력

 -N, --liternal : 원래의 이름 형식으로 출력함(보통 영문이 아닌 경우 역슬래시(\)를 붙여서 출력)

 -o : -l(엘)과 비슷하지만 그룹의 정보를 출력하지 않음

 -p, --indicator-style=slash : 디렉터리에 슬래시(/)를 추가

 -q, --hide-control-chars : 그래픽이 아닌 문자 대신 ?를 출력

 -Q, --quote-name : 목록에 쌍 따옴표로 감싸서 출력

 -r, --reverse : 정렬의 순서를 역방향으로 함

 -R, --recursive : 현재 디렉터리를 기준으로 모든 하위의 디렉터리를 출력

 -s, --size : 각 파일이나 블록에 할당된 크기를 출력

 -S, --size : 파일의 크기를 기준으로 정렬

 -t : 수정된 시간을 기준으로 정렬

 -T, --tabsize=COLS : 기본값 8 대신에 지정한 COLS를 탭 간격으로 지정

 -u : -l(엘)t 옵션과 함께 접근 시간을 기준으로 정렬. -l(엘) 옵션과 함께 접근 시간을 출력하는데 이름을 기준으로 정렬

 -U : 정렬하지 않음

 -w, --width=COLS : 기본값 8 대신에 지정한 COLS를 탭 간격으로 지정

 -x : 열의 기준 대신에 라인의 기준으로 출력

 -X : 목록의 확장자를 기준으로 알파벳 순으로 정렬

 -Z, --context : 각 파일의 SELinux 보안 컨텍스트를 출력

 -1 : 줄별로 하나의 파일을 출력

 --help : 도움말 출력

 --version : 버전 정보 출력

 

 5) 추가 설명

ls 명령어는 표준출력으로 지정한 디렉터리나 파일의 정보를 출력합니다. 파일이나 디렉터리를 지정하지 않으면 현재 디렉터리의 내용을 출력합니다. 현재 디렉터리에서 숨김 파일까지 모두 보고 싶을 때에는 -a 옵션을 사용합니다.

# ls -a

 

-l(엘) 옵션은 해당되는 파일의 상세한 정보를 출력합니다.

# ls -l .bashrc
-rw-r--r--	1	root	root	176	Mar 23 16:48 2020		.bashrc

 

-d 옵션은 지정한 디렉터리의 내용만 출력합니다.

# ls -ld /etc /var
drwxr-xr-x	70	root	root	8192	Mar 23 16:34 2020	/etc
drwxr-xr-x	28	root	root	4096	Mar 23 16:35 2020	/var

 

--full-time 옵션을 사용하면 자세한 날짜 정보를 볼 수 있습니다.

# ls --full-time
합계 3036

drwxr-xr-x		3	root	root	4096	2020-03-23 14:45:37.000000000 +0900 CORBA

-rw-r--r--		1	root	root	2673	2020-03-23 14:46:42.000000000 +0900 DIR_COLORS

drwxr-xr-x		5	root	root	4096	2020-03-23 14:55:21.000000000 +0900 FreeWnn

-rw-r--r--		1	root	root	77681	2020-03-23 15:34:12.000000000 +0900 Muttrc

drwxr-xr-x		20	root	root	4096	2020-03-23 16;34:32.000000000 +0900 X11

 

ls 명령을 사용했을 때 나오는 파일 크기는 블록 단위로 쉽게 크기를 알아보기는 어렵습니다. -h 옵션은 파일 크기를 사람이 인식하기 쉬운 단위로 출력해 줍니다.

# ls -lh
합계 3.0M
drwxr-xr-x		3	root	root	4.0K	Mar 23 2020	CORBA
-rw-r--r?		1	root	root	2.6K	Mar 23 2020	DIR_COLORS
drwxr-xr-x		5	root	root	4.0K	Mar 23 2020 FreeWn
-rw-r--r?		1	root	root	76K		Mar 23 2020 Muttrc
drwxr-xr-x		20	root	root	4.0K	Mar	23 2020	X11
-rw-r--r--		1	root	root	2.5K	Mar 23 2020 a2ps-site.cfg

 

-r 옵션은 일반적인 ls 결과의 역순으로 정렬해서 출력합니다.

# ls -rl
합계 3036
-rw-r--r?		1	root	root	460		Mar 23 2020		zshrc
-rw-r--r?		1	root	root	303		Mar	23 2020		zshenv
-rw-r--r?		1	root	root	129		Mar 23 2020		zprofile
-rw-r--r?		1	root	root	86		Mar 23 2020		zlogout
-rw-r--r?		1	root	root	253		Mar	23 2020		zlogin
drwxr-x---		2	root	root	4096	Mar	23 2020		zebra

 

-t 옵션은 가장 최근에 변경된 파일의 순으로 정렬해서 출력합니다. -r 옵션을 추가하여 가장 늦은 시간에서부터 출력합니다(-trl).

# ls -tl | more
합계 3036
drwx-r-xr-x		2	root	root	4096	Mar	23 14:40	mail
-rw-r--r?		1	root	root	109882	Mar 23 12:30	ld.so.cache
-rw-r--r?		1	root	root	937		Mar 22 16:33	named.conf
drwxr-xr-x		2	root	root	4096	Mar 22 14:22	samba
drwxr-xr-x		9	roort	root	4096	Mar 22 10:10	sysconfig
drwxr-xr-x		2	root	root	4096	Mar 21 09:00	cron.daily
drwxr-xr-x		2	root	root	4096	Mar 20 09:01	cron.weekly

 

-S 옵션은 파일 크기가 가장 큰 것부터 출력합니다. 만일 가장 작은 것부터 보고자 한다면 -r과 -rlh 옵션을 사용하면 됩니다.

# ls -Slh | more
합계 3.0M
-rw-r--r?		1	root	root	720K	Mar 23 2020	termcap
-rw-r--r?		1	root	root	132K	Mar 20 2020	ㅣynx.cfg
-r--r--r?		1	root	root	127K	Mar 20 2020	ㅣynx.cfg.cs
-r--r--r?		1	root	root	127K	Mar 20 2020	ㅣynx.cfg.sk
-r--r--r?		1	root	root	127K	Mar 20 2020	ㅣynx.cfg.ja
-ew-r--r--		1	root	root	107K	Mar 11 2020	ld.so.cache

 

 

  14. man(매뉴얼 보기)

 1) 경로 : /usr/bin/man

 2) 요약 : 알고 싶은 명령어의 매뉴얼 출력

 3) 사용 방법 : man [-옵션] [section] [-M path] [-P pager] [-S list] [-m system] [-p string] 명령어

 4) 옵션

 -a : 찾고자 하는 명령어의 검색된 매뉴얼 페이지를 모두 출력

 -c : 최신의 cat 페이지가 있어도 소스 매뉴얼 페이지를 재구성

 -C 파일명 : 매뉴얼 페이지의 configure 파일을 지정. 기본값은 /etc/man.config 파일

 -d : 실제 매뉴얼을 보여주지 않고, 디버깅 정보 구성을 출력

 -D : -d옵션의 구성을 출력한 후에 매뉴얼을 출력

 -f : whatis 명령과 동일. whatis : 찾고자 하는 명령어 단어를 검색하여 요약 설명을 보여줌

 -h : 사용법 출력

 -k : apropos 명령과 동일. apropos : 매뉴얼 페이지 설명에 특정 단어를 포함한 명령어를 나열

 -K : 모든 매뉴얼 페이지 검색을 위한 path를 지정

 -M path : 매뉴얼 페이지 검색을 위한 path를 지정

 -P 페이지 : 지정한 pager로 페이지를 지정

 -S 목록 : 콜론으로 구분한 세션 리스트

 -t : /usr/bin/groff으로 페이지 형식을 출력

 -w : 찾고자 하는 문자의 매뉴얼 페이지가 있는 위치를 출력

 -W : -w와 비슷하지만 추가 정보 없이 한 행에 하나식 표시

 

 5) 추가 설명

man은 명령어의 자세한 사용법이나 의미를 알 수 없을 경우 사용합니다. 아래는 httpd의 man 파일들을 검색하여 해당 명령어의 사용법을 출력합니다.

# man httpd
내용 추가 예정

 

-K 옵션을 지정한 명령어를 포함하여 모든 매뉴얼 페이지를 출력합니다. 출력된 각각의 명령어는 매뉴얼 보기(y), 매뉴얼 보지 않기(n), man 명령에서 나가기(q) 중 하나를 선택할 수 있습니다. 아래 예제와 같이 mtab 관련 파일을 -K 옵션으로 살펴봅시다.

# man -K mtab
/usr/share/man/man8/rrestore.8.gz? [ynq] n
/usr/share/man/man8/showmount.9.gz? [ynq] n
/usr/share/man/man8/quotacheck.8.gz? [ynq] n
/usr/share/man/man8/mount.nfs.9.gz? [ynq] n

 

매뉴얼 페이지에는 각각의 섹션으로 나뉘어 있습니다. 매뉴얼 페이지의 맨 상단 괄호 안의 숫자나 압축된 매뉴얼 페이지 파일명의 끝 숫자가 나타내는 의미는 아래와 같습니다.

섹션번호 설명
1 실행 프로그램 또는 쉘 명령어
2 시스템 콜(커널 제공 함수)
3 라이브러리 콜(시스템 라이브러리 포함 함수)
4 특수 파일(대개 /dev 디렉터리 하위의 파일)
5 파일 포맷 집합(예 : tcpasswd)
6 게임 관련
7 매크로 패키지 집합
8 시스템 관리 명령
9 커널 루틴(비표준)

 

위의 umount.8.gz 파일에서 숫자 8의 의미는 시스템 관리에 필요한 명령이라는 뜻입니다. 맨 페이지의 파일명에 포함된 숫자는 명령어의 성격을 파악하는 중요한 판단 기준이 됩니다. 아래와 같이 출력되는 맨 페이지 내용을 텍스트 파일로도 저장할 수 있ㅅ브니다. umount 명령어의 맨 페이지를 텍스트로 저장해 봅시다.

# man umount c1 -b > umount_man.txt

 

 

  15. mkdir(디렉터리 생성)

 1) 경로 : /bin/mkdir

 2) 요약 : 디렉터리 생성

 3) 사용 방법 : mkdir [옵션] 디렉터리명

 4) 옵션

 -m, --mode 모드 : 새로 만들 디렉터리의 권한을 설정

 -p, --parents : 상위 경로도 함께 생성

 --help : 사용법 출력

 --version : 버전 정보 출력

 

 5) 추가 설명

mkdir은 디렉터리를 만드는 명령어로 디렉터리를 만들면서 권한을 부여할 수 있습니다. 추가 설정이 없다면 기본적으로 755의 실행 권한을 갖습니다.

 

아래는 testdir이라는 디렉터리에 파일의 사용자, 그룹, 다른 사용자 모두에 모든 구너한을 부여하는 명령어입니다.

# mkdir -m 777 testdir
# ls -al
drwxrwxrwx		2	root	root	4096	Mar 23 2020 16:40	testdir

 

-p 옵션으로 존재하지 않는 상위의 디렉터리까지 한번에 생성할 수 있습니다.

# mkdir -p subdir1/subdir2
# ls -al subdir1/
total 0
drwxr-xr-x		3	chan	admin	102		Mar 23 2020 16:44	.
drwxr-xr-x+		36	chan	admin	1224	Mar 23 2020 16:44	..
drwxr-xr-x		2	chan	admin	68		Mar 23 2020 16:46	subdir2	
반응형

댓글