官术网_书友最值得收藏!

2.2.1 復制文件:cp

cp命令用來復制文件或目錄。當復制多個文件時,目標文件參數必須為已經存在的目錄。cp命令默認不能復制目錄,復制目錄必須使用-R選項。cp命令具備ln命令的功能。語法為:cp [選項] [參數],cp命令常用的參數如表2.2所示。

表2.2 cp命令常用參數及其說明

示例2-1將演示cp命令的用法,部分顯示結果省略。

【示例2-1】

#以下演示cp命令的用法
[root@CentOS ~]# cd /usr/local/nginx/conf
nginx.conf
#如需顯示執行過程,可以使用以下選項
#當使用cp命令復制單個文件時,第1個參數表示源文件,第2個參數表示目標文件
[root@CentOS conf]# cp -v  nginx.conf nginx.conf.20200412
`nginx.conf' -> `nginx.conf.20200412'
[root@CentOS conf]# ls -l nginx.conf nginx.conf.20200412
-rw-r--r--. 1 root root 2685 Apr 11 03:15 nginx.conf
-rw-r--r--. 1 root root 2685 Apr 12 20:33 nginx.conf.20200412
#復制多個文件
[root@CentOS conf]# cp -v nginx.conf nginx.conf.20200412  backup/
`nginx.conf' -> `backup/nginx.conf'
`nginx.conf.20200412' -> `backup/nginx.conf.20200412'
[root@CentOS conf]# ll nginx.conf nginx.conf.20200412  backup/
-rw-r--r--. 1 goss goss 2685 Apr 12 20:47 nginx.conf
-rw-r--r--. 1 root root 2685 Apr 12 20:59 nginx.conf.20200412
backup/:
total 8
-rw-r--r--. 1 root root 2685 Apr 12 21:01 nginx.conf
-rw-r--r--. 1 root root 2685 Apr 12 21:01 nginx.conf.20200412
#復制文件夾
[root@CentOS nginx]# cp conf conf.bak
cp: omitting directory `conf'
[root@CentOS nginx]# cp -r conf conf.20200412
[root@CentOS nginx]# ls –l
total 40
drwxr-xr-x. 2 root   root 4096 Apr 12 20:33 conf
drwxr-xr-x. 2 root   root 4096 Apr 12 20:33 conf.20200412
[root@CentOS goss]# su – goss
#復制時保留文件的原始屬性
[goss@CentOS ~]$ cp  -a  /usr/local/nginx/ .
cp: cannot access '/usr/local/nginx/uwsgi_temp': Permission denied
cp: cannot access '/usr/local/nginx/fastcgi_temp': Permission denied
cp: cannot access '/usr/local/nginx/scgi_temp': Permission denied
cp: cannot access '/usr/local/nginx/client_body_temp': Permission denied
cp: cannot access '/usr/local/nginx/proxy_temp': Permission denied
[goss@CentOS ~]$ ls –l
drwxr-xr-x. 12 goss goss    4096 Apr 12 20:33 nginx
[goss@CentOS ~]$ ll
total 2784
drwxr-xr-x. 12 goss goss    4096 Apr 12 20:33 nginx
[root@CentOS goss]# cp -a nginx/ nginx.bak
[root@CentOS goss]# ls -l
total 2788
drwxr-xr-x. 12 goss goss    4096 Apr 12 20:33 nginx
drwxr-xr-x. 12 goss goss    4096 Apr 12 20:33 nginx.bak
[root@CentOS goss]# cp -r nginx nginx.root
[root@CentOS goss]# ls -l
total 2792
drwxr-xr-x. 12 goss goss    4096 Apr 12 20:33 nginx
drwxr-xr-x. 12 goss goss    4096 Apr 12 20:33 nginx.bak
drwxr-xr-x. 12 root root    4096 Apr 12 20:35 nginx.root
[root@CentOS conf]# cp -i /usr/local/nginx/conf/nginx.conf .
cp: overwrite './nginx.conf'? n
[root@CentOS conf]# cp -f  /usr/local/nginx/conf/nginx.conf .
[root@CentOS conf]#
#并不復制文件本身,而是創建當前文件的軟鏈接
[root@CentOS conf]# cp -s nginx.conf nginx.conf_s
[root@CentOS conf]# ls -l
lrwxrwxrwx. 1 root root   10 Apr 12 20:49 nginx.conf_s -> nginx.conf
[root@CentOS conf]# md5sum nginx.conf /usr/local/nginx/conf/ng
nginx.conf          nginx.conf.bak      nginx.conf.default  nginx.conf.mv
[root@CentOS conf]# md5sum nginx.conf /usr/local/nginx/conf/nginx.conf
1181c1834012245d785120e3505ed169  nginx.conf
30d53ba50698ba789d093eec830d0253  /usr/local/nginx/conf/nginx.conf
[root@CentOS conf]# cp -b /usr/local/nginx/conf/nginx.conf .
cp: overwrite './nginx.conf'? y
[root@CentOS conf]# md5sum nginx.conf*
30d53ba50698ba789d093eec830d0253  nginx.conf
1181c1834012245d785120e3505ed169  nginx.conf~

cp命令可以復制一個或多個文件,當復制多個文件時,最后一個參數必須為已經存在的目錄,否則會提示錯誤。如果忽略提示信息,則可以使用“-f”選項。

說明:為防止用戶在不經意的情況下使用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp命令復制文件后,這個文件就會被覆蓋,“i”選項可以在覆蓋之前詢問用戶。

主站蜘蛛池模板: 忻州市| 屏山县| 阿克陶县| 镇坪县| 仙居县| 岳池县| 资溪县| 额敏县| 泰顺县| 浦江县| 临清市| 渝北区| 青河县| 山阳县| 房产| 健康| 楚雄市| 达日县| 柯坪县| 金川县| 延边| 海兴县| 普兰店市| 固阳县| 阿尔山市| 福州市| 肇东市| 三明市| 南部县| 永川市| 永定县| 舒兰市| 大兴区| 郑州市| 北安市| 眉山市| 河东区| 通江县| 调兵山市| 大新县| 诏安县|