- Linux從零開始學(視頻教學版)
- 張春曉編著
- 775字
- 2023-09-21 10:37:19
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”選項可以在覆蓋之前詢問用戶。
推薦閱讀
- Cybersecurity:Attack and Defense Strategies
- 白話區塊鏈
- SharePoint 2013 WCM Advanced Cookbook
- Windows Phone 8 Application Development Essentials
- 8051軟核處理器設計實戰
- 計算機系統:基于x86+Linux平臺
- INSTANT Galleria Howto
- Windows 8實戰從入門到精通(超值版)
- 寫給架構師的Linux實踐:設計并實現基于Linux的IT解決方案
- Windows 10從新手到高手
- Learn CUDA Programming
- Linux從入門到精通(視頻教學版)
- Office 365 User Guide
- OpenHarmony開發與實踐:基于紅莓RK2206開發板
- VMware vSphere 5.1 Cookbook