-
디렉토리 파일 관리3linux/centOS 2018. 6. 5. 14:12
☆ 이동
move - 파일 옮기기 / 이름 변경
파일과 디렉토리의 내용을 다른 파일 또는 다른 디렉토리로 옮길 때 사용하며 파일의 이름이나 디렉토리의 이름을 바꿀 수 있음. 같은 파티션 안에서 파일을 옮긴다는 것은 물리적으로 파일 이름만 변경하며, Inode 정보나 데이터 블록은 그대로 유지가 되고 다른 파티션으로 파일을 옮기는 경우는 새로운 파일 이름과 Inode, 데이터 블록을 할당 받게 됨
OPTIONS :
-f, --force
대상 파일이 이미 있어도 사용자에게 어떻게 처리할지를 묻지 않 는
다.
-i, --interactive
대 상 파일이 이미 있어, 사용자에게 어떻게 처리할지를 물어 본다.
이때, ‘y’나 ‘Y’를 입력해 주어야지만 그 파일을 옮긴다. (기본값)
[명령어 형식]
# mv file1 file2 /* file1 파일이 이름이 file2로 변함 */
# mv file1 dir1 /* file1 파일이 dir1 디렉토리에 하위경로로 이동 */
# mv dir1 dir2 /* dir1 디렉토리가 dir2 디렉토리에 하위경로로 이동 */
[명령어 옵션]
옵션
내용
-b
복사할 대상을 덮어쓰거나 지울 때를 대비해서 백업 파일 만듦
-f
복사할 파일이 존재할 때 삭제하고 복사
-i
복사할 파일이 존재하는 경우 복사할 것인지 물어봄
-u
대상 파일보다 원본 파일이 새로운 것일 때 복사
-v
파일 옮기기 전의 과정을 보여 줌
여러 개의 파일을 동시에 이동
# cd /test
# touch file1 file2 file4
file이라는 파일들을 dir1 디렉토리로 이동
# mkdir dir1
# mv file* dir1
☆ 지우기
rm - 파일 지우기
파일과 디렉토리를 지우고자 할 때 사용하며 한꺼번에 여러 개를 지울 수도 있으며 지운 파일들은 되살릴 수 없으므로 주위 해서 사용해야 하는데 -i 옵션을 사용하면 한번 더 묻게 되므로 부주의로 인한 파일 삭제를 막을 수 있으며, 옵션 -r를 사용 시 시스템의 모든 파일이 삭제되는 경우도 있으니 신중하게 사용해야 한다.
OPTIONS
-f, --force
지 울 파일이 없을 경우에 아무런 메시지를 보여주지 않고 그냥 넘어
간다. 이 옵션은 쉘 스크립트 안에서 사용될 때 유용하게 쓰인다.
-i, --interactive
각 파일을 하나씩 지울 것인지 사용자에게 일일이 물어본다. 이 때
‘y’ 나 ‘Y’를 눌러야지만 파일이 지워지다.
-r, -R, --recursive
일반 파일이면 그냥 지우고, 경로면, 그 하위 경로와 파일을 모두 지
운다.
[명령어 형식]
# rm file1 /* file1 파일 1개 삭제 */
# rm file1 file2 /* file1, file2 파일 2개 삭제 */
# rm -r dir1 /* dir1 디렉토리 하위경로까지 삭제 */
[명령어 옵션]
옵션
설명
-f
강제로 파일을 지우고 삭제할 파일이 없을 경우에도 아무런 메시지를 보여주지 않는다.
-i
파일을 삭제할 것인지 사용자에게 물어봄
-r, -R
일반파일이면 그냥 지우고 디렉토리일 경우 그 하위경로와 파일을 모두 지움
-v
삭제되는 파일의 정보를 보여줌
[참고] 비어 있지 않은 디렉토리 삭제
# rm -rf dir1
[참고] rm 명령어로 지운 파일 복구(100% 장담할 수 없음)
# debugfs /dev/sda3
# extundelete
☆ 파일 내용 확인
cat - 파일 내용 확인
파일의 내용을 화면으로 출력. 파일의 내용을 화면에 연속적으로 출력하기 때문에 파이프(Pipe Line)을 사용하여 more 명령어에 연결하여 사용 가능.
[명령어 형식]
# cat file1 /* file1 파일 내용을 출력 */
# cat file1 file2 /* file1, file2 파일 내용을 출력 */
# cat -n file1 /* file1 파일내용을 줄번호와 함께 출력 */
# cat file1 file2 > file3 /* file1, file2 출력 결과를 file3에 저장 */
[명령어 옵션]
옵션
설명
-e
제어 문자를 ^ 형태로 출력하며 끝에 $를 추가
-n
줄번호를 공백을 포함하여 화면 왼쪽에 나타냄
-s
중복되고 겹치는 빈 행은 하나의 빈 행으로 처리
-v
행바꿈 문자, tab를 제외한 제어문자를 ^ 형태로 출력
-E
각 행 끝에 $ 문자 출력
-T
tab 문자를 출력
-A
-vET 옵션과 동일
[EX1] /etc/passwd 파일 출력
# cat /etc/passwd
-> 출력내용 생략
# cat -n /etc/passwd | more (# nl /etc/passwd | more) /* 내용 앞에 번호가 붙어 출력 */
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
# cat /etc/passwd | grep fedora
fedora:x:500:500:fedora:/home/fedora:/bin/bash
☆ 내용 더 보기
more - 파일의 내용을 페이지 단위로 출력.
큰 파일을 출력할 때 화면 크기 페이지 단위로 출력하며 하단에 "--More--(20%)"는 현재 내용을 20% 보았고 80% 남았다고 표현하며 화면에서 엔터(Enter)키를 누르면 한 개의 라인(line) 단위로 넘어가고 스페이스(space) 키를 누르면 한 페이지 단위로 넘어가는데 less 명령과 함께 사용 하면 더 효율적이다.
[명령어 형식]
# more file1 /* file1 파일을 출력 */
# more -c file1 /* file1 파일을 한행씩 지우면서 출력 (more와 같은 형태로 출력~) */
[명령어 옵션]
옵션
설명
-n(숫자)
출력 행수를 지정
-c
위에서부터 한 행씩 지운 후 한 행씩 출력
-d
스페이스나 q를 누르라는 프롬프트를 출력
-f
보통은 긴 칼럼의 행은 화면에서 행 바꿈을 하여 새로운 행으로 계산되는데 -f 옵션은 새로운 행으로 계산 하지 않으며 화면이 행이 아닌 논리적인 행 수를 계산
-s
여러 개의 빈 공백행은 하나로 취급
-p
스크롤하지 않으며 화면을 지우고 출력
-u
밑줄 치기를 금지
☆ 내용 더 보기
less - 파일의 내용을 페이지 단위로 출력. more 명령어를 좀 더 보안한 명령어이다.
[명령어 형식]
# less file1 /* file1 파일을 출력 */
# less -n file1 /* file1 파일내용에 행 번호 출력 */
[명령어 옵션]
옵션
설명
-?
less에 대한 help
-a
마지막 라인이 화면에 출력되고 나서 탐색 시작
-c
필요할 때 전체 화면을 다시 갱신
-C
-c 옵션과 같지만 갱신할 때 화면 전체를 지우고 시작
-e
두 번째로 파일의 끝에 도달하면 자동적으로 종료
-E
파일의 끝에 도달하면 자동적으로 종료
-i
대소문자를 구분하여 탐색
-q
특정 에러가 없으면 소리 안냄
-Q
소리 안냄
-s
연속되는 공백 라인은 하나의 행으로 처리
-x n(숫자)
수치를 지정해서 탭 간격 조정
☆ 내용 더 보기
nl - 파일의 내용을 확인 할 때 행번호 까지 출력("cat -n" 명령어와 같다.)한다.
[명령어 형식]
# nl file1
# nl file1 file2
# nl file1 file2 > files
[EX1] nl 명령어 실습
# nl /etc/passwd /* # cat -n /etc/passwd 와 같다. */
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
# nl /etc/passwd /etc/shadow /* 두개의 파일이 동시에 보이면서 번호가 이어져서 출력 */
....
59 fedora:x:500:500:fedora:/home/fedora:/bin/bash
60 virus:x:501:501::/home/virus:/bin/bash /* /etc/passwd 파일 */
61 root:$1$GUT1Ey/2$ltYR1Bjp6er6kImf1/4DV1:14634:0:99999:7::: /* /etc/shadow 파일 */
62 bin:*:14634:0:99999:7:::
....
☆ 내용 더 보기
head - 파일의 처음 시작 부분의 몇 줄을 출력 하고자 할 때 사용한다. 아무 옵션 없이 사용하게되면
처음 10줄을 보여준다.
[명령어 형식]
# head /etc/passwd (# head -10 /etc/passwd, # head -n 10 /etc/passwd)
# head -n 5 /etc/passwd /* 숫자에 해당하는 라인 번호 수 만큼만 출력 (기본은 10줄) */
# head -c 10 /etc/passwd /* -c 옵션 다음에 오는 숫자 byte 수에 해당하는 만큼 출력 */
[명령어 옵션]
옵션
설명
-n (숫자)
위쪽 행에서부터 출력할 행수를 지정
-c (숫자)
byte 수 만큼만 출력
[EX1] "head -n #" 실습
# head -n 5 /etc/passwd (# head -5 /etc/passwd)
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
☆ 내용 더 보기
tail - 파일의 마지막 몇 줄을 보여주는 데 사용한다. 옵션이 없다면 기본적으로 마지막 10줄을 출력한다.
[명령어 형식]
# tail /etc/passwd (# tail -10 /etc/passwd, # taill -n 10 /etc/passwd)
# tail -5 /etc/passwd
# tail +5 /etc/passwd
# tail -f /var/log/messages
[명령어 옵션]
옵션
설명
-c (숫자)
끝에서부터 지정된 수만큼의 바이트에 해당하는 정보를 보여준다.
-f
파일의 크기가 변할때마다 추가된 정보를 출력한다.
-F
위 -f옵션의 경우 파일크기가 변하여 5Mbytes 정도 되면 확장자에 숫자를 붙여 백업파일을 생성하고, 다시 본 파일은 0byte 부터 저장된다. 그래서 tail -f 파일명으로 실행중인 명령이 멈춰버린다는 문제가 생겨 재실행시켜줘야 하는 번거로움이 있다. -F옵션을 사용하면 이런 재실행문제 및 용량변화로 인한 문제를 걱정하지 않아도 된다. -f옵션때와 마찬가지로 Ctrl+C로 빠져나올 수 있다.
-(숫자)
끝에서부터 지정된 수만큼의 줄을 보여준다.
-q
출력결과에서 맨 윗줄에 입력파일명을 표시하지 않게 설정한다.
-v
-q와 반대로 출력결과에서 맨 윗줄에 입력파일명을 항상 표시해준다.
--help
도움말을 보여준다.
--version
버젼 정보를 보여준다.
[EX1] tail 명령어의 기본 사용법
# tail -n 5 /etc/passwd (# tail -5 /etc/passwd)
tomcat:x:91:91:Tomcat:/usr/share/tomcat5:/bin/sh
gdm:x:42:42::/var/gdm:/sbin/nologin
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
fedora:x:500:500:fedora:/home/fedora:/bin/bash
user01:x:501:501::/home/user01:/bin/bash
'linux > centOS' 카테고리의 다른 글
파일 종류 (0) 2018.06.07 디렉토리 파일 관리4 (0) 2018.06.06 디렉토리 파일 관리2 (0) 2018.06.02 디렉토리 파일 관리1 (0) 2018.06.02 리눅스 기본 정보 (0) 2018.06.02