文件管理工具:
cp, mv , rm
cp命令:
全称:copy
先要理解,这个命令中的两个对象,源文件,目标文件/目标目录,当源文件有多个时,cp的目标必须是一个目录。
复制一般是针对文件的数据而言的。
语法:
cp [OPTION]... [-T] SOURCE DEST // 单源复制(只有一个源文件)
cp [OPTION]... SOURCE... DIRECTORY // 下面两个为多源复制
cp [OPTION]... -t DIRECTORYSOURCE...
单源复制:
cp[OPTION]... [-T] SOURCE DEST //DEST,表示目标路径
如果DEST不存在,则事先先创建此文件,并复制源文件的数据流至DEST中
如果DEST存在:(有两种情况)
如果DEST是非目录文件,则覆盖目标文件
如果DEST是目录文件,则先在DEST目录下创建一个与源文件同名的文件,并复制数据流
注意:cp默认不支持源,是目录。
多源复制:
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE... //与上面的不同之处就是用-t指定了目标路径
如果DEST不存在,则不能复制,报错。
如果DEST存在:(有两种情况)
如果DEST是非目录,错误。
如果DEST是目录文件,分别复制每个文件,至目标目录,并保持原名。
常用选项:
-i: 交互式复制,即覆盖时提醒用户确认。
-f: 强制覆盖目标文件;
-r,-R: 递归复制目录;
-d: 复制符号链接文件本身,而非其指向的源文件same as --no-dereference(引用) --preserve=links
--no-dereference:never follow symbolic links in SOURCE(翻译:连接文件从不连接到 源文件)
-d等同于--no-dereference
--preserve=links //保留连接文件的属性,也就是说复制的时候复制连接文件指向的源 文件内容。
-a: --archive,-dR --preserve=all,用于实现归档,我们可以理解为备份。
--preserve=
mode:权限
ownership:属主和属组
timestamps:时间戳
contest:安全标签
xattr:扩展属性
links:符号链接
all: 上述所有属性
演示:
-d选项,如果复制一个连接文件,但是不加-d选项,则我们复制的是连接文件指向的真是文件的内容,实验中显示为绿色
当我们复制连接问件时,加上-d选项,则我们复制的仅仅是连接问件,但是没有内容,显示为红色。
mv命令:
全称:move
mv- move (rename) files(翻译:移动或重命名文件)
语法:
mv[OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE...DIRECTORY
mv [OPTION]... -t DIRECTORYSOURCE...
第一种用法:
当源文件与目标文件在同一个目录下的时候,mv是重命名。如果不在同一个目录下则表示移动。
mv与cp不同的地方:mv对目录重命名的时候,不需要加上-r,直接源目录,目标名称
演示:
如果mv操作文件时,对应的源文件有多个时,则目标也一定是一个目录。
常用的选项:
-i: 交互式
-f: 强制force
注意:mv在移动文件或者目录时,与cp不同的是,mv移动后,源文件或者目录没删除
rm命令:
全称:remove
rm - remove files or directories(翻译:删除文件或目录)
语法:
rm[OPTION]... FILE...
常用选项:
-i: 交互式
-f: 强制
-r,-R: 递归
删除目录常用的操作:
rm -rf /PATH/TO/DIR
尤其慎重执行:rm -rf / (删除根目录)
但是这个操作在centos6,centos7,上已经被自动禁止了。但在centos5上可以直接删除
演示:
[root@localhost hello]# rm -rf / //执行删除根操作
rm: it is dangerous to operate recursively on `/' //在/上执行递归操作十分危险
rm: use --no-preserve-root to override this failsafe //使用--no-preserve-root选项跳过安全模式,这个提示就是告诉用户,如果真要删除根目录,则加上--no-preserve-root这个选项。
[root@localhost hello]#
注意:rm这个命令特别危险,所以系统自定义了别名,也就是在管理员执行操作的时候,每次都要询问管理员是否真的要执行删除操作。其实mv系统也同样定义了别名,交互。
rm删除文件:
并且我们在执行rm命令的时候,出现了询问时,如果我们不给y进行确认,而是直接回车,则不会执行删除操作。
[root@localhost hello]# ls
myfile rc.local y
[root@localhost hello]# rm rc.local
rm: remove regular file `rc.local'? //直接回车
[root@localhost hello]# ls
myfile rc.local y //发现rc.local文件还有
[root@localhost hello]# rm rc.local
rm: remove regular file `rc.local'? y //给了一个y即yes确认
[root@localhost hello]# ls
myfile y //发现rc.local文件被删除了
[root@localhost hello]#
rm删除目录:
删除目录时需要用到 -r,或-R选项,进行递归删除。而且为了避免删除目录时,由于删除一个文件就询问一次,再我们确定目录及文件不用时,我们可以加上选项-f强制删除目录
演示:
[root@localhost hello]# ls
myfile y //y是目录
[root@localhost hello]# rm -rf y //强制删除目录
[root@localhost hello]# ls
myfile
[root@localhost hello]#
总结:
由于linux文件系统是ext类型的,对于文件恢复是很难的,所以导致rm命令实在太危险,所以我们在实际工作中,最好是建立一个目录,将暂时用不到的文件或目录移动到该目录下,然后过段时间,觉得这些文件真的没用了,我们在进行删除。(模拟回收站)
变量:
定义:命名的内存空间
变量的类型:
(整型,浮点型,字符型,布尔型,日期时间型)
对于计算机而言事实上数据只有两种类型,并且他们存储机制是不同的,变量类型决定了数据的存储格式,所能表示的数据大小范围也确定了,能够参与的运算也确定了。
字符型:
数值型:
精确数值型
近似数值型
变量类型决定了:存储格式,数据范围,参与运算;
计算机最小的存储单位是字节byte, 1byte=8bit(1字节=8位)
存储格式:
十进制8:在计算机表示:00001000
字符存储:需要用到16位二进制,一共是2^16=65536
变量的复制操作:
就是想命名的存储空间中存储数据