Linux基础命令

Linux基础命令完全指南 - 从小白到入门

前言

本教程旨在为Linux初学者提供全面、系统的命令学习指南,涵盖文件管理、系统操作、网络配置等各个方面。


第一章:文件系统基础

1.1 目录结构理解

/           # 根目录
/bin        # 基本命令二进制文件
/etc        # 系统配置文件
/home       # 用户主目录
/var        # 可变数据文件
/tmp        # 临时文件
/usr        # 用户程序和数据

1.2 导航命令详解

ls 命令完整用法

ls                  # 简单列表
ls -l               # 详细列表(权限、所有者、大小、时间)
ls -a               # 显示所有文件(包括.开头的隐藏文件)
ls -la              # 详细显示所有文件
ls -lh              # 人类可读的文件大小
ls -t               # 按修改时间排序
ls -r               # 反向排序
ls -S               # 按文件大小排序
ls /path/to/dir     # 查看指定目录

cd 命令进阶

cd                  # 回到用户主目录
cd ~                # 同上
cd /                # 切换到根目录
cd /home/user       # 绝对路径切换
cd Documents        # 相对路径切换
cd ..               # 返回上级目录
cd ../..            # 返回上两级目录
cd -                # 返回上一个工作目录

pwd 和 which

pwd                 # 显示当前完整路径
which ls            # 显示命令的完整路径
whereis ls          # 显示命令的路径和手册页位置

第二章:文件操作大全

2.1 创建文件和目录

touch file.txt              # 创建空文件
mkdir mydir                 # 创建目录
mkdir -p dir1/dir2/dir3     # 递归创建多级目录
mkdir dir{1,2,3}            # 批量创建目录

2.2 复制操作

cp file1 file2              # 复制文件
cp file1 /tmp/              # 复制到指定目录
cp -r dir1 dir2             # 递归复制目录
cp -v file1 file2           # 显示复制过程
cp -i file1 file2           # 覆盖前提示
cp -u file1 file2           # 仅当源文件较新时复制

2.3 移动和重命名

mv oldname newname          # 重命名文件
mv file1 /tmp/              # 移动文件
mv -i file1 file2           # 覆盖前提示
mv -v file1 file2           # 显示移动过程

2.4 删除操作(谨慎使用!)

rm file.txt                 # 删除文件
rm -i file.txt              # 删除前确认
rm -f file.txt              # 强制删除
rm -r mydir                 # 递归删除目录
rm -rf mydir                # 强制递归删除(危险!)

第三章:文件内容查看和编辑

3.1 查看文件内容

cat file.txt                # 显示全部内容
cat -n file.txt             # 显示行号
cat file1 file2             # 连接多个文件

less file.txt               # 分页查看(推荐)
more file.txt               # 分页查看(较老)

head -n 20 file.txt         # 显示前20行
tail -n 20 file.txt         # 显示后20行
tail -f logfile             # 实时跟踪文件变化

wc file.txt                 # 统计行数、单词数、字符数
wc -l file.txt              # 只统计行数

3.2 文件搜索

grep "keyword" file.txt     # 搜索包含关键词的行
grep -i "keyword" file.txt  # 忽略大小写
grep -v "keyword" file.txt  # 搜索不包含关键词的行
grep -r "keyword" /path/    # 递归搜索目录
grep -n "keyword" file.txt  # 显示行号

find /home -name "*.txt"    # 按文件名查找
find /var -type f           # 查找所有文件
find /tmp -mtime -1         # 查找1天内修改的文件

第四章:权限管理

4.1 文件权限理解

ls -l file.txt
# 输出示例:-rw-r--r-- 1 user group 1024 Jan 1 12:00 file.txt
# 权限说明:
# - 文件类型(-普通文件,d目录,l链接)
# rw- 所有者权限
# r-- 组权限  
# r-- 其他用户权限

4.2 权限修改

chmod 755 file.txt          # 数字方式设置权限
chmod u+x file.txt          # 给所有者添加执行权限
chmod g-w file.txt          # 移除组的写权限
chmod o=r file.txt          # 设置其他用户只读

chown user:group file.txt   # 修改所有者和组
chown user file.txt         # 只修改所有者
chgrp group file.txt        # 只修改组

第五章:系统管理

5.1 进程管理

ps                          # 显示当前进程
ps aux                      # 显示所有进程详细信息
ps -ef                      # 完整格式显示进程

top                         # 实时进程监控
htop                        # 增强版top(需安装)

kill 1234                   # 终止进程
kill -9 1234                # 强制终止进程
pkill process_name          # 按名称终止进程

jobs                        # 显示后台作业
fg %1                       # 将作业1调到前台
bg %1                       # 将作业1放到后台

5.2 系统信息

uname -a                    # 所有系统信息
uname -r                    # 内核版本

cat /etc/os-release         # 系统版本信息

df -h                       # 磁盘使用情况(人类可读)
du -sh /path                # 目录大小
du -h --max-depth=1 /path   # 一级子目录大小

free -h                     # 内存使用情况

uptime                      # 系统运行时间
who                         # 当前登录用户
w                           # 详细登录信息

5.3 包管理(以Ubuntu/Debian为例)

sudo apt update             # 更新包列表
sudo apt upgrade            # 升级所有包
sudo apt install package    # 安装包
sudo apt remove package     # 删除包
sudo apt search keyword     # 搜索包

第六章:网络相关

6.1 网络配置

ifconfig                    # 网络接口信息(较老)
ip addr                     # IP地址信息
ip route                    # 路由表

ping google.com             # 测试网络连通性
traceroute google.com       # 跟踪路由路径

netstat -tulpn              # 网络连接和端口状态
ss -tulpn                   # 更快的网络状态工具

curl http://example.com     # 下载网页内容
wget http://example.com/file # 下载文件

第七章:实用技巧和快捷键

7.1 命令行快捷键

Ctrl + A                    # 移动到行首
Ctrl + E                    # 移动到行尾
Ctrl + U                    # 删除到行首
Ctrl + K                    # 删除到行尾
Ctrl + W                    # 删除前一个单词
Ctrl + R                    # 搜索历史命令
Tab                         # 自动补全
Ctrl + C                    # 终止当前命令
Ctrl + Z                    # 暂停当前命令

7.2 重定向和管道

ls > file.txt               # 输出重定向到文件
ls >> file.txt              # 追加到文件
grep "error" log.txt > errors.txt  # 过滤输出到文件

ls | grep ".txt"            # 管道:前一个命令输出作为后一个输入
ps aux | grep "nginx"       # 查找nginx进程
cat file.txt | sort | uniq  # 排序并去重

7.3 环境变量

echo $PATH                  # 查看PATH环境变量
export MY_VAR="value"       # 设置环境变量
env                         # 显示所有环境变量

第八章:实用脚本示例

8.1 备份脚本示例

#!/bin/bash
# 简单备份脚本
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz /home/user/documents
echo "备份完成: backup_$DATE.tar.gz"

8.2 系统监控脚本

#!/bin/bash
# 系统状态监控
echo "=== 系统状态 ==="
echo "时间: $(date)"
echo "负载: $(uptime)"
echo "内存: $(free -h | grep Mem)"
echo "磁盘: $(df -h / | tail -1)"

第九章:故障排除

9.1 常见问题解决

# 命令找不到
which command_name
whereis command_name

# 权限问题
sudo command
chmod +x script.sh

# 磁盘空间不足
df -h
du -sh /* | sort -hr

# 服务状态检查
systemctl status service_name
journalctl -u service_name

学习建议

  1. 实践为主:在虚拟机或云服务器上实际操作
  2. 循序渐进:从基础命令开始,逐步学习高级功能
  3. 善用帮助:多使用 man--help 查看命令帮助
  4. 安全第一:谨慎使用 rm -rf 等危险命令
  5. 备份重要:重要操作前做好备份

这个教程应该足够详细了!涵盖了从基础到进阶的各个方面,适合新手系统学习Linux命令。

1 个赞