Linux知识总结(二)之常用指令一–文件&&目录处理
1.目录类指令集
(1)切换目录:
$ cd destination #切换到指定目录例如:cd /usr(绝对路径)进入usr目录,cd Maven(相对路径)进入当前文件夹下的Maven子文件夹
(2)退回上级目录:
$ cd ..
这里的双点符..
其实就代表相对路径下父目录的意思,而单点符.
代表当前目录。
(3)查看当前(完整)路径:
$ pwd
(4)ls系列指令集:
i.查看目录下的全部文件及目录(不含隐藏文件):
$ ls
ii.查看目录下的全部文件及目录(含隐藏文件):
$ ls -a
iii.查看目录下所有类型的文件及目录(根据类别按照不同颜色进行显示,不包含隐藏文件):
$ ls -F
iv.查看目录下所有类型的文件子文件夹下所有的文件(根据类别按照不同颜色进行显示,不包含隐藏文件):
$ ls -F -R #-R叫做递归选项,可以列出当前目录下包含子目录中的文件
v.查看目录中每个文件或子文件夹的详细信息:
$ ls -l
而且ls
指令还支持多种参数的组合例如ls -alF
指令,你可以看到ls -a
、ls -l
、ls -F
三条指令组合在一起后的效果,即当前目录下按不同类型划分后,通过不同颜色进行显示的所有文件及子文件夹的详细信息。
vi.过滤输出列表:
a.普通匹配:
$ ls -l filename
b.模糊匹配:
$ ls -l filename #filename为一个正则表达式,例如`$ ls -l a*b`,表示查看该目录下所有以a开头,以b结尾的文件及子文件夹的详细信息
(5)创建目录:
$ mkdir dictionary #创建单级子目录
$ mkdir -p path #创建多级目录
(6)删除目录可以加入 -i(rmdir除外)参数来确认是否删除:
i.删除空目录:
$ rmdir dictionaryName #dictonaryName目录名称
ii.删除非空目录:
$ rm -r dictionaryName
iii.强制删除非空目录:
$ rm -f dictionaryName
2.文件操作指令集
i.创建新文件:
$ touch filename
ii.复制文件:
a.同目录复制(需文件名不同):
$ cp filename1 filename2
b.将文件复制到其他目录:
$ cp filename1 destination #filename1为被复制的文件名,destination为要复制到的目的文件夹,既可以是绝对目录,也可以是相对目录
$ cp -i filename1 destination #添加-i强制询问是否覆盖已有文件,增加文件操作的安全性
c.复制整个目录及其子目录下的所有的内容:
$ cp -R sourcePath DestinationPath
iii.制表键自动补全(主要针对文件名或目录名较长的情况):
$ ls reg #reg为含有部分文件名的正则表达式
接下来执行粘贴操作时,只要输入cp 上面输入的部分文件名 destination #例如上面输入的是rea*,此次输入rea即可
指令,再按下制表位,shell就会为你补全剩下的文件名并执行响应指令。
iv.链接文件(原始文件必须存在,通常用于维护具有多个副本的文件):
a.符号链接:
$ ln -s data_file sl_data_file #data_file为源文件名,sl_data_file为副本文件
b.硬连接:
$ ln data_file ls_data_file
v.重命名文件:
$ mv filename1 filename2 #在shell指令中认为重命名也是一种移动
vi.移动文件或目录:
$ mv filename path #移动文件到指定目录
$ mv path1 path2 #移动整个目录到指定目录
vii.删除文件:
$ rm filename #直接删除文件
$ rm -i filename #强制询问是否删除文件
3.file指令
file指令用于查看文件或目录类型:
$ file name #name为文件或目录名
4.cat指令:
i.查看文件内容:
$ cat filename
ii.加上行号(包括空格)查看整个文件:
$ cat -n filename
iii.加上行号(仅文本)查看整个文件:
$ cat -b filename
iv.查看整个文件(去除制表位):
$ cat -T filename
5.其他指令:
(1)$ tail filename
查看末尾10行内容。
(2)$ head filename
查看开头10行内容。