ls指令
ls
显示所有的文件名
蓝色表示文件夹
ls -l
显示所有文件的文件名,文件的属性信息。包括创建时间,大小等
ls -a
显示被隐藏的文件。
显示Linux系统中的隐藏文件
以.开头的文件,称为隐藏文件
ls -a -l
显示隐藏文件的细节
ls -n
以数字的形式展示出来
创建文件
什么是文件
文件就是按照一定规则存储数据的集合。文件有文件控制块(文件属性),文件内容组成。
哪怕是一个空文件,他的文件控制块也被创建了出来,所有空文件也在内存中占据空间。
对文件的操作
对文件内容操作。
对文件属性操作。包括修改文件名,修改文件时间等。
创建文件
touch 文件名
创建一个文件
可以创建隐藏文件
在文件名前面加.就创建了隐藏文件
ls 查不到只能ls -a查到
文件路径
在任意目录下都会存在两个隐藏文件,一个是 . 一个是…
.表示当前路径 …表示上级路径。
Linux里的路径,就相当于windows里的路径
Linux里路径分隔符是/
Win里路径分隔符是\
… 是上级路径,相当于一个接口
查看当前路径
pwd
. 的作用
.表示当前路径,当我们想访问当前路径下的文件时
./文件名
进行访问
回到上级路径
cd ..
注意空格不能少
回到/时候就不能再回退了
进入某个路径
cd 路径名
与. 进行互动,前面已经讲过
进入家目录
家目录就是登陆时默认的目录,用户的家目录默认为/home/用户名
回到上一个目录
cd -
使用后回到上一个所处的目录,上一次我所处的路径
文件目录
Linux 的文件目录,本质上是一个多叉树。
每一个子节点既可以是一个目录也可以是一个普通文件,目录里可以放目录也可以放普通文件。
目录可以理解为Win里面的文件夹。
这颗多差树的叶子节点一定是一个普通文件,或者是一个空目录。
通过路径定位找到文件
绝对路径和相对路径
直接访问文件路径,叫做绝对路径
相对路径是相对于当前的路径,可以利用./ 访问本地, …/访问上一级来实现相对路径定位
man
man命令就是manu手册的意思,有三种分别是man123
cp 拷贝命令
类似于windows中的复制粘贴功能
注意:拷贝命令同目录下不能重名,不同目录下可以重名
mv命令
mv 文件名 文件路径
注意,这个文件可以是文件,也可是文件夹。
mv 命令同样还有重命名的功能
mv 文件名 新文件名
mv dir 文件夹名 新文件夹名
-f :force 强制的意思,如果目标文件已经存在(同名),不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
cat命令
cat 选项 文件名
cat就是阅读文件
可以正向阅读也可以反向阅读
常用选项
b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
cat 的作用
比较适合看短文本,或者查看代码
cat 为空时
当cat 未空时,默认
more 和 less
我们先创建一个1000行的文本
more 文件名
more支持大文本的行翻动
less支持大文本的前后反动,用键盘的上下键控制
按q退出
可以用来查看日志等大文本文件
echo
就是把字符串内容显示到页面上
这里的大于号 > 叫做输出重定向。
所谓重定向,就是将本来要显示到显示器中的字符串,存到文件内容里。
输出重定向有一个非常重要的特征,就是清空原有文件内容
而 >> 号 会在原有文本上追加,我们称他为追加重定向
head 与tail
只看文本的前多少行,和后多少行
head -行数 文件名
如何查看文本的[30000, 300020]行呢?
临时文件法
先把前300020行拿下来到一个临时文件中,再把他的后20行放到结果文件中
这样可以得到结果,但是这样既要形成临时文件,又非常麻烦,所以我们引入了管道
管道法解决
这个 | 符号,就被称为管道,所谓管道就是把上一步操作得到的结果,从管道输入端进入,再从输出端传递给下一步操作,作为下一步操作的素材。
因此,我们可以组合多重命令,使用管道,使命令流水线式处理。
时间命令
这个非常好理解,只需要记住 Y 年, m月,d日,H小时,M分,S秒
时间戳
实际开发中,时间戳作为日志的一部分
日志说白了就是记录了整个开发的过程,当我们编程出现错误时
时间戳与格式化时间互相转化
date +%Y-%m-%d_%H:%M:%S -d@时间戳
cal 日历
cal -3
打印前后两个月的日历,只有-3,没有-5-7-8这种
find 命令
find 搜索路径 -文件名
graep
从文件中匹配含有特定字符串的
可以发现 c++ go匹配成功,而C++ over没匹配成功,说明grep是严格匹配的
而 -i表示一种忽略大小写的模糊匹配, ignore
-v 表示一种逆向匹配,得到寻找含有对应字符串的行