Linux基本操作指令

哈喽小伙伴们,从这篇文章开始,在学习数据结构的同时,我们开启一个新的篇章——Linux操作系统的学习,这将会是又一个新的开始,希望小伙伴们能够认真细心,不要掉队哦。


目录

一.什么是Linux

二.为什么要学习Linux

三.Linux环境搭建

四.Linux基本指令

1.XShell登录

2.clear

3.pwd 

4.ls

4.(1) ls -l

4.(2)ls -la

4.(3)ls -ld

5.mkdir

 5.(1)mkdir -p

6.cd

6.(1)cd ./..

 6.(2)cd -

 6.(3)cd ~

7.touch

 8.whoami

9.which

10.alias

11.stat

12 .tree

 13.rm

14.man

15.cp

16.mv

17.nano

18.cat

19.echo

20.more

21.less

22.head

23.tail

24.'|'

25.wc

26.date

27.cal

28.find

29.grep

30.zip

31.tar

 32.sz

33.scp

34.bc

34.uname

 35.热键

五.总结


一.什么是Linux

Linux是一个免费的面向开发人员的操作系统,由全世界的程序开发人员共同开发。

Linux可以安装在各种计算机设备中,如手机、平板电脑、路由器、台式电脑、超级计算机等。它的主要特点是多用户,多任务,良好的界面,支持多种平台

Linux和Windows操作系统是目前应用最广泛的两个操作系统,而被广泛使用的Android操作系统就是在Linux上创建的


二.为什么要学习Linux

Linux技能在IT行业中非常有价值。许多企业和组织都使用Linux作为主要的服务器和操作系统,因此对于有Linux技能的人才需求很高。学好Linux可以增加你的职业发展机会,并为你在就业市场上脱颖而出。

Linux操作系统具有很高的自由度和定制性。你可以根据自己的需求和喜好,自由选择和定制各种软件、工具和界面。学好Linux可以让你充分发挥创造力和个性化需求,打造适合自己的工作环境和工具链。

学好Linux,是每一个优秀程序员都必须要做到的事


三.Linux环境搭建

主要有三种方式:
  1. 直接安装在物理机上。但是由于Linux 桌面使用起来非常不友好,不推荐。
  2. 使用虚拟机软件, Linux 搭建在虚拟机上。但是由于当前的虚拟机软件( VMWare 之类的)存在一些bug,会导致环境上出现各种莫名其妙的问题,比较折腾。 
  3. 使用云服务器,可以直接在腾讯云,阿里云或华为云等服务器厂商处直接购买一个云服务器。

博主本人更加支持第三种方式,虽然要花些money,但是用起来方便快捷,更适合萌新。

此外,我们还需要下载一个软件XShell,此后Linux的基本操作,都将会在XShell上进行。

这些小伙伴们可以自行选择并下载。


四.Linux基本指令

指令本质上是程序,指令、程序、可执行程序都是一码事。

1.XShell登录

XShell界面如下:

那么我们登录则需要输入指令:

ssh root@(公网IP)

其中这个公网IP可以在你所购买的云服务器中找到。

回车之后,会弹出输入密码的界面:

登录成功则显示如下界面:

然后我们就可以进行Linux的各种操作啦。


2.clear

能够看出上边的界面有非常多的提示我们登陆成功的英文,我们可以使用clear指令进行清除:


3.pwd 

pwd指令可以显示我们当前在linux操作系统所处的路径

初始路径即为/root,其中‘/’是linux下的路径分隔符。


4.ls

ls指令能够显示出我们当前路径下的文件名

此时我们的路径即为/root

ls指令也可以直接+路径来直接显示某路径下的文件

此操作同样适用于ls的下属各种扩展指令


4.(1) ls -l

单独一个ls指令,只会显示文件的名字,而ls -l指令可以显示文件的更多属性

包括文件名,创建日期,时间等等。

ls -l可以简写为ll


4.(2)ls -la

ls -la指令可以显示出当前路径下的隐藏文件

如图,以‘.’开头的文件即为隐藏文件

有小伙伴可能会奇怪为什么一个是‘.’,另一个是两个‘..’

其中,‘.’表示的是当前路径下的隐藏文件,‘..’表示的是上一级路径下的隐藏文件。


4.(3)ls -ld

ls -ld指令可以仅显示某路径的目录信息而不进入目录

如图,ls -ld指令 + 路径就可以仅显示路径目录的信息。


5.mkdir

我们知道一个路径下可以有单一的文件,也可以有文件夹

mkdir指令能够在我们当前目录下创建一个新“文件夹”

如图,博主随便新创建了一个名为12345的文件夹。 

蓝色字体即为文件夹,其他则为不同扩展名类型的单一文件


 5.(1)mkdir -p

mkdir -p指令可以一次性创建一串路径

当前能够看出确实有a目录,那么我们如何判断其他几个目录是否创建成功呢

请移步tree指令


6.cd

cd指令能够帮助我们进入指定的文件夹,也就是更改当前路径

如图, 我们进入/root路径下的12345文件夹同时pwd一下,显示当前路径

同时cd指令也可以直接 + 指定路径来进入该路径:


6.(1)cd ./..

承接4.(2)的隐藏文件显示,‘.’表示的是当前路径下的隐藏文件,‘..’上一级路径下的隐藏文件。

cd .指令则表示保持为当前路径cd ..指令则会回退到上一层路径

如图,初始我们所处路径为/root/12345cd .之后并未变化,cd ..之后则返回上一级路径

当然,回退是有尽头的,当我们一直回退,最终会处于根目录/


 6.(2)cd -

cd -指令可以直接跳转到我们最近一次所处的路径下


 6.(3)cd ~

cd ~指令可以直接进入用户的家目录

大家刚开始学习Linux时,默认的root账号对应的家目录即为/root


7.touch

touch指令可以在当前路径下创建一个新的文件

如图,我们创建一个名为file.txt的文件,并ls显示


 8.whoami

whoami指令能够查看当前正在使用linux系统的用户名

例如我们当前的用户名就是root


9.which

which指令可以要求系统打印出我们指定的指令在系统中所处的路径

如图,pwd和cd指令都在/usr/bin路径下


10.alias

alias指令可以给其他指令起一个别名

如图,我们将ls -la指令另起别名为lala就同样可以执行ls -la的功能


11.stat

stat指令可以帮助我们查看文件的更深层次的信息


12 .tree

tree指令能够直接以树状形式显示某目录的结构


 13.rm

rm指令能够删除当前路径下的文件或文件夹

删除文件时,系统默认会提示我们是否要真的删除y和n分别代表确认和取消

如果不想显示系统提示,则使用rm -f指令

如果想要删除非空文件夹,则需要使用rm -r指令

其中,-p代表强制指令,-r代表递归指令


14.man

man指令能够显示指定指令信息

上图是man pwd的结果,我们可以查看有关pwd指令的各种信息,按q键则退出该界面。 


15.cp

cp指令能够将一个指定文件或文件夹拷贝到指定位置

如图,我们将file.txt文件拷贝到/root路径下

同时还可以将拷贝的文件重命名需要在目的地路径后加上要重命名的名字

如果想要拷贝非空文件夹同样需要加上-r,即cp -r


16.mv

mv指令可以在指定目录下对一个文件或文件夹进行重命名

mv指令还有另一种操作,可以将指定目录下的文件移动到指定位置即剪切

 

 同样可以重命名移动的文件的名字,操作与上边cp指令一样


17.nano

学了这么多指令,相信大家都想在Linux上写写代码,那么现在,它来了。

nano指令能够让我们对文件进行操作

执行此操作之后,会显示写代码的界面,我们便可以再此写代码。 

我们写下如上代码,然后注意看最底层:

有很多操作指令,其中ctrl + x是保存,之后会显示:

选择Y/N即确认保存,取消保存,和Cancel取消操作

保存之后会返回Linux控制台,这时候通过gcc指令进行编译

 

编译成功之后会生成一个a.out的可执行程序,通过./a.out指令便可执行:

 


18.cat

cat指令能够将文件的内容打印出来

此外cat -n指令能够顺便打印出行号

还有一个tac指令,它是cat指令反着来写,同理,它的作用是反着打印文件内容


19.echo

echo指令能够将一串字符打印在Linux显示器上

 

除此之外,echo指令还能够将该字符串写入文件中

能够看出,一开始我们并没有file.txt这个文件,这就说明我们执行指令时,同时也创建了文件

 但是这个功劳并不属于echo,而是属于'>'

'>'称为输出重定向,能够直接创建一个空白文件。

 那么这两者之间到底有什么关系呢???

echo指令的作用,确实是将一个字符串打印到显示器上,而'>'的作用就是将原本要打印到显示器的字符串写入文件中去,而上图所示的'>',就相当于把空白字符串写入文件

但是'>'也有缺陷:

能够看出,'>'每次写入文件时,都是从头开始写入,也就是新内容会将原内容覆盖

 而为了解决这一问题,需要使用'>>':

'>>'称为追加重定向,从文件的末尾开始写入,同时也会自动换行。 

此外还有输入重定向'<',它的作用是把文件内容输入到显示器中


20.more

现在有一个很大的文件,它有10000行的代码,我想要将它显示在显示器上,但是如果我们使用cat指令

会发现它直接就跳到了文件的末尾,需要往上翻才能看到前边的代码。

more指令,就可以从文件头开始打印文件数据

 

more指令会从头开始打印直到占满一个屏幕后停止,后续按回车键,就会继续往下遍历,按q键便可退出遍历。

此外在遍历过程中,在最后一行输入/+ 任意文本,便可直接显示出有该文本字样的代码


21.less

less指令与more指令的功能类似,都是从头开始打印文件内容,不同的是,more指令下,阅读文件内容只能靠回车键向下遍历,在通过鼠标轮滑上下遍历

而less指令可以直接通过键盘上的上下箭头来实现上下遍历

less指令同样可以用/ + 任意文本进行搜索,并按q键退出


22.head

head指令能够默认帮助我们显示某文件的前十行内容

此外,head -+数字,能够从文件开头为我们显示指定的行数

 

既然有头,那就一定有尾


23.tail

tail指令则是默认为我们显示文件末尾的10行,同时也可以指定要显示的行数


那如果我想要看中间的5000行到5010行的11行内容该怎么办呢???

24.'|'

'|'是一个级联指令,它可以将前后两个命令连接起来使用,并且可以连续使用

如果我要看5000行到5010行的内容,就可以从头先显示5010行内容,再从这5010行内容中,从尾显示前11行内容即可:

 如果我还想将这11行内容逆置,就在级联一个tac指令


25.wc

wc指令能够打印出文件的字节数、行数、字数

此外,字节数、行数、子数也可以单独打印,分别是:

wc -l         行数

wc -c        字节数 

wc -w       字数


26.date

date指令能够显示出当前Linux系统所处的时间信息

 但是这样的显示方式,我们中国人看起来并不舒服,所以我们还可以进行格式化打印

其中的'-'、'_'、':'等符号可以自行选择,此外,打印的所有格式如下:

%H          小时,24小时制(00~23)
%I           小时,12小时制(01~12)
%k          小时,24小时制(0~23)
%l           小时,12小时制(1~12)
%M         分(00~59)
%p          显示出上午或下午
%r           时间,12小时制
%s          从1970年1月1日午夜0点到目前经历的秒数
%S          秒(00~59) 
%T          时间(24小时制)(hh:mm:ss)
%X          显示时间的格式(%H时%M分%S秒)
%Z          按字母表排序的时区缩写
%a          星期名缩写
%A          星期名全称
%b          月名缩写
%B          月名全称
%c          日期和时间
%d          按月计的日期(01~31)
%D          日期(mm/dd/yy) 
%h          月名缩写
%j           一年的第几天(001~366)
%m         月份(01~12)
%w         一个星期的第几天(0代表星期天)
%W        一年的第几个星期(00~53,星期一为第一天)
%x          显示日期的格式(mm/dd/yy)
%y          年份的最后两个数字(1999则是99)
%Y          年份(比如1970、1996等)
%C          世纪,通常为省略当前年份的后两位数字
%U          一年中的第几周,以周日为每星期第一天
%e          按月计的日期,添加空格,等于%_d


27.cal

cal指令能够打印出Linux系统的当前所处月份的日历信息

cal + 年份指令则会显示一年12个月的日历信息

cal -3指令则会打印出当前月、前一个月和后一个月连续三个月的日历信息


28.find

find指令能够在Linux树状系统中进行文件查找

具体格式为find + 路径 + -name(以名字查找) + 文件名。 


29.grep

grep指令能够将我们指定的关键字在文件中找到并打印出来

grep -n则可以同时打印出行号: 

grep -v则会打印出除了关键字以外的信息:

grep -i则会忽略关键字的大小写


30.zip

zip指令能够将目录文件进行打包压缩

具体操作为 zip + 压缩后的名字(后缀.zip必备) + 要压缩的目录名

如图,text目录下有一个LearnLinux文件夹内部有文件,将其解压,确实得到一个压缩包。

如果不想全部打包,则可以在 zip + 压缩后的名字(后缀.zip必备) 后加上要打包的文件名即可。

想要解压压缩包,则需要unzip指令:

我们将次压缩包剪切到/root目录下进行解压,结果解压后得到的LearnLinux文件夹为空

这仍然是因为没有添加 -r指令,当我们添加-r指令后,就可以将其内容的文件全部压缩并解压了:

此外,undir仅能将压缩包解压到当前目录,想要解压到其他地方,则需要undir -d + 路径


31.tar

tar指令也是一种压缩文件的指令,能够将文件压缩成tgz格式

具体操作为 tar + -czf 加压缩后的名字(后缀.tgz必备) + 要压缩的文件

解压的指令为: tar + -xzf + 压缩包,同时也可以加上 -C(大写) + 路径解压到指定路径下:

能够看出,tar指令不需要附加 -r指令就可以将文件的全部内容进行压缩


 32.sz

sz指令能够将Linux系统下的压缩包传到我们的windows系统下

同时也有rz指令,则是能够将windows系统下的压缩包传到我们的Linux系统。


33.scp

scp指令能够实现两台Linux机器之间的压缩包互传,具体操作为:

scp xxx.tgz 用户名@另一台Linux机器的IP:要拷贝到的路径

由于博主只有一台Linux机器,所以无法做演示hh。


34.bc

bc指令能够调用Linux系统下的计算器,执行各种运算

输入quit退出


34.uname

uname指令能够查看当前Linux机器的信息uname -r指令可以查看内核版本信息


 35.热键

Linux系统下也有很多实用的热键指令:

ctrl + c        终止当前指令

ctrl + d        退出Linux系统

ctrl + r         对用过的历史命令进行搜索

tab              补齐命令

小伙伴们可以下去自行尝试理解。


五.总结

以上就是有关Linux操作的大多数基础命令啦,虽然很多,但是并不建议小伙伴们去死记硬背

这些东西就和我们刚开始学习编程一样,敲的多了,练的多了,自然就能慢慢掌握啦

最后小伙伴们不要忘记一键三连支持一下博主哦。

我们下期再见啦!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/240672.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT用户界面隐藏管理员界面部分功能

效果预览 QT用户界面隐藏管理员界面部分功能 GITHUB网站 QT版本 qmake QT core gui sqlGitHub代码获取链接 GitHub代码获取链接

HAT(CVPR 2023):Hybrid Attention Transformer for Image Restoration

HAT ​ 论文地址&#xff1a;HAT: Hybrid Attention Transformer for Image Restoration ​ 代码地址&#xff1a;XPixelGroup/HAT: CVPR2023 - Activating More Pixels in Image Super-Resolution Transformer 摘要 ​ 通过归因分析attribution analysis method - Local …

智慧燃气让城市能源系统高效运行

关键词&#xff1a;智慧燃气、燃气数字化、智慧燃气平台、智慧燃气解决方案、智慧燃气系统 随着我国城镇燃气行业的发展&#xff0c;燃气行业管理及服务从简单的手工运作阶段迈入数字燃气阶段&#xff0c;大量采用信息化手段管理燃气业务&#xff0c;智慧燃气应运而生。它既是…

Web漏洞分析-文件解析及上传(上)

随着互联网的迅速发展&#xff0c;网络安全问题变得日益复杂&#xff0c;而文件解析及上传漏洞成为攻击者们频繁攻击的热点之一。本文将深入研究文件解析及上传漏洞&#xff0c;通过对文件上传、Web容器IIS、命令执行、Nginx文件解析漏洞以及公猫任意文件上传等方面的细致分析&…

k8s-Pod

1、Pod 简介&#xff1a; (1) 概念&#xff1a; Pod 是 Kubernetes 中创建和管理的&#xff0c;最小的可部署的计算单元。Pod中存储了一组&#xff08;一个或多个&#xff09;容器&#xff0c;以及怎样运行这些容器的声明&#xff0c;这些容器共享存储、网络和环境&#xff0…

简易的JS逆向解码

在实战的漏洞挖掘中阅读JS有以下几个作用&#xff1a; 1.JS中存在插件名字&#xff0c;根据插件找到相应的漏洞直接使用 通过控制台大致阅读网站JS代码发现此网页引用了北京的一家公司的代码&#xff0c;并且使用了h-net的框架&#xff0c;接下来我们可以百度这家公司或者是这…

智能优化算法应用:基于水循环算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于水循环算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于水循环算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.水循环算法4.实验参数设定5.算法结果6.参考文…

【精选】SpringMVC简介及其执行流程,参数获取方式

SpringMVC简介 MVC模型 MVC全称Model View Controller&#xff0c;是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分&#xff1a; Model&#xff08;模型&#xff09;&#xff1a;指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中&…

C#基础——语法学习

C#的基本语法 在介绍基本语法之前我们先来大概讲一下创建好的这些文件都是做什么的 .sln文件&#xff1a;将项目和解决方案项结合到一起 .vs文件夹&#xff1a;用来存储当前解决方案中关于用户的设置和自定义项&#xff0c;比如断点&#xff0c;主题等。&#xff08;一般都将其…

短信打开小程序

获取 URL Scheme | 微信开放文档 静态网站 H5 跳小程序 | 微信开放文档

阿里云SMC迁移RedHat/CentOS 5 内核升级

阿里云SMC迁移RedHat/CentOS 5 内核升级 1. 起因 服务器需要迁移上阿里云,有几台服务器用的是Redhat 5.x,在使用SMC进行迁移时出现以下报错. [2023-12-13 09:50:55] [Error] Check System Info Failed, codeS16_111, msgGet OS Info Failed: [error] grub is too old for C…

工作随记:long类型数据迁移问题小记

文章目录 概要整体解决方法方法一&#xff1a;用COPY的方法&#xff1a;方法二&#xff1a;PL/SQL(如上)方法三&#xff1a;直接就把LONG转换成CLOB类型方法四&#xff1a;exp/imp 技术过程 概要 工作随记&#xff1a;在做技术方案发现客户数据库的表存在与系统表空间&#xf…

OpenAI 承认 ChatGPT 最近确实变懒,承诺修复问题

文章目录 一. ChatGPT 指令遵循能力下降引发用户投诉1.1 用户抱怨回应速度慢、敷衍回答、拒绝回答和中断会话 二. OpenAI 官方确认 ChatGPT 存在问题&#xff0c;展开调查三. OpenAI 解释模型行为差异&#xff0c;回应用户质疑四. GPT-4 模型变更受人事动荡和延期影响 一. Chat…

基于Java SSM框架实现固定设备资产管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现固定设备资产管理系统演示 摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认…

二、结合各种图形库实现各种demo(11-20)

demo地址https://bidding-m.gitee.io/maptalks-test-next/#/ 11、isects 12、right click menu 13、infoWindow 14、image marker 15、multi image marker 16、vector-marker-fill 17、line-gradient-arrow 18、rotated-marker-with-line 19、smoothness-line 20、polygon 欢迎…

orb-slam2学习总结

目录 视觉SLAM 1、地图初始化 2、ORB_SLAM地图初始化流程 3、ORB特征提取及匹配 1、对极几何 2、对极约束 &#xff08;epipolar constraint&#xff09; 3、基础矩阵F、本质矩阵E 5、单目尺度不确定性 6、单应矩阵&#xff08;Homography Matrix&#xff09; 6.1 什么是单应矩…

干不完的996,加不完的007,浅谈程序员的内卷化

目录 一. 什么是内卷化 二. 程序员的内卷化 2.1. 码农时代 2.2. 开源时代 2.3. 加班文化 三. 如何不被内卷化 3.1. Stay Hungry, Stay Foolish 3.2. 工程能力 3.2.1. 架构 3.2.2. 规范 3.2.3. 管理 3.2.4. 排错 3.3. 学会思考 四. 结尾 一. 什么是内卷化 最近开始…

【算法与数据结构】37、LeetCode解数独

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;本题也是一道困难题&#xff0c;难点在于如何构建数独棋盘&#xff0c;如何检查棋盘的合法性&#xff…

Halcon一维码识别

文章目录 参数连接halcon 自带案例1&#xff08;设置校验位识别条码&#xff09;Halcon 自带案例2&#xff08;设置对比度识别条码&#xff09;Halcon 自带案例3&#xff08;存在曲面变形&#xff09;Halcon 自带案例4&#xff08;设置条码扫描线&#xff09;Halcon 自带案例5&…

Linux---Ubuntu操作系统

1. Ubuntu操作系统的介绍 Ubuntu操作系统是属于Linux操作系统中的一种&#xff0c;它是免费、稳定又可以拥有绚丽界面的一个操作系统 2. Ubuntu图形界面的介绍 任务栏 窗口操作按钮 窗口菜单条 任务栏效果图: 窗口操作按钮效果图: 窗口菜单条效果图: 3. 与Windows目录结…