含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示
vim 有三种模式,注意:这三种模式有很多不同的叫法,我这里是按照鸟哥的linux书中的叫法。
历史指令保存在用户目录下的.bash_history文件(历史记录文件)中,并且每条指令都用时间戳的形式记录了执行时刻
前言:在了解完Linux基本指令和Linux权限后,我们有了足够了能力来学习后面的内容,但是在真正进入Linux之前,我们还得要学会使用Linux中的几个开发工具。而我们主要介绍的是以下几个:
已经多久没有编程了?很久了吧…其实我本来就不怎么会写代码,时不时的也就是为了验证一个系统特性,写点玩具而已,工程化的代码,对于我而言,实在是吃力。
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,因此可以在其他任何介绍vi的地方都能进一步了解它,Vi也是Linux中最基本的文本编辑器,学会它后,我们将在Linux的世界里畅行无阻,尤其是在终端中。
大家好,我是道哥。今天给大家分享一些笔记本里的一些存货: Linux 系统中的驱动和中断相关。
Linux内核调试技术——kprobe使用与实现(五)-触发kprobe探测和回调
在Linux下我们是如何编写代码的呢?其实在Linux下有一个很不错的开发工具:Linux编辑器——vim,那么话不多说,这就开启我们今天的话题!
一、磁盘分区 1. 磁盘分区概述 2. 磁盘分区实例 3. 查询磁盘情况 4. 磁盘情况其他指令 二、网络配置 1. 网络概述 2. 配置 Linux 网络环境 3. 设置主机名和 host 映射 4. 补充 主机名解析过程 一、磁盘分区 1. 磁盘分区概述 Linux 操作系统只有一个根目录,根目录下又分几个区分别分给某一子目录使用,Linux 操作系统中的每个分区都是整个文件系统的一部分,硬盘中的每个分区都会挂载到文件系统的某一目录中。 Linux 硬盘分为 IDE 硬盘和 SCSI 硬盘,IDE 硬盘
(1) 支持数据的持久化,可以将数据保存在磁盘中,重启之后可以再次加载到内存中使用 (2) 支持多种数据类型,除了KV类型的数据,还支持list、set、hash等数据结构 (3) 支持master-slave模式的数据备份
前天和各位分享了Linux常用指令的汇总:【史上最全Linux常用指令汇总,又一吃灰教程 】有需要的可以去收藏一下,用的上的时候翻来看看;今天继续来分享一下Linux常用的快捷键;虽然很多操作,通过鼠标点点就可以做到;但是,纯用键盘操作Linux的流畅性跟手来回游走在鼠标、键盘之间的体验,完全不是一个数量级的,因此,熟悉快捷键并熟练运用,必将事半功倍;下面就来一一列举一下常用到的快捷键:
linux的kernel内核外是系统调用,系统调用外是shell、库函数,而应用程序则在最外层
什么是编辑器?编辑器就是一款软件,它的主要作用就是用来编辑。譬如编写文件,编写代码。Linux中常用编辑器,自带的最古老的vi。比较好用的vim,gedit。
Linux是多任务操作系统,cpu划分固定时间片,分给每个进程,当前进程时间片执行完毕,将挂起,运行下一个进程。而进程运行时,需要到寄存器中获得要运行的指令和指令所在内存的位置。
Linux 操作系统只有一个根目录,根目录下又分几个区分别分给某一子目录使用,Linux 操作系统中的每个分区都是整个文件系统的一部分,硬盘中的每个分区都会挂载到文件系统的某一目录中。
这里做一个小补充,主要讲一下关于利用sudo对指令提权以及普通用户无法使用sudo指令的问题。
最初学习C语言用的是Visual C++6.0,后来还用过一些IDE,复制粘贴都可以用鼠标对目标进行选择即可。但在Linux系统里,需要熟练掌握在Terminal里编写C语言程序,进行编译调试。本章主要介绍在Linux的终端下编写C程序并编译运行。
之前对于调试器并没有什么了解,对于很多问题也没什么头脑,比如说attach是怎么做到的,怎么实现运行时断点的。今天来简单了解一下调试器部分功能的工作原理。
如果你学的第一门程序语言是C语言,那么下面这段程序很可能是你写出来的第一个有完整的 “输入---处理---输出” 流程的程序:
当然有更简单的方法,你可以在 https://crontab.guru/ 网站进行在线设置,设置好了直接拷贝过来。网页提供了图形化的操作界面,对新手特别友好。
在上一篇文章中,我们主要聊了一下:在 Windows 系统中,安装 WSL 子系统。
在 Windows 命令行窗口,输入指令:wsl --list --verbose(或者输入简化版本:wsl -l -v),得到结果:
R语言的工作空间其实就是你当下R语言的工作环境,它包括任何你已经定义了的对象。当一个R进程结束时,用户可以将当前的工作空间保存下来,在下次启动R时就会自动加载,非常方便省事。R语言是一个交互式界面,上翻和下翻键可以用来查看历史指令。这里我建议大家使用RStudio,因为RStudio提供非常强大的R语言高度可视化操作界面,你可以在RStudio里写R代码,也可以写Python代码,同时可以使用Rmarkdown来写自己的文档。
前言:在上一篇了解完进程状态后,我们简单了解了进程优先级,然后遗留了一点内容,本篇我们就来研究进程间的切换,来理解上篇提到的并发。如果对进程优先级还有没理解的地方可以先阅读:
大家好,今天我们来分享linux内核的工程建立以及一些我在工作当中使用source insight 经常会用的一些快捷操作;然后会分享一些有用的汇编指令,主要是经常会遇到的汇编指令,汇编指令没必要去专门学,当你在看启动汇编代码的时候,只要稍微看的懂它的意思就行,因为在上班中,你很少去写汇编,我们只是用它分析,体会一下linux内核是如何启动的。不过这其中可能很多人,对虚拟内存和页表等知识不是很清楚,没关系,这个不影响我们学习,这个我后面在文章中写到的。好了,那就开始今天的分享。
推荐用电脑观看(因为排版的缘故,手机屏幕无法显示完整的指令,请在浏览器里复制下面链接):
忽然想起的回忆,那是2007上周五在冬季,我看我的老湿调试Linux堆IP层,只看到他改变路由查找的逻辑,然后直接make install上的立竿见影的效果有点,我只知道,,这种逻辑必须再次更改编译内核。再一次,他没有编译,就像刚才编译的文件…时又无聊的工作阻碍了我对Linux内核的探索进度,直到今天,我依旧对编译内核有相当的恐惧,不怕出错,而是怕磁盘空间不够,initrd的组装拆解之类,太繁琐了。我之所以知道2007年的那天是周五,是由于第二天我要加班。没有谁逼我。我自愿的,由于我想知道师父是怎么做到不又一次编译内核就能改变非模块的内核代码处理逻辑的。第二天的收获非常多,不但知道了他使用了“镜像协议栈”。还额外赚了一天的加班费。我还记得周六加完班我和老婆去吃了一家叫做石工坊的羊排火锅。人家赠送了一仅仅绿色的兔子玩偶。
什么是Linux的指令? 指在Linux终端(命令行)中输入的内容就称之为指令。 一个完整的指令的标准格式:Linux通用的格式 #指令主体(空格) [选项](空格) [操作对象] 一个指令可以包含多个选项 操作对象也可以是多个 例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫山泉水和清风餐巾纸,在这个指令中“买东西”是指令的主体,买的水和餐巾纸是操作的对象,农夫山泉、清风是操作的选项。
进程切换,又称为任务切换、上下文切换、或者任务调度。本文就研究Linux内核的进程切换。我们首先理解几个概念。
文 | 糖豆 图 | 来源网络 糖豆贴心提醒,本文阅读时间6分钟,文末有秘密! Linux cat命令 cat 命令用于连接文件并打印到标准输出设备上。 Linux chattr命令 Linux chattr命令用于改变文件属性。 Linux chgrp命令 Linux chgrp命令用于变更文件或目录的所属群组。 在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。 Linux chmo
如果这个操作序列是串行化的操作(在一个thread中串行执行),那么一切OK,然而,世界总是不能如你所愿。在多CPU体系结构中,运行在两个CPU上的两个内核控制路径同时并行执行上面操作序列,有可能发生下面的场景:
MySQL基础使用 连接mysql服务器 MySQL与文件的关系 服务器管理 服务器、数据库和表关系
每一种技术的出现必然是因为某种需求。正因为人的本性是贪婪的,所以科技的创新才能日新月异。
2 发生了各种声音,如何处理这些声音 :: 有远处的猫叫(听而不闻,忽略) :: 门铃声有快递(开门收快递) :: 小孩哭声(打开房门,照顾小孩) 3 母亲的处理 :: 只会处理门铃声和小孩哭声 :: a 现在书中放入书签,合上书(保存现场) :: b 去处理 (调用对应的中断服务程序) :: c 继续看书(恢复现场)
linux目录层次: -man hier (有问题找男人) 权限的数值表示: -基本权限:r=4 w=2 x=1 -附加权限:SUID=4 SGID=2 Sticky Bit=1 历史命
如果你用过Word文档写过文章,那么你一定会有这样的经历。 我觉得某一段或者某一句写得不够好,但是,删掉之后我可能会后悔把它删掉了,进而又想把删掉的段落找回来,这时,你想到了一个好办法,将每次的修改都作为一个文章版本保存起来,这样虽然能够解决你的问题。但是,随着你的修改次数越来越多,你会发现,电脑桌面上出现了N多个Word副本,这时,你已无法分清每个副本对应的是什么时候作的修改。 于是你想,如果有一个软件,不但能自动帮我记录每次文件的修改,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便? 既然有这样的想法,那么你就应该学习一下git。 那什么是git? git是目前世界上最先进的分布式版本控制系统。 既然是最先进的,我们当然是要去学好它,掌握好它了。 那么,从该篇博客开始,我将记录git教程系列,作为学习资料提供给大家。
我们在安装一个软件之前,需要先下载对应的软件包,但是这个软件包并不存在于我们本地的计算机磁盘,而是存在于远端服务器上;那么计算机如何知道该软件存在于具体的哪一台服务器上呢?
没有虚拟化基础的童鞋可先阅读Linux阅码场前几天刊发的《KVM最初的2小时——KVM从入门到放弃(修订版) 》入门。
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
开发人员在内核或者模块的调试过程中,往往会需要要知道其中的一些函数有无被调用、何时被调用、执行是否正确以及函数的入参和返回值是什么等等。
服务器重启完成之后,我们可以通过linux的指令 ip addr 来查询Linux系统的IP地址,具体信息如
80386的各种寄存器一览:通用寄存器(32位)、段寄存器(16位)、标志寄存器(32位)、系统地址寄存器、调试寄存器和测试寄存器(32位)。
Matlab + X11给我的体验让我百试不爽,Linux快而稳定,X11简单而实用。考虑到Matlab不是天天用,服务器摆着也是摆着,为了不浪费资源,应该进一步利用并升级成为应用程序服务器,即将所有不常用,不需要显卡加速的应用程序(Apps)都安装在该服务器上,在需要的时候用X11调出。
有些书上对进程的描述是这样一句话:进程是在内存中的程序。一个运行起来(加载到内存)的程序称作进程。
先说明两个概念:中断和系统调用 一 系统调用: 是应用程序(运行库也是应用程序的一部分)与操作系统内核之间的接口,它决定了应用程序是如何和内核打交道的。 1, Linux系统调用:2.6.19版内核提供了319个系统调用。比如 exit fork read open close …… 2, 对Windows来说,操作系统提供给应用程序的接口不是系统调用,而是API。比如:ReadFile。我们暂时把API和系统调用等同起来 3, Linux中,每个系统调用对应一个系统调用号,内核维护了一个系统调
从2010年开始的RISC-V 项目,已经有10年的时间,RISC-V基金会先后批准了RISC-V Base ISA, Privileged Architecture,Processor Trace等规范。RISC-V对Linux的基本支持也已经完成。本文尝试通俗易懂的介绍RISC-V对于Linux的基本支持,包括指令集和异常处理。内存管理,迁移到RISC-V,UEFI,KVM等支持,欢迎继续关注本公众号。
领取专属 10元无门槛券
手把手带您无忧上云