001 linux 导学

news2024/11/19 20:04:44

前言

本文建立在您已经安装好linux环境后,本文会向您介绍Shell的一些常用指令

什么是linux

Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发
布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统,并在全球范围内得到了广泛的使用和支持。Linux具有稳定、安全、灵活和可定制的特点,被广泛应用于个人计算机、服务器、移动设备和嵌入式系统等领域。(关于linux的发展历史还有许多,这里不一一列出)
Linux的主要组成部分:
内核(Kernel):Linux内核是操作系统的核心部分,负责管理硬件设备、内存管理、进程管理、文件系统等底层功能。它提供了与硬件交互的接口,使得应用程序可以在硬件上运行。

Shell:Shell是用户与操作系统交互的接口,可以通过命令行界面(如Bash、Zsh等)或图形界面(如GNOME、KDE等)来操作和管理系统。Shell提供了一系列命令和脚本语言,用于执行各种操作和管理任务。

文件系统(File System):Linux支持多种文件系统,如Ext4、XFS、Btrfs等。文件系统负责管理文件和目录的存储、组织和访问,提供了对文件的读写、复制、删除等操作。

应用程序和工具:Linux操作系统拥有丰富的开源应用程序和工具,如文本编辑器(如Vim、Emacs)、办公套件(如LibreOffice)、图形处理工具(如GIMP)、网络工具(如Firefox、Chrome)、编程工具(如GCC、Python)等。这些应用程序和工具可以满足不同用户的需求。

图形界面(Graphical User Interface,GUI):Linux提供了多种图形界面,如GNOME、KDE、Xfce等,使得用户可以通过图形化方式操作和管理系统,而不仅仅依赖于命令行界面。

Shell

首先先向您介绍Shell(用户与操作系统交互的接口)
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。
而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?
从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

帮助理解:如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且有让你心动的MM小花。你看上了小花,但是有不好意思直接表白,那就让你你家人找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash

基础命令行操作

添加新用户

adduser + (用户名) 输入密码:passwd +(用户名)

在此之前,先看几个概念
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
在这里插入图片描述
/ :根目录是整个文件系统的顶级目录,用符号/表示。它是文件系统中所有其他目录和文件的起点。
/user目录是存放用户相关文件的位置,该目录下包含了用户的主目录,个人设置,文档,下载文件等。具体来说,/user目录下的/user/bin存放用户可执行的命令,/user/lib存放共享库文件
/bin:目录是存放二进制可执行文件的位置
/etc:存放系统配置文件的位置,该目录存放着许多重要的配置文件
/dev目录是存放设备文件的位置。设备文件是用来与硬件设备进行交互的借口,包括磁盘驱动器。串口。usb设备、打印机等。

cd

cd . . : 返回上级目录 cd /home/litao/linux/ : 绝对路径 例如:进入dir2目录下的MyFile目录里的dir目录

在这里插入图片描述
在这里插入图片描述

cd . . /day02/ : 相对路径

. .表示上级目录,表示在目前目录中的上级目录中的day02
例如:当前我们处于dir2目录下的MyFile目录中的dir1目录下
我们想要到MyFile目录下的dir目录中

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cd ~:进入用户家目录

一般地我们进入用户家目录存放相关文件
(tips:su + 用户名,切换到普通用户,下一篇文章会涉及)
在这里插入图片描述

cd -:返回最近访问目录

pwd

作用: 显示当前用户所在目录

touch

用法:touch + 文件名 作用:创建文件

mkdir

用法:mkdir + 目录名 作用:创建目录

tips:可以根据第一列的文件属性,d就是目录,-就是普通文件
(关于文件属性,下一篇文章会涉及)
在这里插入图片描述

rmdir指令与rm指令

用法:

rmdir [-p] [dirName]
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm [-f-i-r-v] [dirName/dir]
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

mv

用法:mv [选项] 源文件或目录 目标文件或目录

作用:mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录

1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

在这里插入图片描述

2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

在这里插入图片描述

3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

cp

语法:cp [选项] 源文件或目录 目标文件或目录 功能: 复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,
则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存
在的目录,则会出现错误信息
常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
将test1文件copy到dir2目录下
在这里插入图片描述
将整个MyFile目录copy到dir2目录下
在这里插入图片描述

cat

语法:cat [选项] [文件] 功能: 查看目标文件的内容

常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
在这里插入图片描述

more

语法:more [选项] [文件] 功能:more命令,功能类似 cat

常用选项:
-n 对输出的所有行编号
q 退出more

less

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件
功能:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前
不会加载整个文件。

head

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的
开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

语法: head [参数]… [文件]…
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

选项
-n<行数> 显示的行数

输出重定向 >

tips : echo打印
将echo本应打印在显示屏上的内容输入到文件中(输入前会先清空原文件内容)
在这里插入图片描述

追加重定向 >>

在这里插入图片描述

tail

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项:
-f 循环读取
-n<行数> 显示行数

|管道

以下是一个test.txt文件里的内容
要求输出最后倒数五行的前三行
在这里插入图片描述
在这里插入图片描述
我们可以通过管道 | 来完成这件事
相当于 输出 | 输入( | 前输出到 | 后处理)

uniq去重

用法:uniq + 文件名
作用:对相邻的信息进行压缩
在这里插入图片描述

sort

用法:sort + 文件名 作用: 对文件进行排序

wc - l

用法:wc -l +文件名 作用:统计一个文件的行数

在这里插入图片描述

find

Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。

语法: find pathname -options
在这里插入图片描述

man

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
语法: man [选项] 命令

小结

本文主要介绍了关于Shell的一些基础指令,关于linux更加深入的内容将会在接下来介绍。如果文本存在疏漏或错误的地方,还请您能够指出。

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

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

相关文章

TypeScript 从入门到进阶之基础篇(一) ts类型篇

系列文章目录 文章目录 系列文章目录前言一、安装必要软件二、TypeScript 基础类型1.基础类型之 数字类型 number2.基础类型之 字符串类型 string3.基础类型之 布尔类型 boolean4.基础类型之 空值类型 void5.基础类型之 null 、undefined类型6.基础类型之 任意类型 any &#x…

Dell戴尔笔记本电脑灵越系列Inspiron 5598原厂Windows10系统2004

戴尔灵越原装出厂系统自带显卡、声卡、蓝牙、网卡等所有驱动、出厂主题壁纸、系统属性戴尔专属LOGO标志、Office办公软件、MyDell等预装程序 链接&#xff1a;https://pan.baidu.com/s/1VYUa7u0-Az4c9bOnWV9GZQ?pwd550m 提取码&#xff1a;550m

常见的查找算法以及分块搜索算法的简明教程

顺序查找 最基本的查找算法 举例 // 顺序查找public static int searchSequence(int[] arr, int target) {int i 0;for (int arr2 : arr) {if (arr2 target) {return i;}i;}return -1;}二分查找 [! warning] 值得注意的是这个二分查找算法只对无重复元素的递增或递减的数组有…

常用的辅助类(必会)

1.CountDownLatch package com.kuang.add;import java.util.concurrent.CountDownLatch;//计数器 减法 public class CountDownLatchDemo {public static void main(String[] args) throws InterruptedException {//总数是6&#xff0c;必须要执行任务的时候&#xff0c;再使用…

ARM接口编程—ADC(exynos 4412平台)

ADC简介 ADC ADC(Analog to Digital Converter)即模数转换器&#xff0c;指一个能将模拟信号转化为数字信号的电子元件 ADC主要参数 分辨率 ADC的分辨率一般以输出二进制数的位数来表示&#xff0c;当最大输入电压一定时&#xff0c;位数越高&#xff0c;分辨率越高&#xf…

全国职业技能大赛云计算--高职组赛题卷①(私有云)

全国职业技能大赛云计算--高职组赛题卷①&#xff08;私有云&#xff09; 第一场次题目&#xff1a;OpenStack平台部署与运维任务1 基础运维任务&#xff08;5分&#xff09;任务2 OpenStack搭建任务&#xff08;15分&#xff09;任务3 OpenStack云平台运维&#xff08;15分&am…

LC142. 环形链表 II

题目大意 给你一个链表&#xff0c;要求判断是否有环&#xff0c;若有环&#xff0c;找出环的入口结点。 142. 环形链表 II 判断是否有环 判环比较简单&#xff0c;用一个一次走一个结点的快指针&#xff0c;和一个一次走一个结点的慢指针同时遍历链表&#xff0c;若两指针相…

第一个Three的demo实例

Three的第一个Demo 前言效果图1、导入threejs2、创建场景3、创建相机4、创建渲染器5、创建几何图形6、创建材质7、创建网格8、将网格添加到场景中9、设置相机的位置10、渲染11、整体代码 前言 创建第一个demo实例—旋转的方格 效果图 1、导入threejs import * as THREE from…

漏洞赏金猎人开源工具集合,自动辅助渗透测试工具

漏洞赏金猎人开源工具集合&#xff0c;自动辅助渗透测试工具。 公开收集的一个国外白帽子用的比较多的开源工具列表 这是一款半自动渗透测试的工具&#xff0c;当前版本多用于渗透测试的信息搜集&#xff0c;每周保持更新&#xff0c;最终的目标是类似于linpeas的全自动渗透测…

直接插入排序、希尔排序详解。及性能比较

直接插入排序、希尔排序详解。及性能比较 一、 直接插入排序1.1 插入排序原理1.2 代码实现1.3 直接插入排序特点总结 二、希尔排序 ( 缩小增量排序 )2.1 希尔排序原理2.2 代码实现2.3 希尔排序特点总结 三、直接插入排序和希尔排序性能大比拼 !!!3.1 如何对比性能&#xff1f;准…

4款视频号数据分析平台!

很多人在做视频号的时候就会有创作参考的需求&#xff0c;那么你们知道视频号中有哪些数据平台&#xff1f;今天就和大家来分享一下 接下来就总结一下视频号数据平台有哪些&#xff1f;排名不分前后。 1&#xff1a;视频号助手&#xff08;channels.weixin.qq.com&#xff09…

旋转的正方体-第15届蓝桥杯第一次STEMA测评Scratch真题精选

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第151讲。 第15届蓝桥杯第1次STEMA测评已于2023年8月20日落下帷幕&#xff0c;编程题一共有6题&#xff0c;分别如下&a…

C 风格文件输入/输出---错误处理---(std::clearerr,std::feof,std::ferror,std::perror)

错误处理 清除错误 std::clearerr void clearerr( std::FILE* stream ); 重置给定文件流的错误标志和 EOF 指示器。 参数 stream-要重置错误标志的文件流 返回值 &#xff08;无&#xff09; 调用示例 #include <iostream> #include <cstdio>using names…

微服务保护-降级

个人名片&#xff1a; 博主&#xff1a;酒徒ᝰ. 个人简介&#xff1a;沉醉在酒中&#xff0c;借着一股酒劲&#xff0c;去拼搏一个未来。 本篇励志&#xff1a;三人行&#xff0c;必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》&#xff0c;SpringCloud…

『C语言进阶』指针进阶(二)

&#x1f525;博客主页&#xff1a; 小羊失眠啦 &#x1f516;系列专栏&#xff1a; C语言 &#x1f325;️每日语录&#xff1a;上天是公平的&#xff0c;有付出就有收获 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前言 在上篇指针进阶中&#xff0c;我们对字符指针、指针…

计网 - 图解OSI 七层模型 和 TCP/IP 四层模型

文章目录 OSI 七层模型TCP/IP四层模型图解 OSI图解 TCP/IP小结 OSI 七层模型 OSI&#xff08;开放系统互联模型&#xff0c;Open Systems Interconnection Model&#xff09;是一个用于理解和描述计算机网络体系结构的标准化框架&#xff0c;由国际标准化组织&#xff08;ISO&…

基于Xml方式Bean的配置-beanName个别名配置

SpringBean配置详解 Bean的基础配置 例如前文涉及到的配置文件 <bean id"userService" class"com.example.Service.Impl.UserServiceImpl"/>此时存储到Spring容器&#xff08;singleObjects单例池&#xff09;中的beanName是userService&#xf…

【Java】IDEA 将 Java 项目打包成 Jar 包

在工件中添加 JAR 构建&#xff08;Build&#xff09;工件&#xff0c;JAR 包会生成在 out 目录下

【系统架构】什么是集群?为什么要使用集群架构?

什么是集群&#xff1f;为什么要使用集群架构&#xff1f; 1.什么是集群&#xff1f;2.为什么要使用集群&#xff1f;2.1 高性能2.2 价格有效性2.3 可伸缩性2.4 高可用性2.5 透明性2.6 可管理性2.7 可编程性 3.集群的常见分类3.1 负载均衡集群3.2 高可用性集群3.3 高性能计算集…

Vue2+Vue3

文章目录 Vue快速上手Vue是什么第一个Vue程序插值表达式Vue核心特性&#xff1a;响应式 Vue指令v-htmlv-show 与 v-ifv-else 与 v-else-ifv-onv-bindv-forv-model指令修饰符 计算属性watch侦听器&#xff08;监视器&#xff09;watch——简写watch——完整写法 Vue生命周期 和 …