【Linux】Linux基础与常用指令大全

文章目录

  • 操作系统是什么?
  • 1. Linux家族介绍
  • 2. Linux的安装方式
  • 3. 常用指令
    • 3.1 ls [选项] [目录/文件](显示目录或文件信息)
    • 3.2 pwd(显示当前所在目录)
    • 3.3 任意指令加上 --help(查看指令的用法)
    • 3.4 cd 目录名(切换目录)
    • 3.5 touch 文件名(创建普通文件)
    • 3.6 mkdir 目录名(创建目录)
    • 3.7 rmdir 目录名(删除空目录)
    • 38. rm -rf 文件或目录
    • 3.9 man 指令名
    • 3.10cp [-rf] 源文件或目录 目标文件或目录(拷贝)
    • 3.11 mv [-f] 源文件或目录 目标文件或目录(剪切)
    • 3.12 which(查看指令路径)
    • 3.13 tree(以树状结构显示目录)
    • Ctrl + c终止任何情况
    • 3.14 >(输出重定向)
    • 3.1 cat [选项] 文件(查看文件内容)

学习linux的重点不是学习敲linux的命令,重点是学习相关的知识,命令多敲就会了,反而是周边知识是基础、是重点,能提高专业素养。

操作系统是什么?

是一款进行软硬件资源管理的软件,操作系统在计算机中的层次:

  1. 最底层是硬件,如cpu、内存、硬盘、显示器和键盘等;
  2. 硬件之上是设备驱动,比如声卡、网卡驱动;
  3. 设备驱动之上就是操作系统了,比如Windows、linux和macos等;
  4. 操作系统之上是用户最熟悉的应用软件,比如浏览器、QQ、office等。

1. Linux家族介绍

在这里插入图片描述

Linux是一款开源的操作系统,Linux只是一个总称,大体上来讲,Linux分为两个生态体系,redhat和debian。商业版本以redhat为代表,开源社区版本则以debian为代表。

Redhat旗下的发行版本:

  1. redhat :红帽自家服务器,商用而非免费,主要针对企业市场的商业 Linux 发行版。
  2. centos :基于红帽重新封装的去掉版权信息的免费版本,专门用于用于企业和服务器。
  3. fedora :基于红帽社区支持的桌面版,里面的包是红帽的实验版本,相对较新,它在技术上领先,但不长期支持。

Debian旗下的发行版本:

  1. debian :debian自家纯净系统,一般来说Debian作为适合于服务器的操作系统,它比Ubuntu要稳定得多。
  2. Ubuntu : 在debian系统上封装了许多工具,Ubuntu有着漂亮的用户界面,但这也决定了它最佳的应用领域是桌面操作系统而非服务器操作系统。
  3. Kali : Kali Linux 前身是 BackTrack(基于ubuntu),是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具。
  4. Linux Mint:也是基于 Debian 和 Ubuntu 的,提供了额外的多媒体支持和美化。

也还有其他体系,不过不常见。目前这么多发行版中,CentOS和Ubuntu用的较多。

2. Linux的安装方式

  1. 双系统:在windwos系统的基础上再装一个linux(不推荐,千万别这么做)。
  2. 虚拟机:装一个虚拟机软件(vm ware或者virtual box),下载好linux系统文件,在虚拟机软件中安装linux(推荐,有时间可以搞搞,许多人学习过程是这样做的)。
  3. 云服务器:云服务器esc或者轻量级应用服务器(也称轻量级云服务器),墙裂推荐,比较方便。可以先在阿里云或腾讯云、或华为云等厂商那去试用1或3个月,用于学习没有问题。

最后下载一个xshell,这个是连接服务器的软件,用以下命令连接:ssh root@要连接的服务器公网ip,最后输入密码就可。

我这不提供软件下载链接,大伙自己去找,初学者也可锻炼下自己的检索能力。不过如果有使用虚拟机方式安装的,推荐用vmware,安装后网上或B站找激活码激活就行,linux系统文件推荐在这里下载:itellyou,自己直接搜这个,防止大伙下到魔改版或者盗版。

3. 常用指令

3.1 ls [选项] [目录/文件](显示目录或文件信息)

作用是显示目录下或当前目录下的文件信息,常用选项很多,以下只随便列出几条常用的:

  1. -a:列出所有文件,包括以.开头的隐藏文件;
  2. -l:列出文件详细信息;
  3. -R:递归列出目录下所有文件。

还有很多选项,我就不举例了,这样一堆列下来学起来没意思,大伙自己去搜。

举例:ls -a、ls -l(或ll)、ls -la(ll -a),在当前目录就直接输就行,指定目录的话后面跟上目录的路径,比如ls /test/dir。
在这里插入图片描述
在这里插入图片描述
蓝色说明是目录,白色是普通文件。-l选项显示详细信息,这些信息都很重要,以后会有介绍,这里从左往右简单地说下大概都是什么。这些信息表达有文件类型和该文件哪些人有哪些读写权限(不同用户对于该文件可以有不同权限)、该文件的所属者和所属组、文件大小和更新日期等。

3.2 pwd(显示当前所在目录)

在这里插入图片描述
~代表用户家目录,顾名思义就是用户目录。而Linux是一个多用户的操作系统(后面介绍创建其它普通用户指令),每个用户都有自己的用户家目录。

/是Linux根目录,根目录下的子目录都有自己的作用,大伙可以自己去搜索下:
在这里插入图片描述

3.3 任意指令加上 --help(查看指令的用法)

有些指令很多选项,这样查看会列出很多,不要惊慌,比如ls --help:
在这里插入图片描述

3.4 cd 目录名(切换目录)

常用操作:

  1. 回到上级目录:cd …(两个点…就代表上级目录,一个点.代表当前目录,其实.和…就是隐藏的文件,可以用ls带上-a选项查看到)
    在这里插入图片描述

  2. 使用绝对路径切换目录,只要存在且有权限操作,不管当前在任何目录下,都可以随便切换,比如当前在用户家目录下执行cd /usr切换到根目录下的usr目录:
    在这里插入图片描述

  3. 使用相对路径切换目录,相对路径相对的是当前所在目录,这里涉及到前面说的.和…。例如我想要进入到当前目录下的111目录:
    在这里插入图片描述
    这个./其实可以省略,默认就代表当前目录下:
    在这里插入图片描述
    当前我在111目录,我想切换到上级目录下的dir目录:
    在这里插入图片描述

  4. 进入用户家目录:cd ~或cd
    在这里插入图片描述

  5. 返回最近访问的目录:cd -(这个非常好用,比如我上次是在一个很深的目录下,然后我现在又是在别的离得较远的目录,那我想返回去就要敲很多目录名,太麻烦)。

3.5 touch 文件名(创建普通文件)

在这里插入图片描述
linux中不用后缀区分普通文件,都是普通文件的情况下,data.txt、data、data.a、data.abcd管什么后缀都一样。这里要说清楚的是,linux不用后缀区分文件类型,但不代表linux中安装的软件不区分,例如gcc编译器,你要是编译非.c或.cpp的文件,那肯定不行。

ls -l显示详细信息可以查看是什么文件类型,最前面的-表示是普通文件,d表示是目录,linux总共有7中文件类型,另外还有几种后续都很常用,这里先不做介绍。目前也可以通过文字颜色判断类型,白色是普通文件,蓝色是目录。
在这里插入图片描述

3.6 mkdir 目录名(创建目录)

在这里插入图片描述
创建多级目录用-p选项:
在这里插入图片描述

3.7 rmdir 目录名(删除空目录)

rm即remove缩写,rmdir只能删除空目录,不能删除非空目录(目录下还有其它子目录或文件)或普通文件。如果想删除非空目录,加上-p选项。

删除空目录:
在这里插入图片描述
不加-p选项不能删除非空目录:
在这里插入图片描述
删除非空目录,要注意-p的使用方式,它代表的是当子目录为空时顺便删除父目录,所以直接删除父目录是不能全部删除的,必须删除最深的那个子目录,删除后当上级目录下为空时才删除这个上级目录:
在这里插入图片描述

38. rm -rf 文件或目录

可以删除普通文件和空目录,如果想要删除非空目录,加上-r选项删除目录下与其下所有文件。一般还会加上-f,表示即便是只读文件(不能修改)也可以直接删除。
在这里插入图片描述

3.9 man 指令名

这个类似–help,是一个联机手册。man不仅仅是查看指令的用法,还可以查看系统调用、以及库函数等,比如man printf、man ls。
在这里插入图片描述
man手册分为8章,能查的东西很多,如普通命令、系统调用、库函数、文件格式等,man最经常查的是系统调用。

3.10cp [-rf] 源文件或目录 目标文件或目录(拷贝)

cp -rf src dest
-r即recurse,表示递归处理,将目录下的子文件和目录一起处理。
-f即force,强行复制文件或目录,不论这个目标文件或目录是否存在。

src(源)和dest(目标)都可以是相对路径或绝对路径,拷贝到目标文件顺便还可以顺便重命名。
在这里插入图片描述
在这里插入图片描述

3.11 mv [-f] 源文件或目录 目标文件或目录(剪切)

mv -f src dest

  1. 如果是剪切到同一个目录下,那功能就相当于重命名;
    在这里插入图片描述
  2. 剪切到不同目录下才是剪切。
    在这里插入图片描述
  3. 当然也可以同时剪切和重命名。
    在这里插入图片描述

3.12 which(查看指令路径)

指令本质也是程序。
在这里插入图片描述
alias是对指令重命名,暂时不用管这个指令。

3.13 tree(以树状结构显示目录)

没有的话就需要安装tree指令:yum install -y tree
在这里插入图片描述linux的文件系统是一颗多叉树,只有一个盘符。windows的文件系统也是多叉树,只不过windows可以有多个盘符,windows的文件系统也是森林结构。

Ctrl + c终止任何情况

如果用tree或cat指令查看,打印内容太多停不下来,那就试试ctrl + c。

3.14 >(输出重定向)

3.1 cat [选项] 文件(查看文件内容)

常用选项:
-b:对非空行输出行号;
-n:输出所有行号;
-s:不输出多行空行。

未完待续。。。

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

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

相关文章

半导体材料(一)

本篇为西安交通大学本科课程《电气材料基础》的笔记。 本篇为这一单元的第一篇笔记,下一篇传送门。 半导体是导电能力介于均属导体和绝缘体之间的固体材料。 半导体基本特征 室温下其电阻数量级约为 1 0 − 6 ∼ 1 0 8 Ω ⋅ m 10^{-6}\sim10^{8}\mathrm{\Omega…

玩steam游戏提示缺少dll文件怎么办,总结5种解决方法

在尝试运行您所期待已久的Steam平台上的某款精彩游戏时,您可能遭遇了一个令人颇为困扰的问题:系统提示“Steam游戏缺少dll文件,游戏无法启动”。为了解决这个问题,我总结了以下五种解决方法,希望能帮助到遇到类似问题的…

用three.js做一个3D汉诺塔游戏(下)

本文由孟智强同学原创。 接上期:《用three.js做一个3D汉诺塔游戏(上)》 在上一期,我们成功地搭建了基础的 3D 场景。在本期中,我们将对场景进行优化,使其在视觉上更加真实,并为场景中的物体添加…

【数据结构】【C++】AVL树的模拟实现(插入、判断、旋转)

文章目录 1 概念2 实现2.1 AVL树结点的定义2.2 AVL树的插入2.2.1 AVL树的插入规则2.2.2 旋转2.2.2.1 左单旋2.2.2.2 右单旋2.2.2.3 左右双旋2.2.2.4 右左双旋 2.2.3 总结 3 平衡判断4 删除5 源码 1 概念 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二…

论文速读:Do Generated Data Always Help Contrastive Learning?

在对比学习领域,最近很多研究利用高质量生成模型来提升对比学习 给定一个未标记的数据集,在其上训练一个生成模型来生成大量的合成样本,然后在真实数据和生成数据的组合上执行对比学习这种使用生成数据的最简单方式被称为“数据膨胀”这与数据…

案例三 BeautifulSoup之链家二手房

本案例用到列表,函数,字符串等知识点,知识点参考链接如下: python基础知识(一)&输入输出函数 python基础知识(二)&基本命令 python基础知识(三)&…

如何在Linux通过docker搭建Plik文件系统并实现无公网IP管理内网文件

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者…

盒子模型+响应式布局 + 原型链与继承

盒子模型 是什么 css布局基础,规定了元素在页面上如何呈现,以及元素之间的空间关系 由content paddingbordermargin四部分组成 为什么 盒子模型分为 标准盒子模型: 元素的宽度与高度 只包括content IE盒子模型: 元素的宽度与高度 包括content,padding,border 在实际操作中…

Python实现时间序列ARIMA模型(附带超详细理论知识和完整代码实现)

文章目录 0 结果1 介绍2 建模2.1 预备知识2.1.1 ADF检验结果(单位根检验统计量)2.1.2 差分序列的白噪声检验(这里使用Ljung-Box检验)2.1.3 ARIMA模型(差分整合移动平均自回归模型)的三个参数:p,…

如何在横向渗透攻击中寻到一线生机

横向渗透,作为计算机网络中的一种攻击技术,展现出了攻击者如何巧妙地利用同一级别系统间的漏洞和弱点,扩大其网络访问权限。与纵向渗透不同,横向渗透不关注权限的垂直提升,而是更侧重于在同一层级内扩展影响力。 横向…

【教程】将Vue项目打包为exe项目的教程-我的第一个原生Vue项目

文章目录 前言项目介绍正文:Vue打包exe过程及注意事项1. (重要)进入我们自己的项目,修改公共路径为相对路径2. (重要)关于VueRouter的必要修改3. 前端打包4. 拉取electron-quick-start项目5. 修改配置文件6…

【Excel】使用VBA宏简单自定义Excel软件界面

改行做经济师学习Excel,偶有心得,摘录于此,备忘。 言简意赅,仅供自用。 1 实现效果 在Excel的左上角可添加按钮,该按钮的功能可由我们自己通过编写代码定义,能实现特定功能,并且在所有打开的…

Java算法之时间复杂度和空间复杂度的概念和计算

1. 算法效率 如何去衡量一个算法的好坏? 通常我们从时间效率和空间效率两个方面去分析算法的好坏。时间效率即时间复杂度,空间效率被称为空间复杂度。时间复杂度主要是衡量一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间…

业务与数据的终极对决:如何让大数据成为企业的超能力?

在数字化转型的浪潮中,企业如同在茫茫数据海洋中航行的船只,而数据资产管理就是指引航向的罗盘。但是,当业务需求与数据脱节、数据孤岛林立、业务流程与数据流程不同步、以及业务增长带来的数据管理挑战成为阻碍,我们该如何突破重…

transformer上手(7)—— 快速分词器

1 快速分词器 Hugging Face 共提供了两种分分词器: 慢速分词器:Transformers 库自带,使用 Python 编写;快速分词器:Tokenizers 库提供,使用 Rust 编写。 特别地,快速分词器除了能进行编码和解…

单链表链表专题

1 链表的概念 概念:链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表的结构跟⽕⻋⻋厢相似,淡季时⻋次的⻋厢会相应减少,旺季时⻋次的⻋厢会额外增加⼏节。只 需要…

Redis实现延迟任务的几种方案

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 1.前言 2.Redis如何实现延迟任务? 3.代码实现 3.1. 过期键通知事…

技术速递|为 .NET iOS 和 .NET MAUI 应用程序添加 Apple 隐私清单支持

作者:Gerald Versluis 排版:Alan Wang Apple 正在推出一项隐私政策,将隐私清单文件包含在针对 App Store 上的 iOS、iPadOS 和 tvOS 平台的新应用程序和更新应用程序中。请注意,至少目前 macOS 应用程序被排除在外。 隐私清单文件…

这部经典之作,时隔六年迎来重磅升级!

🍅 作者简介:哪吒,CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪 🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师 🍅 技术交流:定期更新…

Niobe WiFi IoT开发板OpenHarmony内核编程开发——Semaphore

本示例将演示如何在Niobe WiFi IoT开发板上使用cmsis 2.0 接口进行信号量开发 Semaphore API分析 osThreadNew() osThreadId_t osThreadNew(osThreadFunc_t func, void *argument,const osThreadAttr_t *attr )描述: 函数osThreadNew通过将线程添加到活动线程列表…