第七章 文件管理之基础命令

一、pwd命令是"print working directory"中每个单词的首字母缩写,其功能是显示当前工作目录的绝对路径。在实际工作中,我们在命令行操作命令时,经常会在各个目录路径间切换,此时可使用pwd命令快速查看当前所在的目录路径。

pwd        #显示当前工作目录的绝对路径 ====告诉我,你在哪里

[root@jindada ~]# cd /usr/
[root@jindada usr]# pwd
/usr
[root@jindada usr]# cd local/
[root@jindada local]# pwd
/usr/local

 

二、cd命令        #切换工作目录 切换路径

[root@jindada local]# cd   #直接切换到当前用户的家目录
[root@jindada ~]# pwd
/root
[root@jindada ~]# cd ~     #切换当前用户的家目录 ==== cd /root

[root@jindada ~]# cd .     #保持当前目录不变
[root@jindada ~]# cd ./   #保持当前目录不变

[root@jindada ~]# cd ..    #切换当前目录的上一级目录
[root@jindada /]# cd
[root@jindada ~]# cd ../    #切换当前目录的上一级目录
[root@jindada /]#

[root@jindada /]# cd usr/
[root@jindada usr]# cd ./local/
[root@jindada local]# pwd
/usr/local

[root@jindada local]# cd ../etc/   #切换当前目录的上一级目录/usr下的etc目录
[root@jindada etc]# pwd
/usr/etc

[root@jindada usr]# cd ../etc/    #不同目录下,执行的相对路径操作,得到的结果是不同的
[root@jindada etc]# pwd
/etc

[root@jindada etc]# cd /     #切换到根目录 根本身也是一个目录

[root@jindada /]# cd -      #切换到你上一次所在的目录 快速的到达上一次所在的路径
/etc

 

三、ls         #显示文件或者目录列表信息 打开目录 显示目录里面的内容

常用选项:

-l      #以长格式形式显示文件或者目录的详细属性信息

-i      #显示文件或者目录的inode信息 索引节点信息

-h      #以字节大小显示文件大小 B KB MB GB

-a     #显示所有文件,隐藏文件 所有以点开头的文件就是隐藏文件

-S     #以文件大小进行排序 从大到小显示

-t      #根据时间进行排序 最新的时间在最上面

-r      #倒序排序

-F      #给不同的文件加上不同的标识符

-d     #显示目录本身信息

  /      #目录

  *      #可执行文件

  =      #套接字文件 socker文件

  |      #管道文件

[root@jindada ~]# ls      #如果不加目录信息,默认针对的是当前目录操作
anaconda-ks.cfg day01.txt dead.letter oldboy qingshu_dir test.txt

[root@jindada ~]# ls /root/
anaconda-ks.cfg day01.txt dead.letter oldboy qingshu_dir test.txt

[root@jindada ~]# ls -l      #系统自带别名相当于[root@jindada ~]# ll
total 12
-rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
-rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
-rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
-rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt

[root@jindada ~]# ll -i      #显示文件的inode信息
total 12
134317666 -rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
134380621 -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
134915040 -rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
201533705 drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
202273667 drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
134380624 -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt

[root@jindada ~]# ll -h     #以字节大小显示文件信息
total 12K
-rw-------. 1 root root 1.4K Jul 8 12:26 anaconda-ks.cfg
-rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
-rw-------. 1 root root 2.3K Jul 3 14:31 dead.letter
drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
-rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt

10月24日 程序员日

[root@jindada ~]# ll -a      #显示所有的文件,隐藏文件
total 48
dr-xr-x---. 5 root root 272 Jul 8 12:29 .
dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ..
-rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
-rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
-rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
-rw------- 1 root root 170 Jul 7 11:04 .mysql_history
drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt
-rw------- 1 root root 6003 Jul 7 18:40 .viminfo


[root@jindada ~]# ll -aS     #显示所有的文件,隐藏文件,并从大到小显示
total 48
-rw------- 1 root root 6003 Jul 7 18:40 .viminfo
-rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
-rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
-rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
dr-xr-x---. 5 root root 272 Jul 8 12:29 .
dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ..
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw------- 1 root root 170 Jul 7 11:04 .mysql_history
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
-rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt


[root@jindada ~]# ll -at      #显示所有文件,隐藏文件并根据时间进行排序
total 48
dr-xr-x---. 5 root root 272 Jul 8 12:29 .
-rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
-rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
-rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
-rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt
-rw------- 1 root root 6003 Jul 7 18:40 .viminfo
-rw------- 1 root root 170 Jul 7 11:04 .mysql_history
drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ..
-rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc

[root@jindada ~]# ll -atr      #显示所有文件,隐藏文件并根据时间顺序进行倒序排序
total 48
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ..
drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
-rw------- 1 root root 170 Jul 7 11:04 .mysql_history
-rw------- 1 root root 6003 Jul 7 18:40 .viminfo
-rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt
-rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
-rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
-rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
dr-xr-x---. 5 root root 272 Jul 8 12:29 .


[root@jindada ~]# ll -aSr     #显示所有文件,隐藏文件并根据文件大小进行倒序排序
total 48
-rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rw------- 1 root root 170 Jul 7 11:04 .mysql_history
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ..
dr-xr-x---. 5 root root 272 Jul 8 12:29 .
-rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
-rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
-rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
-rw------- 1 root root 6003 Jul 7 18:40 .viminfo

[root@jindada ~]# ll -aF     #显示所有文件,隐藏文件并加上不同的标识符
total 48
dr-xr-x---. 5 root root 272 Jul 8 12:29 ./
dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ../
-rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
-rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs/
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
-rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
-rw------- 1 root root 170 Jul 7 11:04 .mysql_history
drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy/
drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir/
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt*
-rw------- 1 root root 6003 Jul 7 18:40 .viminfo

[root@jindada ~]# ll -d /root/     #显示/root/目录本身信息
dr-xr-x---. 5 root root 272 Jul 8 12:29 /root/

[root@jindada ~]# ls / #显示/目录下的文件
bin data etc lib media opt root sbin sys usr
boot dev home lib64 mnt proc run srv tmp var

[root@jindada ~]# ls -l /      #以行的形式显示文件名称
total 20
lrwxrwxrwx. 1 root root 7 Jun 9 21:35 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Jun 9 21:42 boot
drwxr-xr-x. 3 root root 17 Jul 3 16:32 data
drwxr-xr-x 19 root root 3180 Jul 8 09:02 dev
drwxr-xr-x. 85 root root 8192 Jul 8 09:02 etc
drwxr-xr-x. 3 root root 16 Jul 7 20:41 home
lrwxrwxrwx. 1 root root 7 Jun 9 21:35 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Jun 9 21:35 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
dr-xr-xr-x 110 root root 0 Jul 8 09:02 proc
dr-xr-x---. 5 root root 272 Jul 8 12:29 root
drwxr-xr-x 27 root root 780 Jul 8 11:36 run
lrwxrwxrwx. 1 root root 8 Jun 9 21:35 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x 13 root root 0 Jul 8 10:32 sys
drwxrwxrwt. 19 root root 4096 Jul 8 15:32 tmp
drwxr-xr-x. 13 root root 155 Jun 9 21:35 usr
drwxr-xr-x. 19 root root 267 Jun 9 21:44 var

 

四、tree       #以树状形式显示目录列表

安装:

[root@jindada ~]# yum -y install tree

选项:

-a       #显示所有文件或者目录 隐藏文件

-d        #只显示目录及目录的数量

-f        #以绝对路径显示目录列表

-h       #显示文件的大小

-F        #给不同类型的文件加上不同的标识符

    /        #目录

    *       #可执行文件

    =        #套接字文件 socker文件

    |       #管道文件

    -L        #根据目录的基本显示

[root@jindada ~]# tree       #显示当前目录的目录列表
.
├── anaconda-ks.cfg
├── day01.txt
├── dead.letter
├── qingshu_dir
│   ├── qingshu1.txt
│   └── qingshu2.txt
└── test.txt

1 directory, 6 files


[root@jindada ~]# tree -a        #显示当前目录的全部文件。隐藏文件列表
.
├── anaconda-ks.cfg
├── .bash_history
├── .bash_logout
├── .bash_profile
├── .bashrc
├── .certs
│   ├── cert8.db
│   ├── key3.db
│   ├── qq.crt
│   └── secmod.db
├── .cshrc
├── day01.txt
├── dead.letter
├── .mysql_history
├── qingshu_dir
│   ├── qingshu1.txt
│   └── qingshu2.txt
├── .tcshrc
├── test.txt
└── .viminfo

2 directories, 18 files


[root@jindada ~]# tree -d /var/log        #只显示目录及目录的数量
/var/log
├── anaconda
├── audit
├── mariadb
├── nginx
├── ntpstats
├── rhsm
├── sa
└── tuned

8 directories


[root@jindada ~]# tree -h /var/log/        #显示文件的大小
/var/log/
├── [ 176] anaconda
│   ├── [ 41K] anaconda.log
│   ├── [3.9K] ifcfg.log
│   ├── [1.9M] journal.log
│   ├── [ 0] ks-script-gg9B9N.log
│   ├── [200K] packaging.log


[root@jindada ~]# tree -L 2 /root/        #显示家目录下2级的文件或者目录
/root/
├── anaconda-ks.cfg
├── day01.txt
├── dead.letter
├── qingshu_dir
│   ├── qingshu1.txt
│   └── qingshu2.txt
└── test.txt

1 directory, 6 files

[root@sh-jindada ~]# tree -f /root        #以绝对路径的形式显示文件列表
/root
├── /root/10.txt
├── /root/1.txt
├── /root/2.txt
├── /root/3.txt
├── /root/4.txt
├── /root/5.txt
├── /root/6.txt
├── /root/7.txt
├── /root/8.txt
└── /root/9.txt

 

五、mkdir         #创建目录

选项:

-p        #创建多级目录 递归创建 当目录已经存在时,再次创建不会提示报错

-v       #显示创建的过程

-m        #创建的时候,给目录设置一个权限

{}       #生成序列 有规律和无规律 有规律使用..分割 无规律的使用逗号分割

*        #通配符 所有的意思

注:在相同的路径下,不能存在相同的文件名称

在不同的路径下,可以存在相同的文件名称


[root@jindada ~]# mkdir /data        #使用绝对路径进行创建
[root@jindada ~]# mkdir data        #使用相对路径进行创建

[root@jindada ~]# ll
total 4
-rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
[root@jindada ~]# ll /
total 20
lrwxrwxrwx. 1 root root 7 Jul 6 02:13 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Jul 6 02:17 boot
drwxr-xr-x. 2 root root 6 Jul 8 19:51 data


[root@jindada ~]# mkdir /root/data
mkdir: cannot create directory ‘/root/data’: File exists

 

File exists #文件已经存在

解决:

1. 你要创建的目录已经存在,无需再次进行创建

2. 你要创建的目录路径书写错误


[root@jindada ~]# mkdir -p /root/data

[root@jindada ~]# mkdir test/oldboy
mkdir: cannot create directory ‘test/oldboy’: No such file or directory
[root@jindada ~]# mkdir -p test/oldboy
[root@jindada ~]# ll
total 4
-rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
drwxr-xr-x. 3 root root 20 Jul 8 19:57 test
[root@jindada ~]# ll test/
total 0
drwxr-xr-x. 2 root root 6 Jul 8 19:57 oldboy

 

[root@jindada ~]# mkdir oldboy
[root@jindada ~]# mkdir 'oldboy '
[root@jindada ~]#
[root@jindada ~]# ll
total 4
-rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy
drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy
drwxr-xr-x. 3 root root 20 Jul 8 19:57 test
[root@jindada ~]# ll -F
total 4
-rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jul 8 19:51 data/
drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy/
drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy /
drwxr-xr-x. 3 root root 20 Jul 8 19:57 test/
[root@jindada ~]# root 6 Jul 8 20:00 oldboy/


[root@jindada ~]# mkdir -v data01
mkdir: created directory ‘data01’


[root@jindada ~]# mkdir -m 700 data02
[root@jindada ~]# ll
total 4
-rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
drwxr-xr-x. 2 root root 6 Jul 8 20:02 data01
drwx------. 2 root root 6 Jul 8 20:04 data02
drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy
drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy
drwxr-xr-x. 3 root root 20 Jul 8 19:57 test

 

[root@jindada ~]# echo {01..10}
01 02 03 04 05 06 07 08 09 10


[root@jindada ~]# mkdir test/data{01..10} #批量创建10个目录
[root@jindada ~]# ll test/
total 0
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data01
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data02
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data03
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data04
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data05
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data06
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data07
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data08
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data09
drwxr-xr-x. 2 root root 6 Jul 8 20:09 data10

[root@jindada ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@jindada ~]# echo {a..g}
a b c d e f g
[root@jindada ~]# echo {A..Z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

[root@jindada ~]# mkdir test/oldboy-{a..g}


[root@jindada ~]# ll -d test/oldboy-*
drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-a
drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-b
drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-c
drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-d
drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-e
drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-f
drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-g


[root@jindada ~]# mkdir data-{a,c,d,h}
[root@jindada ~]# ll
total 4
-rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
drwxr-xr-x. 2 root root 6 Jul 8 20:02 data01
drwx------. 2 root root 6 Jul 8 20:04 data02
drwxr-xr-x. 2 root root 6 Jul 8 20:12 data-a
drwxr-xr-x. 2 root root 6 Jul 8 20:12 data-c
drwxr-xr-x. 2 root root 6 Jul 8 20:12 data-d
drwxr-xr-x. 2 root root 6 Jul 8 20:12 data-h

[root@jindada ~]# mkdir -p oldboy/{01..10}/data{01..10}/test{01..10}

 

#在Linux系统中,是区分大小写的

[root@jindada ~]# mkdir a
[root@jindada ~]# mkdir A
[root@jindada ~]# ll
total 4
drwxr-xr-x. 2 root root 6 Jul 8 12:25 a
drwxr-xr-x. 2 root root 6 Jul 8 12:25 A

 

六、touch       #创建文件 创建空文件 当文件已经存在时,创建的时候不会报错,但是会改变文件的时间戳

{}           #生成序列 有规律和无规律 有规律使用..分割 无规律的使用逗号分割

举例:

[root@jindada ~]# touch test.txt

[root@jindada ~]# touch data.{txt,sh,log,xml,tar,py,js}
[root@jindada ~]# ll
-rw-r--r--. 1 root root 0 Jul 8 12:27 data.js
-rw-r--r--. 1 root root 0 Jul 8 12:27 data.log
-rw-r--r--. 1 root root 0 Jul 8 12:27 data.py
-rw-r--r--. 1 root root 0 Jul 8 12:27 data.sh
-rw-r--r--. 1 root root 0 Jul 8 12:27 data.tar
-rw-r--r--. 1 root root 0 Jul 8 12:27 data.txt
-rw-r--r--. 1 root root 0 Jul 8 12:27 data.xml


[root@jindada ~]# touch data{01..10}.txt
[root@jindada ~]# ll
-rw-r--r--. 1 root root 0 Jul 8 12:28 data01.txt
-rw-r--r--. 1 root root 0 Jul 8 12:28 data02.txt
-rw-r--r--. 1 root root 0 Jul 8 12:28 data03.txt
-rw-r--r--. 1 root root 0 Jul 8 12:28 data04.txt
-rw-r--r--. 1 root root 0 Jul 8 12:28 data05.txt
-rw-r--r--. 1 root root 0 Jul 8 12:28 data06.txt
-rw-r--r--. 1 root root 0 Jul 8 12:28 data07.txt
-rw-r--r--. 1 root root 0 Jul 8 12:28 data08.txt
-rw-r--r--. 1 root root 0 Jul 8 12:28 data09.txt
-rw-r--r--. 1 root root 0 Jul 8 12:28 data10.txt

 

七、cp          #复制或者拷贝文件

语法:  命令   源文件   目标目录


选项:

-r        #递归复制 复制目录时所使用的

-p        #保持源文件属性

-d        #复制的时候保持软连接

-a === -pdr

-t       #把源文件的位置根目标目录的位置进行调换 在批量拷贝文件时使用

-i        #当拷贝的文件在目标目录已经存在时,提示是否覆盖 系统自带的别名

 

举例:
[root@jindada ~]# cp /etc/hosts /root
[root@jindada ~]# cp /etc/passwd ./
[root@jindada ~]# cp /etc/resolv.conf .
[root@jindada ~]# ll
total 12
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf

 

[root@jindada ~]# cp /opt/ ./
cp: omitting directory ‘/opt/’
[root@jindada ~]# cp -r /opt/ ./
[root@jindada ~]# ll
total 12
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:14 opt
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf


[root@jindada ~]# ll /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Jul 6 02:14 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
[root@jindada ~]# cp /etc/grub2.cfg ./
[root@jindada ~]# ll
total 20
-rw-r--r--. 1 root root 4229 Jul 9 09:16 grub2.cfg
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:14 opt
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf
[root@jindada ~]# rm -f grub2.cfg
[root@jindada ~]# cp -d /etc/grub2.cfg ./
[root@jindada ~]# ll
total 12
lrwxrwxrwx. 1 root root 22 Jul 9 09:16 grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:14 opt
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf


[root@jindada ~]# cp -t ./ /etc/fstab
[root@jindada ~]# ll
total 16
lrwxrwxrwx. 1 root root 7 Jul 6 02:13 bin -> usr/bin
-rw-r--r--. 1 root root 501 Jul 9 09:21 fstab
lrwxrwxrwx. 1 root root 22 Jul 9 09:16 grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:14 opt
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf

 

[root@jindada ~]# cp /etc/hosts ./
cp: overwrite ‘./hosts’? n

[root@jindada ~]# alias
alias cp='cp -i'


#强制覆盖不提示 临时取消别名

[root@jindada ~]# \cp /etc/hosts ./

 

八、mv       #移动或者重命名文件

语法:命令   源文件  目标目录 


选项:

-i        #当文件已经存在时,移动的时候,提示是否覆盖目标文件 系统自带别名

-f        #强制覆盖,不提示

-t        #把源文件的位置跟目标目录的位置进行调换

\         #临时取消别名的含义


[root@sh-jindada ~]# mv --help
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...


[root@sh-jindada ~]# mv hosts /opt      #移动文件 ,原位置的文件已经存在
[root@sh-jindada ~]# ll
total 12
-rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
-rw-r--r--. 1 root root 1013 Jun 15 12:27 passwd
drwxr-xr-x. 2 root root 23 Jun 15 12:22 test
[root@sh-jindada ~]# ll /opt/
total 4
-rw-r--r--. 1 root root 158 Jun 15 12:15 hosts


[root@sh-jindada ~]# mv test/ /opt/      #移动目录 不需要加任何选项
[root@sh-jindada ~]# ll
total 12
-rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
-rw-r--r--. 1 root root 1013 Jun 15 12:27 passwd
[root@sh-jindada ~]# ll /opt/
total 4
-rw-r--r--. 1 root root 158 Jun 15 12:15 hosts
drwxr-xr-x. 2 root root 23 Jun 15 12:22 test


[root@sh-jindada ~]# cp /etc/hosts ./
[root@sh-jindada ~]# ll
total 16
-rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
-rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
-rw-r--r--. 1 root root 1013 Jun 15 12:27 passwd
[root@sh-jindada ~]# mv hosts /opt/      #文件已经存在时,提示是否覆盖
mv: overwrite ‘/opt/hosts’? n
[root@sh-jindada ~]# mv -i hosts /opt/
mv: overwrite ‘/opt/hosts’? n
[root@sh-jindada ~]# alias
alias cp='cp -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'      #系统自带的别名

[root@sh-jindada ~]# mv -f hosts /opt/        #强制覆盖
[root@sh-jindada ~]# ll
total 12
-rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
-rw-r--r--. 1 root root 1013 Jun 15 12:27 passwd
[root@sh-jindada ~]# ll /opt/
total 4
-rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
drwxr-xr-x. 2 root root 23 Jun 15 12:22 test


[root@sh-jindada ~]# cp /etc/passwd ./
cp: overwrite ‘./passwd’? n
[root@sh-jindada ~]# \cp /etc/passwd ./       #临时取消别名的作用
[root@sh-jindada ~]# ll
total 12
-rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
-rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd


[root@sh-jindada ~]# mv -t ./ /opt/hosts        #把原位置跟目标位置进行调换
[root@sh-jindada ~]# ll
total 16
-rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
-rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
-rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd
[root@sh-jindada ~]# ll /opt/
total 0
drwxr-xr-x. 2 root root 23 Jun 15 12:22 test



#重命名

[root@sh-jindada ~]# mv grub2.cfg 123.txt
[root@sh-jindada ~]# ll
total 16
-rw-r--r--. 1 root root 4201 Jun 15 12:24 123.txt
-rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
-rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd
[root@sh-jindada ~]# mv opt/ test
[root@sh-jindada ~]# ll
total 16
-rw-r--r--. 1 root root 4201 Jun 15 12:24 123.txt
-rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
-rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd
drwxr-xr-x. 2 root root 6 Apr 11 2018 test

 

九、rename       #利用替换字符串的方式进行重命名


[root@jindada ~]# rename test oldboy test.txt
[root@jindada ~]# ll
total 4
-rw-r--r--. 1 root root 158 Jul 9 10:00 host
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mot
-rw-r--r--. 1 root root 0 Jul 9 10:08 oldboy.txt

 

十、 rm       #删除文件或者目录

选项:

-i         #在删除文件的时候,提示你是否确认删除 系统别名

-f          #强制删除不提示

-r         #删除目录使用 递归删除


[root@sh-jindada ~]# rm 123.txt          #提示你是否确认删除
rm: remove regular file ‘123.txt’? n
[root@sh-jindada ~]# alias
alias cp='cp -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@sh-jindada ~]# rm -f 123.txt       #强制删除不提示
[root@sh-jindada ~]# ll
total 8
-rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
-rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd
drwxr-xr-x. 2 root root 6 Apr 11 2018 test

[root@sh-jindada ~]# rm -f test/
rm: cannot remove ‘test/’: Is a directory         #这是个目录

[root@sh-jindada ~]# rm -rf test/          #递归目录
[root@sh-jindada ~]# ll
total 8
-rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
-rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd

[root@sh-jindada ~]# rm -rf ./            #删除当前所在位置的目录


[root@sh-jindada ~]# rm -rf ./*           #删除一个目录下的所有内容 排除隐藏文件 确认好自己在那里

==

[root@sh-jindada ~]# rm -rf *


[root@sh-jindada ~]# rm -rf /*          #禁止执行此命令

你可能感兴趣的:(第七章 文件管理之基础命令)