文件管理工具
cp命令
- 用于实现文件复制功能
- 明确源文件和目标文件
用法
- 单源复制 cp [OPTION]… [-T] SOURCE DEST
- 多源复制 cp [OPTION]… SOURCE… DIRECTORY
- 多源复制 cp [OPTION]… -t DIRECTORY SOURCE…
单源复制 cp [OPTION]… [-T] SOURCE DEST
- 如果目标不存在,即DEST不存在,则意味着先创建一个库文件,然后把源文件中的数据流抽出来再填充到创建的库文件中
- 如果DEST存在,
【1】如果DEST是非目录文件,则覆盖目标文件
【2】如果DEST是目录文件,则现在DEST目录下创建一个与源文件同名的文件,并将源文件的数据流复制到目标文件
cp /etc/fstab /tmp/hi.txt
ls /tmp
cat /tmp/hi.txt
cp /etc/issue /tmp/hi.txt
cat /tmp/hi.txt
mkdir /tmp/test
cp /etc/issue /tmp/test/
cat /tmp/test/issue
注意:cp命令不支持源是目录
cp /var/log /tmp/
多源复制 cp [OPTION]… SOURCE… DIRECTORY
注意:对于多源复制而言,目标必须是目录
- 如果DEST不存在,错误
cp /etc/{issue,fstab} /tmp/test.txt
- 如果DEST存在
【1】如果DEST是非目录文件,错误
【2】如果DEST是目录文件,分别复制每个文件至目标目录中,并保持原名
常用选项
-i:交互式复制,即覆盖之前提醒用户确认
-f:强制覆盖目标文件
-r/-R:递归复制目录,即复制目录即目录中的内容至目标位置
如果源目录只有一个,目标目录不存在怎么办?
创建一个空目录并把源目录所有内容递归复制过去
如果目标目录存在呢?
就把源目录复制过去,包括目录自身,在目标目录下创建一个与源目录同名的目录,并把源目录中的所有文件内容都复制过去
-d:复制符号链接文件本身,而非其指向的源文件
cp /etc/system-release /tmp/
cp -d /etc/system-release /tmp/system.release
ls /tmp
ls -l /tmp
–preserv=:
【1】mode:权限
【2】ownership:属主和属组
【3】timestamps:时间戳
【4】context:安全标签
【5】xattr:扩展属性
【6】links:符号链接
【7】all:上述所有属性
-a:=-dR --preserve=all,archive,用于实现归档,可理解为做备份
mv命令
- move
- 用来移动并重命名文件,当你的源文件和目标文件在同一个目录下,就是名字不一样就是重命名
用法
- mv [OPTION]… [-T] SOURCE DEST
- mv [OPTION]… SOURCE… DIRECTORY
- mv [OPTION]… -t DIRECTORY SOURCE…
当源文件和目标文件在同一目录下,这叫重命名
ls /tmp
cd /tmp
mv hello hello.txt #重命名
ll #=ls -l --color=auto
当源文件和目标文件不在同一目录下,即为移动
ls
mv hi.txt x/
ls x/
注意:当去mv一个目录时,不需要加r选项,这是与cp所不同的地方
mv x tom
ll
选项
-i:交互式,为避免覆盖可以使用交互式复制
-f:强行覆盖
rm命令
- remove 移除,删除文件,非常危险,linux没有回收站哦
- rm也可删除目录
用法
- rm [OPTION]… FILE…
ls /tmp
rm /tmp/hello.txt
ls /tmp
删除目录
rm -rf#强制删除
====:我们可以自建回收站 ,把不用的文件mv到自建的回收站中,即所有不用的文件建议不要直接删除,而是移动至某个专用目录,用于模拟回收站
选项
-i:interactive交互式
-f:force
-r:recursive
#删除目录的危险操作
rm -rf /PATH/TO/DIR
rm -rf /#自杀,千万不能用
rm -rf /*#虽然没删除根,但把根的所有文件都删除了
系统变量基础
变量是什么呢?
- 变量是在程序当中快速便捷地去引用一段内存空间而后在里面实现数据存取的一种机制,变量是命名的内存空间
- 变量类型:
【1】字符型
【2】数值型:精确数值、近似数值
变量类型决定了存储格式、数据范围、参与运算
存储格式:
最小的存储单位位字节
8存储为数字,以字节存储:1000->0000 1000
上:0000 0010,以ASCII码存储,字符集就是定义了真正要表示的字符与二进制的对应关系的一个码表,8位二进制只能表示256种,所以根本不能表示所有汉字,一个字节表示不了就用2个字节,因此,一个汉字真正地表示要用2个字节
16以字符存储意味着先存储1,再存储6,每一个字符使用用8位,所以存储16要16位二进制,若将16存储为数值,5位二进制就够了
所以存储格式不同,占用空间不一浮点数据如何存储???单精度和双精度差别?
float 类型精度6到7位
double 类型精度15到16位
- 变量的赋值操作:就是向变量所指向的存储空间中存数据
如