
1. 引言为什么学习Linux命令Linux作为服务器、云计算、容器和嵌入式开发领域的核心操作系统其命令行界面CLI是高效管理和操作系统的关键。掌握基础Linux命令不仅能提升工作效率更是深入理解计算机系统运作、进行自动化运维和开发的必备技能。本文将从零开始系统讲解Linux中最常用、最核心的命令帮助初学者快速上手。2. 环境准备与终端基础在开始学习命令前你需要一个Linux环境。可以选择物理机安装如Ubuntu、CentOS。虚拟机使用VirtualBox或VMware安装Linux系统。云服务器购买阿里云、腾讯云等提供的Linux云服务器。Windows子系统WSL在Windows 10/11上安装WSL。打开终端Terminal后你会看到类似userhostname:~$的提示符其中~代表当前用户的家目录home directory$表示普通用户权限#表示root超级用户。3. 文件与目录操作命令3.1 查看与导航pwd打印当前工作目录的完整路径。pwd输出/home/usernamels列出目录内容。ls # 简单列出 ls -l # 以长格式列出显示权限、所有者、大小等 ls -a # 列出所有文件包括隐藏文件以.开头 ls -lh # 以人类可读的格式如K, M显示文件大小 ls -ld #查看目录本身信息cd切换目录。cd /home # 切换到绝对路径 /home cd .. # 切换到上级目录 cd ~ # 切换到当前用户的家目录 cd - # 切换到上一个所在的目录3.2 创建、删除与移动mkdir创建新目录。mkdir new_folder # 创建单个目录 mkdir -p parent/child # 创建多级目录如果父目录不存在则一并创建touch创建空文件或更新文件时间戳。touch file.txtcp复制文件或目录。cp source.txt dest.txt # 复制文件 cp -r source_dir/ dest_dir/ # 递归复制目录mv移动或重命名文件/目录。mv old.txt new.txt # 重命名文件 mv file.txt /tmp/ # 将文件移动到 /tmp 目录rm删除文件或目录。谨慎使用rm file.txt # 删除文件 rm -r folder/ # 递归删除目录及其内容 rm -rf folder/ # 强制递归删除无确认提示极其危险4. 文件内容查看与编辑4.1 查看文件内容cat连接文件并打印到标准输出适合查看小文件。cat file.txtless / more分页查看大文件推荐使用less支持上下翻页。less large_log.txt # 在 less 中空格键向下翻页b键向上翻页q键退出head显示文件开头部分默认10行。head -n 20 file.txt # 显示前20行tail显示文件末尾部分常用于实时查看日志。tail -n 5 file.txt # 显示最后5行 tail -f app.log # 实时追踪文件新增内容CtrlC 退出4.2 文本编辑vim / vi功能强大的模态编辑器学习曲线陡峭但效率极高。vim file.txt 进入后按 i 进入插入模式编辑按 Esc 退出插入模式输入 :wq 保存并退出5. 系统信息与进程管理5.1 系统状态uname显示系统信息。uname -a # 显示所有信息内核版本、主机名等df报告文件系统磁盘空间使用情况。df -h # 以人类可读格式显示free显示内存使用情况。free -h # 以人类可读格式显示top / htop动态显示进程信息htop是top的增强版。5.2 进程管理ps报告当前进程的快照。ps aux # 查看所有用户的所有进程详细信息 ps -ef | grep nginx # 查找包含nginx的进程kill向进程发送信号以终止进程。kill 1234 # 向PID为1234的进程发送TERM信号请求终止 kill -9 1234 # 发送KILL信号强制终止pkill通过进程名终止进程。pkill firefox6. 网络相关命令ping测试与目标主机的网络连通性。ping google.com ping -c 4 8.8.8.8 # 发送4个包后停止ifconfig / ip addr查看和配置网络接口ip命令更现代。ip addr shownetstat / ss显示网络连接、路由表、接口统计等ss是netstat的更快替代。ss -tuln # 查看所有监听的TCP和UDP端口curl强大的命令行数据传输工具常用于测试API、下载文件。curl https://api.example.com/data curl -O https://example.com/file.zip # 下载文件并保留远程文件名wget非交互式网络下载器。wget https://example.com/file.zip7. 权限与用户管理7.1 文件权限使用ls -l查看文件权限输出如-rwxr-xr--。第一位文件类型-普通文件d目录。后九位三组权限所有者、所属组、其他人每组为 rwx读、写、执行。chmod修改文件权限。chmod 755 script.sh # 数字模式所有者rwx组rx其他人rx chmod ux script.sh # 符号模式给所有者增加执行权限chown修改文件所有者和所属组。chown user:group file.txt7.2 用户与组whoami显示当前登录用户名。id显示用户和组信息。id # 显示当前用户的 uid、gid 和所属组 id username # 显示指定用户的信息groups显示用户所属的组。groups # 显示当前用户所属组 groups zzx # 显示用户 zzx 所属组sudo以超级用户root权限执行命令。sudo apt update # 在 Ubuntu/Debian 上更新软件包列表 sudo systemctl restart nginx # 重启 nginx 服务su切换用户身份。su - # 切换到 root 用户需要 root 密码 su - zzx # 切换到 zzx 用户需要 zzx 的密码 sudo su - # 使用 sudo 权限切换到 root需要当前用户有 sudo 权限passwd修改用户密码。passwd # 修改当前用户密码 sudo passwd zzx # 修改用户 zzx 的密码需要 root 权限useradd添加用户。sudo useradd zzx # 添加用户 zzxRocky 中自动创建家目录 sudo useradd -m -s /bin/bash zzx # Ubuntu 中需要 -m 手动创建家目录 sudo useradd -d /opt/zzx zzx # -d 指定用户家目录 sudo useradd -u 3000 zzx # 指定用户 uiduserdel删除用户。sudo userdel zzx # 删除用户 zzx保留家目录 sudo userdel -r zzx # 删除用户 zzx同时删除家目录和邮箱usermod修改用户信息。sudo usermod -aG qa zzx # 将用户 zzx 加入附加组 qa-a 避免覆盖原有组 sudo usermod -s /bin/sh zzx # 修改用户登录 shell sudo usermod -L zzx # 锁定用户账户 sudo usermod -U zzx # 解锁用户账户groupadd创建组。sudo groupadd dba # 创建组 dba sudo groupadd -g 3000 dba # 创建并指定组的 gidgroupmod:修改组。sudo groupmod -n ops op # 修改组名,-n 新组名 旧组名 sudo groupmod -g 4000 devops # 修改组GIDgroupdel删除组。sudo groupdel dba # 删除组 dba组内不能有用户gpasswd组成员管理。sudo gpasswd -a zzx qa # 将用户 zzx 添加到组 qa 中 sudo gpasswd -d zzx qa # 将用户 zzx 从组 qa 中移除 sudo gpasswd -A zzx qa # 设置用户 zzx 为组 qa 的管理员visudo安全编辑 sudoers 配置文件。sudo visudo # 编辑 /etc/sudoers 文件会进行语法检查相关配置文件/etc/passwd用户账户信息/etc/shadow用户密码信息加密/etc/group组信息/etc/sudoerssudo 权限配置注意事项用户和组管理通常需要 root 权限使用sudo或切换到 root 用户执行。删除用户或组前确保没有进程或文件依赖。修改系统配置文件建议使用专用命令如visudo避免直接编辑导致语法错误。8. 压缩与归档tar打包与解包文件常与压缩结合。tar -czvf archive.tar.gz folder/ # 创建gzip压缩的tar包 tar -caf archive.tar.gz folder/ #a表示根据后缀gz/bz2/xz自动选择压缩工具 tar -xzvf archive.tar.gz # 解压gzip压缩的tar包 tar -xf archive.tar.gzgzip / gunzip压缩/解压 .gz 文件。zip / unzip创建和解压 .zip 文件。9. 查找与搜索find在目录树中查找文件。find /home -name *.txt # 按文件名查找 find . -type f -size 10M # 查找大于10MB的文件 find . -mtime -7 # 查找7天内修改过的文件grep在文件中搜索文本模式。grep error log.txt # 在文件中搜索error grep -r TODO src/ # 递归搜索目录 grep -i warning file.txt # 忽略大小写搜索10. 总结与练习建议掌握这些基础命令是成为Linux熟练用户的第一步。建议动手实践在自己的Linux环境中逐一尝试每个命令。善用帮助使用man 命令名如man ls或命令名 --help查看详细手册。组合使用学习使用管道|将命令组合例如ps aux | grep python。记录笔记将常用命令和选项整理成自己的速查表。命令行是Linux的灵魂越用越熟练。祝你学习愉快