目录
文件管理命令行
一、为什么使用命令
二、目录/文件夹操作命令
1、查看目录
2,更改目录
三、文件操作命令
1、 查看查找文件
2、更改文件
四、文件输入输出重定向
五、其他补充
1、文件(目录名)的通配符
2、cat命令
文件管理命令行
一、为什么使用命令
1、命令行更快 更高效 可重复
2、避免图形化界面占用太多资源
3、大部分服务器操作系统和联网设备的维护工具没有图形化界面
二、目录/文件夹操作命令
cd change dictionary 切换目录
1、查看目录
(1)查看目录的内容,路径ls,pwd
命令:ls [选项] [文件]
没有选项的ls会显示当前目录下的文件名和子目录名
选项 |
含义 |
-a |
显示所有内容包括隐藏文件 |
-l |
显示文件的详细信息(权限之类的信息) |
-h |
对文件大小进行换算(与-l同用) |
-d |
查看目录 |
-r |
逆序显示文件 |
-R |
表示递归地展示目录及其所有子目录中的文件信息 |
-i |
用来显示文件或目录的索引节点号 |
索引节点记录文件(或目录)的元数据信息(文件的管理信息);一个Linux文件系统具有一个索引节点数组;每个文件(目录)都用该数组的一个元素(索引节点)来描述。某个文件(目录)的索引节点号,就是在这个索引节点数组的位置(数组的第几个元素)。我们前面学过的ls命令,有一个参数选项-i,可以显示文件或者目录的索引节点号。使用Linux的omm用户,执行下面的命令系列:
命令:pwd
显示当前路径
(2)查找目录 find
命令:find 搜索路径 [选项] 搜索目录名
选项 |
含义 |
-name |
按文件名目录名搜索 |
-size n |
按文件大小搜索 大小为nkb |
-type c |
按文件类型搜索,c可以是以下 d:目录 f:一般文件 |
注意:
a)如果直接输入文件名,只能在当前目录下寻找,并且不能寻找子目录
必须得加选项,如-name,-size和-type以后,就可以搜寻子目录,并且输出路径。
比如:我们创建一个/root/main/a.txt
如果我们在/root目录下直接搜索 find a.txt 会显示没有找到。
而如果我们 加上选项搜索 find ./ -name a.txt ,则会找到a.txt并且输出
b)如果我们搜索路径用的是绝对路径,则显示绝对路径。
搜索路径用的是相对路径,则显示的是相对路径
c)文件名允许使用正则表达式
2,更改目录
(1)创建目录 mkdir
命令:mkdir [选项] 目录名
没有选项的mkdir用来创建一个空的目录
示例:
1、mkdir -p text1/text2/text3 递归创建目录及其子目录,不加-p的话只能创建一级目录
2、mkdir -m 777 text1
创建一个权限为777的文件夹
其中777权限的含义,参考这篇博客
(2)移动目录,更改目录名称 mv
移动命令:mv [选项] 目录名称 移动到文件夹的路径
改名命令:mv [选项] 目录名称 新名称
这里的选项不是特别重要,需要的话可以去查手册
示例:
mv text text2
改text目录名为text2
mv info/ logs
移动info目录放入logs目录中 (如果logs目录不存在,则修改info名字为logs)
(3)删除目录 rmdir rm
rmdir只能删除空目录,而rm可以删除各种目录包括空目录
删除空目录命令:rmdir 目录名(路径)
删除目录命令:rm 选项 目录名
不加选项的rm不能用来删除目录
选项 |
含义 |
-r |
递归删除,删除所有内含目录和文件 |
-i |
会询问是否删除 |
-f |
强制删除,不会出现警告信息 |
示例: rm -r Students
(4)复制目录 cp
命令:cp [选项] 原来目录路径 新目录路径
不使用选项的cp命令只用来拷贝文件
选项 |
含义 |
-r |
递归复制,所有的目录以及文件都复制过去 |
-p |
保留原有文件属性(属主信息以及权限信息) |
(示例:cp -r /root/movie/ /tmp/
将movie目录复制到tmp目录下
三、文件操作命令
1、 查看查找文件
(1)查看文件内容
cat head tail more less
cat
命令:cat 文件名
cat会一口气从头部显示到文件的尾部,如果文件比较大,适合用more命令,more命令将分屏一点一点显示内容
more
命令:more 文件名
head 命令用来显示文件头几行内容
命令:head [选项] 文件名
没有选项的head,默认显示文件的前十行
选项 |
含义 |
-n |
显示文件的前n行(-n 后面跟一个数字) |
示例:
head -n 7 /etc/a.txt
显示文件a.txt的开头几行内容
tail命令显示文件头最后几行内容
命令:tail [选项] 文件名
没有选项的tail,默认显示文件的后十行
可以查看以下博客
(1条消息) Linux 查看文件的内容 - head、tail、cat、more、less_cpp_learners的博客-CSDN博客
(2) 查找文件 find
命令: find (用法同查找目录,目录名换为文件名即可)
可以用locate 并且比find要快很多
(3)查找文件内的某一字符串 grep
命令: grep [选项] 匹配字符串 文件路径
示例:
grep -n cat /etc/animal
在animal文件中搜索cat并显示所在行号
选项 |
含义 |
-n |
显示行号 |
-v |
反向显示,不包含匹配字符串的内容 |
(4)查看文件类型 file
命令: file 文件名
示例:file a.text
(5)统计文件的行数,单词数,字符数 wc
命令: wc [选项] 文件名
选项 |
含义 |
-l |
只显示行数 |
-w |
只显示单词数 |
-c |
只显示文件字符数 |
2、更改文件
不少命令如rm,cp用法与目录有许多相似之处
(1)创建文件 touch
touch 文件名
(2)移动文件,更改文件名称,类型 mv
移动命令:mv [选项] 文件名称 移动到文件夹的路径
改名命令:mv [选项] 文件名称 新名称
(3)删除文件 rm
删除文件命令:rm [选项] 文件名
(4)复制文件 cp
命令格式:cp 原文件名 指定目录
(5)编辑文件内容
vi vim 文件名
四、文件输入输出重定向
">":将正确命令信息输出到文件中(覆盖原内容)
"&>":将正确的和错误的信息都输出到文件中
">>":将命令信息追加到文件中(原内容基础上追加)
"<":和">"相反,表示输入
利用文件定向
示例:history > command.txt
将history命令输入到command.txt中
linux 输入、输出重定向的概念和用法详解(Day01)不积跬步,无以至千里!的博客-CSDN博客什么是重定向输出
五、其他补充
1、文件(目录名)的通配符
通配符 |
含义 |
* |
表示零个或多个字符 |
? |
表示一个字符 |
示例:
列出只有3个字符长度的目录或者文件
ls -ld ???
列出以test开头的所有目录或文件
ls -ld open*
2、cat命令
cat命令还可以用来合并文件内容
命令:cat 文件1 文件2 > 新和成的文件3
示例:cat file1 file2 > file3
把file1的内容合并到file2后面去(注意新合并的文件名字必须更改,不能是file1,file2,否则会造成数据丢失)