N27_第二周作業。

linux上的文件管理類命令都有哪些?其常用的使用方法及其相關示例演示。

答:

有cp、mv、rm

cp ?復制命令

常用選項:

cp -i ? ? ? ?#交互式

cp -r ? ? ? #遞歸復制目錄及其子目錄的內容

cp -a ? ? ?# 歸檔,相當于dR –preserve=all

cp -d ? ? #表示不跟蹤符號鏈接所指向的原文件 –no-dereference –preserve=links

cp -p ? ? #保持原有的屬性。c

cp -f ? ? ?#強制覆蓋

cp -v ? ? #顯示過程

示例: ? ?]# cp -i ping.pl /opt/
cp: overwrite `/opt/ping.pl’?

cp -r #遞歸復制目錄及其子目錄的內容

示例:?TIM截圖20171009153501

TIM截圖20171009154351

cp -a #歸檔 相當于 -dR –preserve=all

示例:TIM截圖20171009160029

 

-d:若源文件為連接文件杜屬性,則復制連接文件屬性而非文件本身。
例如:
1、
root@ubuntu:/tmp# cp -s bashrc bashrc_slink #建立一個快捷方式
root@ubuntu:/tmp# cp -l bashrc bashrc_hlink #建立一個硬連接
root@ubuntu:/tmp# ls -l bashrc*
-rw-r–r– 2 root root 3106 2012-01-16 14:31 bashrc
-rw-r–r– 2 root root 3106 2012-01-16 14:31 bashrc_hlink
lrwxrwxrwx 1 root root 6 2012-01-16 15:24 bashrc_slink -> bashrc
2、將上面生成的bashrc_slink 復制成為bashrc_slink_2
root@ubuntu:/tmp# cp bashrc_slink bashrc_slink_2
root@ubuntu:/tmp# ls -l bashrc_slink*
lrwxrwxrwx 1 root root 6 2012-01-16 15:24 bashrc_slink -> bashrc
-rw-r–r– 1 root root 3106 2012-01-16 15:35 bashrc_slink_2 #原本要復制的是連接文件,卻將連接文件連接的實際文件復制過來了
3、若要復制連接文件而不是它指向的源文件,就要使用-d參數
root@ubuntu:/tmp# cp -d bashrc_slink bashrc_slink_2
root@ubuntu:/tmp# ls -l bashrc_slink*
lrwxrwxrwx 1 root root 6 2012-01-16 15:24 bashrc_slink -> bashrc
lrwxrwxrwx 1 root root 6 2012-01-16 15:36 bashrc_slink_2 -> bashrc

cp -p #保持原有的屬性

示例:

[root@iZtd89lux3qk03uhzhj85mZ opt]# cp -p ip.txt ip2.txt
[root@iZtd89lux3qk03uhzhj85mZ opt]# ll -ah ip*
-rw-r–r– 1 root root 1.2K Oct 9 14:47 ip2.txt
-rw-r–r– 1 root root 1.2K Oct 9 14:47 ip.txt

cp -v # 顯示過程

示例:

[root@iZtd89lux3qk03uhzhj85mZ opt]# cp -rv tmp/ tmp2/
`tmp/’ -> `tmp2/’
`tmp/mylinux’ -> `tmp2/mylinux’
`tmp/mylinux/lib’ -> `tmp2/mylinux/lib’
`tmp/mylinux/lib/modules’ -> `tmp2/mylinux/lib/modules’
`tmp/mylinux/sbin’ -> `tmp2/mylinux/sbin’
`tmp/mylinux/proc’ -> `tmp2/mylinux/proc’
`tmp/mylinux/dev’ -> `tmp2/mylinux/dev’
`tmp/mylinux/lib64′ -> `tmp2/mylinux/lib64′
`tmp/mylinux/usr’ -> `tmp2/mylinux/usr’
`tmp/mylinux/usr/local’ -> `tmp2/mylinux/usr/local’
`tmp/mylinux/usr/local/sbin’ -> `tmp2/mylinux/usr/local/sbin’
`tmp/mylinux/usr/local/bin’ -> `tmp2/mylinux/usr/local/bin’
`tmp/mylinux/etc’ -> `tmp2/mylinux/etc’
`tmp/mylinux/etc/sysconfig’ -> `tmp2/mylinux/etc/sysconfig’
`tmp/mylinux/etc/sysconfig/network-scripts’ -> `tmp2/mylinux/etc/sysconfig/network-scripts’
`tmp/mylinux/etc/rc.d’ -> `tmp2/mylinux/etc/rc.d’
`tmp/mylinux/etc/rc.d/init.d’ -> `tmp2/mylinux/etc/rc.d/init.d’
`tmp/mylinux/var’ -> `tmp2/mylinux/var’
`tmp/mylinux/var/log’ -> `tmp2/mylinux/var/log’
`tmp/mylinux/var/run’ -> `tmp2/mylinux/var/run’
`tmp/mylinux/var/lock’ -> `tmp2/mylinux/var/lock’
`tmp/mylinux/sys’ -> `tmp2/mylinux/sys’
`tmp/mylinux/tmp’ -> `tmp2/mylinux/tmp’
`tmp/mylinux/boot’ -> `tmp2/mylinux/boot’
`tmp/mylinux/boot/grub’ -> `tmp2/mylinux/boot/grub’
`tmp/mylinux/bin’ -> `tmp2/mylinux/bin’
[root@iZtd89lux3qk03uhzhj85mZ opt]# tree t
test/ test2/ tmp/ tmp2/
[root@iZtd89lux3qk03uhzhj85mZ opt]# tree tmp2/
tmp2/
└── mylinux
├── bin
├── boot
│?? └── grub
├── dev
├── etc
│?? ├── rc.d
│?? │?? └── init.d
│?? └── sysconfig
│?? └── network-scripts
├── lib
│?? └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│?? └── local
│?? ├── bin
│?? └── sbin
└── var
├── lock
├── log
└── run

25 directories, 0 files

mv #移動或者重命名命令。

選項:

mv -i?#交互式,會提醒是否移動

示例:

[root@iZtd89lux3qk03uhzhj85mZ opt]# mv -i test/* test2/
mv: overwrite `test2/BingSiteAuth.xml’?

mv -f ?# 強制

示例:

[root@iZtd89lux3qk03uhzhj85mZ opt]# mv -f ip2.txt ip.txt ping.pl test2/
[root@iZtd89lux3qk03uhzhj85mZ opt]# ll test2/*
-rw-r–r– 1 root root 1191 Oct 9 14:47 test2/ip2.txt
-rw-r–r– 1 root root 1191 Oct 9 14:47 test2/ip.txt
-rw-r–r– 1 root root 756 Oct 9 14:56 test2/ping.pl

 

mv ?文件或者目錄 ?新的文件名或者新的目錄名

示例:

[root@iZtd89lux3qk03uhzhj85mZ opt]# ll
total 28
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip2.txt
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip.txt
-rw-r–r– 1 root root 756 Oct 9 14:56 ping.pl
drwxr-xr-x 7 root root 4096 Oct 9 17:00 test
drwxr-xr-x 2 root root 4096 Oct 9 17:05 test2
drwxr-xr-x 3 root root 4096 Oct 8 15:47 tmp
drwxr-xr-x 3 root root 4096 Oct 9 16:45 tmp2
[root@iZtd89lux3qk03uhzhj85mZ opt]# mv ip2.txt ip1.txt
[root@iZtd89lux3qk03uhzhj85mZ opt]# ll
total 28
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip1.txt
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip.txt
-rw-r–r– 1 root root 756 Oct 9 14:56 ping.pl
drwxr-xr-x 7 root root 4096 Oct 9 17:00 test
drwxr-xr-x 2 root root 4096 Oct 9 17:05 test2
drwxr-xr-x 3 root root 4096 Oct 8 15:47 tmp
drwxr-xr-x 3 root root 4096 Oct 9 16:45 tmp2

rm #刪除命令

rm -i ? ? ? ? #交互式,提示是否刪除

rm -f ? ? ? ? #強制刪除。

rm -r ? ? ? #遞歸刪除

 

rm -i ?#交互式,提示是否刪除。

示例:

[root@iZtd89lux3qk03uhzhj85mZ opt]# rm -i ip2.txt
rm: remove regular file `ip2.txt’?

rm -r ? ?#遞歸刪除

[root@iZtd89lux3qk03uhzhj85mZ opt]# ll
total 28
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip1.txt
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip.txt
-rw-r–r– 1 root root 756 Oct 9 14:56 ping.pl
drwxr-xr-x 7 root root 4096 Oct 9 17:00 test
drwxr-xr-x 2 root root 4096 Oct 9 17:13 test2
drwxr-xr-x 3 root root 4096 Oct 8 15:47 tmp
drwxr-xr-x 3 root root 4096 Oct 9 16:45 tmp2
[root@iZtd89lux3qk03uhzhj85mZ opt]# ll test2/
total 16
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip2.txt
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip3.txt
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip4.txt
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip5.txt
[root@iZtd89lux3qk03uhzhj85mZ opt]# rm -r test2/*
rm: remove regular file `test2/ip2.txt’? y
rm: remove regular file `test2/ip3.txt’? y
rm: remove regular file `test2/ip4.txt’? y
rm: remove regular file `test2/ip5.txt’? y
[root@iZtd89lux3qk03uhzhj85mZ opt]# ll test2/
total 0
[root@iZtd89lux3qk03uhzhj85mZ opt]#

rm -f ? ? ? #強制刪除

2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容

bash使用特殊變量$?保存最近一條命令的執行狀態結果 :echo $?

0:成功 ? 1-255:失敗

示例:

root@iZtd89lux3qk03uhzhj85mZ opt]# ll
total 24
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip1.txt
-rw-r–r– 1 root root 1191 Oct 9 14:47 ip.txt
drwxr-xr-x 7 root root 4096 Oct 9 17:00 test
drwxr-xr-x 2 root root 4096 Oct 9 17:14 test2
drwxr-xr-x 3 root root 4096 Oct 8 15:47 tmp
drwxr-xr-x 3 root root 4096 Oct 9 16:45 tmp2
[root@iZtd89lux3qk03uhzhj85mZ opt]# echo $?
0
[root@iZtd89lux3qk03uhzhj85mZ opt]# mv ip1.txt ip2.txt -R
mv: invalid option — ‘R’
Try `mv –help’ for more information.
[root@iZtd89lux3qk03uhzhj85mZ opt]# echo $?
1

PS:正確執行的時候顯示0 ,錯誤執行的時候顯示1-255

3、請使用命令行展開功能來完成以下練習:

(1)、創建/tmp目錄下的:a_c,a-d,b_c,b_d

示例:

[root@iZtd89lux3qk03uhzhj85mZ opt]# mkdir -pv /tmp/{a,b}_{c,d}
mkdir: created directory `/tmp/a_c’
mkdir: created directory `/tmp/b_c’
mkdir: created directory `/tmp/b_d’

(2)、創建、/tmp/mylinux下的

示例:

[root@iZtd89lux3qk03uhzhj85mZ tmp]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
mkdir: created directory `/tmp/mylinux’
mkdir: created directory `/tmp/mylinux/bin’
mkdir: created directory `/tmp/mylinux/boot’
mkdir: created directory `/tmp/mylinux/boot/grub’
mkdir: created directory `/tmp/mylinux/dev’
mkdir: created directory `/tmp/mylinux/etc’
mkdir: created directory `/tmp/mylinux/etc/rc.d’
mkdir: created directory `/tmp/mylinux/etc/rc.d/init.d’
mkdir: created directory `/tmp/mylinux/etc/sysconfig’
mkdir: created directory `/tmp/mylinux/etc/sysconfig/network-scripts’
mkdir: created directory `/tmp/mylinux/lib’
mkdir: created directory `/tmp/mylinux/lib/modules’
mkdir: created directory `/tmp/mylinux/lib64′
mkdir: created directory `/tmp/mylinux/proc’
mkdir: created directory `/tmp/mylinux/sbin’
mkdir: created directory `/tmp/mylinux/sys’
mkdir: created directory `/tmp/mylinux/tmp’
mkdir: created directory `/tmp/mylinux/usr’
mkdir: created directory `/tmp/mylinux/usr/local’
mkdir: created directory `/tmp/mylinux/usr/local/bin’
mkdir: created directory `/tmp/mylinux/usr/local/sbin’
mkdir: created directory `/tmp/mylinux/var’
mkdir: created directory `/tmp/mylinux/var/lock’
mkdir: created directory `/tmp/mylinux/var/log’
mkdir: created directory `/tmp/mylinux/var/run’

[root@iZtd89lux3qk03uhzhj85mZ tmp]# tree /tmp/mylinux/
/tmp/mylinux/
├── bin
├── boot
│?? └── grub
├── dev
├── etc
│?? ├── rc.d
│?? │?? └── init.d
│?? └── sysconfig
│?? └── network-scripts
├── lib
│?? └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│?? └── local
│?? ├── bin
│?? └── sbin
└── var
├── lock
├── log
└── run

24 directories, 0 files

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87708

(0)
zhao8486814zhao8486814
上一篇 2017-10-09 15:30
下一篇 2017-10-09 19:21

相關推薦

  • Linux系統文本處理

                                           Linux系統文本處理工具        …

    Linux干貨 2016-08-15
  • 8.3號,第6天

    三種權限rwx對文件和目錄的不同意義: 權限對于目錄的意義: 1,r權限:擁有此權限表示可以讀取目錄結構列表,也就是說可以查看目錄下的文件名和子目錄名,注意:僅僅指的是名字。 2、w權限:擁有此權限表示具有更改該目錄結構列表的權限,總之,目錄的w權限與該目錄下的文件名或子目錄名的變動有關,注意:指的是名字。具體如下:      …

    Linux干貨 2016-08-05
  • Linux軟件包管理

    一、rpm包管理工具 1、rpm包簡介 rpm是redhat的軟件包管理器。rpm包管理器全稱rpm: Redhat Package Manager RPM  Package Manager。它的軟件包后綴也為.rpm。除此外,debian,deb文件有dpkg包管理器。 rpm包的命名方式: 源代碼:name-version.tar.{gz|bz…

    Linux干貨 2016-08-21
  • N26_第一周作業

    計算機的組成 計算機由五大部分組成:    1.控制器(control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等;    2.運算器(datapath):運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行…

    Linux干貨 2016-12-28
  • 0801課堂練習與作業

    1、將/etc/issue文件中的內容轉換為大寫后保存至/tmp/issue.out文件中      cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out 2、將當前系統登錄用戶的信息轉換為大寫后保存至/tmp/who.out文…

    Linux干貨 2016-08-02
  • systemd

    systemd的新特性(centos 7) 系統引導時實現服務并行啟動 按需激活進程,在此之前可以讓進程處于半活動狀態 系統狀態快照:能夠自我保存當前系統上沒一個用戶空間的進程運行狀態快照,將來可以迅速恢復到某一種狀態,因此用戶空間有了時間機器??梢曰貪L到過去某一時刻的狀態 內在的基于依賴關系定義的服務控制邏輯 對與systemd來講,引入了一個新的核心概念…

    Linux干貨 2016-09-23
欧美性久久久久