1. Linux常用命令学习笔记概述
作为一名Linux系统管理员,我经常被新手问到:"Linux那么多命令,到底哪些最常用?"这个问题让我想起自己刚接触Linux时的迷茫。经过多年实践,我整理出这份持续更新的Linux常用命令笔记,特别适合刚入门的"菜鸟"快速掌握核心命令。
Linux命令是操作系统的神经末梢,通过命令行界面(CLI)我们可以直接与系统内核对话。与图形界面相比,命令行更高效、更灵活,尤其在服务器管理和自动化任务中不可或缺。根据2023年Stack Overflow开发者调查,Linux在专业开发者中的使用率已达40.2%,而熟练掌握命令行是Linux能力的基础。
这份笔记的特点:
- 聚焦实际工作场景中的高频命令
- 包含清晰的命令语法和实用示例
- 标注常见错误和避坑指南
- 持续更新补充新发现的实用技巧
2. 文件与目录操作命令
2.1 基础导航命令
pwd(Print Working Directory)是最该第一个掌握的命令。它像GPS一样告诉你当前所处位置:
$ pwd /home/usernamels命令是查看目录内容的"眼睛",常用参数组合:
ls -la # 显示所有文件(包括隐藏文件)的详细信息 ls -lh # 人性化显示文件大小(KB/MB/GB)经验:在陌生系统中,先用
ls -la /查看根目录结构,能快速了解系统布局。
2.2 目录操作黄金组合
创建目录时,mkdir -p可以自动创建父目录:
mkdir -p project/{src,doc,backup} # 一次性创建多级目录结构删除目录的rm -rf要格外小心!建议先执行ls确认目录内容,再删除:
$ ls target_dir/ # 先确认 $ rm -rf target_dir/2.3 文件操作四件套
cp复制时保留属性:cp -a source_dir dest_dir # -a相当于-dpr组合mv不仅是移动,还是重命名工具:mv oldname newname # 文件重命名rm删除的防误操作技巧:alias rm='rm -i' # 加入~/.bashrc使删除前确认touch的妙用:touch {1..10}.txt # 快速创建测试文件
3. 文件查看与编辑命令
3.1 文件内容查看三剑客
cat查看小文件:cat -n /etc/passwd # 显示行号less查看大文件:less +F /var/log/syslog # 实时跟踪日志(-F参数)head/tail查看首尾:tail -n 20 -f /var/log/nginx/access.log # 实时监控最后20行
3.2 文本搜索神器grep
基本用法:
grep "error" /var/log/syslog # 简单搜索 grep -i "warning" *.log # 忽略大小写高级技巧:
grep -E "error|fail" /var/log/* # 多条件搜索 grep -r "TODO" ~/projects/ # 递归搜索目录3.3 文本编辑利器
nano适合新手的基本编辑:
nano +10,5 file.txt # 打开文件并定位到10行5列vim高效操作技巧:
gg - 跳到文件首行 G - 跳到文件末尾 /text - 搜索文本 :%s/old/new/g - 全局替换4. 系统监控与管理命令
4.1 进程管理命令
ps命令的实用组合:
ps aux --sort=-%mem | head # 按内存使用排序 ps -ef --forest # 显示进程树top的增强版htop:
htop -d 10 # 每10秒刷新一次4.2 系统资源监控
free查看内存:
free -h # 人性化显示df磁盘空间检查:
df -hT / # 显示根分区使用情况和文件系统类型du目录大小分析:
du -sh * | sort -h # 排序显示当前目录各文件/目录大小4.3 网络相关命令
ifconfig或ip:
ip addr show # 显示所有网络接口netstat查看连接:
netstat -tulnp # 显示监听中的TCP/UDP端口ping和traceroute:
ping -c 4 google.com # 发送4个测试包 traceroute -n 8.8.8.8 # 不解析DNS名称5. 权限与用户管理
5.1 文件权限管理
chmod的数字表示法:
chmod 755 script.sh # rwxr-xr-x特殊权限设置:
chmod +s /usr/bin/myapp # 设置SUID5.2 用户与组操作
添加用户:
useradd -m -s /bin/bash newuser passwd newuser组管理:
usermod -aG sudo username # 将用户加入sudo组5.3 sudo配置技巧
查看sudo权限:
sudo -l安全建议:
# 在/etc/sudoers中添加: username ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx6. 实用工具与小技巧
6.1 压缩解压大全
tar常用组合:
tar -czvf backup.tar.gz dir/ # 创建gzip压缩包 tar -xzvf backup.tar.gz # 解压gzip包zip/unzip:
zip -r project.zip project/ # 递归压缩 unzip -l project.zip # 查看压缩包内容6.2 查找命令
find高级用法:
find / -type f -size +100M # 查找大于100MB的文件 find ~ -name "*.tmp" -delete # 查找并删除locate快速搜索:
updatedb # 先更新数据库 locate nginx.conf6.3 其他实用命令
history优化:
!vim # 执行最近一条vim开头的命令 ctrl+r # 反向搜索历史命令alias提高效率:
alias ll='ls -alF' alias update='sudo apt update && sudo apt upgrade'7. 常见问题解决方案
7.1 命令找不到问题
$ command_not_found -bash: command_not_found: command not found解决方案:
- 检查拼写错误
- 确认命令是否安装:
which command - 检查PATH变量:
echo $PATH
7.2 权限被拒绝
$ /usr/local/bin/script.sh -bash: /usr/local/bin/script.sh: Permission denied解决方法:
chmod +x /usr/local/bin/script.sh # 添加执行权限7.3 磁盘空间不足
诊断步骤:
df -h # 查看磁盘使用情况 du -sh /* # 分析各目录大小 lsof -nP +L1 # 查找已删除但未释放的文件8. 学习资源与进阶建议
8.1 内置帮助系统
man ls # 完整手册 ls --help # 快速参考 info coreutils # GNU工具详细信息8.2 推荐学习路径
- 先掌握本文列出的基础命令
- 学习shell脚本编程
- 理解Linux文件系统层次标准
- 研究正则表达式
- 掌握awk/sed高级文本处理
8.3 持续学习建议
- 每天学习1个新命令及其常用选项
- 建立自己的命令备忘清单
- 参与Linux社区讨论
- 定期复习man手册
这份笔记我会持续更新,建议收藏并定期查看更新。记住,Linux命令的学习没有捷径,但通过系统化的整理和实际应用,你一定能从"菜鸟"成长为命令行高手。