目录
01.ls指令
02.pwd 命令
03.cd指令
cd 命令补充:
04.关于目录的其他认识
05.对Linux目录结构的认识
06.touch 命令
07.mkdir 命令
08. rmdir 指令或 rm 指令
09. man 指令
10. cp 指令
11. mv 指令
12. cat 指令
13. more 和 less 指令
14.head 和 tail 指令
15. echo 指令
16.时间相关命令
显示时间
显示时间戳
时间戳转化为对应日期
显示日历
17. find 指令
补充 which 指令:
18. grep 指令
grep 的其他选项:
语法:ls[选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
输入ls,显示了三个文件名,可以看到我们在该目录下有三个子文件,分别是test1.txt test2.txt test3.txt
但只显示文件名还不够,若我们想查看文件的一些属性信息的话,我们可以输入指令ls带一个选项-l,就可以查看属性信息了
所以指令 ls -l 代表显示文件更多的信息
如图所示,文件名前面的那些信息就是该文件对应的属性信息
这在Windows里像什么呢?
就像我们点开我的电脑,进入一个磁盘,磁盘里所列出的文件名称和每行右边对应的属性信息
所以对我们而言,ls -l 这条命令有点像双击的过程,双击一个磁盘或文件夹我们就能看到里面存放的文件的文件名及其相关的属性信息
若我们想查看更多的文件,我们可以输入指令 ls -a
很明显,这次显示的文件比上面显示的文件要多,而在这里要说明一下,以 . 开头的文件叫做隐藏文件,我们输入 ls -l 指令时是不显示的,而输入 ls -a 才能显示包括隐藏文件在内的所有文件(注意,蓝色文件代表目录,白色文件代表一般性文件,如文本文件、配置文件等)
所以指令 ls -a 代表显示隐藏文件
而组合命令 ls -al 则可以显示隐藏文件的信息
例如我先 touch 一个隐藏文件 .youcannotseeme.txt
我输入 ll 是看不到此文件的,而输入 ls -a 可以显示它的文件名,输入 ls -al 可以显示它的隐藏信息
Windows中也有对应的查看隐藏文件的操作
隐藏文件:Linux配置文件,可以隐藏起来,防止用户误操作该文件,可以保护文件
语法:pwd
功能:显示用户当前所在目录对应的路径
若是刚登陆,输入 pwd 显示的是路径是
① /home/xxx -- /home/xxx,就叫做xxx用户的主工作目录,一般是在登录之后默认的,这是对于普通用户而言的
② /root -- /root 为root账号,如下,此刻我登陆的是我的root账号
这两个账号的区别是:普通用户的账号好比一个宿舍,将来在这个Linux操作系统上可能会有好几个用户,这些用户都住在home这间宿舍里面,
而root账号好比一个单间,它只有一个它自己的路径,将来你登上之后默认所处的路径就是 /root
那 pwd 这个指令在Windows里相当于什么呢,
就相当于你在各个文件夹中上面显示的那条当前路径
还有这个 / 代表路径分割符
Linux路径分割符是 /
Windows路径分割符是 \
补充:clear 是清屏命令,用于清掉屏幕上的冗余信息
语法:cd 目录名
功能:改变工作目录,将当前工作目录改变到指定目录下
cd 命令,你可以理解为 change direction
操作如下
先输入 pwd 指令显示当前我们所在的目录
再输入 ll 指令查看我们当前目录下有哪些子目录,发现只有后面的 test_ 7_24 是子目录
于是我们输入 cd test_ 7_24 指令将当前所在的root目录转到 test_ 7_24 这个目录,最后再输入 pwd 指令,证实了我们转目录的操作成功
我们不难发现,我们等于Linux中输入的 cd + ls 相当于在Windows系统中的双击操作(先转到指定目录,再显示该目录下的文件名)
快速返回上一级路径指令:cd -
如下,在根目录和 /root/test_7_24之间反复横跳
来到主工作目录: cd ~
输入 ls -a 指令
我们会发现,除了常规的文件、隐藏文件、目录和隐藏目录以外,在最开头还有 . 和 .. 两个目录,这又是什么呢?
新知识点:Linux的任何目录下,都默认存在两个目录:. 和 ..
------ . 代表当前目录
------ .. 代表上级目录
So,输入命令 cd .. 就可以返回上一级目录
而上面提到Linux的路径分割符是 / ,所以输入命令 cd ../.. 可以进行两次返回上一级目录的操作
所以,cd .. 相当于Windows中的回退功能
若我们一直进行 cd .. 操作,会发生如下如下情况
最终目录显示 / ,再也无法进行回退操作了,而此时的 / 目录我们称它为根目录
/ :根目录
/ 放在开头是根目录,放在其他位置是路径分割符
不难看出,Linux的目录结构和文件组织形式是以多叉树的形式组织的,且主流的操作系统的目录结构和文件组织形式都是以树形结构组织的
为何几乎大部分操作系统,组织目录文件结构的时候,都喜欢用树形结构?
原因:便于查找,且从根节点到叶子节点的路径是唯一的,反过来也是唯一的。
既然是便于查找的树形结构,我们就可以输入如下指令来直接查找系统中的文件
其中,/root/test_7_24/testA/testA1 这条路径称为绝对路径,绝对路径具有唯一性
绝对路径的优点:在任何路径下,都可以使用文件路径进行文件定位
例如我当前的目录文件结构图如下
此时我在testB的目录下,我想访问testA目录下的test.c文件,有绝对路径和相对路径两种方法
绝对路径:
相对路径(相对于当前所处的路径):
注意:相对路径只在当前路径下有效,若路径发生了变化,当前路径可能会失效
创建文件: touch + 文件名
创建目录: mkdir + 目录名
若想一下子创建一条路径:mkdir -p 目录1/目录2/目录3
rmdir 只能够用来删除空目录,
rm -r 可以删除非空目录,以递归的方式删除
rm -rf 强制删除该目录
rm 删除文件
rm * 删除该目录下的所有文件( * :通配符,匹配当前目录下的任何内容,所以在使用该指令时一定要清楚当前的目录是什么)
rm ./* 删除该目录下的所有文件( ./ 告知系统,要访问的资源在当前目录下。若省略,部分情况下,默认就是当前目录)
man Linux自带的参考手册
man xxx :默认查看1号手册
拷贝一个文件(将 test.c 拷贝到上一级目录):
功能:剪切、重命名
剪切:
重命名:
功能:在不打开文件的情况下打印文件的内容,常用于查看一些代码较短的文件或日志。
cat -n 打印出的内容带行号
tac 将内容倒着打印出来
cat 其他用法
cat + 回车:可以在显示屏上输入什么就输出什么,Ctrl + c 退出
功能:与 cat 指令类似,若 cat 打印出一个很长的文本,则会刷屏,我们也无法看清前面的内容,用 more 就可以手动控制显示出来的文本,方便查看
more 的局限性:只能下翻,无法上翻
所以可以使用 less 指令查看,less 指令可上翻也可下翻
more vs less 总结
1.都查看文本内容(海量)
2.more 不支持上翻,less 支持
功能:用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而 tail 显示档案的结尾
带 -n 选项可以显示指定行数
功能:相当于c语言中的printf,会把后面的内容打印在显示器上
其他功能:
输出重定向:会先把文件中的内容清空,再进行写入
追加重定向:不清空文件内容,而是直接写入,让内容越来越多
还有输入重定向( cat 指令)
echo vs cat
echo 后跟文本内容,cat 后跟文件名称
date
date +%Y/%m/%d (年月日)
date +%Y/%m/%d:%H:%M:%S (年月日时分秒)
时间戳:从1970/1/1 8时 到现在累计的秒数
转化:date +%Y/%m/%d:%H:%M:%S -d @时间戳
cal + 年份
cal -3
显示当前月份,上一月份和下一月份
根据名字查找:find ~ -name 文件名
which + 命令:查找命令文件
which查找命令文件,find查找任何文件
功能:在文件中搜素字符串,将找到的行打印出来(行过滤指令)
例如我们这里有一个文件 temp.txt ,里面存有3行内容
现在我想将内容中带有zhangsan的行打印出来,我可以通过以下指令去操作
-n 选项可以帮助我们将行号也打印出来
-nv 选项可以帮助我们打印除了内容中带有zhangsan的行的剩下的行(带行号)