Linux基础指令详解(1)

2023-12-16

操作系统的概念

百度百科

操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。 [12]

操作系统是人与计算机之间的接口,也是计算机的灵魂。 [14]

看到上面对操作系统概念的定义我们看到了操作系统的重要性,它是计算机的灵魂。

操作系统一般也由四个重要的组成部分构成,分别是 进程管理  文件管理  内存管理 驱动管理

操作系统的工作就是去把这四个部分协调起来进行执行。

我们再来看下面的这个图。

这个就是我们操作系统在计算机中的地位,我们又可以分为对硬件和对我们的用户。

什么是操作系统

我们知道我们现在的计算机有好多的作用,比如我们现在是可以用它来打游戏,这个操作我们是对用户的,我们也知道我们的计算机是由CPU,磁盘 ,硬盘,显示器等硬件组成,我们玩游戏的时候总不是用我们的手去扣这些硬件,要不然我们在峡谷的时候放个大招还有扣扣我们的CPU,那LOL总冠军就是那些手快的了对吧,所以我们的操作系统可以帮我们来完成这些。

那我们就可以将这些分为对上和对下

  1. 对上:给用户提供一个良好的,稳定的,高效的运行环境
  2. 对下:管理好底层的硬件

这个就是我们操作系统在计算机内充当的角色。

指令详解

这也是我们今天主要讲解的内容就是我们的指令部分,这里指令我们就讲经常用的几个指令。

1.ls指令

ls [选项] [文件或者目录]

ls : 显示该目录下的所有文件和目录

对于文件,会列出文件的详细信息

常用选项:

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

这是我们ls的后面加上的指令。我们来到我们的xshell上来看看。

我们首先什么都不干,直接ls来看看是个什么情况。

可以发现这个什么都没有,这是因为我们在当前路径下什么都没有,这就和我们在windows下创建一个新的目录,发现里面什么都没有。

这个就是在windows下的操作,那我们这里需要在用的指令就是在该目录下创建一个文件,这样就行了。

vocal,果然这个是有用的,那我们这个时候就可以来看看ls加上一些选项的结果,这里我们就只讲最重要的几个,我们首先来看的就是 ls加上-l 的结果。

相比之下我们可以看到ls加上-l(记住这里是有空格的)后可以看到更多的属性,ls是只显示文件名的。

Linux隐藏文件

我们都知道在windows是有隐藏的文件,不信我们来看。

那我们Linux下怎样的才算是隐藏文件的!答案是 带·的就是隐藏文件。

我们可以touch一个带.的文件来看看。

我们这里也是创建一个.youcannotsee的文件,但是ls -l 只后我们也没能看到我们的隐藏文件。这个时候我们就可以换个指令就是ls -a就行了。

a就有all的意思就是把所有文件都显示出来,那我们来看看。

这里我们要扩展一些关于文件的东西,我们在windows下的文件是不是有文件内容还有文件属性,哪些是文件属性呢,文件的属性有时间,大小等,我们的Linux下的文件是怎么样的呢。

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

我们ls -l就可以显示出文件和文件的属性,我们可以通过上面的图看到我们有创建属性和大小,这些都是文件的属性,这里也抛出一个问题,我们创建一个文件,如果这个文件里内容为空,那他是文件吗 答案是: 它百分之百是文件,因为文件是由文件内容和属性组成的。

我们也可以把ls -a -l 一起用,下面这张图前面的内容我们会在后面讲,这里大家只要知道这是文件的属性就OK了

可以看到显示的东西更多了。

一个点(.)和两个点(..)

我们每次ls -al的时候都可以看到两个点和一个点,这里的点是什么意思呢,我们这里也来详细的解释一下

  • . 当前路径
  • .. 上级路径

我们在Windows下返回上级路径是通过这个的。

点红圈圈这个就行了。

我们就可以返回上级路径了。我们这里还要知道一个指令就是pwd

pwd: 显示当前路径

还有就是cd指令,cd指令我们就可以认为是我们在Windows下双击文件夹的感觉。

所有pwd就是显示当前的路径,我们如果cd 一个点就是还是在当前路径,cd .. 就是返回上级的路基了。

那我们在Linux下和Windows的路径有什么不一样,爱找不同的人就是肯定能发现Linux路径分隔符是/ 在Windows下就是\

上面的  / 就称作为 路径分隔符

我们如果cd和路径一起用的话,是不是就可以找到我们想去的文件目录下了

vocal 发现新大陆了!来吧 展示。

因为我这里之前是创建过文件的,所有大家哪里尝试的时候就没有,但是大家可以创建文件来用,我们后面如果想去这个目录下的话就可以直接cd进入就OK了。

那一个点有什么用,我们来看下面的操作。

我们这里用到的gcc先不管,nano来讲解一下‘,它就是相当于编辑器,我们可以来看看

nano + 文件名之后就会有下面的内容。

我们在这里就可以写内容和代码,写好之后ctrl + x就是保存,然后要进行的操作就是Y在加上Enter就可以了,然后我们gcc + 文件名 (gcc后面会讲)。

所有我们如果要运行a.out就得这样写。

这个就是要执行我们当前目录下的文件 这里的一个点就是当前路径下。

绝对路径和相对路径

其实绝对路径我们认为就是从根节点开始往下找的就是绝对路径,那么刚开始这个到底是从哪里开始的呢,我们又要引出下面的概念就是我们的整个目录其实就是一个多叉树。

大家可以看上面这个图我们如果是从/开始往下走就是唯一的路径,我们称之为绝对路径。

这个时候我们就来详细的解释一下cd这个指令了。

cd

改变工作目录。将当前工作目录改变到指定的目录下。

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

这个就是cd的全部选项,我们需要全部记下来。

上面的大家看看应该就能明白了,有了cd指令我们就可以进入我们想要进入的文件和目录下面了

就可以来去自如了。

那这个从当前路径来去自如到其他目录下这个路径我们就叫它为相对路径。

日常使用我们用的就是相对路径。

创建操作

touch指令

touch [选项] 文件

touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

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

和之前一样我们只讲一些基础的操作,比如创建文件。

会这个操作就可以了,下面我们再来讲讲创建目录。

mkdir 指令

mkdir [ 选项 ] dirname...

在当前目录下创建一个名为 “dirname”的目录

mkdir这个指令我们只要掌握它能创建目录,递归创建的话只需要加上-p就可以了。

我们如果想创建一个目录里有目录的就可以这样创建。

所以必须加上-p才可以,我们再来看看删除的指令。

基本删除指令

rmdir : 只能删除空目录,其他的都不能删除

目录里不能有内容,否则无法进行删除。

rm : 就可以删除普通文件。

如果我们想要删除目录的时候,我们来看看。

发现他不让我进行删除,这个时候我们需要加上-r就可以了。

但是发现他每次都要问我是不是要删除,会觉得很烦,我们这样强制的删除就是加上f就可以了。

我们这里在讲一个通配符 * 它表示可以代表任何,比如我们这里把当前内容全部进行删除,可以这样写。

我们这里删除的是当前的路径,一定要看仔细,可不能删除根目录下的。

这样12_10下的所有东西就都被删除了。

那我们今天的内容就到此结束了,我们下次再见。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux基础指令详解(1) 的相关文章

  • 在 Linux 上访问 main 之外的主要参数

    是否可以访问参数main在外面main 即在共享库构造函数中 在 Linux 上除了通过解析之外 proc self cmdline 您可以通过将构造函数放入 init array部分 功能在 init array 不像 init 使用相同
  • 从 Python 访问 802.11 无线管理帧

    我想从 Linux 上的 Python 嗅探 802 11 管理 探测请求 帧 这可以从 Scapy 中实现 如下所示 coding utf 8 from scapy all import def proc p if p haslayer
  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • 如何从 Linux 内核模块获取使用计数?

    我对正在开发的内核模块的使用计数有疑问 我想打印它以进行调试 如何从模块代码中获取它 有问题的内核版本 Linux 2 6 32 module refcount http lxr linux no linux v2 6 34 1 inclu
  • 查看 Linux 上的多核或多 CPU 利用率

    我有一个在 Linux 上运行的程序 我需要确定它如何利用所有 CPU 内核 有没有什么程序可以查看这些信息 跑过 top 命令并按下 1 查看各个核心
  • 在 Linux 上创建线程与进程的开销

    我试图回答在 python 中创建线程与进程有多少开销的问题 我修改了类似问题的代码 该问题基本上运行一个带有两个线程的函数 然后运行带有两个进程的相同函数并报告时间 import time sys NUM RANGE 100000000
  • 如何设置Java线程的CPU核心亲和力?

    我搜索了以前关于类似主题的帖子 但找不到合适的答案 因此提出这个问题 非常感谢您帮助回答 我知道在 Linux 中通过任务集命令设置进程与特定 CPU 核心的关联性 但我想设置 Java 线程与特定 cpu 核心的亲和力 以便属于同一进程的
  • 在 Docker 容器中以主机用户身份运行

    在我的团队中 我们在进行开发时使用 Docker 容器在本地运行我们的网站应用程序 假设我正在开发 Flask 应用程序app py具有依赖关系requirements txt 工作流程大致如下 I am robin and I am in
  • C++:Linux平台上的线程同步场景

    我正在为 Linux 平台实现多线程 C 程序 其中我需要类似于 WaitForMultipleObjects 的功能 在搜索解决方案时 我发现有一些文章描述了如何在 Linux 中实现 WaitForMultipleObjects 功能
  • 运行此处编译的 C 程序会导致在另一台服务器上找不到 GLIBC 库错误 - 是我的错还是他们的错?

    此处编译的 C 程序在我们的 Ubuntu 服务器上运行良好 但是当其他人尝试在他们的特定 Linux 服务器上运行它时 他们会收到以下错误 myprog install lib tls libc so 6 version GLIBC 2
  • 在 debian wheezy amd64 上安装 ia32-libs

    我正在使用 Debian 7 喘息 amd64 uname a Linux tzwm debian 3 2 0 4 amd64 1 SMP Debian 3 2 51 1 x86 64 GNU Linux 我想安装ia32 libs在我的
  • ubuntu 的 CSS 更少(并且自动编译)? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我尝试过 simples 但现在 l
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • Python将文件从Linux复制到WIndows

    我正在构建一个网站 该网站有一个表单 可以捕获用户数据并在用户数据上运行一些cgi cgi 的第一步是需要将文件从 Linux Web 服务器复制到 Windows 计算机 服务器将使用 Active Directory 角色帐户作为复制凭
  • 完整的 C++ i18n gettext()“hello world”示例

    我正在寻找完整的 i18ngettext 你好世界的例子 我已经开始了一个基于的脚本使用 GNU gettext 的本机语言支持教程 https web archive org web 20130330233819 http oriya s
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • 使用 --prof 选项创建多个日志文件而不是一个 v8.log 的节点

    我正在尝试使用 prof 选项来分析我的 Node 应用程序 但我发现不是一个单一的 v8 log 文件 而是使用诸如isolate 0x9582b40 v8 log isolate 0xa1cab78 v8 6049 等前缀创建的多个文件
  • 从哪里获取 iostream.h

    我正在尝试在 Linux 中做一些事情 但它抱怨找不到 iostream h 我需要安装什么才能获取此文件 这个标准头的正确名称是iostream没有扩展名 如果您的编译器仍然找不到它 请尝试以下操作 find usr include na
  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset

随机推荐

  • java——网络编程

    1 网络编程 理解 1 网络编程 用Java语言实现计算机间数据的信息传递和资源共享 2 网络编程模型 3 网络编程的三要素 A IP地址 a 点分十进制 b IP地址的组成 c IP地址的分类 d dos命令 e InetAddress
  • 接口自动化测试是个啥?如何开始?什么是框架?带你揭开神秘面纱

    自动化测试 自动化测试 这几年行业内的热词 也是测试人员进阶的必备技能 更是软件测试未来发展的趋势 特别是在敏捷模式下 产品迭代速度快 市场不断调整 客户需求不断变化 单纯的手工测试越来越无法适应整个变化过程 迭代快 加班多 测试人员如何快
  • 计算机SSM毕设选题 SSM的在线水果销售商城管理系统

    项目背景 随着社会的发展 社会的各行各业都在利用信息化时代的优势 计算机的优势和普及使得各种信息系统的开发成为必需 在线水果商城 主要的模块包括查看管理员 首页 个人中心 用户管理 类型信息管理 商品信息管理 库存统计管理 销售统计管理 系
  • 计算机SSM毕设选题 SpringBoot的线上买菜系统

    开发语言 Java Java开发工具 JDK1 8 后端框架 SpringBoot 前端 采用JSP技术开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Mave
  • 工作中遇到的问题合集

    所有页面的展示都必须 HTML CSS JS和路由缺一不可 数据刷新但是DOM不刷新 数组多次赋值 数据没有渲染 先把以前的 数组 再赋值 然后加上 this f o r c e U p
  • vdsdyn.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个vdsdyn
  • WMADMOD.DLL文件缺少导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个WMADMOD
  • 计算机SSM毕设选题 SpringBoot的网上购物商场管理系统

    项目背景 随着科学技术的飞速发展 社会的方方面面 各行各业都在努力与现代的先进技术接轨 通过科技手段来提高自身的优势 网上商城购物系统当然也不能排除在外 网上商城购物系统是以实际运用为开发背景 运用软件工程原理和开发方法 采用springb
  • 计算机SSM毕设选题 springboot的社区团购管理系统

    项目摘要 随着科学技术的飞速发展 社会的方方面面 各行各业都在努力与现代的先进技术接轨 通过科技手段来提高自身的优势 社区团购商城当然也不能排除在外 社区团购商城是以实际运用为开发背景 运用软件工程原理和开发方法 采用springboot框
  • 计算机SSM毕设选题 springboot的社区疫情防控平台

    开发语言 Java Java开发工具 JDK1 8 后端框架 SpringBoot 前端 HTML Vue 数据库 MySQL5 7和Navicat管理工具结合 开发软件 IDEA Eclipse 是否Maven项目 是 前言 基于spri
  • 华为OD机试真题-贪心歌手-2023年OD统一考试(C卷)

    题目描述 一个歌手准备从A城去B城参加演出 1 按照合同 他必须在T天内赶到 3 歌手不能往回走 4 每两座城市之间需要的天数都可以提前获知 5 歌手在每座城市都可以在路边卖唱赚钱 经过调研 歌手提前获知了每座城市卖唱的收入预期 如果在一座
  • 华为OD机试真题-执行任务赚积分-2023年OD统一考试(C卷)

    题目描述 现有N个任务需要处理 同一时间只能处理一个任务 处理每个任务所需要的时间固定为1 每个任务都有最晚处理时间限制和积分值 在最晚处理时间点之前处理完成任务才可获得对应的积分奖励 可用于处理任务的时间有限 请问在有限的时间内 可获得的
  • 【教程】制作 iOS 推送证书

    目录 证书类型 MAC Key Store 消息推送控制台 制作证书 创建苹果 App ID 使用appuploder制作 p12文件 创建证书 如需向 iOS 设备推送数据 您首先需要在消息推送控制台上配置 iOS 推送证书 iOS 推送
  • 华为OD机试真题-字符串变换最小字符串-2023年OD统一考试(C卷)

    题目描述 给定一个字符串s 最多只能进行一次变换 返回变换后能得到的最小字符串 按照字典序进行比较 变换规则 交换字符串中任意两个不同位置的字符 输入描述 一串小写字母组成的字符串s 输出描述 按照要求进行变换得到的最小字符串 补充说明 s
  • 华为OD机试真题-测试用例执行计划-2023年OD统一考试(C卷)

    题目描述 某个产品当前迭代周期内有N个特性 F1 F2 FN 需要进行覆盖测试 每个特性都被评估了对应的优先级 特性使用其ID作为下标进行标识 设计了M个测试用例 T1 T2 TM 每个用例对应了一个覆盖特性的集合 测试用例使用其ID作为下
  • 华为OD机试真题-最多购买宝石数目-2023年OD统一考试(C卷)

    题目描述 橱窗里有一排宝石 不同的宝石对应不同的价格 宝石的价格标记为gems i 0 lt i
  • leetcode 每日一题

    https leetcode cn problems invert binary tree submissions 这个题目我们的思路其实很简单 遇到空就是得返回空指针 因为要进行交换 但是这里有个小细节 就是我们的把他的左右节点进行保存
  • 【教程】Ipa Guard为iOS应用提供免费加密混淆方案

    概述 使用ios加固工具对ios代码保护 保护ios项目中的核心代码 ipagurd年终大促 百厂联动暖冬特惠 超多软控件立享惊喜优惠 gt gt 简介 iOS加固保护是直接针对ios ipa二进制文件的保护技术 可以对iOS APP中的可
  • 波端口的使用

    波导端口代表了计算域的一种特殊边界条件 它既可以激发能量 也可以吸收能量 这种端口模拟了连接到该结构的无限长波导 波导模式从结构向边界平面传播 从而以非常低的反射水平离开计算域 当端口中的波导模式与结构内部波导的模式完全匹配时 可以实现非常
  • Linux基础指令详解(1)

    操作系统的概念 百度百科 操作系统 英语 Operating System 缩写 OS 是一组主管并控制计算机操作 运用和运行硬件 软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序 根据运行的环境 操作系统可以分为桌面操作系统