Linux 命令行完全指南:从入门到精通1 Linux 命令行概述1.1 Linux命令行的作用与意义众所周知,Linux是一个主要通过命令行来进行管理的操作系统,即通过键盘输入指令来管理系统的相关操作,包括但不限于编辑文件、启动停止服务等。这与初学者曾经熟悉的Windows系统使用鼠标点击这类可视化管理大不相同。
使用鼠标进行可视化管理的优势是简单、容易上手,缺点是不能方便快速、批量、自动化地管理系统,而且感觉系统也很臃肿,这个时候Linux系统的命令行管理优势就凸显出来了。使用Linux命令行进行管理,不但可以批量、自动化管理,还可以实现智能化、可视化管理,当然,后者需要开发人员配合开发管理界面来完成,但无论如何,Linux系统的优势基因还是快速、批量、自动化、智能化管理系统及处理业务。
1.2 Linux命令行介绍安装Linux系统时,无论是使用文本模式(命令行)安装,还是使用图形模式安装,最终管理系统的任务都会落到命令行上。
大多数互联网企业在安装系统时甚至不会安装图形管理软件包,而是直接使用文本模式安装,因此登录后直接面对的就是命令行的界面。
1.3 Linux命令行的开启及 ...
Linux 下Systemd服务的核心功能及列出 Systemd 服务的方法1.什么是Linux中的systemd服务在 Linux 系统中,systemd 是一种系统和服务管理器(System and Service Manager),它是现代大多数 Linux 发行版(如 Fedora、Ubuntu、CentOS 等)默认使用的初始化系统(init system)。它取代了传统的 SysV init 和 Upstart,旨在提高系统启动速度、管理服务的依赖关系,并提供更强大的功能。
1.1 systemd 的核心功能1)初始化系统
负责系统启动流程,并行启动服务以加快开机速度。
通过 单元文件(Unit Files) 定义服务、挂载点、定时任务等。
2)服务管理
控制服务的启动、停止、重启、状态查看等(通过 systemctl 命令)。
支持服务依赖管理(例如:数据库服务需在 Web 服务前启动)。
3)进程监控
自动重启崩溃的服务,确保系统稳定性。
4)日志管理
集成 journalctl 工具,统一收集系统和服务日志。
5)资源控制
限制服务的 CPU、内存等 ...
Linux 中/etc/sysctl.conf配置文件详解1.核心概念:什么是 sysctl 和 sysctl.conf?在 Linux 系统中,内核是操作系统的核心,它管理着硬件、内存、进程和网络。sysctl 是一个强大的命令行工具,允许系统管理员在运行时动态地查看和修改这些内核参数。
然而,通过 sysctl 命令进行的修改是临时性的,系统一旦重启便会失效。/etc/sysctl.conf 文件正是为了解决这个问题而存在的,它是系统级的持久化配置文件,其核心作用在于:
持久化配置:系统在每次启动时都会自动读取并应用 /etc/sysctl.conf 中的设置,确保配置永久生效。
集中化管理:提供了一个统一的入口来管理和记录所有关键的内核调优设置,便于维护和审计。
性能与安全调优:通过调整这些内核参数,可以显著提升服务器的网络性能、内存效率、稳定性和安全性。
简而言之,sysctl 是用于临时测试用的,而 sysctl.conf 则是用于永久生效的。
2.配置文件语法与结构/etc/sysctl.conf 的语法清晰简洁,遵循以下规则:
每行一个参数。
基 ...
Linux 命令:systemctl 详解在现代 Linux 系统中,服务管理主要有两种方式:传统的 service 命令和基于 systemd 的 systemctl 命令。
systemd 是目前主流 Linux 发行版(如 CentOS 7+、Ubuntu 16.04+、Debian 8+ 等)采用的初始化系统(init system),用于替代传统的 SysV init 和 Upstart。它的核心设计目标包括:
提升系统启动速度:通过并行启动机制,尽可能让多个服务同时启动;
按需启动服务:仅在需要时激活服务(例如通过 socket 或 D-Bus 触发);
依赖管理更清晰:使用声明式单元(Unit)文件定义服务及其依赖关系;
统一管理系统资源:不仅管理服务,还支持挂载点、定时任务、套接字等。
systemd 对应的服务管理命令是 systemctl。值得注意的是,systemctl 在一定程度上兼容传统的 SysV init 脚本:当你运行 systemctl start xxx 而系统中没有对应的 .service 单元文件时,systemd 会尝试在 /e ...
三分钟搞懂 Linux 的 /etc/fstab 文件中 UUID 和 PARTUUID 的区别与使用方法你是否曾在配置Linux的/etc/fstab文件时,面对UUID和PARTUUID感到困惑?它们看起来都很相似,但又有什么不同?
这是一个非常重要的话题,因为它关系到系统能否正确和稳定地挂载所需的磁盘分区。
一、核心概念与区别简单来说,UUID 标识的是文件系统本身,而 PARTUUID 标识的是磁盘上的分区。
特性
UUID
PARTUUID
标识对象
文件系统 (File System)
分区 (Partition)
生成方式
在创建文件系统时生成 (如 mkfs.ext4)
在创建分区时生成 (如 fdisk, gdisk)
更改条件
重新格式化分区会改变其 UUID
重新分区会改变其 PARTUUID
适用范围
几乎所有现代文件系统 (ext4, xfs, btrfs, ntfs, fat等)
主要适用于 GPT 分区表,MBR 分区表支持有限
唯一性
全局唯一,用于区分不同的文件系统
全局唯一,用于 ...
Linux 搭建OpenVPN服务器和客户端项目需要能够远程控制树莓派。说到远程控制,肯定想到ssh。但是呢,树莓派是用3G流量上网的,分配到的是内网IP地址。那么如何让另一个设备能够连接到处于内网的设备呢?我想到了VPN。在VPN中,所有设备都好像在一个局域网中,如果服务器适当配置一下,那么VPN客户端之间就能互相访问。
VPN有很多种,包括PPTP、IPSec、OpenVPN等等。PPTP的数据包特征太明显,在国内的网络环境中很可能直接被拦截掉了。另外,由于树莓派使用的是3G流量,其链路可能功能有限,IPSec使用的是Cisco自己设计的协议,可能会被丢弃(未考证)。综合考虑,还是OpenVPN功能最强大,因为它是基于TCP或者UDP的,而且数据包特征不太明显,另外可配置项也很多。
OpenVPN的配置还是比较复杂的,尤其是对于新手而言,如果一开始上来就是什么创建证书、公钥、密钥,会很打击信心。所以我决定先来一个最最简单的版本,然后循序渐进。
=========== ...
在 Windows 下经常会遇到“分区”这个概念,在 Linux 中一般不叫“分区”而叫“挂载点”。“挂载点”就是将一个硬盘的一部分做成文件夹的形式,这个文件夹的名字就是“挂载点”
文件/etc/fstab 详细的记录了 Ubuntu 中硬盘分区的情况
有一行“/ was on /dev/sda5 during installation”,意思是根目录“/”是在/dev/sda5
上的,其中“/”是挂载点,“/dev/sda5”就是我们装 Ubuntu 系统的硬盘。
其中 sd 表示是 SATA 硬盘或者其它外部设备,最后****面的数字表示该硬盘上的第 n 个分区,比如/dev/sda1 就表示磁盘 sda 上的第一个分区。
如果是以/dev/sda 开头的,说明当前只有一个硬盘。
如果再插上 U 盘、SD 卡啥的就可能会出现/dev/sdb,/dev/sdc 等等。
如果你的 U 盘有两个分 ...
Linux 目录结构详解简介Linux 遵循文件系统层次结构标准 (FHS),该标准以结构化方式组织文件和目录。了解此结构有助于系统管理、故障排除和开发。
Linux 根目录 /Linux 中的所有文件和目录都源自根目录 (/),它是层次结构中的顶级目录。
1234567891011121314151617181920/├── bin/├── boot/├── dev/├── etc/├── home/├── lib/├—— /lost+found├── media/├── mnt/├── opt/├── proc/├── root/├── run/├── sbin/├── srv/├── sys/├── tmp/├── usr/└── var/
/bin 目录:基本系统二进制文件包含 ls、cp、mv、cat 等基本命令
/boot 目录:引导加载程序文件存储 Linux 内核( vmlinuz )、grub 引导加载程序文件
/dev 目录:设备文件代表硬件的虚拟文件(例如,磁盘的 /dev/sda、/dev/null)
/etc ...
Linux 运维必看:后台启动命令,入门只需 5 分钟在 Linux 运维工作中,nohup、&和重定向是实现程序后台稳定运行的核心工具。搞清楚它的原理,使用合适的组合与技巧,工作中就可以掌控后台进程。
一、核心工具作用:nohup、&、重定向nohup:全称 “no hang up”,让程序忽略终端关闭时的 SIGHUP 终止信号,确保终端断开后进程继续运行。单独使用会占用终端,需配合&。
&:将程序转入后台运行,不阻塞终端,可继续输入命令。但单独使用时,终端关闭后进程会终止,必须与nohup搭配。
重定向:管理程序输出,避免日志混乱。常用符号:
>:覆盖写入文件;>>:追加写入
2>:重定向错误输出(stderr)
2>&1:合并错误与标准输出(stdout)
/dev/null:丢弃输出,不保存日志
二、实际运维工作中的组合方案1. 基础方案:默认输出1nohup 命令 &#输出默认写入nohup.out
适用于临时测试,如写一个检测内网某个应用的页面是否正常访问的pe ...
Linux 统计文件夹下的文件数目使用 ls 命令结合 wc 命令统计当前目录下的文件数(不包括子目录中的文件):
1ls -l | grep ^- | wc -l
ls -l 列出详细信息
grep ^- 过滤出以 “-“开头的行(即普通文件)
wc -l 计算行数
使用 find 命令统计指定目录及其子目录中的所有文件数:
1find /path/to/directory -type f | wc -l
只统计指定目录(不包括子目录)中的文件数:
1find /path/to/directory -maxdepth 1 -type f | wc -l
按文件类型统计统计指定目录中特定类型的文件数(例如.txt 文件):
1find /path/to/directory -name "*.txt" | wc -l
