前言:Linux基本指令学到这里也快接近尾声了,如果对前面内容还有不清楚建议回顾这两篇文章 。
文 | 糖豆 图 | 来源网络 糖豆贴心提醒,本文阅读时间6分钟,文末有秘密! Linux cat命令 cat 命令用于连接文件并打印到标准输出设备上。 Linux chattr命令 Linux chattr命令用于改变文件属性。 Linux chgrp命令 Linux chgrp命令用于变更文件或目录的所属群组。 在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。 Linux chmo
文 | 豌豆 来源 | 菜鸟教程 豌豆贴心提醒,本文阅读时间5分钟,文末有秘密! Linux col命令 Linux col命令用于过滤控制字符。 在许多UNIX说明文件里,都有RLF控制字符
语法: cat[选项][文件] 功能: 查看目标文件的内容,(tac指令:逆向查看文件内容,与cat相似)
功能:对于目录,该命令列出该目录下的所有子目录与文件;对于文件,将列出文件名以及其他信息。
1.cat cat 命令用于连接文件并打印到标准输出设备上。 使用权限 所有使用者 2.Linux chgrp命令用于变更文件或目录的所属群组。 3.Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。 利用 chmod 可以藉以控制文件如何被他人所调用。 u 表示该文件的拥有者, g 表示与该文件的拥有者属于同一个群体(group)者, o 表示其他以外的人, a 表示这三者皆是。 + 表示增加权限、 - 表示取消权限、 = 表示唯一设定权限。 r 表示可读取, w 表示可写入, x 表示可执行, X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。 实例见:https://blog.csdn.net/jiangyu1013/article/details/79656591 4.Linux cmp命令用于比较两个文件是否有差异。 当相互比较的两个文件完全一样时,则该指令不会显示任何信息。 若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。 若不指定任何文件名称或是所给予的文件名为"-", 则cmp指令会从标准输入设备读取数据。 5.Linux file命令用于辨识文件类型。 通过file指令,我们得以辨识该文件的类型。 如执行:file install.log 会输出文件的类型数据:UTF-8 Unicode text file install.log install.log: UTF-8 Unicode text
功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。我们一般使用less更多而不会使用more。
Linux是多任务操作系统,cpu划分固定时间片,分给每个进程,当前进程时间片执行完毕,将挂起,运行下一个进程。而进程运行时,需要到寄存器中获得要运行的指令和指令所在内存的位置。
本文以 32 位系统为例介绍内核空间(kernel space)和用户空间(user space)。
1. 指令、选项或参数之间不论空几个格, shell 都视为一个空格。 2. 指令太长时,可以使用“ \ ”(反斜杠)符号使指令连续到下一行。 3. Linux 环境下,字母区分大小写。 4. shell 就是用户接口, Linux 下默认的用户接口就是 bash shell 。 5. 如果想让当前程序终止,可以键入ctrl+c,这就是中断当前程序的按键。( q :有很多程序在运行时,如果想跳出来,按下 q 即可!) 6. 如: drwxr--r-- 3 root root 4096 Jun 25 08:3
在了解进程状态之前,我们先来谈一谈阻塞与挂起的两个概念。所谓阻塞,就是指进程因为等待某种资源就绪,而导致的一种不推进状态。也就是我们常说的卡住了。
在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。
语法:rmdir [文件目录] 适用对象:具有当前目录操作权限的所有使用者 功能:删除空目录 如果删除一个文件就会报错,这个指令只有在特定情况下才会使用。
对于Linux初学者来说,最头疼的莫过于各种各样的英文指令,比如什么 ls 、touch、pwd 等等,如果单纯的依靠文档学习,理解起来是比较困难的。于是我决定花费大量时间,总结多达40+条基础指令用法,配合动图演示,让大家能够轻松理解、掌握它们,指令很多,文章很长,有需要的同学可以通过文章目录跳转查看指定指令。
里面默认有三行,较有趣的地方在于 r 与 m。 就 如同 $PS1 这变量一样,issue 这个文件的内容也是可以使用反斜杠作为变量取用!你可以 man issue 配合 man agetty 得到底下的结果:
(1) 支持数据的持久化,可以将数据保存在磁盘中,重启之后可以再次加载到内存中使用 (2) 支持多种数据类型,除了KV类型的数据,还支持list、set、hash等数据结构 (3) 支持master-slave模式的数据备份
开发后端有很多的编程语言,目前比较流行的就是python ,c,cpp,java,js,php,rust,golang ..
cron:计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 cron 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的任务。
继上前面篇对Linux的一些指令做了一些初步介绍后,有需要可以在主页里面查看,今天来继续分享其它有关的指令。 首先还是得先打开xshell,连接上的云服务器。
chroot 命令用于在指定的根目录下运行指令。chroot 是 change root directory (更改根目录)的缩写。在 Linux 系统中,默认的目录结构是以 / 作为根目录的起点。而使用 chroot 后,系统的目录结构将会以指定的位置作为新的根目录。
注意,命令名称、命令参数、命令对象之间请用空格键分隔。 命令对象一般是指要处理的文件、目录、用户等资源,而命令参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用 -- 与 - 作为前缀。
上面所显示的比如root和110之间的斜杠我们称之为路径分隔符,两个路径分隔符之间的一定是目录,或者称之为文件夹(Linux下习惯称文件夹为目录,以后就都将文件夹称作目录了)。
参考文章:https://www.cnblogs.com/theseventhson/p/13282921.html
date 指定格式显示时间: date +%Y:%m:%d date 用法:date [OPTION]… [+FORMAT] 1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
软件运行时输入单元输入内容,进入内存,CPU由控制单元和算术逻辑单元组成,控制单元控制算术逻辑单元从内存中读取数据,内存和外部存储设备进行交互,运算完毕以后输出到输出单元,完成软件的运行。
nginx的IO模型,大家应该都有所了解。简单而言,就是一个master进程和多个worker进程(进程数由配置决定);master进程负责accept请求并队列化,最后转发给worker进程并由其进行请求处理和响应的整个过程。
CPU在摩尔定律的指导下以每18个月翻一番的速度在发展,然而内存和硬盘的发展速度远远不及CPU。这就造成了高性能能的内存和硬盘价格及其昂贵。然而CPU的高度运算需要高速的数据。为了解决这个问题,CPU厂商在CPU中内置了少量的高速缓存以解决I\O速度和CPU运算速度之间的不匹配问题。
一切互斥操作的依赖是 自旋锁(spin_lock),互斥量(semaphore)等其他需要队列的实现均需要自选锁保证临界区互斥访问。
某天下午TIM官网突然无法访问(502错误),官网是纯静态页面,挂在nginx服务器下,我们下午也没有做发布。那么,问题出现在什么地方呢?下面就讲讲我定位、解决问题的思路及步骤,具体如下:
代码都是由 CPU 跑起来的,我们代码写的好与坏就决定了 CPU 的执行效率,特别是在编写计算密集型的程序,更要注重 CPU 的执行效率,否则将会大大影响系统性能。
现代计算机之父冯诺伊曼最先提出程序存储的思想,并成功将其运用在计算机的设计之中,该思想约定了用二进制进行计算和存储,还定义计算机基本结构为 5 个部分,分别是中央处理器(CPU)、内存、输入设备、输出设备、总线。
Pipeline诞生场景: Redis基于请求/响应模型,单个请求处理需要一一应答
显示当前目录下所有文件 常用选项示例: (1)-a 列出目录下的所有文件,包括以 . 开头的隐含文件
前言:在看完上一篇博客,Linux基本指令才了解一点点,现在让我们更深入了解一下其他的指令
在深入学习后端进阶技术时,我们经常会和Linux系统打交道,因为Linux是目前应用最广泛的服务器操作系统,能长时间稳定地跑我们编写的程序代码,几乎成为程序代码运行的最佳系统环境。相较于windows系统,它短小而精悍,但是很多东西都需要使用指令来控制。
每个人或多或少都有一些约会或者是工作,有的工作是例行性的,例如每年一次的加薪、每个月一次的工作报告、每周一次的午餐会报、每天需要的打卡等等; 有的工作则是临时发生的,例如刚好总公司有高官来访,需要你准备演讲器材等等! 用在生活上面,例如每年的爱人的生日、每天的起床时间等等、还有突发性的 3C 用品大降价等等。
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?
这个命令可以快速查看机器的负载情况。在Linux系统中,这些数据表示等待CPU资源的进程和阻塞在不可中断IO进程(进程状态为D)的数量。这些数据可以让我们对系统资源使用有一个宏观的了解。
之前对于调试器并没有什么了解,对于很多问题也没什么头脑,比如说attach是怎么做到的,怎么实现运行时断点的。今天来简单了解一下调试器部分功能的工作原理。
典型的UNIX系统都支持一个进程创建多个线程(thread)。在Linux进程基础中提到,Linux以进程为单位组织操作,Linux中的线程也都基于进程。尽管实现方式有异于其它的UNIX系统,但Linux的多线程在逻辑和使用上与真正的多线程并没有差别。 多线程 我们先来看一下什么是多线程。在Linux从程序到进程中,我们看到了一个程序在内存中的表示。这个程序的整个运行过程中,只有一个控制权的存在。当函数被调用的时候,该函数获得控制权,成为激活(active)函数,然后运行该函数中的指令。与此同时,其它的函数
我们在Linux下经常要用到管道操作符,也就是"|",即一个竖线。 这个操作符的作用对于经常使用Linux的人来说,看上去十分直观:
openssh套件在不安全的网络中为两台为信任的主机之间建立加密的数据通信,是rlogin、rsh等明文传输数据的通信工具的替代品。sshd指令是openssh套件中的核心程序,其他的指令(如,sftp-server、slogin、scp)等都是基于sshd命令的。
根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器、控制器、存储设备,以及输入输出设备,如下图所示.
历史指令保存在用户目录下的.bash_history文件(历史记录文件)中,并且每条指令都用时间戳的形式记录了执行时刻
根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器、控制器、存储设备,以及输入输出设备,如下图所示。
导读:肉眼看计算机是由CPU、内存、显示器这些硬件设备组成,但大部分人从事的是软件开发工作。计算机底层原理就是连通硬件和软件的桥梁,理解计算机底层原理才能在程序设计这条路上越走越快,越走越轻松。从操作系统层面去理解高级编程语言的执行过程,会发现好多软件设计都是同一种套路,很多语言特性都依赖于底层机制,今天董鹏为你一一揭秘。
作者简介: 王建峰,对于技术方向(主要是嵌入式领域的OS方向的系统应用)感兴趣,最近在学习操作系统基础。同时也是某芯原厂的驱动工程师,主要是gpu领域的驱动软件。https://gitee.com/hinzer/blog 1 概念介绍 1.1 什么是操作系统? 1.2 如何理解中断机制? 1.3 如何理解系统定时? 1.4 如何理解进程控制? 1.5 如何理解内存管理? 1.6 如何理解堆栈概念? 1.7 内核在源码中的体现? 1.8 如何理解系统调用? 1.9 如何理解特权级? 2 流程分析 2.1 引导
在普遍的操作系统中,我们所遇到的进程状态有:运行、新建、就绪、挂起、阻塞、停止、挂机、死亡…等等,但是我们并不懂它们(学了等于没学),因为这是操作系统层面的说法,它的理论放到哪个操作系统中都对。所以我们要学习一个具体的操作系统来理解进程状态,而这里我们使用的当然就是Linux!
领取专属 10元无门槛券
手把手带您无忧上云