Linux -- 各指令软件介绍及使用方法

目录

前言

一、指令补充

1.查看当前用户

二、yum 资源包管理

1.认识 yum

2.快速了解使用yum软件

2.1.应用软件搜索

2.2.下载并安装软件

2.3.查看已下载的软件

2.4.卸载软件 

2.5.yum 清除缓存

2.6.yum 更新软件库/系统内核

3.yum的周边

三、vim 软件

1.快速了解vim

2.vim的模式

2.1 命令模式

2.2 插入模式

2.3 底行模式

3.常见的模式中指令的使用

3.1 命令模式 

3.2 底行模式

补充

3.3 批量化模式

批量化注释 / 添加内容

批量化去注释 / 内容

4. 给 vim 进行配置

5. vim安装插件

 四、make / Makefile 自动化构建工具软件

定义一个mybin文件,用于自动化构建项目​编辑

定义一个clean用于删除项目文件

makefile文件的语法补充

设置目标成伪目标

对构建过程依赖方法拓展​编辑

makefile中变量的定义​编辑

语法补充结合使用​编辑

其他

认识Linux里的文件时间

查看详细信息指令

程序更新指令

总结


前言

本章主要是讲解Linux的各软件的讲解和解释,下面讲解到的软件需要灵活运用,可以在Linux中达到事半功倍的效果。


一、指令补充

1.查看当前用户

指令:whoami


二、yum 资源包管理

1.认识 yum

在Linux中我们也是需要进行工具/指令/程序的安装、检查、卸载等,这时候我们就需要yum软件。

在Linux中安装软件的方式有以下三种:
1. 源代码的安装 —— 交叉编译的工作(麻烦且不推荐)
2. rpm 包直接安装(由开发人员提供)
3. 使用 yum 或 apt-get
yum是Linux预装的一个指令,可用于搜素,下载,安装对应的软件,好比于手机中的应用市场。

2.快速了解使用yum软件

2.1.应用软件搜索

指令:yum list | grep [软件名字]

2.2.下载并安装软件

指令:yum install [-y] [软件名字]
          -y 表示安装时所有询问都允许

yum install指令需要在 root 或 sudo 下执行。

2.3.查看已下载的软件

 指令:yum list installed

可配合 grep 指令去查找

2.4.卸载软件 

指令: yum remove [软件名]

2.5.yum 清除缓存

指令:yum clean all

该指令用于清除YUM缓存,确保获取到最新的软件包信息。

2.6.yum 更新软件库/系统内核

指令:yum update

该命令来更新系统中已安装的所有软件包,也升级软件和系统内核。

3.yum的周边

        这里我们可以发现yum是个神奇的指令,他的软件包又是从哪拉取来的,又是如何或者下载的,这时候我们就要了解一下yum的周边了。

先查看一下yum的配置文件,路径:ls /etc/yum.repos.d/

我们可以看见有这几个文件reop是仓库,最重要的是Base文件,Base文件里面默认配置了下载的软件链接 —— 用于获取软件源。我们用 vim 查看一下。 

这里的链接我们看见都是阿里云里服务器里的,如需要更改配置文件最好参考网上的教程进行。

三、vim 软件

1.快速了解vim

        vim是一个多模式的编辑器,vim里面还有很多的子命令,来进行代码的变成操作。

2.vim的模式

这里我们可以发现vim存在非常非常多的指令,我们先了解vim中的模式先。

2.1 命令模式

        vim在打开的时候就进入的默认的模式,任何的输入都会被当作命令来看待,除非误触了模式的切换。

2.2 插入模式

        插入模式从文字直观可理解,就是对文本进行插入输入数据,有几种方式可以直接进入插入模式,最直接的方式是在命令模式下按 i 是直接默认进入插入模式的指令,还有以下三种:
1. o 自动换行插入
2. a 光标移动一格
3. cc 当前行的内容重写
4. i 默认插入(常用)

2.3 底行模式

        进入底行模式是要在命令模式下按 :可直接进入,底行模式的指令后面会详细介绍。

这三个模式要灵活运用和理解,vim都是由命令模式为基础,要退出vim软件还是需要保证在命令模式下,在不保证在哪个模式的话只需要按exc即可。

3.常见的模式中指令的使用

3.1 命令模式 

里面的 n 代表数字

shift + $ :将光标定位在当前行的最后侧结尾处的描点

shift + ^ :将光标定位在当前行的最左侧结尾处的描点

shift + g :将光标定位到文本的最后一行

n + shift + g :将光标定位到文本的指定行数

gg :将光标定位到文本的最开始的第一行

光标指针控制: 

h:左          j:下          k:上          l:右
这里可能会有疑问,为什么不用上下左右方向键呢?
第一:是因为在早期计算机中没有方向键,都是用hjkl来代替方向。
第二:有些指令只能用hjkl来代表方向去控制,不可以用↑↓←→来控制的。

n + yy / yy :复制多行 / 当前行
n + p / p :进行多行粘贴 / 在下一行进行粘贴

u :撤销上一个编辑的操作 (undo) 

ctrl + r :对刚刚撤销的操作进行恢复重做

n + dd / dd :删除 / 剪切当前行 / 多行
可配合剪切粘贴使用。

n + r :替换当前光标的字符(n为多少位)

shift + r = R:改为替换模式,类似与wins系统的ins插入替换模式。

x:删除光标的所在字符

shift + 3 = #:用于高亮查找相同的字符串(函数名)
高亮的状态下:n 查找下一个高亮的字符串

shift + zz = ZZ :保存并退出 vim

3.2 底行模式

输入 : 进入底行模式
指令: :w / q / wq / w! / q! / wq! 这里!代表强制执行的意思
w:代表写,q:代表退出

指令::! (command)
!:代表执行vim外面的Linux指令语句
command:代表Linux要执行的指令

该指令是在指令!下输入的情况
:! vim (filename) 可直接新建一个文本文件

:vs (filename) 可同时查看两个vim的窗口文件,光标在哪个窗口,就编辑哪个窗口,底行也一样。
切换窗口文件只需要使用指令:ctrl + ww (光标多端口切换)

补充

如在Linux命令行中,如需要进入文件到指定的行数,可直接在后面加号加上数字,如:
指令:vim test.c +10

3.3 批量化模式

批量化注释 / 添加内容

1. Ctrl + v 进入模式

2.使用 h、j、k、l 英文方向键进行选区

3. shift + i = I 进行输入

4. 在exc退出模式,会自动输入数据

批量化去注释 / 内容

1. Ctrl + v 进入模式

2.选区

3. 按d去掉内容 / 注释

4. 给 vim 进行配置

在root用户中要对vim软件进行配置的话需要到路径: /etc/vimrc 下进行配置。

普通用户话是进入自己的家目录中创建一个 .vimrc 文件进行配置

要对vim进行配置的话内容必须写在 vimrc 中,配置内容可以参考网络上的配置方法。

5. vim安装插件

在 gitee 中查看 vim For cpp 的配置
地址:VimForCpp: 快速将vim打造成c++ IDE (gitee.com)
安装方法可参考以上地址进行操作。

vim安装插件建议在普通用户下操作,不要把插件安装到root用户下,进行配置时普通用户要在sudoers白名单中。

根据教程中输入以下指令:
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

这里密码输入的是root的密码,不是普通用户的密码。 
完成后会有提示,根据提示继续进行操作。

完成后我们在重新用vim软件打开一个文本就可以看见不同了,之后的时候对我们编程也有很大的帮助。

 四、make / Makefile 自动化构建工具软件

        在使用 make / Makefile 时,我们需要了解 make 是指令,makefile 是一个文件,他们之间是存在的是一个依赖方法以及依赖的关系,在使用 make 前必须创建一个 Makefile 的文件,执行 make 指令就会自动执行 Makefile 文件内容的指令。

        Makefile文件内容:

定义一个mybin文件,用于自动化构建项目


然后我们准备好文件以及文件的内容后,可直接执行make指令:

使用了make指令后,就会自动执行makefile里的指令,实现自动化构建及编译文件,可运行查看:

定义一个clean用于删除项目文件

我们可以创建一个自动化清理过程的指令,指令内容也是写在makefile中,具体指令:

那我们该如何执行clean的指令呢?只需要使用make时,后面配上make clean即可。

makefile和make形成目标文件的时候,默认是自上到下扫描makefile文件的,所有是默认执行第一个目标文件里的依赖方法,且默认只形成一个。

makefile文件的语法补充

设置目标成伪目标

.PHONY:[执行目标文件名]
如:.PHONY:clean 用于修饰clean目标文件成为一个伪目标,使它总是可被执行。
一般建议把clean设置成伪目标,因为可执行程序必须要删除后,再编译。(原因后面会给大家解释

对构建过程依赖方法拓展

makefile中变量的定义

语法补充结合使用

其他

        爱折腾的小伙伴也许可能已经发现了问题了,我们当已经make出一个可执行程序时,继续使用make指令是会报错的,从报错信息会知道可执行程序文件已经是最新的了,无需继续执行,那么make和makefile是怎么知道可执行文件是最新的呢?

        这个其实是通过对比时间对比出来的,只要可执行程序是最近修改时间比所有源文件的最近修改时间新时,说明该可执行程序就是最新的。

认识Linux里的文件时间

在Linux中我们如何查看文件的详细信息呢?

查看详细信息指令

指令:stat 【文件名】

该stat指令是用于显示文件和文件系统的详细信息

其他信息我们先不了解,主要是探讨文件的时间。
我们可以发现时间是存在三个的那他们区别是什么呢?

Access time:文件最后被访问的时间
Modify time:文件内容最后被修改的时间
Change time:文件的元数据(如权限或所有权)最后被修改的时间

我们在权限篇说过
文件 = 内容 + 属性
其实这里的内容就代表Modify time ,属性就是Change time。

那修改文件信息,系统会更新文件的哪些时间呢?
当修改文件的内容,M time 和 C time都会跟着修改,原因是文件内容的修改会对文件写入和修改权限进行访问,所以时间也会跟着改变。

那刚刚上一节说的make是看文件的最新时间是否成立呢?
我们可以使用 touch 【文件名】指令,对文件所有的时间进行更新。

程序更新指令

指令:touch 【文件名】

这里发现make指令又可以使用了。 


总结

本章就到这里啦,下章给大家讲讲gcc/g++的编译过程吧。

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
linux-command Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。    Linux命令分类 这里存放Linux 命令大全并不全,你可以通过linux-command来搜索,它是把 command 目录里面搜集的命令,生成了静态HTML并提供预览以及索引搜索。 文件传输 bye、ftp、ftpcount、ftpshut、ftpwho、ncftp、tftp、uucico、uucp、uupick、uuto 备份压缩 ar、bunzip2、bzip2、bzip2recover、compress、cpio、dump、gunzip、gzexe、gzip、lha、restore、tar、unarj、unzip、zip、zipinfo 文件管理 diff、diffstat、file、find、git、gitview、ln、locate、lsattr、mattrib、mc、mcopy、mdel、mdir、mktemp、mmove、mread、mren、mshowfat、mtools、mtoolstest、mv、od、paste、patch、rcp、rhmask、rm、slocate、split、tee、tmpwatch、touch、umask、whereis、which、cat、chattr、chgrp、chmod、chown、cksum、cmp、cp、cut、indent 磁盘管理 cd、df、dirs、du、edquota、eject、lndir、ls、mcd、mdeltree、mdu、mkdir、mlabel、mmd、mmount、mrd、mzip、pwd、quota、quotacheck、quotaoff、quotaon、repquota、rmdir、rmt、stat、tree、umount 磁盘维护 badblocks、cfdisk、dd、e2fsck、ext2ed、fdisk、fsck.ext2、fsck、fsck.minix、fsconf、hdparm、losetup、mbadblocks、mformat、mkbootdisk、mkdosfs、mke2fs、mkfs.ext2、mkfs、mkfs.minix、mkfs.msdos、mkinitrd、mkisofs、mkswap、mpartition、sfdisk、swapoff、swapon、symlinks、sync 系统设置 alias、apmd、aumix、bind、chkconfig、chroot、clock、crontab、declare、depmod、dircolors、dmesg、enable、eval、export、fbset、grpconv、grpunconv、hwclock、insmod、kbdconfig、lilo、liloconfig、lsmod、minfo、mkkickstart、modinfo、modprobe、mouseconfig、ntsysv、passwd、pwconv、pwunconv、rdate、resize、rmmod、rpm、set、setconsole、setenv、setup、sndconfig、SVGAText Mode、timeconfig、ulimit、unalias、unset 系统管理 adduser、chfn、chsh、date、exit、finger、free、fwhois、gitps、groupdel、groupmod、halt、id、kill、last、lastb、login、logname、logout、logrotate、newgrp、nice、procinfo、ps、pstree、reboot、renice、rlogin、rsh、rwho、screen、shutdown、sliplogin、su、sudo、suspend、swatch、tload、top、uname、useradd、userconf、userdel、usermod、vlock、w、who、whoami、whois 文档编辑 col、colrm、comm、csplit、ed、egrep、ex、fgrep、fmt、fold、grep、ispell、jed、joe、join、look、mtype、pico、rgrep、sed、sort、spell、tr、uniq、wc 网络通讯 dip、getty、mingetty、ppp-off、smbd(samba daemon)、telnet、uulog、uustat、uux、cu、dnsconf、efax、httpd
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值