文章目录
Linux文件与目录
1.文件和目录的操作
1.1当前工作目录
- pwd:返回当前所在目录
- cd(change dir):改变当前工作目录
1.2绝对路径和相对路径
- 绝对路径:从根开始的路径,沿着绝对路径,沿着目录层级一直到达所期望的路径
- 相对路径:相对于当前工作目录的路径
cd … 返回上一级目录
cd …/… 返回上两级目录
cd或cd ~ 返回home目录
cd - 目录名 返回指定目录
./b.txt :在当前目录下找b.txt这个文件,如果当前目录下没有这个文件就会自动new file一个
…/b.txt :在当前目录的父目录下找b.txt这个文件
1.3 操作目录和文件
1.3.1.查看
1)ls (list的缩写)+ 路径(缺省为当前路径):查看目录下所有的文件
-l : 查看目录下所有的文件(不包括隐藏文件)的详细信息
-al :查看目录下所有的文件(包括隐藏文件)的详细信息
ls显示不同类型的文件会显示不同的颜色:
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
2)cat + 文本文件名:直接将文件的内容返回到终端界面(方便查看较小文件,不用每次都要进入文件)
就像这样,我在practice.txt写了一个非常简易的c++代码,通过cat命令可以很方便的查看
1.3.2.增添
mkdir + 目录:创建目录(也就是文件夹)
-p :创建多层级目录
1.3.3.删除
rm [选项] [文件]:删除文件/目录
-f:硬性删除
-r:表明删除的是一个目录
-rf: 硬性删除目录
rm testfile 删除文件testfile
rm -r testfile 删除目录testfile
1.3.4.通配符
1)*:通配符,可指代任意多个字段
2)?:只能匹配一个字符
3)[abcd] : 只能匹配括号内的任意一个字符
【例】rm -f file*.jpg :
1)file和.jpg要求精确匹配,不匹配的不予考虑
2)满足精确匹配后剩余的文件如果可以用通配符替代即为符合要求的文件
3)通过其他指令对选中文件批量操作,该指令就可实现批量删除
很多命令都可结合通配符使用,比如rm,ls…在这里插入代码片
1.3.5.复制
cp + 被拷贝文件名 + 新文件名:将原来文件的内容拷贝下来并放到新建的文件中
【灵活运用】——结合路径操作:cp a.py …/b.py:将a.py的内容拷贝到[父目录]新建的b.py中
1.3.6. 移动
mv p1 p2
p1,p2可是文件名或目录名,组合不同会有不同的含义:
1)mv file dict 表示将file移动到dict目录中
2)mv file1 file2 表示将file1重命名为file2
3)mv dict1 dict2:
若dict2在给定路径下存在意为将dict1移动到dict2里面去(dict1变为dict2的子目录)
若dict2在给定路径下不存在意为将dict1重命名为dict2
1.3.7.在文件中查找字符串
grep + 想查找字符串 + 文本文件:
-n : 显示行号
-A + 1,2,3... :显示字符串所在行以及后面的1,2,3...行(A是after的意思)
-B + 1,2,3... : 显示字符串所在行以及前面的1,2,3...行(B是before的意思)
-C + 1,2,3... : 显示字符串所在行以及前后的1,2,3...行
用前面用的practice.txt演示一下,这里是要查找practice.txt中cout字符串所在的行,通过不同指令会有不同的显示效果。 今后我们可以借助这种手段很方便的定位到比如运行日志中的”error“。