前言
作者:小蜗牛向前冲
名言:我可以接受失败,但我不能接受放弃
如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。
目录
重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
这里我们继续学习前面没有讲完的常见指令。
语法: find pathname -options(路径名 -选项)
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:-name 按照文件名查找文件
Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统( NFS), find命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)
虽然这个命令非常重要,要讲的话估计要单独写一篇博客,因为我们是初学,我们现在大概认识就好了下面为大家举例个例子:
- //我们在/home/pjb路径下找test.c
- [pjb@VM-8-3-centos lesson2]$ find /home/pjb/ -name test.c
- /home/pjb/study/lesson1/test.c
这里我们要注意find在寻找的时候可能会到磁盘中寻找,这样就会导致效率低下。
语法:which 指令
功能:搜索以前用过的指令,在那个路径下。
- [pjb@VM-8-3-centos lesson2]$ which top
- /usr/bin/top
- [pjb@VM-8-3-centos lesson2]$ which mkdir
- /usr/bin/mkdir
- [pjb@VM-8-3-centos lesson2]$ which touch
- /usr/bin/touch
- [pjb@VM-8-3-centos lesson2]$ which mv
- /usr/bin/mv
- [pjb@VM-8-3-centos lesson2]$ which pwd
- /usr/bin/pwd
- pjb@VM-8-3-centos lesson2]$ which which
- alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
- /usr/bin/alias
- /usr/bin/which
那我们可以思考一个问题which指令到底是如何搜索这些指令的呢?为什么我们在用这些指令的时候不用加路径,但我们在编译代码的时候就要加路径呢?其实这就和编译环境有关,这里我们就不扩展了。
在学习这给指令前,我们先看一个例子:
- [pjb@VM-8-3-centos lesson2]$ touch test.txt
- [pjb@VM-8-3-centos lesson2]$ mkdir dir
- [pjb@VM-8-3-centos lesson2]$ ll
- total 4
- drwxrwxr-x 2 pjb pjb 4096 Sep 30 21:14 dir
- -rw-rw-r-- 1 pjb pjb 0 Sep 30 21:14 test.txt
- [pjb@VM-8-3-centos lesson2]$ which ll
- alias ll='ls -l --color=auto'
- /usr/bin/ls
- [pjb@VM-8-3-centos lesson2]$ which ls
- alias ls='ls --color=auto'
- /usr/bin/ls
这里我们发现目录是带颜色的,其实ll命令的本质其实就是ls-l,至于为什么会带颜色呢?其实是因为带了--color=autod的颜色选项;这里我们为什么说ll的本质是ls-s呢?其实这就不得不是alias的功能了,该命令其实是对命令重命名的(起别名)。
举个例子:
- [pjb@VM-8-3-centos lesson2]$ alias zhangshan='pwd'
- [pjb@VM-8-3-centos lesson2]$ zhangshan
- /home/pjb/study/lesson2
这里我们用alias给pwd命令(查看当前的路径) 取了个憋名叫zhangshan,当我们在命令行直接输入zhangshan的时候,我们发现真的就执行了pwd命令。
听完上面的finde和which指令,来理解他就非常容易了,为什么这么说呢?因为这给指令,也是用来查找文档的,但他的查找范围比find小比which大(which whereis指令会在特定的路径下,查找指定的的文件名对于的指令或者文档。 语法: grep [选项] 搜寻字符串 文件 功能: 在文件中搜索字符串,将找到的行打印出来 常用选项: -i :忽略大小写的不同,所以大小写视为相同 这个指令就是可以匹配文本中的关键字,匹配上了就会显示出来,该命令还能和其实命令组成管道一起用,下面我们用命令行为大家演示一下常用的选项。 语法: zip 压缩文件名(自定义) 要压缩的文件 常用选项:-r 递 归处理,将指定目录下的所有文件和子目录一并处理 这里我们用zip对目录lesson2打包压缩,但我们要注意该命令对目录打包压缩的时候,是默认只对目录打包压缩而不会打包压缩目录中的内容,其实我们只要加说-r指令(递归)。 那么我们又是如何去解包解压的呢?这就要用到我们unzip。 我们继续解包解压一下上面的文件: 那么要将文件压缩到指定的路径下我们又该这么做呢? 这里我们可以思考一个问题? 什么是打包压缩? 其实就是将多个文件或目录合并成为一个特殊的文件。 为什么要打包压缩? 减小文件的体积 加快资源传输 节省网络的带宽。 该指令也是用来打包或者解压的,但是他可以组合使用命令。 下面是他的常用选项: -c :建立一个压缩文件的参数指令(create 的意思); 我们来看到这个命令行,这里我们通过tar把lessin2打包到my.tgz这个文件中,其中的-czf分别表示:c表示创建一个压缩文件,z表示压缩文件,f表示压缩的文档,后面要马上跟要压缩的文件。 解压就很简单了,我们仍然是用tar但是我们把z的选项换成x就可以解压了。 那我们要指定路径解压我们又该这么做呢? 这里我们又加了一个指令v就是不解压直接查看文件的内容。 这个指令非常简单,就是个计算机。 我们可以进行各种数据的计算。 uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息,他其中也有一些选项像其中的-r就是显示操作系统的内核信息,-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。 其中的红线标注的便是内核版本。 tab键 其中的tab其实就是有补齐功能的按键,他能够快速补齐我们的命令,只要我们输入一个命令的头几个字符,就能快速补齐,但我们要注意的是当我们帮程序放了很久在去用,他就会显示出所以的相关命令。 [ctrl]-c 这个按键是能够强行终止程序,当我们的程序一直在跑的时候我们要想让程序停止就可以按 [ctrl]-c。 这里我们写了个死循环的程序,只有我们按[ctrl]-c终止程序。 [Ctrl]-d按键 语法: shutdown [选项] ** 常见选项: ** -h: 将系统的服务器停掉后立刻关机 -r: 将系统的服务器停掉后重新启动 -t sec: -t后面加秒数,就是几秒后关机的以上。 iscpu指令 查看cpu的信息 ismem指令 查看内存信息。 who指令 vs whoami who看有哪些用户使用这台机器甚至上机的时间都可以显示,whoami显示直接的用户的信息。 其实Linux还有好多操作命令,一般的机器都有1千个命令以上,剩下的还的我们自己去学习。 grep指令
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行zip/unzip指令
功能: 将目录或文件压缩成zip格式
举例:tar指令(重要)
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录 bc指令
uname指令
重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit,这里简单就是退出Linux的操作。关机
补充几个下指令