当前位置: 首页 > article >正文

Linux下的基本指令/命令(二)

热键

Tab: 连点两次 对命令进补齐 或者 显式 以目前所需字母 开头的指令。 也可以进行路径补齐 或者 显示所写的文件所处路径上的所有文件。  如果什么也没写,直接按Tab会显示所有命令

Ctrl + C: 一旦出现失控的状态,或者任何无法操作的状态就可以直接 Ctrl+C 解决

15. mv命令:

语法: mv  src[目录/文件]  dest[路径/文件]

(1) 剪切文件/目录

mv src 路径 -> 剪切

(2) 对文件/目录进行重命名

mv src 文件 -> 将src命名为 文件名

(3) 如果dest即是路径,又有文件: 那么是把src剪切到目录下,并命名为文件名

Eg:该命令是把 test 文件 剪切到 上级目录中,并且命名为 hello.c

16. echo命令: 向 显示器文件 进行 写入。

对显示器文件进行写入

语法: echo  字符串

Eg

符号: > , 可用于输出重定向。

Eg: echo “hello world” 本来字符串是向 显示器文件中进行写入, 而用了符号“>”,使得字符串向 test文件中进行写入。 这种操作叫做输出重定向。 如果文件不存在,就新建文件test,并将字符串在test中进行写入。如果文件已经存在,每次写入都是从文件开头开始写,并对老的文件进行清空,然后再写入。

如果直接使用 >文件。那么是将空内容重定向写入到文件中。那么可以通过该操作对文件进行清空/创建一个空文件

Eg

(1)创建一个空文件

(2)对文件进行清空

符号:>>:最加重定向。作用和符号>的作用是一样的。 但是符号>>输入重定向的文件是已有文件的话,会在文件后面进行写入,不会对之前内容进行覆盖。 此处每次换行的原因不是符号>>的原因,而是 echo 在显示器文件中写入的时候自带了换行,因此输出重定向后,在重定向的文件中进行写入时也是自带了换行的

符号<:输入重定向。 本应该从 键盘文件中读取数据, 符号< 使得可以从指定文件中读取数据。

Eg如果只有 cat , 是从键盘文件中读取数据。 而此处进行了输入重定向,是cat从test文件中进行读取数据

17. more命令: 打印文件内容。 more用来查看长文件,more是当打印文件占满一屏时,不再进行打印,当用户 点击空格时会向下再翻一行。但是more不能向上翻

语法: more 【选项】 文件

18. less命令: 打印文件内容。 Less可以通过方向键进行上下翻,空格也可以进行向下翻

语法: less 【选项】 文件

对于打印文件的命令: cat , more , less 而言,推荐使用less,因为less可以查看大文件和小文件,且支持上下翻

19. head命令,tail命令: head命令和tail命令和它们的命名一样简单。 head命令是显示文件开头的内容,tail是文件结尾的内容

head命令和tail命令语法:

head/tail 【选项】 文件

【选项】: -数字,对于head命令表示查看开头几行, [1,数字]。 对于tail命令是查看 结尾前几行至结尾的内容。 [结尾-数字 , 结尾]

管道:符号”|” , “|” 认为 为管道。此处 head -5020 log.txt 的结果放入管道,而这个管道里的内容作为 tail -21的源。  实质上 在Linux下一切皆文件,管道也是文件,此处是 head -5020 log.txt的结果写入 管道文件中, 而后面的 tail -21 是对管道文件进行操作

正因为有了管道,才可以流水线的对数据加工处理

20. 时间相关的命令: date命令

语法: date  +[显式方式]   //这个 “+” 是要显式写的。

date  +[显式方式] 以时间戳的形式显式。 本质上是将时间戳写入到显示器文件中。

选项:

时间戳: 实际上这个秒数是 从 1970年1月1日午夜12:00 到现在的 时间累计的秒数,称这个时间为时间戳。 时间戳的特点:线性递增,唯一性。

时间对Linux下的重要性: 1. 日志中需要包含时间。

21. cal命令:

语法: cal  [参数][月份][年份]

常用参数:

-3 显示系统前一个月,当前月,下一个月的月历

-j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)

-y  显示当前年份的日历

Eg

cal  -j  2024   是打印2024的日历

22. find命令: find是对树状结构的目录结构,进行广度和深度的搜索 目的文件。

语法: find 路径 【选项】 文件名

选项为 -name 时,按照文件名查找

如果不写路径和选项,是搜索文件,然后查看是否存在该文件。

-o 是 or的意思,可以同时查找多个文件

Eg 此处有两个hello.c ,因此对hello.c搜索 会打印两个地址

23. which命令: 查找指令所在位置

语法: which 指令名

本质上指令就是一个可执行程序,就是文件。 下图可看到 指令文件是在bin目录下的

Eg

指令就是一个可执行程序,就是文件!!!

指令,可执行程序,命令 是一回事。都是文件

实际上输入指令的时候,就是执行的/bin目录下的可执行程序.例如cp ,实际上是/bin/cp。而输入cp也可以用的原因是因为系统把/bin隐藏了,默认就是在/bin目录下搜索 名字为cp的文件。 这也是为什么要执行当前目录下的可执行程序要写为 ./程序名  ,这是因为不加 ./ 的情况下,是默认在/bin目录下查找

安装的本质就是拷贝,就是把目的软件 安装拷贝到目录下。

24. alias命令: 对指定命令进行取别名。 alias起别名是一个内存级的别名

语法:alias 别名=指定命令

后续可以通过别名来调用指定命令

Eg:

而ll命令是什么呢?

ll是对 ls -l 起的别名

所以此处zhangsan本质上是对 ls -l 命令起别名

25. grep命令: 把文件中 包含 目的字符串的 行的内容进行打印。 默认字符串的内容是区分大小写的

语法: grep [选项] 要搜索的字符串 文件

-i选项: 忽略 目前字符串的大小写

-v选项: 把 除了目的字符串的内容 进行打印,匹配上的行不进行打印

-n选项:打印时 标记行号。 这个行号打印的是 在原始文件中的行号

26. zip/unzip命令:

zip语法: zip [选项] 压缩包名字  要压缩的文件。

对目录文件进行打包时,要用 -r 选项,这样才能把目录及其目录的内容进行压缩。如果没有-r选项,只是对目录本身进行打包,而没有其中内容,只是一个空目录

unzip语法: unzip 压缩包文件 [选项]  

对压缩包文件进行解压。

指定解包的位置: -d 选项, -d 选项可以指定一个路径, 将压缩包解压到 -d 指定的路径中

为什么要打包和压缩:打包压缩的本质就是 把 多个文件 压缩为 一个文件。 作用:(1)减少网络传输的数据量 (2) 避免出现 一个文件出现问题而导致 整个程序不能用的情况,只有这一个文件,只有下载成功和不成功的情况

27. tar指令:打包/解包,不打开,直接看内容

语法: tar [-cxtzjvf]文件与目录…参数:

-c: 建立一个压缩文件的参数指令

-x: 解开一个压缩文件的参数指令

-t: 查看 tarfile里面的文件

-z: 是否同时具有gzip的属性? 也就是 是否需要用gzip压缩?

-j: 是否同时具有bzip2的属性? 也就是 是否需要用bzip2压缩?

-v: 压缩的过程中显示文件。 这个常用,但不建议用在背景执行过程

-f: 使用档名,请留意,在f之后要立即接档名。不要再加参数

-C: 解压到指定目录

压缩文件的后缀为 .tgz

压缩:

tar  -czf  压缩包名字  要压缩的文件   //不显示压缩过程

tar  -cvzf  压缩包名字  要压缩的文件   //显示压缩过程的文件

解压:

tar  -xzf  压缩包名字   //不显示解压过程

tar  -xvzf  压缩包名字  //显示解压过程

tar  -xvzf  压缩包名字  -C  指定目录   //把压缩包解压到指定目录

28. bc 指令: 命令行计算器

Eg

29. uname 指令:用于获取电脑或者操作系统的相关信息。  Uname命令可以查看Linux主机所用的操作系统的版本,硬件的名称等基本信息

语法: uname  [选项]

-r选项: 显示内核信息。

-a选项:详细显示

Eg: uname -a 中显示的 el7 是指操作系统是centos7。 UTC后面是芯片的体系结构的信息,这里芯片的体系结构是x86_64。

Uname -r 中可知: 内核版本是3.10 , 操作系统是el7 即centos7 , 体系结构是x86_64

体系结构:问体系结构是想要问计算机的芯片,即cpu。Eg: X86 , amd ,arm

X86 --- 指32位的

X86_64 --- 指64位的

快捷键:

Ctrl+D: 通常代表着:【键盘输入结束】的意思。另外,它也可以用来取代exit。 在用户使用时,Ctrl+D是退出用户。 在用户退出后,Ctrl+D是退出XShell


http://www.kler.cn/news/321576.html

相关文章:

  • 面试小妙招:轻松绕过五大“坑”,展现真实自我
  • python中数据处理库,机器学习库以及自动化与爬虫
  • 设计模式-行为型模式-中介者模式
  • 【C#】DllImport的使用
  • 力扣19 删除链表的倒数第N个节点 Java版本
  • eBPF系列:开发流程
  • 【HarmonyOS】鸿蒙仿iOS线性渐变实现
  • 如何像专家一样修复任何 iPhone 上的“iPhone 已禁用”错误
  • 【Go】Go语言切片(Slice)深度剖析与应用实战
  • chsharp文件如何查找在unity中使用的 位置?
  • 【React】组件通信
  • docker windows下清理后,磁盘空间未释放原因及解决方法
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-27
  • Linux之我不会
  • 【stm32】TIM定时器输出比较-PWM驱动LED呼吸灯/舵机/直流电机
  • 使用Ruby进行视频内容的自动化分析
  • springboot+大数据基于数据挖掘的招聘信息可视化大屏系统【内含源码+文档+部署教程】
  • 调用飞书接口导入供应商bug
  • 高级java每日一道面试题-2024年9月26日-运维篇[分布式篇]-如何保证每个服务器的时间都是同步的?
  • 【vue-media-upload 升级玩法】一个页面用两个Uploader,一个上传图片,一个上传视频(分开传,容易分开设置和展示图片和视频)
  • 解决远程连接AlpineLinux Mysql/MariaDB 无法连接的问题
  • FortiGate 无线组网
  • 深度学习:卷积神经网络CNN
  • css div固定位置 div固定高度 文本固定高度 超出滚动
  • liunxcentos7下 跟目录空间不足docker load镜像报错空间不足
  • 泛型(Java)
  • 【稳定且高效的分治排序 —— 归并排序算法】
  • 【传感器技术】【第1章 传感器与检测技术的理论基础,测量系统,测量分类,误差分析,估计和处理】
  • 25:stm32的低功耗模式
  • FastAPI 第五课 -- 基本路由