初识Linux篇:第二篇

news2024/12/28 23:15:09

初识Linux:第二篇

  • 初识Linux:第二篇
    • 1.操作系统
    • 2.命令行
    • 3.Linux的基本指令
      • 3.1.ls指令
      • 3.2pwd指令
      • 3.3cd指令
      • 3.4touch指令
      • 3.5mkdir指令
      • 3.6.rmdir指令 && rm 指令
    • 4.yum中有趣的程序
      • 4.1小火车
      • 4.2牛
      • 4.3Linux_logo(企鹅)
      • 4.4在Linux上打开网页
  • 总结

初识Linux:第二篇

😁👉本篇主要介绍Linux的一些指令的应用👈

在这里插入图片描述


在学习Linux的基本指令之前,让我们先详细的认识一下操作系统和命令行的概念

1.操作系统

🤔什么是操作系统(OS)呢?

操作系统是一款进行软件资源与硬件管理软件

🤔🤔那么操作系统在计算机软硬件体系结构中大概在什么位置呢?

在这里插入图片描述

注意:计算机软件系统分为应用软件和系统软件,应用软件是在操作系统之上的;

🤔🤔🤔那么操作系统为什么不直接控制硬件?

因为,随着科技的发展,硬件变得越来越复杂,而且硬件的种类也越来越多,如果直接控制硬件的话,很繁琐,所以操作系统提供提供接口给硬件厂商,厂商根据这个接口自己写一个驱动程序用来控制他的硬件,当硬件厂商在更新自己的硬件的时候,需要再更新相应的驱动程序,而操作系统开发者就不需要针对每一款硬件来写一套操作系统核心,只需要用户安装硬件厂商的驱动程序,将驱动程序与操作系统核心进行 “连接” ,构成系统最底层,再通过相应的应用程序就能驱动硬件了;

在这里插入图片描述

🤔🤔🤔🤔为什么要有操作系统?

  • 操作系统通过对下进行软硬件资源的管理,达到对上提供更好的(安全,稳定,快速)操作环境;

  • 我们在计算机上的所有行为都会转化为硬件行为,那么操作系统就显得尤为重要,因为我们所有的应用软件行为都要自上而下贯穿计算机软硬件体系结构


在这里插入图片描述
比如玩游戏,你打开游戏软件,计算机操作系统给你分配资源,你的游戏数据发送给游戏服务器时,需要操作系统管理网卡的驱动程序,网卡的驱动程序进一步驱动网卡发送你的游戏数据给服务器;


2.命令行

🤔什么是命令行?

命令行(Command Line)又称命令行界面(Command Line Interface),(简称shell),是一个由用户通过字符的方式输入命令来操作电脑和执行程序的系统提示符。它是操作系统和用户之间的主要接口。通过命令行,用户可以对计算机系统执行各项操作,它不像图形界面那样有很好的视觉效果,而是直接给出一系列的文本命令,需要用户熟悉不同的键盘指令,执行某项操作。


🤔🤔为什么我们不用Linux图形化界面而选择命令行的方式?

因为大部分公司的后端是没有图形化界面的,我们是通过远程连接公司服务器工作,而且命令行的起源更早,所以命令行的学习很重要;
在这里插入图片描述


windows操作系统的命令行界面:powershell,或者快捷键 win+x 然后点击终端;
linux操作系统的命令行界面:xshell ;
👉这是xshell的安装链接:xshell下载

在这里插入图片描述

3.Linux的基本指令

首先打开服务器,打开xshell,登录ip等等,👉不熟悉的可以看看这篇教程:Linux环境的搭建😁;

xshell常用的快捷键

  • Alt+Enter 全屏和退出全屏
  • ctrl + L 清屏(或者直接输clear命令)
  • ctrl + insert 复制(ctrl+c不能用)
  • shift + insert 粘贴(ctrl+v不能用)
  • ctrl+d (2次)退出xshell
  • ctrl + 左右箭头 光标移动到上/下一个单词
  • ctrl + U 删除光标前所有字符
  • ctrl + K 删除光标后所有字符
  • ctrl + A 光标移动行首
  • ctrl + E 光标移到行末

🤔创建一个空文件需要占用磁盘空间吗?

在这里插入图片描述
首先,先了解一下什么是文件

  • 文件=文件属性+文件内容

因此,对文件的操作又分为对文件内容的操作(fwrite函数)和对文件属性的操作(rewind函数);


分析:那么对于空文件而言,文件内容是0kb,但是空文件也是有文件属性的,这些文件属性存储在文件分配表中,即使0字节的文件,也占用1簇的磁盘空间(这里的1簇=512字节);
注意:如果你以512字节为一簇,那么一个文件是1字节,那它在磁盘中也占用1簇大小,即512字节。如果一个文件是515字节,那么它在磁盘中将占用2簇大小,即1024字节。(文件存储以整簇为单位,多一个字节就进第二个簇);



3.1.ls指令

英文:list(列出的意思)的缩写,列出文件属性
语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息;
常用选项

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 显示当前目录信息(当前目录的名字),而不是显示其下的文件。 如:ls –d 指定目录;
  • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件(这个是-a -i两个选项的结合);
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件(这个是-a -i -k三个选项的结合);
  • -l 列出文件的详细信息;
  • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID);
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别);
  • -r 对目录反向排序;
  • -t 以时间排序;
  • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件;(递归)
  • -1 一行只输出一个文件;

那么ls到底干什么的呢?以windows举例,学习几个基本指令

1.ls命令:
注意不显示隐藏文件的文件名(以.开头的文件名就是隐藏件);
xshell中
在这里插入图片描述
windows中:

在这里插入图片描述


2.ls -l命令:
xshell中:
在这里插入图片描述
在这里插入图片描述
注释首字母是 ‘l’ 是链接型文件类型,首字母是 ‘d’ 表示目录型文件类型,首字符是 ‘-’ 表示普通文件类型;

windows中:
在这里插入图片描述


3.ls -a命令:
xshell:
在这里插入图片描述
这个目录下有隐藏文件的,在Linux中一切皆文件,目录也算文件

那么这深蓝色的一个.和…表示什么?

在这里插入图片描述
首字母是以 ‘d’ 开头是目录(文件) , . 表示当前目录,. . 表示上级目录,在Linux的任何一个目录下都会有 .和 .. 两个隐藏的目录;

windows中:
在这里插入图片描述


4.ls -d命令:
xshell:
在这里插入图片描述
那么ls -d的意思就是显示目录自身,而不显示其内容。所以使用 d 选项可以轻松的 查看当前目录或是指定目录的信息
在这里插入图片描述

在这里插入图片描述
windows下:
在这里插入图片描述


5.ls -F命令:
注意是大写的F;
xshell:
在这里插入图片描述
目录或文件后面的字符表示的意思:“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;

windows:
在这里插入图片描述
6.结合:
注意上述的指令可以相互结合,任意搭配使用
在这里插入图片描述


3.2pwd指令

语法: pwd
功能:显示用户当前所在的目录(显示路径);
常用选项

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

在这里插入图片描述

windows:
在这里插入图片描述

3.3cd指令

注意Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

在这里插入图片描述

英文:cd(change directory),表示进入目录
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
基本指令

  • cd .. :返回上级目录
  • cd /home/litao/linux/ : 绝对路径
  • cd ../day02/ : 相对路径
  • cd ~:进入用户家目
  • cd -:返回最近访问目录

1.cd指令
xshell:
在这里插入图片描述
普通文件cd是进不去的,一定要是目录;
在这里插入图片描述

windows:
双击进入指定目录;


2.cd .. 指令:
xshell:
一般用于退出本目录,进入上一目录;
在这里插入图片描述
windows:
返回上一目录;


3.cd 绝对路径
绝对路径:从根目录开始的路径;
相对路径:相对于本目录的上一个目录;
xshell:
在这里插入图片描述
windows:
在这里插入图片描述


4.cd 相对路径
xshell:
./:表示当前目录,也可进行定位;
../:表示上一级目录;
在这里插入图片描述
windows:
退回上一个目录,再进入上一个目录下的其他目录;


5.cd ~指令

🤔什么是家目录呢?

  • 对于普通用户:
    在这里插入图片描述
  • 对于root用户,它的家目录就是root目录;

xshell:

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

windows:
在这里插入图片描述

在这里插入图片描述


6.cd -指令
xhsell:
进入上一次所在路径;
在这里插入图片描述

3.4touch指令

语法:touch [选项]… 文件…
功能:在当前目录下创建一个文件;
常用选项

  • -a 或–time=atime或–time=access或–time=use只更改存取时间;
  • -c 或–no-create 不建立任何文档;
  • -d 使用指定的日期时间,而非现在的时间;
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
  • -m 或–time=mtime或–time=modify 只更改变动时间
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同;
  • -t 使用指定的日期时间,而非现在的时间;

我们现阶段先记住touch指令可以创建一个不存在的文件😐

xshell:
在这里插入图片描述
windows:
同理;


3.5mkdir指令

语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项

  • -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

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

🤔我们用mkdir -p 目录…,但是如何更清晰的看到我们创建的一串目录 (root账号才可以装)

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

在这里插入图片描述
tree的简单用法:tree 路径,可以看到这个路径下的所有的一串目录;


3.6.rmdir指令 && rm 指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
注意:linux下删了就真的没有了,所以要谨慎;

  1. rmdir指令:只能删除空目录
    在这里插入图片描述

  2. rm指令(remove):既可以删除目录,也可以删除文件;
    语法:rm [选项][dirName/dir]
    适用对象:所有使用者
    功能:删除文件或目录
    常用选项

    • -f --force 强制删除。忽略不存在的文件,不提示确认
    • -i 在删除前需要确认,其实root用户不写是有提示的;
    • -r 删除目录及其下所有文件

rm指令:
在这里插入图片描述
rm -f指令:
在这里插入图片描述
rm -r:
在这里插入图片描述

4.yum中有趣的程序

只能是根用户root才能下载

4.1小火车

下载程序:

yum install -y sl

输入sl指令:
在这里插入图片描述

4.2牛

下载程序:

yum install -y  cowsay

输入cowsay 字符串:
在这里插入图片描述

4.3Linux_logo(企鹅)

安装程序:

yum  -y  install linux_logo

输入linux_logo指令:
在这里插入图片描述

4.4在Linux上打开网页

下载程序:

yum  install  -y elinks

输入elinks 网页地址:
在这里插入图片描述
退出网页:
输入q (quit)选择yes:
在这里插入图片描述

总结

以上就是本篇的所有内容了,本篇主要介绍了几个基本的Linux指令,还有操作系统和命令行的概念,如果喜欢本篇,不妨点个❤️,下期见;

请添加图片描述

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

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

相关文章

【Spring全家桶与Mybatis】Spring环境下整合Mybatis(纯注解方式)

⭐️前面的话⭐️ 本文已经收录到《Spring框架全家桶系列》专栏,本文将介绍在Spring环境下整合mybatis。 📒博客主页:未见花闻的博客主页 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📌本文…

520快给你喜欢的女生发个表白软件吧!【手把手教学】

文章目录 项目介绍一、创建项目二、设计窗体三、添加事件总结 项目介绍 提示:这里可以添加本文要记录的大概内容: 开发工具:Visual Studio 2022 本项目是用C# Winform开发的一个小软件。 实现非常简单,下面看一下这个软件运行…

Vector - CAPL - CANoe硬件CANCANFD参数

如何更改与 CAPL 的 CAN 总线通信的波特率? 解决办法 通常我们常见的配置方法主要有两种方法可以使用 CAPL 更改波特率,使用函数 setBtr或使用 canSetConfiguration、canFdSetConfiguration。 1. setBtr(long channel, byte btr0, byte btr1) setBtr仅…

flink watermark介绍及watermark的窗口触发机制

Flink的三种时间 在谈watermark之前,首先需要了解flink的三种时间概念。在flink中,有三种时间戳概念:Event Time 、Processing Time 和 Ingestion Time。其中watermark只对Event Time类型的时间戳有用。这三种时间概念分别表示: …

[golang gin框架] 30.Gin 商城项目- 购物车商品确认页面以及收货地址的增删改查

一.界面展示 购物车页面 增加功能: 展示用户加入的购物车数据,并点击‘去结算’按钮, 判断是否选中商品 确认订单页面 展示 选中的购物车商品数据(商品标题,图片,数量等)以及 结算的数据(总的价格,总的数量…

【Spring】初识MyBatis (二)

(接上一篇【Spring】[初识MyBatis(一)]) 目录 1.2 根据用户名模糊查询用户信息2 添加客户3 更新用户4 删除用户 1.2 根据用户名模糊查询用户信息 【示例6-2】模糊查询的实现只需要在映射文件中通过元素编写相应的SQL语句&#x…

华为手机如何进入开发者模式?连接studio真机调试

对于安卓开发者来说,真机调试是非常好的选择,对电脑配置也没有过分的要求。如果采用Android Studio自带安卓虚拟机调试,真的很慢,一点都不友好。 真机调试的步骤:打开设置->关于手机->版本号,然后连…

并发编程12:AQS

文章目录 12.1 前置知识12.2 AQS入门级别理论知识12.2.1 是什么?12.2.2 AQS为什么是JUC内容中最重要的基石12.2.3 能干嘛?12.2.4 小总结 12.3 AQS源码分析前置知识储备12.3.1 AQS内部体系架构图12.3.2 AQS内部体系架构----AQS自身12.3.1 AQS内部体系架构…

一、H3C-NE实验-抓包实验

实验一:抓包实验(PING包) 实验拓扑结构图 1. 修改设备名称 步骤1:启动设备 步骤2:在路由器1,进入系统视图,并修改设备名称为R1 步骤3:在路由器2,进入系统视图&#xf…

【Java|基础篇】类和对象

文章目录 1. 前言2. 什么是面向对象3. 类的定义4. 类的实例化5. 对象的构造及初始化6. this引用7. 总结 1. 前言 本篇文章主要讲解了下面三个问题 类的定义和实例化构造方法this关键字 2. 什么是面向对象 众所周知面向过程和面向对象是两种重要的编程思想,而Java是属于面向…

C语言函数大全-- v 开头的函数

C语言函数大全 本篇介绍C语言函数大全-- v 开头的函数 1. va_start 1.1 函数说明 函数声明函数功能void va_start(va_list ap, last_arg);用于初始化一个 va_list 类型的变量,使其指向可变参数列表中的第一个参数 参数: ap: 一个指向 va_…

我的创作纪念日(个人感悟)

昨天2023年5月10日是我成为创作者的第128天纪念日,感谢CSDN官方的纪念信让我铭记这特殊的一天。 机缘 要说与CSDN的初次相遇,还是2022年的高考结束完的暑假,当时对于大学的学习没有什么概念,当初的高考志愿报的有计算机相关的专…

spring集成mybatis的原理

spring是怎样和mybatis继承的? 在idea里点mapper.queryOne()直接跳到了接口或xml,它究竟是怎样利用jdbc执行的? 我直接调用mapper.queryOne是怎么使用的sqlsession?怎么去connect的? mybatis是怎样根据mapper找到对应的…

【Java面试】Java并发基础(1)

文章目录 1. 可见性,有序性,原子性2. java中并发和并行3. 通常线程有哪几种使用方式? 1. 可见性,有序性,原子性 可见性(Visibility): 指一个线程修改了共享变量的值之后,其他线程能…

学习网络通信必备的DNS解析和Socket通信知识

OkHttp是一个开源的网络请求框架,由Square公司开发。它通过封装Java底层的HttpURLConnection和Okio等库,提供一个简单易用的API,让开发人员能够方便地向服务器发送HTTP/HTTPS请求,支持异步请求和响应回调,并提供丰富的…

未来已来, 新能源与IT的技术碰撞;学习Android车载开发的必然趋势

Android工程师前景 Android车载工程师扮演着关键的角色,他们致力于将最新的Android技术和汽车技术相结合,为汽车行业提供优质的产品。随着越来越多的汽车制造商投资于智能汽车技术和车联网技术,Android车载工程师成为了一个越来越重要的职业…

MATLAB实现二维稳态导热

MATLAB实现二维稳态导热 一、理论基础二、代码实现 一、理论基础 步骤: Step.1 二维模型传热控制微分方程的确定,具体推导可以在任何一本传热学的书中找到。 d 2 T d x 2 d 2 T d y 2 0 \frac{d^{2}T}{dx^{2}}\frac{d^{2}T}{dy^{2}}0 dx2d2T​dy2d2T…

Ansible 自动化运维工具(一)——部署以及命令行模块

文章目录 一、 ansible 的概述1、ansible简介2.、官方网站3、ansible 的特点4、ansible的工作机制5、ansible的组成模块 二、ansible部署1、Asible的安装 三、ansible 命令行模块1、command 模块2、shell 模块3、cron 模块4、user 模块5、group 模块6、copy 模块7、file 模块8、…

【ros/ros2】ros1和ros2的区别-要点记录

dds data distribution service,数据分发服务 rcl ros client libraries,ros客户端库文件 rmw ros middle ware interface,ros中间件接口 lcn life cycle node,生命周期节点,受控节点 lmn lifecycle manageme…

C++二叉树递归方法存入和三种递归方法读出(前序,中序,后序)

#include <stdio.h> #include <malloc.h> typedef struct op //定义子树结构 { int data; struct op *lchild; struct op *rchild; }treestruct; treestruct *createtree() //这里这种表达形式意思是bittree类型的函数 最终要返回bitt…