linux基本指令的学习

这里和windows系统做个过渡:

Windows中文件对应的就是linux中的文件,文件夹 --> linux的目录。

同时:linux中一切皆为文件。(小知识)

ls指令

罗列当前目录下的指定文件或目录。

在这里插入图片描述
在这里插入图片描述
如上图红色标记出,我们的ls指令还可以带有选项,这里我们只列举了 l s − l ls -l lsl l s − a ls -a lsa 这两个常用的。

语法格式: ls [空格] - [选项]

同时这些选项可以组合一起使用,顺序没有关系。
l s − a : ls -a: lsa 罗列当前目录的隐藏文件。
l s − l : ls -l: lsl 罗列出文件的详细信息。
在这里插入图片描述
在这里插入图片描述
至于其他的则是文件的属性

文件 = 文件内容 + 属性。

在这里插入图片描述

pwd指令

显示当前所在的目录位置

在这里插入图片描述
这里顺便说一下,在linux中有 root(超级用户)普通用户 之分,普通用户默认是在家目录的字目录下,并不能进入 root 的目录。
在这里插入图片描述
如上图,此时我们就在 root目录下。

小知识

在windos中我们使用 ’ \ '来做目录分隔符。
在这里插入图片描述
而在linux中我们是以 ’ / '来做目录分隔符
在这里插入图片描述

cd 指令

进入指定目录

在这里插入图片描述
同时 cd 也可以进行切换路径的作用。

  • c d cd cd . . / ../ ../ [点点] 表示上一级目录
  • c d cd cd . / ./ ./ [点] 表示当前目录

当然这里的路径分隔符也可以不加。

小知识

linux 的目录结构其实是一块多叉树。

在这里插入图片描述
由于我们 cd …/ 返回上一级父目录,而父目录只有一个,那也就说明我们呢根目录 -> 指定目录路径唯一
在这里插入图片描述
由于路径具有唯一性,这也是为什么我们可以 cd 进入指定目录的原因。
同时 linux还提供了一种方法验证目录结构为多叉树。

在这里插入图片描述

touch 指令

在windows中我们可以创建各种类型的文件,那么在Linux中也不例外。

在这里插入图片描述

mkdir指令

创建目录(文件夹)

在这里插入图片描述
那如何创建多级目录呢?这就需要用到 mkdir指令的选项

  • mkdir -p 递归创建多级目录
  • rm -r 递归删除非空 (这里只是适合删除多级目录)

如果想要删除单个空目录,我们就使用 r m d i r rmdir rmdir,如果这个目录里面有文件或者子目录,就需要用到 rm -r (递归删除)

在这里插入图片描述
这里需要注意: 当我们在root用户下执行上述操作的时候,每次递归都会询问是否删除,这里我是在普通用户下执行的所以不存在这种问题。

rm指令

有上述例子我们可以直到 rm 可以删除多级目录,虽然 rm 不可以删除单个空目录,但是rm 直接删除文件确实可以的。

在这里插入图片描述
同时 rm 还有一个选项 -f

  • rm -rf (递归强制删除文件或者目录)这里就不做演示了 [doeg]

小知识

linux中按 T a b Tab Tab 建可以进行不全,同时快速按两下Tab键可以补全路径
在这里插入图片描述
如上图,当我们cd想要进入某个指定目录但是我们却忘了当前目录有啥的时候,就可以快速按两下Tab键,可以显示当前目录的内容。

man指令

man指令可以看作是指令的词典,哪个忘了或者不会直接查就可以了。

  • 语法格式: m a n man man + 指令 指令 指令
  • 甚至可以查看 c语言的 p r i n t f ( ) printf() printf()

在这里插入图片描述
退出的话直接按q就可以了。
在这里插入图片描述
如何直到自己有没有安装man呢?
在这里插入图片描述
如果没有的话直接运行如下指令即可:

  • y u m yum yum [空格] i n s t a l l install install [空格] − y -y y [空格] m a n − p a g e s man-pages manpages
    在这里插入图片描述

cp指令

语法:cp [选项] 源文件 目标文件或目录

这里我们演示拷贝文件到指定目录下。
在这里插入图片描述
在这里插入图片描述

mv指令

  • 剪切文件、目录
  • 重命名

在这里插入图片描述

cat,more,less指令

这三个都是查看文件内容的指令。

cat [选项] [文件]

区别:cat不适合查看大文件,因为 cat是把文件的内容一次性输出到屏幕上的,所以如果文件内容太多就会出现刷屏的效果。

m o r e more more: 一次只输出以页(屏幕大小),然后按 e n t e r enter enter 可以向下移动,不过只能按 e n t e r enter enter建。

l e s s less less:(常用),也是一次只输出以页(屏幕大小),不过可以按上下建调整,同时输入 / + 内容可以进行查找内容。

在这里插入图片描述
同时,此时我们按 小写 n 小写n 小写n,可以继续向下匹配, 大写 n 大写n 大写n 向上匹配。退出直接按q就可以了

小知识 (echo)

在我们linux中,一切皆对象,例如键盘、屏幕,其实都是一个文件。在C语言和C++中,我们使用
p r i n t f printf printf c o u t cout cout 其实就是打印内容到显示器上 --> 向显示器文件中写入数据。

s c a n f scanf scanf c i n cin cin 读取键盘内容 --> 读取键盘文件的数据。

这里有一个指令 e c h o echo echo

echo “hello world” 就是向显示器文件中写入 “hello world”。这里的echo默认会加一个换行。

在这里插入图片描述
同时我们的echo还可以向文件中写入数据。

在这里插入图片描述
所以现在我们其实就可以使用 > > > + 文件名来创建文件了 [doeg]。

那我如果就想往里面追加内容呢?
在这里插入图片描述

有输出那就有输入。

在这里插入图片描述
如果 cat 后面什么都不加的话,就默认从显示器文件读取,推出的话直接按 c t r l ctrl ctrl + D,或者 c t r l ctrl ctrl + C

head 和 tail指令

显示指定文件的前 n 行 或 后 n 行 。n 是一个具体的数字,默认为10.

head(tail) -n(具体数字) [文件名]

在这里插入图片描述

小知识 (管道)

那如果我想要获取当前文件的 [ 5000 , 5020 ] [5000,5020] [5000,5020] 这一段区间的内容呢?

在这里插入图片描述

date指令

格式如下:

  • %H : 小时(00…23)
  • %M : 分钟(00…59)
  • %S : 秒(00…61) (大写)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01…31)
  • %m : 月份 (01…12)
  • %Y : 完整年份 (0000…9999)

在这里插入图片描述

小知识 (时间戳)

由于世界上各个地方存在时差,那么在互联网时代,人们联系日益增进,那么时差就会很烦,所以我们以一个时间为准,规定从当前时间为准,算时间戳(以秒为单位),这样我们日后进行交易等等,就不会存在时差的问题了。

格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)

在这里插入图片描述
当然了我们也可以利用时间戳来算出秒数对应的日期。

在这里插入图片描述
当然也可以转换一下格式
在这里插入图片描述

find指令

由于find指令功能很强大,所以选项也很多,这里我们先学一个 -name 。选项

  • -name 按照文件名查找文件

语法格式: f i n d find find + p a t h n a m e pathname pathname + 选项 选项 选项

在这里插入图片描述

小知识 (which) 揭秘指令

查找系统命令所在位置的指令

在这里插入图片描述
我们发现这些我们用的指令他们都在 一个 bin目录下。
在这里插入图片描述

当我们进入bin目录再ls就可以看到所有的指令了。那么指令究竟是什么呢?为什么我们可以直接使用呢?
我们先自己写一个简单的程序。
在这里插入图片描述
如上图此时我们的 m y c o m m e n d mycommend mycommend 程序是一个exe文件,当我们 ./mycommend 的时候就可以直接运行这个可执行程序了,那如果我们把当前的可执行程序移动到我们的 bin目录下会发生什么呢?

在这里插入图片描述
如上图,当我们把我们自已写的可执行程序移动到Bin目录底下之后,发现我们不需要在使用 ./mycommend就可以直接运行我们的mycommend了,那么就说明,我们平常使用的指令其实就是一个又一个的可执行程序,并没有什么高级的。就是写好的c/c++ 的二进制文件拷贝到 bin目录下,当我们使用的时候其实是linux去相应的目录调用可执行程序。

那么我们也可以这样调用在这里插入图片描述
只不过这样显得有点搓,所以linux让我们直接输入指令自动就去调用对应bin目录下的可执行程序了。

小知识 alias (去别名)

在这里插入图片描述
下面两段有什么不同呢?我们发现一个我们的mycmd可执行程序有颜色,一个没有?

在这里插入图片描述

在这里插入图片描述
如上图,其实我们的ls默认是给 ls --color=auto 去了个别名,这也是为什么我们直接 ls -l那个可执行程序带了颜色的原因。

那么我们也可以给指令取别名。
在这里插入图片描述
这个别名并不存在,当我们重启我们的linux机器的时候,ddd就失效了。

grep指令

语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来

选项:

  • -i 忽略大小写
  • -v 查找到谁就抛弃他,其他的留下来
  • -n 添加行号(源文件中的)
    在这里插入图片描述
    行号示例:
    在这里插入图片描述

zip/unzip 指令

压缩/解压缩。

zip语法:zip + filename.zip + 解压文件或目录

在这里插入图片描述

unzip 语法:

unzip + 解压文件

在这里插入图片描述

不加 -d 的话默认解压到当前目录。

  • 15
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值