day-4 파일 관리(2)
파일 관리란 파일을 복사하는 것을 가리킨다
cp 상용 매개 변수 및 설명
옵션
설명하다
-r
디렉터리를 복사할 때 r를 추가해야 합니다.
-p
변경 없이 파일의 원래 속성 유지
-v
복제 세부 정보 표시
/tmp 아래로 파일을 복사하고 file_로 이름 바꾸기copy
[root@node2 ~]# cp file /tmp/file_copy
[root@node2 ~]# ll /tmp/
total 0
-rw-r--r--. 1 root root 0 Jul 29 10:34 file_copy
-p 매개 변수는 복사 과정에서 파일의 기존 속성이 변하지 않도록 유지합니다
[root@node2 ~]# ll
total 0
-rw-r--r--. 1 root root 0 Jul 29 10:36 file
# rw-r--r--
[root@node2 ~]# chmod 777 file
#
[root@node2 ~]# chown adm:adm file
#
[root@node2 ~]# ll
total 0
-rwxrwxrwx. 1 adm adm 0 Jul 29 10:36 file
#
[root@node2 ~]# cp file /opt/
# /opt
[root@node2 ~]# cp -p file /opt/file1
# , /opt , file1
cp: overwrite ‘/opt/file1’? y
[root@node2 ~]# ll /opt
total 0
-rwxr-xr-x. 1 root root 0 Jul 29 10:38 file
# -p , ,
-rwxrwxrwx. 1 adm adm 0 Jul 29 10:36 file1
# -p , ,
파일,hello/및/etc를/mnt 디렉터리로 복사
[root@node2 ~]# cp -rp file hello/ /etc/ /mnt/
복사된 파일이 이미 있으면 덮어쓸지 묻는 메시지가 나타납니다.\및/bin 방식으로 강제 복제 가능
[root@node2 ~]# \cp -r /etc/ /mnt/
# cp alias -i , \ , -i 。
[root@node2 ~]# ll /mnt/
total 12
drwxr-xr-x. 75 root root 8192 Jul 29 10:45 etc
[root@node2 ~]# /bin/cp -r /etc/ /mnt/
# /bin/cp alias
[root@node2 ~]# ll /mnt/
total 12
drwxr-xr-x. 75 root root 8192 Jul 29 10:46 etc
[root@node2~] #aliasaliascp='cp-i'#alias에서 -i 옵션을 정의했습니다. 기존 파일을 덮어쓰기 전에 사용자에게 물어보십시오.alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i'
파일을 복사합니다.
[root@node2 ~]# cp {test.txt,test.txt.bak} -v
# test.txt test.txt.bak,-v
‘test.txt’ -> ‘test.txt.bak’
[root@node2 ~]# cp /etc/sysconfig/network-scripts/{ifcfg-ens32,ifcfg-ens32.bak}
ifcfg-ens32 , ifcfg-ens32.bak
[root@node2 ~]# ls /etc/sysconfig/network-scripts/ifcfg-e*
/etc/sysconfig/network-scripts/ifcfg-ens32
/etc/sysconfig/network-scripts/ifcfg-ens32.bak
파일 관리 파일 내용 보기
cat 상용 매개 변수 및 설명
옵션
설명하다
-n
파일을 볼 때 행 번호 표시
-A
파일을 볼 때 특수 문자 표시
pass 파일 내용 보기
[root@node2 ~]# cat pass
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
test17:x:1016:1016::/home/test17:/bin/bash
pass 파일 내용 보기 및 행 번호 표시
[root@node2 ~]# cat -n pass
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 test17:x:1016:1016::/home/test17:/bin/bash
pass 파일 내용 보기 및 특수 문자 표시
[root@node2 ~]# cat -A pass
root:x:0:0:root:/root:/bin/bash$
# $
bin:x:1:1:bin:/bin:/sbin/nologin$
daemon:x:2:2:daemon:/sbin:/sbin/nologin$
test17:x:1016:1016::/home/test17:/bin/bash$
cat로 파일을 만들고 내용을 기록합니다
[root@node2 ~]# cat >> test.txt < TEST1
> TEST2
> TEST3
> EOF
[root@node2 ~]# cat test.txt
TEST1
TEST2
TEST3
head 상용 매개 변수 및 설명
옵션
설명하다
-n
인쇄된 행 수
head 명령을 사용하면 매개 변수를 추가하지 않고 기본적으로 10줄의 내용만 출력합니다.
[root@node2 ~]# head -3 pass
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
# pass 3 , “head -n 3 pass ”
tail 상용 매개 변수 및 설명
옵션
설명하다
-n
인쇄된 행 수
-f
파일 끝에 새로 추가된 내용 보기
파일의 뒷줄 내용 인쇄
[root@node2 ~]# tail -3 pass
test99:x:1098:1098::/home/test99:/bin/bash
test100:x:1099:1099::/home/test100:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
매개 변수를 추가하지 않으면 기본적으로 마지막 10줄만 인쇄합니다
tail-f를 사용하면 파일 끝부분의 변화를 볼 수 있습니다
[root@node2 ~]# tail -f /var/log/secure
# tailf /var/log/secure
Jul 29 14:05:54 node2 sshd[8613]: error: Received disconnect from 10.0.0.1 port 61962:0:
Jul 29 14:05:54 node2 sshd[8613]: Disconnected from 10.0.0.1 port 61962
Jul 29 14:05:54 node2 sshd[8613]: pam_unix(sshd:session): session closed for user root
grep 상용 매개 변수 및 설명
옵션
설명하다
-n
행 문자 표시
-v
찾기 반전
-i
대소문자 구분 없이 파일 필터링
-E
다중 조건 필터링
-A
일치하면 아래로 인쇄
-B
일치하면 위로 인쇄
필터에 루트 관련 줄 포함
[root@node2 ~]# grep "root" pass
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
루트로 시작하는 줄 필터링
[root@node2 ~]# grep "^root" pass
root:x:0:0:root:/root:/bin/bash
bash로 끝나는 줄 필터링
[root@node2 ~]# grep "bash$" pass
root:x:0:0:root:/root:/bin/bash
test1:x:1000:1000::/home/test1:/bin/bash
test2:x:1001:1001::/home/test2:/bin/bash
test3:x:1002:1002::/home/test3:/bin/bash
행 문자 표시
[root@node2 ~]# grep -n "bash" pass
1:root:x:0:0:root:/root:/bin/bash
20:test1:x:1000:1000::/home/test1:/bin/bash
21:test2:x:1001:1001::/home/test2:/bin/bash
22:test3:x:1002:1002::/home/test3:/bin/bash
grep 일치 후 아래로 인쇄
[root@node2 ~]# grep -n -A 2 "4" test.txt
4:TEST4
# 4
5-TEST5
6-TEST6
grep 일치 후 위로 인쇄
[root@node2 ~]# grep -n -B 2 "4" test.txt
2-TEST2
3-TEST3
4:TEST4
# 4 ,
grep 일치 후 위쪽과 아래로 인쇄
[root@node2 ~]# grep -n -C 2 "4" test.txt
2-TEST2
3-TEST3
4:TEST4
# 4 ,
5-TEST5
6-TEST6
[root@node2 ~]# cat test.txt TEST1 TEST2 TEST3 TEST4 TEST5 TEST6 TEST7 TEST8 TEST9
"ftp"가 없는 줄을 선별합니다
[root@node2 ~]# grep -v "ftp" pass
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
대소문자를 구분하지 않고 "ftp"를 포함하는 줄을 필터합니다
[root@node2 ~]# grep -i "ftp" pass
FTP test
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
대소문자를 구분하지 않고 sync로 끝내거나 ftp를 포함하는 줄을 인쇄합니다
[root@node2 ~]# grep -Ei "sync$|ftp" pass
FTP test
sync:x:5:0:sync:/sbin:/bin/sync
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
파일에 자주 사용되는 기호 필터링
옵션
설명하다
.
모두
*
찾기 반전
.*
모두 일치
^
무엇으로 시작하는가
$
무슨 결말
^$
표시
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.