在Linux系統里平時需要對目錄文件做一些管理操作,其中最基本的有cp,mv,rm等命令:
cp命令:copy 復制 其中包含源文件,目標文件: copy分為單源復制和多源復制,詳解如下:
單源復制:cp [option]…[-T] SOURCE DEST
多源復制:cp [option]…SOURCE…DIRECTORY
cp [option]…-t DIRECTORY SOURCE…
單源復制: cp [option]…[-T] SOURCE DEST
如果DEST不存在:則事先創建此文件,并復制源文件的數據流至DEST中
如:ls /tmp
cp /etc/fstab /tmp/yushan.txt 將etc/fstab文件復制至/tmp下
ls /tmp 再次查看tmp目錄下有沒有yushan.txt
cat /tmp/yushan.txt 查看yushan.txt里的內容
如果DEST存在:
如果DEST是非目錄文件,則覆蓋目標文件
如:cp /etc/issue /tmp/yushan.txt
因為yushan.txt是非目錄文件,所以系統會提示是否覆蓋/tmp/yushan.txt
按y同意覆蓋 然后查看yushan.txt的內容是否發生了變化 ,如下:
cat /tmp/yushan.txt 看文件內容已經發生了變化
如果DEST是目錄文件,則先在DEST目錄下創建一個與源文件同名的文件,并復制其數據流
如: mkdir /tmp/test
cp /etc/issue /tmp/test/
ls /tmp/test/ 查看test目錄下有沒有文件issue
cat /tmp/test/issue
多源復制:cp [option]…SOURCE…DIRECTORY
cp [option]…-t DIRECTORY SOURCE…
如果DEST不存在,錯誤
如果DEST存在,
如果DEST是非目錄文件:錯誤
如果DEST是目錄文件,分別復制每個文件至目標目錄中,并保持同名
常用選項:
-i:交互式復制,即復制之前提醒用戶確認;
-f:強制覆蓋目標文件
-r:遞歸復制目錄
如:cp -r /var/log /tmp/ 將/var下的log目錄復制至/tmp下,然后把log里的所有內容也復制過來
ls /tmp
ls /var/log ls /tmp/log 比對兩個目錄下的文件
cp -r /var/log /tmp/yushan.txt
系統顯示報錯信息,目錄無法覆蓋文件
-d:復制符號鏈接文件本身,而非其指向的源文件
如: ls -l /etc
cp /etc/system-release /tmp/
ls /tmp
cat /tmp/system.release 發現文件已經復制過來,如果不想復制其內容而只是想復制鏈接文件,則用-d命令
-a:-dR –preserve=all,archive,用于實現歸檔
–preserv=
mode:權限
ownership:屬主和屬組
timestamps:時間戳
contexts:安全標簽
xattr:擴展屬性
links:符號鏈接
all:上述所有屬性
mv命令:move
mv [OPTION]…[-T] SOURCE DEST
mv [OPTION]…SOURCE…DIRECTORY
mv [OPTION]…-t DIRECTORY SOURCE..
如:cd /tmp
ls 看/tmp目錄下是否有test和yushan.txt兩個文件
如: mv test yushan.txt 源文件和目標文件在同一個目錄下就是重命名
mv functions x/
ls
ls x/
常用選項:
-i:交互式
-f:force
rm命令:remove 移除
rm [OPTIONS] …FILE…
常用選項:
-i:interactive
-f:force
-r:recursive
危險操作: rm -rf /*
注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄(模擬回收站)
原創文章,作者:N24_yushan,如若轉載,請注明出處:http://www.www58058.com/58074
總結的不錯~能注意下排版會更好~繼續加油~