Linux操作文件及目录命令
目录:
一、windows与Linux目录文件的区别
(1)windows系统下,目录结构是这样的:计算机==》盘符==》各种文件夹
(2)Linux系统下:目录结构是这样的;根目录"/"==》各种文件夹
**区别:**Linux系统下的文件目录是典形的树形结构,并且所有的文件夹都在根目录下,"/"在Linux中表示根目录。在Linux操作系统下没有盘符这一说法,所有操作比较简单。
二、Linux根目录下的文件
(1)"/" :根目录
(2)/bin :可执行二进制文件目录
(3)/ect : 系统配置文件目录
(4)/home :用户家目录
(5)/home/user :用户工作目录,user代表每个用户的用户名,这个用户名文件就是你的工作目录,所以每个用户工作目录各不相同,比如说有个用户叫loose,那么它的用户工作目录就是/home/loose
(6)根目录下的文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CKNm2Wod-1596371114348)(D:\桌面\笔记\1.png)]
三、路径
(1)绝对路径
**描述:**从根目录算起,到目标的路径,称之为绝对路径
例如:
/home/user/桌面/pycharm
(2)相对路径
**描述:**从当前目录算器,到目标的路径,称之为相对路径
例如:
../../home
四、终端命令
1、打开终端命令
(1)桌面==》右击==》在终端中打开
(2)所在文件目录==》右击==》在终端打开
2、终端命令格式
command [-options] [parameter]
命令 选项 参数
(1)command:表示命令,比如ls,pwd,mkdir等……
(2)-options:表示选项,比如 -l、-h、-a等……
注意:选项可以有零个,一个或多个,多个选项可以组合使用,比如ls -l -h
(3)parameter:表示参数,可以有零个,一个或多个,比如cd …/home、mkdir 文件名等……
注意:[]表示可选参数,有些命令中不需要提供,而有的命令必须提供
3、常用目录命令
1、ls:
描述:显示当前目录信息/内容,如果当前目录为空,则不显示
选项:
(1)-l :以列表方式显示信息
(2)-h:以大小单位显示,默认是字节,-h不能单独使用,使用前须先使用-l
(3)-a:显示隐藏目录和隐藏文件,白色的就是隐藏的文件,蓝色的是默认显示的文件
参数:
选项后边可带要找的那个目录的名称或者相对位置,绝对位置等
2、tree
**描述:**以树状方式显示目录信息
**参数:**tree后边也可以带目录名称参数
**注意:**Ubuntu系统中默认没有tree这个命令,所以需要安装,安装命令为:
sudo apt-get install tree
然乎它会让其去输入该用户的密码,在输入的时候会出现输密码没字的现象,大家不用担心,这是一种保密机制,尽管输入你的密码,回车就好,然后它就会自动读取软件包列表
3、pwd
**描述:**查看当前所在的目录的绝对路径
4、clear
**描述:**清除终端中的命令内容
5、cd
描述**:切换指定目录
参数:
(1)cd ~ :切换到当前用户的主目录/或者说的工作目录
** **cd == cd (cd不带选项等价于cd)
(2)cd … : 切换到上一级目录
(3)cd . :切换到当前目录
(4)cd - :切换到上一次目录
**注意:**在使用cd命令切换目录时,一定要确保该目录存在
4、常用文件命令
1、touch
**描述:**用于创建指定文件名的文件
格式:touch 文件名称.txt
2、mkdir
**描述:**用于创建指定目录名称的目录(目录即文件夹)
**格式:**mkdir 目录名称
选项:-p :创建所依赖的文件夹,不管路径是怎样的,没有就创建,也即是说我要在当前目录下创建一对父子关系的文件夹,那么就使用-p选项
**格式:**mkdir -p 父目录名称/子目录名称
3、rm
**描述:**删除指定文件或目录
选项:
(1)-r :递归删除目录以及内容,也就是说如果该目录下还要内容,那么就使用递归删除,就是先删除里边的再删除外边的。
**注意:**一般情况下,rm都与-r配合使用
(2)-i :交互式提示,询问是否删除?Y/N
(3)-f :强制删除,忽略不存在的文件,无需提示,并且只针对文件,对目录无效,如果删除目录会出现错误提示。如果要要删除文件,不管文件是否存在都不报错,有就删除,没有则什么都不干
(4)-d :删除空目录,也就是删除空文件夹
注意:rm -d 目录名称 ==(等价于) rmdir 目录名称
4、rmdir
**描述:**只能用于删除空目录,若该目录中有内容请使用rm命令的递归删除
**格式:**rmdir 目录名称
5、cp
**描述:**对文件或目录进行拷贝/复制
**格式:**cp -选项 目标文件/目录名称 新文件/目录名称
选项:
(1)-i :交互式拷贝,在拷贝文件时,当新文件的名称在不确定是否存在的时候使用,如果被占用则提示是否覆盖,不存在则直接复制
(2)-r :递归拷贝,主要用于拷贝目录上,因为我们不确定该目录下是否存在子文件或子目录,所以使用递归复制目录
(3)-v :显示拷贝后的路径
路径格式:
'目标文件/目录名称' -> '路径/新文件/目录名称'
(4)-a :保留文件的原有权限
6、mv
**描述:**移动文件/目录
**格式:**mv 目标文件/目录名称 参数(路径)
选项:
(1)-i :交互式提示,询问是否移动
(2)-v :显示移动后的路径描述,与复制文件/目录的路径格式相同
5、重定向命令
**描述:**重定向命令也称为输出重定向,是指将终端执行的结果保存到目标文件
(1)>
描述 : 如果目标文件存在则覆盖原有文件内容,类似python文件操作中的’w’模式
格式:
ls -l > ./../../文件名称
(2)>>
**描述:**如果目标文件存在,则在目标文件后追加,类似于python文件操作中的’a’模式
ls -l >> ./../../文件名称
6、查看编辑文件
1、cat
**描述:**查看小型文件
**使用:**cat命令集合重定向命令可以完成多个文件的合并
例如:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nSfJj2Jf-1596371114355)(D:\桌面\cat+重定向.png)]
2、more
**描述:**分屏查看大型文件,其分屏是一个屏幕,需要你敲空格切换下一屏或者回车下一行
例如:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aaGsaEUS-1596371114360)(D:\桌面\more分屏查看.png)]
3、gedit
**描述:**可以查看和编辑文件,直接将该文件打开
7、管道命令(|)
**描述:**一个命令的输出可以通过管道作为另一个命令的输入,可以理解成一个容器,存放在终端显示的内容。
**使用:**管道(|)一般只和more结合使用,其主要作用是分配查看终端显示内容
格式:
more 文件名称 | 其他要输入的命令,比如: ls -l ../../
例子:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pv54CC5z-1596371114371)(D:\桌面\管道.png)]
8、链接命令
(1)软链接(ln -s)
**描述:**类似于windows系统中的快捷方式
使用:当一个源文件的目录层级比较多,为了方便的使用文件,可以给该文件创建一个软链接,也就是说直接給目标文件的目录创建一个软链接
格式:
ln -s 目标文名 软链接名
(2)硬链接(ln)
**描述:**类似于源文件的一个别名,或者说复制了一个文件,并且这两个文件名都指向了同一个数据的引用,可以这样含蓄的理解
格式:
ln 目标文件名称 硬链接名称
注意:
(1)创建硬链接,使用相对路径和绝对路径都可以
(2)删除源文件,硬链接文件还可以继续访问,也就是说源文件的删除和硬链接没有多大的关系
(3)创建一个硬链接,那么硬链接数目+1,删除源文件或者硬链接,硬链接数目-1
(4)创建软链接,硬链接数目不变
(5)可以给文件创建硬链接,但是切记不能给目录创建硬链接
(6)硬链接数目 = 文件数据被文件名使用的次数,好比引用计数
五、自动补全功能
1、当敲除文件、目录或者命令的前几个字母,按下Tab键,如果输入的没有歧义,系统会自动不全。这里所谓的歧义就是说,你这个敲出的字母在计算机中是唯一,而不是说有很多类似的字母一样的,这样是不行的
2、当切换目录后,或者使用命令的时候,如果不确定当前目录下有多少个子目录或者命令,那么可以通过两次Tab键查看
六、查看命令
1、–help
**描述:**用于查看改命令的使用说明,比如选项、参数等……
格式:
命令 --help
2、man
**描述:**直接在终端中打开该命令的全部详细说明
格式:
man 命令
使用:
(1)空格:显示下一屏说明
(2)回车:显示下一行说明
(3)b :显示上一屏说明
(4)f :显示上一行说明