Linux入门操作指令介绍(配合Windows理解)

news2024/12/25 13:00:54
(1)如果不会装虚拟机和Ubuntu,建议跟着韦东山老师的课程来安装,绝大多数事情他都帮你做好了。跟着视频的来即可。 韦东山老师视频链接。
(2)跟着视频做可能还是会有很多不懂的,比如什么是Shell ,为什么要这么操作。在韦东山老师的视频里面,你常常能够看到他一顿操作猛如虎,自己一看啥也不懂。先不用管,按照他的来操作,之后熟悉了再回来学习也不迟。
(3)对于新手而言,入门Linux,装好虚拟机和Ubuntu后,第一件事就是学习Linux的操作指令。因为Linux操作指令非常多,而且很多并不是经常使用的,所以对于新手而言不必过多了解。
(4)这里,我介绍Linux的指令会尽可能的配合Windows来进行介绍,方便第一次接触Linux的同学们学习。
(5)邀请加入 嵌入式社区,您可以在上面发布问题,博客链接,公众号分享,行业消息,招聘信息等。

指令结构说明

(1)当我们在 Ubuntu 中打开终端后,我们能够看到如下提示符
出现这个提示符表示可以进行操作了,但是可能有人会疑惑,这是什么意思?
1,首先@之前的是表示当前登录的用户名,如果你是按照韦东山老师的视频安装的,应该都是book用户。但是如果是按照别的教学视频来的,可能名字不一样,没太大关系。
2,后面这个主机名也是不需要过多关注,按照不同教学视频安装的Ubuntu可能名字不同。可以自己修改,修改方法自己网上查找即可。
3,冒号‘:’后面这个表示自己当前所在目录(你可以理解为所在的文件夹,这个后面会讲)。
4,一般都是普通用户,如果你喜欢删库跑路就需要设置为root管理员了。root权限最大,但也很危险,容易出现不可逆转的问题,比如删库跑路。
(2)Linux 命令一般由三部分组成:command 命令; options 选项;parameter 参数;
1,[ ]中括号表示 该部分可选,可有可无,需要根据命令的实际需要而添加;
2,命令、选项、参数之间是以空格来隔开的, 一个或多个空格都视为1个空格。
3,完成linux命令输入后,按下enter键,即可执行该命令。
4, Linux的操作指令是分大小写的
(3)
1,关于上述的空格和回车键执行命令可能都很好理解,关于[ ]可有可无有些人可能依旧不太懂。我举个例子,因为Linux指令非常多,很容易记不住,除了百度还有什么办法吗?我们可以直接在终端中输入:‘指令’+‘--help’。来查看指令的用法。
2,首先,我们查看pwd这一个指令的用法,终端显示pwd: pwd [-LP]。表明可以只需要输入一个pwd就可以执行指令了。
3,注意, 在[]里面,他们是用的大写字母L和P,所以当我使用小写的l时候,他发出了报错

常用指令

目录/文件操作命令

pwd

(1)pwd:显示当前所在的目录
(2)只需要了解直接使用pwd这一个指令即可,上面解释后面加L或者P,不需要了解是啥。
(3)在Linux中查看自己当前目录需要通过pwd指令,而Windows只需要看一下上面这个窗口即可知道自己路径。

ls

(1)普通用法及文件颜色说明

1,ls:显示当前目录下的文件。
2,在Linux中使用ls查看当前目录下的文件时候,会有疑惑。怎么有些文件是蓝色,有些是白色,而有一些是绿色呢?这有什么区别吗?
3, 常见的是绿色,红色,蓝色和白色

颜色

含义

颜色

含义

绿色

可执行文件

红色

压缩文件或者包文件

蓝色

目录(文件夹)

白色

普通,如文本文件,配置文件,源码文件等

浅蓝色

链接文件,主要是使用ln命令建立的文件

红色闪烁

表示链接的文件有问题

黄色

设备文件

灰色文件

其它文件

(2)-a 显示隐藏文件

1,ls -a -a:显示所有的文件(包括隐藏文件)
2,ubuntu 里面以“.”开头的全部是隐藏文件。
3,'.' 表示的是当前目录 ;'..' 表示的是上一级目录

(3)-l 显示文件详细信息

1,ls -l -l: 显示文件的详细信息,比如说文件的形态、权限、所有者、大小信息等。
2,在Windows中可以直接查看文件的形态,修改时间和大小等信息。

(4)详细信息中的意思

第一个参数含义
第一个参数表示文件类型。只要了解d和-即可。

d

目录文件

b

块设备文件

-

普通文件

c

字符设备文件

p

管理文件

s

套接字文件

I

链接文件

文件权限及其查看用户组别

r

读权限

x

可执行权限

w

写权限

-

没有权限

后面九个参数是三个三个一起的。 第一组三个rwx表示文件拥有者所有的权限,第二组表示同组其他用户,其他用户权限。但是,这个时候有人可能就会有疑惑了,文件的拥有者是谁呢?我怎么知道这两个用户是否为同一组的呢?
其他参数含义
剩下的不需要多说了,这个链接数不需要过多纠结。新手知道这个表示链接数即可。
(5)-a和-l可以分开使用,也可以合并使用。

cd

(1)普通用法

cd:切换路径。
格式: cd 路径

(2)cd ./

cd ./ :从当前目录开始(相对路径),进入当前目录的一个子目录

(3)cd ~

cd ~ : 进入家目录
(4)cd .. :返回到上一级路径。比如我现在在Desktop目录下的abc目录,那么我输入cd ..,就会返回Desktop目录。

(5)cd -

cd - : 切回到上一次的路径。这个Windows里面按退格键 Backspace,返回上次浏览的目录。因为不太好演示,想了解Windows中切换的,自己尝试一次就明白了。

mkdir

(1)普通用法

mkdir:新建目录(目录也称为文件夹)
格式: mkdir 文件名

(2)注意事项

1, Linux是区分大小写的,所以目录A和目录a 是不同的。
2,当相同名字的目录存在时,无法创建目录。

(3)-p 建立多级目录

这个时候有人会觉得,如果我想一次性建一个多级目录(目录b中有目录c,目录c中有目录d)怎么做呢?
格式: mkdir -p 文件名/文件名/文件名

touch

touch: 新建文件。如果该文件名已有,那么就只是改变这个文件的修改时间
格式: touch 文件名字

mv

(1)用法

mv :修改文件/目录名和移动文件。
格式: mv 源文件 要修改后的名字mv 源文件 移动到的路径

(2)源文件必须在当前目录

需要注意,mv移动的源文件必须是当前目录下的。

(3)区分改名还是移动路径

通过上面这两张图,我们会发现,mv的移动文件和修改文件名字的操作似乎是一样的,如何区分呢?其实很简单,如果 要修改后的名字或者移动到的路径这一部分如果是路径(./B这种),那么就是移动,否则为改名。

cp

(1)复制文件到当前目录

cp:复制文件/目录(需要注意,复制目录需要加上-r)
格式: cp 文件 文件cp -r 目录 目录

(2)复制文件到其他目录

格式: cp -r 目录 路径cp 文件 路径

cat

(1)普通用法

cat:将文件内容显示到终端中
格式: cat 文件名

(2)-b 显示文本行号

可能有一些人想看看文本的行编号,可以假如-b这条命令。
格式: cat -b 文件名

rmdir

rmdir:删除目录(该目录下不能有文件,比较鸡肋一般用rm代替)

rm

rm:删除文件/目录
格式: rm 文件rm -rf 目录;(这里需要注意,r表示递归删除,f表示强制删除。删除目录不需要-f,随便你加不加。 )

屏幕操作指令

clear

clear:刷新屏幕,但是会保留历史记录

rest

reset 重新初始化屏幕,历史记录也会被清除

权限指令

阅读这一部分之前,我们可能需要回到ls指令的(4)部分回顾一下详细信息的意思

sudo

sudo:以系统管理者的身份 临时执行指令。在指令前面加上sudo,所执行的指令就好像是 root 亲自执行。因为root权限比较大,所以建议不要切换为root用户,需要的时候再使用sudo临时使用sudo。
格式: sudo 其他需要执行的指令

su

su:切换为用户。
格式: su 用户名

groups

(1)查看当前用户所在组

(2)查看指定用户用户组

要查看用户的用户组,通过切换用户的方式多少有点麻烦。我们可以直接查看指定用户的用户组。
格式: groups 用户名

chmod

含义

chmod:改变文件权限
格式: chmod 设置权限 文件名

权限设置部分解析

(1)首先,ls指令的 详细信息中的意思这一部分得知,有三种用户(拥有者,与拥有者同组,其他用户)。于是当我们在设置权限的时候分为了三个部分,也就组成了一个三位数。
(2)首先我们看名字为CSDN的这个文件,用户权限为rwx rwx r-x,把他拆解为三部分,‘-’部分填入数字0,非‘-’部分填入数字1。那么 rwx rwx r-x=111 111 101,三个部分分别转化为十进制就是775( )。

示例

注意:root用户在root组,book用户在book组。所以我将更改权限为665(110 110 101)进行实验。

快捷用法

有时候,我们可能会想要用户的的某一个权限消失,又感觉通过换算的方式太麻烦,怎么办呢?
格式: chmod 指令 文件名

-R递归修改权限

有时候我们想把整个目录下的所有文件更改为同一种权限,那么我们可以用-R。( 注意此处是大写R
格式: chmod -R 要设置的权限数值 文件名

chgrp

chgrp:改变文件所属用户组
格式: chgrp 用户组 文件名

chown

chown:改变文件所有者
格式: chown 用户名:组名 文件/目录
需要注意的是,低权限用户无法将文件提升到高于自己权限的用户。

查找/搜索命令

Linux系统不像windows那些图形化比较直观,有时候我们需要找一个文件会很麻烦,于是我们可以用过以下这两个指令来进行查找我们所需要的文件。 需要注意,如果文件比较多,会查找比较慢,不想查找了可以按Ctrl+c退出查找。

find

常规用法

find -name 文件:可以查找当前目录下的文件名字

指定目录查找

find 指定目录 -name 文件:指定目录下搜索文件
find 指定目录 -name "*指定字母*":在指定目录下( 如果指定目录这里不写,就是当前目录下所有文件都进行查找),找到指定文件。 *是通配符号,所以只要有指定字母的文件都能够找到

grep

常规用法

grep "指定内容" 指定查找的文件:可在该目录所有文件中,查找指定内容在哪个文件中。不过需要注意,子目录中的文件不会进行查找。 指定查找的文件部分是‘*’,那么表示将该目录下的所有文件进行一次查找。

-r查找当前目录下所有目录的文件

从上面我们可以知道,如果常规写法,不能够查找子目录的文件内容。所以,当我们想查找当前目录下的所有文件内容,需要加上-r。
格式: grep "指定内容" * -r

-n显示内容在文件的第几行

有时候,我们可能会想知道查找的内容在文件的第几行。这样方便我们快速查看到内容,加入-n即可实现。
格式: grep "指定内容" * -n

-w整词查找

如果我们查找某一行都是指定字母就可以使用-w。 需要注意,查找中文的时候可能会出现异样,无法实现真正的整词查找,所以尽量能够英文就英文
格式: grep "指定内容" * -n

压缩解压指令

1,可以只掌握tar命令,因为gzip和bzip2的作用tar命令都可以实现, 而且前两者只可以处理文件,不可以处理目录
2,在执行压缩命令的时候,我们需要一个较大的文件。因为,如果是一个比较小的文件进行压缩命令之后,文件大小反而可能变大,一般建议大于2MB再压缩。
//建立一个大文件
dd if=/dev/zero of=test bs=1024 count=1024

gzip

压缩文件

gzip -k 文件名: 压缩/解压文件,保留之前的文件,不删除之前的文件。最后得到一个.gz的文件
gzip 文件名:不会保留之前的文件

解压文件

gzip -dk 文件名:解压文件。如果有相同文件名的文件,将会提示覆盖。

bzip2

bzip2压缩率比gzip更高,所以最终产生的文件所占空间也小一些

压缩文件和解压文件

bzip2 -k 文件名:压缩/解压文件,保留之前的文件。最后得到一个.bz2的文件
bzip2 文件名:压缩文件,但是不保留之前的文件
bzip2 -dk 文件名:解压文件,同时保留原来的文件。

tar

-c

创建一个新的打包文件

-x

对打包文件进行解压缩

-z

gzip 格式进行压缩或者解压,与这个参数常结合的有 c 和 x 这个参数,如果与 c 结合,他 就是压缩,如果与 x 结合 ,他就是解压缩。后缀 tar .gz

-j

以 bzip2 的格式进行压缩或者解压。如果与 c 结合,就是压缩,如果与 x 结合就是解压缩, 后缀 tar .bz2

-f

表示要操作的文件,一般放在所有参数最后面

-C

将压缩文件解压到指定路径

格式: tar 指令 文件

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

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

相关文章

【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练

【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练 【论文原文】:CLEVE: Contrastive Pre-training for Event Extraction 【作者信息】:Wang, Ziqi and Wang, Xiaozhi and Han, Xu and Lin, Yankai and Hou, Lei and Liu, Zhiyuan and Li, Peng and …

【离散数学】3. 代数系统

1.数理逻辑 2. 集合论 3. 代数系统 4. 图论 代数系统:把一些形式上很不相同的代数系统,用统一的方法描述、研究、推理,从而得到反映出他们共性的一些结论,在将结论运用到具体的代数系统中 系统:运算研究对象 运算&…

薪资9k!三年教培老师被优化,选择转行软件测试实现再就业

大学毕业后,我在一家教培机构当了三年的高中英语老师。只是后来我怎么也没想到,这三年间形成的社交圈子和职场经验,仅仅用了三个月便发生了天翻地覆的变化。 ——贵阳校区优秀学员 小Z 01.初入职场 2019年的初夏,我和众多应届毕…

利用redis实现缓存、发布订阅、分布式锁功能

Redis是一个内存键值存储数据库,通常用于缓存、会话管理、消息队列等场景。以下是一些常见的Redis使用场景:1.缓存:将常用的数据缓存在Redis中,以减少对数据库的访问次数,提高应用程序的性能。2.会话管理:使…

用Python采集热门城市景点数据并简单制作数据可视化图

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 模块使用: 爬虫部分: requests parsel csv 数据分析部分: pandas pyecharts 如何安装模块: win R 输入 cmd 输入安装命令: pip install 模块名 回车 pycharm里面安装 terminal 输入安装命令…

OSI七层网络模型

应用层 定义了各种应用协议规范数据格式:HTTP协议、HTTPS协议、FTP协议、DNS协议、TFTP、SMTP等等。 表示层 翻译工作。提供一种公共语言、通信。 会话层 1、可以从校验点继续恢复数据进行重传。——大文件 2、自动收发,自动寻址的功能。 传输层 1、…

Qt下实现不规则形状窗口显示

文章目录前言一、资源文件的添加二、初始化窗口三、重写paintEvent函数实现窗口重绘四、重写QMouseEvent相关函数实现不规则窗口的移动及关闭五、demo完整代码六、下载链接总结前言 本文实现了Qt下显示两个不规则形状的窗口demo,其中有Qt的窗口对话框和QPaintEvent…

基于minikube快速搭建kubernetes单节点环境

一、说明 本文主要介绍在 Centos7 环境下基于 Minikube 来快速部署 Kubernetes 单节点集群环境,并在浏览器上访问部署在 k8s 上的 dashboard 服务。 二、Minikube 介绍 Minikube 是一个基于go语言开发,易于在本地运行 Kubernetes 的工具,可…

《mysql技术内幕:innodb存储引擎》笔记

任何时候Why都比What重要;不要相信任何的“神话”,学会自己思考;不要墨守成规,大部分人都知道的事情可能是错误的;不要相信网上的传言,去测试,根据自己的实践做出决定;花时间充分地思考,敢于提出质疑。1.MYSQL被设计为一个单进程多…

(三十七)vue 项目中常用的2个Ajax库

文章目录axios实现vue-resource实现上一篇:(三十六)Vue解决Ajax跨域问题 先看一个github搜索案例 有一个搜索框,输入相关用户名,就能模糊搜索出用户,展现到下方 第一步:我们用到了第三方样式库…

36、基于51单片机频率计 LCD 1602显示系统设计

摘要 数字频率计是一种基本的测量仪器。它被广泛应用于航天、电子、测控等领域,还被应用在计算机及各种数学仪表中。一般采用的是十进制数字,显示被测信号频率。基本功能是测量正弦信号,方波信号以及其他各种单位时间内变坏的物理量。由于其…

【沐风老师】为你推荐18个免费3dMAX插件和脚本

在所有 3D 软件中,3dMax的历史特别引人注目,有许多有趣的里程碑和突破点。自 1990 年推出以来,3dMax 一直是Autodesk公司的支柱产品之一。作为行业标准,它是高端项目和各种高级用途的首选 3D 软件之一。 如果你已经在使用3dMax&a…

一站式元数据治理平台——Datahub入门宝典

随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程。作为新一代的元数据管理平台,Datahub在近一年的时间里发展迅猛,大有取代老牌元数据管理工具Atlas之势。国内Datahub的资料非常少,大部分公司想使用Datah…

大数据开发-数据仓库介绍

目录标题1、数据仓库1.1 数仓为何而来?1.2 数据仓库的主要特性1.3 数据仓库与数据库的区别1.4 数据仓库三层架构1.5 实战-美团酒旅数仓建设1.6 ETL、ELT1.6.1 ETL1.6.2 ELT1、数据仓库 数据仓库Data Warehouse 简称DH,数据仓库的目的是构建面向分析的集…

Centos7.9源码编译安装dpdk

近日遇到一个需求,需要在Centos7.9上源码编译安装dpdk-21.11.2,并且dpdk的安装目录为/opt/。安装过程较为复杂,特此记录一下,方便日后查看。 相关配置参数编译环境虚拟机Centos7.9内核版本3.10.0-957dpdk版本21.11.2DPDK是INTEL公…

Java并发编程面试题——JUC专题

文章目录一、AQS高频问题1.1 AQS是什么?1.2 唤醒线程时,AQS为什么从后往前遍历?1.3 AQS为什么用双向链表,(为啥不用单向链表)?1.4 AQS为什么要有一个虚拟的head节点1.5 ReentrantLock的底层实现…

组合实现多类别分割(含实战代码)

来源:投稿 作者:AI浩 编辑:学姐 摘要 segmentation_models_pytorch是一款非常优秀的图像分割库,albumentations是一款非常优秀的图像增强库,这篇文章将这两款优秀结合起来实现多类别的图像分割算法。数据集选用CamVid…

Java实现JDBC工具类DbUtils的抽取及程序实现数据库的增删改操作

封装DbUtils 工具类 不知道我们发现没有,不管是对数据库进行查询,还是标准的JDBC 步骤,其开端都是先实现JDBC 的加载注册,接着是获取数据库的连接,最后都是实现关闭连接,释放资源的操作。那我们何不直接把…

起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发了,所以面了很多P…

【Python】用sympy判断函数的单调性和极值

文章目录单调性和奇异性连续性、极值、周期、不动点单调性和奇异性 sympy.calculus.singularities提供了4个关于单调性判定的函数,分别是 is_decreasing(expr, interval, symbolNone) is_increasing(expr, interval, symbolNone) is_strictly_decreasing(expr, in…