文件目录复制命令cp
单源文件复制: cp [OPTION]...[-T] SOURCE DEST
如果目标不存在,则事先创建此文件,并复制源文件的内容至目标文件中
如果目标存在,且为非目录文件,则覆盖
如果目标存在,且为目录文件,则先在目标目录下创建一个与源文件同名的文件,并复制源文件的内容
多源文件复制:cp [OPTION]...SOURCE...DIRECTORY
cp [OPTION]...-t DIRECTORY SOURCE...
如果目标不存在,错误
如果目标存在,并且非目录,错误
如果目标存在,且为目录,则分别复制每个文件至目标目录中,并保持原名
目录复制:
如果目标不存在,则先创建目录,则按照文件复制的形式,将目录内的文件复制到目标目录中
如果目标存在,并且是文件,错误
如果目标存在,且是目录,将整个目录复制到目标目录中
例子:将一个a目录中所有内容,复制到b目录中
1. cp -r a b #目录必须不存在
2. cp -r a/* b #目录必须存在
常用选项:
-i 交互式复制,覆盖之前提醒用户确认
-f 强制覆盖目标文件
-r(-R) 递归复制目录
-d 复制符号链接文件本身,而非其指向的的源文件
-a -dR -preserve=all,archive,用于实现归档
--preserve=
mode:权限
ownership:属主和属性
timestamps:时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
例子:切换到/tmp目录下,同时创建data1、data2、data3,共三个目录,分别在data1、data2、data3目录下创建三个文件,名字分别叫file1、file2、file3
[root@oldboy ~]# touch {1..3}.txt #创建3个txt文件
//将1.txt文件复制至/tmp目录中
[root@oldboy ~]# cp 1.txt /tmp/
//如果2.txt复制过来想保持原文件名,修改名称为2.txt.bak
[root@oldboy ~]# cp 2.txt /tmp/2.txt.bak
[root@oldboy ~]# ls /tmp/
1.txt
2.txt.bak
//如果复制过来想保持原来的属性,-p保持源文件或目录的属性
//复制目录只需要使用-r参数,递归复制
[root@oldboy ~]# cp -r a /tmp/
[root@oldboy ~]# ls /tmp/
1.txt
2.txt.bak
a
//将多个文件拷贝同一个目录 #
[root@oldboy ~]# cp -v ?.txt /tmp/
"1.txt" -> "/tmp/1.txt"
"2.txt" -> "/tmp/2.txt"
"3.txt" -> "/tmp/3.txt"
"4.txt" -> "/tmp/4.txt"
通配符
?通配任意单个字符
* 通配任意多个字符
# cp -v /etc/hosts /etc/hosts.bak
# cp -v /etc/{hosts,hosts.bak}
# cp -v /etc/hosts{,.bak}
文件目录移动命令mv(剪切)重命名
mv [OPTION]...[-T] SOURCE DEST
mv [OPTION]...SOURCE...DIRECTORY
mv [OPTION]...-t DIRECTORY SOURCE...
//移动1.txt文件至/tmp目录
[root@oldboy ~]# mv 1.txt /tmp/
[root@oldboy ~]# ls /tmp/
1.txt
//移动2.txt文件至/tmp目录并修改名称2_test.txt
# mv 2.txt /tmp/2_test.txt
//移动多个文件或多个目录至同一目录下
[root@oldboy ~]# mv {3..6}.txt /opt/
[root@oldboy ~]# ls /opt
3.txt 4.txt 5.txt 6.txt
[root@oldboy ~]# mkdir dir{1..4}
[root@oldboy ~]# mv dir{1..4} /opt/
[root@oldboy ~]# ls /opt/
3.txt 4.txt 5.txt 6.txt dir1 dir2 dir3 dir4
文件目录删除命令 rm remove
rm/mv:
自己做一个回收站
mv [OPTION]...FILE...
-r 递归
-v 详细过程
-f 强制删除
//删除文件,默认会提醒是否删除文件
[root@oldboy ~]# rm /opt/3.txt
rm:是否删除普通空文件 "/opt/3.txt"?
//强制删除文件,不提醒
[root@oldboy ~]# rm -f /opt/4.txt
[root@oldboy ~]# ls /opt/
3.txt 5.txt 6.txt dir1 dir2 dir3 dir4
cd命令常见用法:
. 表示用户所处的当前目录
..表示上级目录
~ 表示当前用户自己的家目录
cd - //切换上次所在目录
cd ~ //切换当前用户家目录
cd //切换当前用户家目录
cd . //.代表当前目录,一般拷贝、移动等情况下使用
cd ..//切换至当前目录的上级目录
命令提示符:
[root@oldboy ~]#
root:当前登录用户名
oldboy:当前主机名
hostnamectl set-hostname oldgirl #改主机名
~:当前所在目录名,不带路径
#:代表管理员,$表示普通用户
课外作业:命令提示符带颜色
echo $PS1 命令提示符的环境变量
[u@h W]$
Linux命令的组成
命令字 [命令选项] [命令参数]
报错信息:
1.-bash: AD: command not found
#命令找不到
2.ls: invalid option -- 'y'
#命令选项错了
3.ls: cannot access asdad: No such file or directory
#参数不对
专业输出错误
ls命令:
list
-a --all 列出所有包括隐藏的文件
-l 以长格式的方式列出文件信息
-al 列出所有包括隐藏的文件,以长格式列出
短格式可以组合
目录管理命令
mkdir
make directory
-p
tree
-L 按目录级别列出tree
-d 只列出目录,不列出文件
文件管理命令
创建或更改时间
touch