【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:不输出多行空行。

未完待续。。。

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

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

相关文章

ThinkPHP V5.1框架源码

源码下载地址:ThinkPHP V5.1.zip www WEB部署目录(或者子目录) ├─application 应用目录 │ ├─common 公共模块目录(可以更改) │ ├─module_name 模块目录 │ │ ├─common.php 模块函数文件 │ │ ├─controll…

一文掌握 React 开发中的 JavaScript 基础知识

前端开发中JavaScript是基石。在 React 开发中掌握掌握基础的 JavaScript 方法将有助于编写出更加高效、可维护的 React 应用程序。 在 React 开发中使用 ES6 语法可以带来更简洁、可读性更强、功能更丰富,以及更好性能和社区支持等诸多好处。这有助于提高开发效率,并构建出更…

线性表概念及顺序表的实现

文章目录 前言一、线性表1.定义2.特点3.一般线性表的抽象数据类型定义 二、线性表的顺序存储(顺序表)1.基本概念2.数组实现顺序表3.顺序表中基本操作的具体实现4.顺序表总结 总结 前言 T_T此专栏用于记录数据结构及算法的(痛苦)学…

MyBatis 源码分析系列文章导读

1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章。本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说明和演…

vue--数据代理与数据劫持

0.回顾Object.defineProperty()方法 let number 18let person {name:张三,sex:男,}Object.defineProperty(person,age,{// value:18,// enumerable:true, //控制属性是否可以枚举,默认值是false// writable:true, //控制属性是否可以被修改,默认值是fa…

通义灵码×西安交通大学携手打造“云工开物-高校训练营”,解锁 AI 时代编程学习与实战

作为大学生如何利用 AI “整活儿”?欢迎各位同学关注阿里云与西安交通大学计算机学院携手打造的“云工开物-高校训练营”,带你走近 AI 编程助手“通义灵码”。通义灵码是阿里推出的免费 AI 编程工具,拥有实时代码续写与优化、自然语言生成代码…

记一次对某高校微信小程序的漏洞挖掘

挖掘目标的部署在微信的资产(减少信息的收集,毕竟一般web站点没有账号密码不好进入后台,挖掘功能点少) 寻找目标的微信小程序(非原图) 招生小程序打不开,只能挖掘管理系统 进入后发现存在上报安全隐患功能,可以上传图片 准备上传…

浅谈Java21的新特性-虚拟线程

虚拟线程(Virtual Threads),又称为用户模式线程(User-Mode Threads)或纤程(Fibers),是一种高级线程模型,在Java等现代编程语言环境中引入,旨在简化并发编程并…

Vue的图片懒加载 vue-lazyload插件使用

图片懒加载是一种网页性能优化技术,页面加载时仅加载可见区域内的图像,图像只会在用户滚动或浏览到它们时才会被加载,而不是在页面一开始就全部加载。 优点 可以减少首页首次加载的数量,减少服务器的压力有占位图片来展示预加载动…

【面经】操作系统/Linux

1、计算机的五大单元 电脑的五大单元包括:输入单元、输出单元、控制单元、算数逻辑单元、存储单元五大部分。其中CPU占有控制、算术逻辑单元,存储单元又包含内存与辅助内存; 2、什么是操作系统 操作系统:负责管理协调我们计算机…

Qt QStyle详解

1.简介 QStyle类是 Qt 框架中用于控制应用程序界面元素外观的一个抽象基类。这个类提供了一种方式来定制窗口部件(widgets)的绘制和行为,可以通过改变主题或风格来更改应用程序的外观,而无需修改窗口部件本身的代码。 Qt包含一组…

python爬虫------- Selenium下篇(二十三天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…

剑指offer03:数组中重复的数组---leetcode:LCR 120. 寻找文件副本

设备中存有 n 个文件,文件 id 记于数组 documents。若文件 id 相同,则定义为该文件存在副本。请返回任一存在副本的文件 id。 示例 1: 输入:documents [2, 5, 3, 0, 5, 0] 输出:0 或 5提示: 0 ≤ docume…

Python中的定长参数和不定长参数:深入理解与应用

文章目录 1. 定长参数的基本使用2. 不定长参数的基本使用2.1 *args 的使用2.2 **kwargs 的使用 3. 参数的混合使用4. 参数的应用实例4.1 数据处理示例4.2 事件处理示例小彩蛋... 函数参数的灵活处理是编写高效、可读性强的代码的关键。下面将详细介绍定长参数和不定长参数的使用…

【代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III】

代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III 一、198.打家劫舍 解题代码C&#xff1a; class Solution { public:int rob(vector<int>& nums) {if (nums.size() 0) return 0;if (nums.size() 1) return nums[0];ve…

CAN帧中的ACK位

1&#xff1a;先看官方文档对ACK的解释 All nodes that have received the matching CRC sequence (and, in FD Frames the matching stuff count) shall send an ACK within the ACK slot by overwriting the recessive bit of the transmitter by a dominant bit (they send…

求圆、圆球和圆柱的面积和体积(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> //定义π常量的值&#xff1b; # define π 3.141526int main() {//初始化变量值&#xff1b;float r, h, S1, S2, P1, V1, V2;int judge 0;//提示用户&#x…

Python基于flask的豆瓣电影分析可视化系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

第一天练习

一.在系统中设定延迟任务要求如下 在系统中建立easylee用户&#xff0c;设定其密码为easylee [rootxixi /]# useradd easylee [rootxixi /]# passwd easylee Changing password for user easylee. New password:easylee BAD PASSWORD: The password is shorter than 8 charac…

python 实现方差检验

前面介绍的 z z z检验和 t t t检验主要用于对总体的均值进行假设检验&#xff0c;下面主要介绍对总体方差进行假设检验的方法。 一. 单个总体方差检验 设总体 X ∼ N ( μ , δ 2 ) X\sim N(\mu, \delta^2) X∼N(μ,δ2)&#xff0c; μ , δ 2 \mu,\delta^2 μ,δ2均未知&am…