Linux基本操作指令

news2024/12/23 17:38:44

哈喽小伙伴们,从这篇文章开始,在学习数据结构的同时,我们开启一个新的篇章——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操作的大多数基础命令啦,虽然很多,但是并不建议小伙伴们去死记硬背

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

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

我们下期再见啦!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BeautifulSoup学习

前期准备&#xff1a; pip install bs4 pip install lxml bs解析器 从上面的表格可以看出&#xff0c;lxml解析器可以解析HTML和XML文档&#xff0c;并且速度快&#xff0c;容错能力强&#xff0c;所有推荐使用它。 节点选择器 获取名称 soup BeautifulSoup(<b class&…

mysql:不要在索引列进行数学运算和函数运算

不要在索引列进行数学运算和函数运算。这是因为数学运算和函数运算会改变索引列的值&#xff0c;导致索引失效。 如果需要进行计算或函数处理&#xff0c;最好将数据取出并在应用程序中进行处理。 下面举个对照的例子&#xff1a; 1&#xff09;看语句explain select * from …

Embedding压缩之基于二进制码的Hash Embedding

推荐系统中&#xff0c;ID类特征的表示学习&#xff08;embedding learning&#xff09;是深度学习模型成功的关键&#xff0c;因为这些embedding参数占据模型的大部分体积。这些模型标准的做法是为每一个ID特征分配一个unique embedding vectors&#xff0c;但这也导致存储emb…

Openlayers 加载 Geoserver 图层以及查询条件过滤

Openlayers 加载 Geoserver 图层以及查询条件过滤 查询条件过滤核心代码完整代码&#xff1a;在线示例 Openlayers 加载 Geoserver 图层&#xff0c;在实际项目中常常会遇到&#xff0c;需要对图层进行过滤&#xff0c;这里介绍一下过滤方法。 其实就是利用 Geoserver 的 CQL_…

2024SIA上海国际轴承工业展览会 ▎参行业盛会 展轴研风采

2024SIA上海国际轴承工业展览会 内容&#xff1a;1、轴承制品展区&#xff1a;2、轴承设备展区&#xff1a;3、轴承零件展区&#xff1a; 国际轴承展丨轴承工业展丨轴承装备展丨上海轴承展丨上海轴承工业展丨上海轴承装备展 2024上海国际轴承工业展览会将会于2024年7月24-26日…

C语言—每日选择题—Day46

第一题 1. 下列程序段的输出结果是&#xff08;&#xff09; #include <stdio.h> int main() {int x 1,a 0,b 0;switch(x) {case 0: b;case 1: a;case 2: a;b;}printf("a%d,b%d\n", a, b);return 0; } A&#xff1a;a2,b1 B&#xff1a;a1,b1 C&#xf…

面试必备的Linux常用命令

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 Linux常用命令 1、文件及内容2、网络3、进程服务4、…

binlog+mysqldump恢复数据(误删数据库或者表)

表删除恢复 1、准备数据 首先准备数据库环境&#xff0c;测试数据库为speech1&#xff0c;如下&#xff1a; 为test数据表添加3条记录&#xff0c;如下&#xff1a;三行为新加的记录&#xff0c;添加后将test表删除。 2、恢复数据 查看binlog日志状态 SHOW MASTER STATUS…

【FPGA】综合设计练习题目

前言 这是作者这学期上的数电实验期末大作业的题目&#xff0c;综合性还是十分强的&#xff0c;根据组号作者是需要做“4、篮球比赛计分器”&#xff0c;相关代码会在之后一篇发出来&#xff0c;这篇文章用于记录练习题目&#xff0c;说不定以后有兴趣或者有时间了回来做做。 …

逆变器的防孤岛测试保护方案

逆变器的防孤岛测试保护方案是为了确保逆变器在发生故障或停电时能够及时停止供电&#xff0c;避免孤岛现象的发生。孤岛现象指的是当电网停电或发生故障时&#xff0c;逆变器仍然继续供电&#xff0c;可能会对电网维护人员和设备造成安全隐患。逆变器会通过监测电网的状态来判…

深入理解网络 I/O 多路复用:Epoll

&#x1f52d; 嗨&#xff0c;您好 &#x1f44b; 我是 vnjohn&#xff0c;在互联网企业担任 Java 开发&#xff0c;CSDN 优质创作者 &#x1f4d6; 推荐专栏&#xff1a;Spring、MySQL、Nacos、Java&#xff0c;后续其他专栏会持续优化更新迭代 &#x1f332;文章所在专栏&…

Visual Studio调试技巧合集

Visual Studio调试技巧合集 1 如何同一个项目运行不同main文件&#xff1f; 1 如何同一个项目运行不同main文件&#xff1f; &#xff08;1&#xff09;移动鼠标到需要关掉调试的文件&#xff0c;点击右键属性–常规–从生成中排除–是–确定&#xff0c;即显示“-”号排除&am…

python实现形态学建筑物指数MBI提取建筑物及数据获取

前言 形态学建筑物指数MBI通过建立建筑物的隐式特征和形态学算子之间的关系进行建筑物的提取[1]。 原理 上图源自[2]。 实验数据 简单找了一张小图片&#xff1a; test.jpg 代码 为了支持遥感图像&#xff0c;读写数据函数都是利用GDAL写的。 import numpy as np import …

【数据结构(十一·多路查找树)】B树、B+树、B*树(6)

文章目录 1. 二叉树 与 B树1.1. 二叉树存在的问题1.2. 多叉树 的概念1.3. B树 的基本介绍 2. 多叉树——2-3树2.1. 基本概念2.2. 实例应用2.3. 其他说明 3. B 树、B树 和 B*树3.1. B树 的介绍3.2. B树 的介绍3.2. B*树 的介绍 1. 二叉树 与 B树 1.1. 二叉树存在的问题 二叉树…

【FPGA/verilog -入门学习7】 条件判断if与分支判断case语句的语法介绍

需求 使用if 和case 产生格雷码 / /*条件判断if与分支判断case语句的语法介绍 需求 使用if 和case 产生格雷码*/ / timescale 1ns/1ps module vlg_design(input [3:0] i_data, output reg [3:0] o_data,output reg [3:0] o_datac);always (*) begin if (4b0000 i_data) o_d…

ros的slam建图和导航(含工作空间)

工作空间的结构 准备工作 创建工作空间&#xff08;ros_zy&#xff09; mkdir ros_zy进入工作空间 cd ros_zy创建src文件夹&#xff08;放源程序&#xff09; mkdir src编译工作空间 catkin_make打开vscode&#xff08;从终端打开此工程&#xff09; code .进入工作空间的…

如何查看自己的文章是否被数据库收入?【查收查引】

致谢&#xff1a;特别感谢图书馆的蔡老师&#xff0c;告诉我怎么操作&#xff01; 另外&#xff0c;查收查引报告中的文章可以分开开&#xff0c;放在一起开不是必须的。&#xff08;放在一起开大概是院士工作量需要的。不是很了解。&#xff09; 如何查看自己的文章是否被数据…

tomcat部署以及虚拟主机的部署

Tomcat概述 Tomcat是Java语言开发的&#xff0c;服务器是一个免费的开放源代码的Web应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP程序的首选。一般来说&#xff0c;Tomcat虽然和…

c语言 词法分析器 《编译原理》课程设计

设计、编制并调试一个词法分析程序&#xff0c;加深对词法分析原理的理解。 针对表达各类词语的一组正规表达式&#xff0c;设计一个确定化的最简的有限自动机&#xff0c;对输入的符号串进行单词划分及词类识别。 要求词法分析器的输入是字符串&#xff0c;输出是源程序中各…

苍穹外卖项目笔记(8)— 缓存商品、购物车功能

前言 代码链接&#xff1a; Echo0701/take-out⁤ (github.com) 1 缓存菜品 1.1 问题说明 【注】很多时候系统性能的瓶颈就在于数据库这端 1.2 实现思路 通过 Redis 来缓存数据&#xff0c;减少数据库查询操作 【注】Redis 基于内存来保存数据的&#xff0c;访问 Redis 数据…