命令功能与核心用法概览
| 命令 | 全称/含义 | 主要功能 | 核心使用场景 |
|---|---|---|---|
echo | - | 向标准输出(屏幕)打印文本或变量值。 | 1. 输出调试信息或提示。 2. 将文本写入文件(配合重定向)。 3. 控制终端显示属性(如颜色)。 4. 设置或查看环境变量。 |
mount | - | 将文件系统(如磁盘分区、ISO镜像、网络共享)挂载到Linux目录树的指定位置。 | 1. 挂载硬盘分区、U盘、光盘。 2. 挂载网络文件系统(NFS, Samba)。 3. 挂载虚拟文件系统(如 proc,sysfs)。4. 绑定挂载目录。 |
insmod | InsertModule | 向正在运行的Linux内核中动态加载一个内核模块。 | 1. 加载设备驱动程序。 2. 加载内核功能扩展模块。 3. 临时启用特定硬件支持。 |
ulimit | Userlimit | 查看或设置当前Shell进程及其子进程的资源限制。 | 1. 限制进程可打开的文件数。 2. 限制进程可创建的最大内存大小。 3. 控制核心转储文件大小。 4. 设置进程栈大小。 |
1.echo命令详解与示例
echo命令最基本的功能是输出字符串。其参数-e用于启用转义字符解释,-n用于不在输出末尾添加换行符 。
基础输出与变量扩展:
# 输出字符串 echo "Hello, World!" # 输出变量值 MY_VAR="Linux" echo "The OS is $MY_VAR." # 输出环境变量 echo "My home directory is $HOME."向文件写入内容(常用于脚本配置或日志记录):
# 将文本追加到文件末尾 echo "This is a log entry." >> /var/log/myapp.log # 覆盖文件内容 echo "server_ip=192.168.1.100" > /etc/myapp/config.conf控制输出格式与属性:
# 使用 -e 参数解释转义字符,例如换行( )和制表符(\t) echo -e "Line 1 Line 2\tIndented" # 输出带颜色的文本(用于终端高亮提示) echo -e "\033[31mError: File not found.\033[0m" # 红色错误信息 echo -e "\033[32mSuccess: Operation completed.\033[0m" # 绿色成功信息2.mount命令详解与示例
mount命令用于将存储设备或文件系统关联到目录树的一个挂载点,使其内容可被访问。使用前常需sudo提权 。
查看已挂载的文件系统:
# 显示当前所有挂载信息 mount # 或使用更易读的格式 mount | column -t挂载常见设备:
# 挂载U盘或移动硬盘(假设设备为 /dev/sdb1, 挂载点为 /mnt/usb) sudo mount /dev/sdb1 /mnt/usb # 挂载ISO镜像文件 sudo mount -o loop ubuntu-22.04.iso /mnt/iso # 挂载网络文件系统(NFS) sudo mount -t nfs 192.168.1.10:/shared/data /mnt/nfs使用/etc/fstab实现开机自动挂载:
编辑/etc/fstab文件,添加如下行可实现系统启动时自动挂载 。
# 示例:将 /dev/sda2 分区挂载到 /data 目录,使用 ext4 文件系统 /dev/sda2 /data ext4 defaults 0 2添加后,可使用sudo mount -a命令立即挂载所有在fstab中定义但未挂载的文件系统。
卸载文件系统:
# 卸载指定挂载点 sudo umount /mnt/usb # 如果设备正忙,可尝试强制卸载 sudo umount -l /mnt/usb3.insmod命令详解与示例
insmod是用于加载内核模块的低级工具。它要求提供模块文件的完整路径,且不自动解决模块依赖关系。更常用的高级命令是modprobe,它能自动处理依赖 。
加载内核模块:
# 假设有一个名为 my_driver.ko 的模块位于当前目录 sudo insmod ./my_driver.ko # 通常模块位于标准库路径 /lib/modules/$(uname -r)/kernel/ # 例如,加载 USB 串口转换器驱动 sudo insmod /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ftdi_sio.ko检查模块是否加载:
# 使用 lsmod 命令列出所有已加载模块 lsmod | grep ftdi_sio卸载模块:
# 使用 rmmod 命令卸载模块 sudo rmmod ftdi_sioinsmod与modprobe对比:
insmod:简单直接,但需手动处理路径和依赖。modprobe:智能便捷,只需模块名,自动搜索路径并解决依赖。# 使用 modprobe 加载模块(推荐) sudo modprobe ftdi_sio # 使用 modprobe 卸载模块(同时会卸载依赖模块) sudo modprobe -r ftdi_sio
4.ulimit命令详解与示例
ulimit用于控制Shell及其子进程可用的系统资源。限制分为软限制(当前有效,可提高)和硬限制(上限,普通用户不可超越)。-a参数可查看所有当前限制 。
查看所有资源限制:
ulimit -a输出示例将包含核心文件大小、数据段大小、文件大小、栈大小、CPU时间、最大用户进程数、虚拟内存、打开文件数等限制。
设置资源限制(在Shell会话或脚本中):
# 设置当前进程可打开的最大文件描述符数量为 1024(软限制) ulimit -n 1024 # 同时设置软硬限制为 65535(需在硬限制范围内) ulimit -Hn 65535 # 设置硬限制 ulimit -Sn 65535 # 设置软限制 # 或一条命令设置两者 ulimit -n 65535常用参数说明:
| 参数 | 限制的资源 |
|---|---|
-c | 核心转储文件的最大大小(blocks)。 |
-d | 进程数据段的最大大小(KB)。 |
-f | Shell创建文件的最大大小(blocks)。 |
-n | 进程可同时打开的最大文件描述符数。 |
-u | 单个用户可创建的最大进程数。 |
-v | Shell可用的最大虚拟内存量(KB)。 |
-S | 设置或显示软限制。 |
-H | 设置或显示硬限制。 |
永久生效配置:
要使用户的ulimit设置永久生效,需要编辑相应用户的Shell配置文件(如~/.bashrc或~/.bash_profile)或系统级配置文件(如/etc/security/limits.conf)。
- 用户级配置(
~/.bashrc):# 在文件末尾添加 ulimit -n 65535 - 系统级配置(
/etc/security/limits.conf):# 在文件中添加行,为用户 `webuser` 设置文件打开数限制 webuser soft nofile 65535 webuser hard nofile 65535 # 为所有用户设置(使用 *) * soft nofile 10240 * hard nofile 10240
参考来源
- shell常实用命令
- Linux的命令详解、缩写
- 【Linux命令大全】005.系统设置(理论篇)
- linux 命令是什么的缩写,常见的Linux命令缩写
- /proc文件系统与常用进程管理命令总结
- Linux命令简写和全称