Shell变量、运算符
Shell 是操作系统的最外层,为用户提供了一个与系统交互的界面,它不仅支持直接输入命令来控制进程和文件,还整合了编程语言的特性,使用户能够通过编写脚本实现复杂的任务。可以说,Shell 是用户与 Linux 操作系统之间的重要桥梁。 Linux 系统中的 Shell 种类非常丰富,常见的有 Bourne Shell(/usr/bin/sh)、Bourne Again Shell(/usr/bin/bash)、C Shell、Korn Shell(K Shell)等。由于不同的 Shell 拥有不同的语法特性,它们之间的脚本通常不能直接通用。然而,在众多选择中,最为流行且广泛使用的便是 Bash(Bourne Again Shell),它功能强大、兼容性好,几乎是所有现代 Linux 发行版的默认 Shell,后面shell默认为Bash。 接下来探讨 Shell 脚本的基本语法与核心功能,并通过实际案例展示如何利用 Bash...
du磁盘占用分析指令
du(disk usage的缩写,磁盘使用情况)是一个标准Unix程序,用于估量文件或文件夹的磁盘使用情况。 默认情况下,du显示当前目录每个文件与目录的被分配磁盘空间的情况。链接文件将会显示其本身大小而非其链接对象;目录则会显示其内容的大小。 用途 检查某个目录的大小:用来查看一个目录及其子目录占用的空间,以便做清理或备份。 找出占用大量磁盘空间的文件或目录:通过 du 命令,你可以定位磁盘占用较大的文件或子目录,以便做进一步操作。 查看文件系统使用情况:可以通过限制深度来快速查看文件系统中各个目录的占用情况。 用法du [options] [file|directory…] 定制化显示内容:123456789101112131415161718192021222324252627#-h(human-readable):以人类可读的格式显示文件大小(例如 KB、MB、GB 等)。du -h /path/to/directory#-s(summarize):只显示指定目录的总计大小,不显示子目录的大小。du -sh...
ftp服务与虚拟用户配置
简介将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中,即文件传输, 是一项基本的网络应用。很多时候有这样的需求:网站设计者将构成网站内容的文件批量上传到他们的Web服务器,计算机之间批量传输文件等,而ftp协议可以很好地满足这种需求。 ftp(file transport protocol)文件传输协议,是TCP/IP协议组中的协议。ftp协议包含两个部分,1是服务器,2是客户端。其中ftp服务器用来存储文件,而客户端通过ftp协议访问ftp服务器上的资源。 默认情况下,ftp协议使用20和21端口,其中20用于传输数据,21用于传输控制信息。 ftp服务(Very Secure FTP Daemons, vsftpd)安装 yum下载 1sudo yum install vsftpd 开启ftp服务 123456# 查看ftp服务的状态sudo systemctl status vsftpd # 此时是inactive(dead),同时发现CGroup行: #...
No.9 回文数 (easy)
题目描述给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 示例 1: 输入: x = 121输出: true 示例 2: 输入: x = -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: x = 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。 解题思路 最简单的就是将x转化为字符串,然后使用左右两个指针获取来进行对应比较,这里就不再赘述; 省去转化为字符串这一步,使用数学的方式获取对应位上的数字进行比较,这里给出C++代码: 123456789101112131415161718192021222324class Solution {public: bool isPalindrome(int x) { // 负数不是回文数 if (x <...
磁盘阵列RAID
RAID的全称是Redundant Array of Independent Disks,中文译作独立硬盘冗余阵列, 简称磁盘阵列。 RAID利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升读取性能或数据备份,或是两者同时提升。 介绍RAID分为多种存储模式,亦或称多种层级,RAID层级的命名会以RAID开头并带数字,例如:RAID 0、RAID 1、RAID 10等等。每种层级在理论上均有其优缺点,要么在上述两个目的之间寻求平衡,要么为单一的目的。 简单来说,RAID可以看成一块逻辑硬盘,而不去管实际的物理实现。 RAID 0(条带化)/RAID 1(镜像)RAID 0亦称为带区卷,它将两个以上的磁盘并联起来,成为一个大容量的磁盘。RAID 0模式下,数据被分成固定大小的块,分散存储在多个磁盘驱动器上,而不进行冗余备份。例如,如果有两个驱动器(驱动器0和驱动器1),数据A分为8块,其第一个部分A1存储在驱动器0上,第二个部分A2存储在驱动器1上,以此类推。这种条带化(striping)...
LVM磁盘空间管理
什么是LVM,以及PV,PE,VG,LV等重要概念。LVM(Logical Volume Manager)本文译作逻辑卷管理器,是一种磁盘管理技术,为操作系统提供了更为灵活的管理存储设备方式。LVM提供了如下组件: 物理卷(Physical Volume, PV),LVM 的基础存储设备,通常是物理硬盘、分区或 LVM 兼容的设备。 卷组(Volume Group, VG),由一个或多个物理卷组成的逻辑存储池。卷组中的空间可以被多个逻辑卷共享。 逻辑卷(Logical Volume, LV),从卷组中划分出的存储单元,类似于传统分区。逻辑卷可以格式化为文件系统并用于存储数据。 物理扩展(Physical Extent, PE),物理卷被划分为多个相同大小的块,这些块就是物理扩展。每个物理扩展的大小通常是 4 MB 或 8 MB,具体取决于系统配置。 LVM技术流程:磁盘划分为PV —> PV组成了VG,同时设置了PE大小 —> 从VG中划分出LV,其结构示意图如下所示: LVM的原理将底层的物理硬盘封装起来,然后以逻辑卷的方式呈现给上层应用。...
Linux账号和群组
Linux系统登录需要用户名和密码,但是不同的用户拥有不同的权限。有一位特殊的存在:root—— 系统管理员,它在系统中拥有全部权限,可以管理用户的文件权限、目录权限等等。接下来就围绕账号与群组进行具体讨论。 Linux账号与群组UID和GID对于用户,记住Linux系统的用户名和密码足矣,然而对于Linux主机,则需要记住用户的UID(User ID)和密码。首先我们要有一个概念:Linux系统由文件组成,包括目录也是文件组成。 Linux规定所有的配置文件都保存在/etc目录下,而每个用户名和UID的对应则保存在/etc/passwd文件中。以前用户的密码也保存在/etc/passwd文件中,但是目前用户的密码在/etc/shadow文件中密文保存。 每个用户都必须属于一个组,在未指定所属组的情况下,用户的组为自己本身。同样,组由于GID(Group...
Linux crontab
crontab 是一个用于管理用户的定时任务调度工具。它允许用户设置在特定时间自动运行的命令或脚本,常用于定期执行备份、系统监控、数据处理等任务。 atd – 执行一次性命令的守护进程生活中,我们有太多场景需要使用到闹钟,比如早上 7 点起床,下午 4 点开会,晚上 8 点购物,等等。 在 Linux 系统里,我们同样也有类似的需求。比如我们想在凌晨 1 点将文件上传服务器,或者在晚上 10 点确认系统状态,等等。 但我们不可能一直守在电脑前,毕竟我们也需要下班/睡觉,还要陪对象(new一个也行)。而且即使在上班期间,如果到点了还需要人工操作,未免效率太低了。 at 命令就是为这个需求而诞生的。使用 at 命令,你可以在特定时间自动完成你所设定的任务,也可以实现自动化,非常方便快捷! at安装一般来讲,大部分 Linux 发行版都已经安装了 at 命令,不确定的话可以使用 at -V 命令查看,如果有版本返回,说明就可以正常使用 at 命令。 at -V # 查看版本 atd服务启动你可以使用 systemctl 命令启用 atd...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
Linux版本
内核版本Linux内核版本:x.y.r(主版本号.次版本号.修正版本号)次版本号为奇数,则内核版本为测试版本,次版本号为偶数,则内核版本为稳定版本 查看指令12345#完整信息cat /proc/version#版本号uname -r 发行版本 发行版本 说明 RHEL Redhat公司商业化运作发行的版本 SuSE 流行于欧洲的多语言版本 CentOS 模仿RHEL的免费发行版本,配置文件、配置名称、路径与其一致 openSuSE 模仿SuSE的免费发行版本 Debian 一种流行的非商业性质的发行版本 ubuntu Debian的精简版本 Fedora Redhat9.0以后延续的开发版本,Red Hat Linux的社区支持但受红帽公司赞助 Kylin 麒麟操作系统,由中国的操作系统开发团队开发,基于 Ubuntu 定制而来 查看指令123cat /etc/os-release或lsb_release -a # 如果提示没有此命令,则首先sudo yum install redhat-lsb