Linux之基础指令大全【痛苦的开始】

个人主页点我进入主页

专栏分类:C语言初阶      C语言程序设计————KTV       C语言小游戏     C语言进阶

C语言刷题       数据结构初阶    Linux

欢迎大家点赞,评论,收藏。

一起努力

1.前言

        Linux系统有很多使用方式,我们可以在电脑上搞一个双系统,也可以下一个虚拟机,当然我们也可以购买一个云服务器人然后使用我们的Xshell进行登录,Xshell免费版本,可以点击这个,连接进行下载,Linux的学习尤其是Linux前期的学习是非常的痛苦,Linux也是我们学习新的大门,1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组
(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。读者也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。 Linus仅仅在第一个Linux的FTP站点(ftp://nic.funet.fi)上提供过这个版本的的源代码Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。 Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。;Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994年公布的。

2.基础指令

2.1 ls指令

我们直接输入ls指令我们就可以看到我们当前目录中的文件以及子目录

当然我们输入ls -a是指我们将隐藏文件,文件,子目录输出出来

我们可以看到 .文件, ..文件等文件就是隐藏文件,我们还有一个常用的是ls -l也可以写为ll这是将文件和子目录以及它们的文件信息打印出来,

 

 当然我们也可以输入ls -la或者ls -al对隐藏文件和文件,子目录的文件信息进行输出,当我们输入ls -la 文件名时我们会将这个文件中的文件信息进行输出

2.2 pwd指令 

        pwd指令就是现实我们现在文件所在的路径,/root就是我们所在的位置。

2.3 cd指令

        cd指令是使用方式是 cd 路径(几个特殊符号),例如我们再根目录想进入/root/yang中我们输入cd /root/yang,然后输入pwd进行查看我们所在的位置

如果我们错误进入一个文件内比如我们再根目录里想进入root里面,却进入了root里面的yang文件中难道我们还重新输入cd /root吗?显然不是,还记得我们上面那个 . 文件和..文件吗?这时候就需要我们使用这两个操作了我们输入cd .是进入到当前路径,我们输入cd ..是进入到上一个路径里,

对如cd指令我们还有两个常用的指令cd -cd ~这两个指令其中cd -指令是进入上次在的路径中就像我们浏览器中的前进和后退

我们再看cd ~指令这是进入我们登录的路劲当中比如我们是使用的root进行登录的我们使用这一个指令就会进入到/root中无论我们在哪里

2.4 touch指令

        touch指令是创建一个文件

2.5 mkdir指令

        mkdir也是创建目录,例如mkdir atext

这时候问题来了如果我们想在目录a中创建一个目录b再在b中创建一个目录c再在c里面创建一个目录d难道我们创建一个然后进入里面进行创建就像下面的操作

事实上Linux提供了这样的操作也就是mkdir -p a/b/c/d,我们输入这个指令

 2.6 rm指令

        rm指令是删除指令可以删除文件和目录例如我们想要删除text.txt文件我们需要输入rm text.txt,也就是说我们想要删除空目录只需要输入rm [目录名]

当然我们想要删除文件时需要我们的rm -rf 【文件名】,例如我们呢想删除文件a我们输入rm -rf a

我们可以看到文件a被删除,当然我们也就可以在rm后面加上绝对路径进行删除例如rm -rf /root/a/a也可以达到和上面相同的结果,但是由于我们不小心在root前面加上一个空格,这时候就会认为我们要删除根目录,根目录删除我们就必须重新装系统,我们自己的删除可能没有什么问题,但是当我们在工作时删除这就可能有很严重的后果,也就是我们常说的删库跑路。

2.7 tree指令

        Linux还提供了一种可以查看文件中的文件的指令,例如a文件中有b文件,b文件中有c文件,c文件中有d文件等我们输入tree a就可以查看a文件的文件

看a文件中有b文件和data.txt文本,b中有c,c中有d,能这样显示的主要原因就是由于文件在Linux中是以树的形式进行存储

tree指令后面也可以使用我们的绝对路径进行查询,比如我们输入 tree /root/a也可以进行查询

但是当我们不下心在root前面加了一个空格我们就会出现

 疯狂的进行输出,会将我们的全都文件进行输出,难道我们必须等它输出完吗?这时候我们可以输入ctrl c强制停止。

2.8 man指令 

        man指令是Linux系统提供给我们的使用说明书,我们可以查看各种指令以及c语言函数的功能

我们输入man man,可以看到有这几行

其中我们用的多的就是1和3,其中1是指我们的指令,3是指我们的c语言函数例如我们想查询touch指令我们可以输入 man touch指令或者man 1 touch进行查询

我们想要退出只需要输入q即可退出 ,我们查询函数也是同样例如我们想要查询fopen函数我们输入man fopen或者man 3 fopen即可查询

2.9 which指令 

        which指令是我们用于查找指令的存储位置例如我们想要查询man指令所在的位置我们输入which man指令就可以查询为什么我们可以进行查询呢?这主要就是Linux系统的特点有关,Linux具有一切皆文件的特点每个指令就是一个个程序。

在这里man指令就在/usr/bin/man中。

2.10 cp指令

        cp指令可以对文件进行复制其中复制有两种一种是复制到当前路径一种是复制到其他路径下,例如我们创建一个text.txt文件我们想将这个文件复制一份到到当前路径并且命名为data.txt我们输入cp text.txt ./data.txt或者cp text.txt data.txt即可

我们想将text.txt文件复制到b文件里面我们输入cp text.txt ./b/data.txt(当我们不输入data。txt时会直接复制过去)即可 

然而我们想要复制目录b到当前路径并且命名为a时单单输入cp b ./a 时不可行的

这时候我们输入cp -r b ./a即可

2.11 mv指令

        有我们的cp复制指令我们的剪切指令是不能少的mv指令可以实现我们的剪切功能也可以对文件进行修改名字,例如我们想吧b文件改为c我们只需要输入mv b ./c即可

例如我们想把文件c移动到a文件中时我们只需要输入mv c ./a/c即可

如果我们想要修改名字只需要将c进行修改即可。

 2.12写一个hello linux的c语言程序并实现编译

        这时候我们需要创建一个text.c文件

这时候我们打开记事本我们输入nano text.c对文本进行编译

然后依次输入ctrl x ,y,回车进行保存,

我们再输入gcc text.c 对其进行编译我们在输入ll可以看到

a.out*就是我们要运行的程序,我们输入./a.out就可以运行我们的程序

我们就可以看到我们运行了我们的程序。

2.13 cat指令

        cat指令是显示文本的内容例如我们输入cat text.c 就可一看到其中的内容

当我们输入cat -n text.c就可以看到文件的行号

当我们输入tac text.c倒着输入(先打最后一行)

2.14 echo指令以及重定向

        echo类似于我们的printf是将我们输入的信息进行打印例如我们输入echo hello linux它就会在屏幕上输出hello linux

但是我们想在text.txt中输出hello是时候需要我们的>符号和我们的echo,我们输入echo hello > text.txt,其中>是我的输出重定向,这个功能类似于我们C语言中的以w的形式进行写文件,当我们每次写时都会删除上次的内容,然后在写。

在C语言中我们还可以对文件的内容进行追加,也就是我们以a的形式进行写文件,在Linux中我们的>>是追加重定向,我们输入echo linux >> text.txt即可


还记得我们的touch指令吗?我们创建text.txt文件还可以利用输出重定向进行创建我们输入> tetx.txt指令就可以创建。

我们看到tetx.txt文件中有0个字节。

2.15 more指令

        more指令是我们查询大文本的一条指令,我们在查询大文本时使用cat会造成刷屏,所以我们可以通过more指令,它会显示满一屏幕然后我们按回车可以进行翻页,我们还可以输入/关键字进行高亮匹配。

2.16 less指令

        这个和more类似,我们输入/关键字可以找到对应的数据,可以通过上线键进行翻页,当我们输入/999时可以看到

2.17 head指令

        head指令是查看文本的一个指令我们输入head [文本名]就默认查看文本的前10行内容例如我们想查看big.txt文件的前10行我们输入head big.txt指令即可

有时候我们向查看的不只是10行或许多于10行,或许少于10行这时候我们就可以输入head -行数 【文本名】即可,例如我们想查看big.txt的前5行我们输入haed -5 big.txt指令即可

2.18 tail指令

        有我们查看开始的几行文本的指令那么我们绝对不会少了我们查看文本结尾的指令,我们输入tail [文本名]就是默认查看文本后10行的内容,例如我们查看big.txt的后10行我们输入tail big.txt指令

同样的我们想查看多余或少于10行的内容我们输入tail -行数 【文本名】即可,例如我们想查看big.txt文本的后5行我们输入tail -5 big.txt指令即可

2.19 |管道符号

        |符号是我们的管道符号是我们同时执行多行指令的连接符号对于我们指令的写入有很大的帮助例如我们想把big.txt的8000行到8010行的内容打印出来我们首先想到的是先把前8010行的内容写道一个新的文件然后再利用tail指令进行输出,就像下面一样:

这样写不是不可以但是比较浪费时间这时候就需要我们的管道操作符号了,我们输入指令tail -8100 big.txt | tail -10 就可以了

 加入我们想倒着输出我们只需要输入指令 head -8100 big.txt | tail -10 | tac 就可以了

 2.20 date 指令

        date指令是Linux显示时间的指令例如我们想展示一下当前的年月日时分秒我们可以输入指令

date +%Y-%m-%d_%H:%M:%S其中 -符号和_符号异界:符号可以让我们自由修改

其中%Y-%m-%d可以用%F代替,%H:%M:%S可以用%X代替

在时间里面有一个很重要的东西,时间戳,在生活中我们的二维码等信息都用到了时间戳,时间戳是在1970年1月1日0点开始的我们可以输入指令date +%s就可以查看

我们还可以利用date +%Y-%m-%d_%H:%M:%S -d @时间戳来看一下这个时间戳对应的日期

当然我们可以让时间戳为0来看时间戳的开始时间 

由于我们在东八区所以为1970年1月1日8点 。

2.21 cal指令

        cal指令是我们查看日历的指令例如我们想查看这个月上个月以及下个月的日历我们输入cal -3就可以查看

我们想查看当年的日历我们输入cal -y就可以查看

 

我们想查看今天是一年中的第几天我们可以输入cal -j就可查看

2.22 find指令

        find指令是一个用于寻找文件的函数例如我们想找包含所有后缀为.txt的文件我们输入指令find  -name *.txt就可以了

2.23 grep指令

        grep指令是一种文本过滤的指令,例如我们创建一个文本,内容为:

例如我们想查找包含bit的内容,我们可以输入指令grep "bit" same.txt

如果我们还想显示行号我们加入-n选项就行了

我们还可以输入-v指令,例如指令grep -v "bit" same.txt,是将所有不包含bit的进行输出

当然我们还可以忽略大小写,这需要我们输入选项-i进行,例如grep -i "bit"  same.txt,

2.24 zip与unzip指令

        我们经常使用压缩包进行数据的传输,那Linux的生成压缩包是zip指令如我们想对于一个空目录或者文本信息生成压缩包我们输入指令zip 压缩后的名字  想压缩的文件例如我们想将text.txt他所为txt.zip

 将压缩包生成文件时unzip text.zip

当我们想将一个非空目录进行压缩时我们需要输入选项 -r,因为我们需要递归进行压缩。

2.25 tar

        我们除了zip还有一种进行打包和解包的指令是tar,例如 我们想将目录a进行打包,我们输入指令tar -czf a.tga a就可以了。

当然选项中加入-m可以看到打包的过程,a.tga就是我们生成的压缩包。在解包时我们输入指令tar -xzf a.tga就可以进行解包操作

 

 2.26 uname指令

        我们可以通过uname指令查看我们云服务器系统,例如我们输入uname即可以看到

我们输入uname -r就可以看到我们的版本

2.27 sz和rz指令

        我们存在一种在虚拟机和主机之间进行交互的指令,sz和rz指令,我们可以通过他们在逐渐和虚拟机直接进行文件的上传和下载,例如我们想把a.zip传到主机上我们输入指令sz a.zip指令就可以了。

我们找好要下载的位置

我们可以找到

 

这样我们的虚拟机到主机的文件下载就完成了,我们想实现主机到虚拟机需要输入指令rz

我们输入rz就可看到

选择好后进行查找就可以看到

三.总结 

        到这里基本指令的内容就结束了,对于指令我们应该多去手动的使用,多去回忆,最后内创作不易,希望大家可以一键三连支持一波。

原文地址:https://blog.csdn.net/Infernal_Puppet/article/details/134744611

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、信号(signal)、消息队列、共享内存、信号量、套接字(socket)。管道用于具有亲缘关系的进程间通信,有名管道的每个管道具有名字,使没有亲缘关系的进程间也可以通信。信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别对整个系统的性能做统计,而进程级别则具体到进程,为每个进程维护统计信息。

按实现原理分,可分为基于计数器和跟踪以及剖析。含义如下:

计数器:内核维护的统计数据,通常为无符号整型,用于对发生的事件计数,比如,网络包接收计数器,磁
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书验证,详细追踪整个交互过程,可用于调用网络后端接口,诊断http和https网络服务故障。
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满、fd泄漏等问题。命令包括ping、fping、tcpdump、lsof、netstat、/proc/$pid/fd、du、grep、traceroute、dig。
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的进程数目,用uptime查看到负载很高,既有可能是CPU利用率高,也可能是大量在等待io的进程导致,用mpstat查看每个CPU的使用情况,查看CPU的使用率或者CPU花在等待io的时间,接着用pidstat定位具体的进程
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线程切换及中断切换,进程切换的开销较大,除了需要保存寄存器和程序计数器中的值还需保存全局变量、栈等到内存中,以便下次运行恢复,而同一进程中的线程切换开销会小很多,只需更新寄存器和线程独有的栈,共享资源如打开的文件、全局变量等无需切换,当硬件中
1.top命令 作用:该命令可以按CPU使用.内存使用和执行时间对任务进行排序,常用来监控系统中占用CPU或内存较高的程序及CPU和内存的负载。 默认视图: 当想看系统负载时,可观察汇总的%CPU中的us用户进程和sy系统进程是否占用CPU很高,相加接近100%就说明占用很高了,有些程序可能得不到及
文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限!!!粘滞位!!!超详解!!!
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Windows、Linux、MacBook_mack book 安装qt
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Linux——了解操作系统的发展历史以及初次体验Linux编程环境
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,个人学习时很认真的记录的,觉得好的麻烦点个赞。
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.5p1(亲测无问题,建议收藏)_openssh_9.5p1
文章浏览阅读3.5k次,点赞93次,收藏78次。初识Linux中的线程,理解线程的各种概念,理解进程地址空间中的页表转换,介绍pthread线程库并理解线程库!
文章浏览阅读863次。出现此问题为Linux文件权限问题,解决方案为回到引擎目录执行命令。输入用户密码后运行./UnrealEditor。_increasing per-process limit of core file size to infinity.
文章浏览阅读2.9k次。使用文本编辑器:打开CSV文件,并使用文本编辑器(如Notepad++、Sublime Text、Visual Studio Code等)来查看文件的字符编码格式。通常在编辑器的底部状态栏或设置中可以找到当前编码的显示。请注意,上述方法并非绝对准确,特别是当文件没有明确的编码标识时。因此,如果你发现CSV文件在不同的工具或方法中显示不同的编码格式,可能需要进行进一步的分析和判断,或者尝试使用不同的编码转换方法。该命令将输出文件的MIME类型和编码信息。使用命令行工具:在命令行中,你可以使用。_shell读取csv文件逐行处理
本文介绍了如何在Linux系统中升级gcc版本,以便更好地支持C++11及以上版本的新特性。通过升级gcc,可以提升编译器的功能和性能,获得更好的开发体验。详细的步骤和方法请参考原文链接。
文章浏览阅读4.4k次,点赞6次,收藏19次。Mosquitto是一个开源的MQTT消息代理服务器。MQTT是一个轻量级的、基于发布/订阅模式的消息传输协议。 mosquitto的安装使用比较简单,可以方便的来进行一些测试。_linux mosquitto
文章浏览阅读7.2k次,点赞2次,收藏12次。Linux中,用于根目录下有一个.ssh目录,保存了ssh相关的key和一些记录文件。_~/.ssh/
文章浏览阅读4.5k次,点赞5次,收藏18次。首先需要安装 snmp ,使用下面的命令进行安装安装完毕之后,使用下面的命令查看是否安装成功当命令行显示如图即为安装成功。_snmp工具