day-4 파일 관리(2)

6464 단어

파일 관리란 파일을 복사하는 것을 가리킨다


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

파일에 자주 사용되는 기호 필터링
옵션
설명하다
.
모두
*
찾기 반전
.*
모두 일치
^
무엇으로 시작하는가
$
무슨 결말
^$
표시

좋은 웹페이지 즐겨찾기