Linux基础命令
以下是一个关于Linux常用命令的总结,涵盖了文件操作、系统管理、网络操作等多个方面。这些命令是Linux系统管理和日常使用中不可或缺的工具。
### **1. 文件和目录操作**
- **`ls`**:列出目录内容。
```bash
ls -l # 以长格式显示文件和目录
ls -a # 显示所有文件,包括隐藏文件
```
- **`cd`**:切换目录。
```bash
cd /path/to/directory # 切换到指定目录
cd ~ # 切换到用户主目录
cd - # 切换到上一个目录
```
- **`pwd`**:显示当前工作目录。
```bash
pwd # 显示当前目录的绝对路径
```
- **`mkdir`**:创建目录。
```bash
mkdir newdir # 创建一个新目录
mkdir -p newdir/subdir # 创建多级目录
```
- **`rm`**:删除文件或目录。
```bash
rm file.txt # 删除文件
rm -r directory # 递归删除目录
rm -f file.txt # 强制删除文件,不提示确认
```
- **`cp`**:复制文件或目录。
```bash
cp file1 file2 # 复制文件
cp -r dir1 dir2 # 递归复制目录
```
- **`mv`**:移动或重命名文件或目录。
```bash
mv file1 file2 # 重命名文件
mv file1 /path/to/new/location # 移动文件
```
- **`touch`**:创建空文件或更新文件的时间戳。
```bash
touch newfile.txt # 创建一个新文件
touch -m file.txt # 更新文件的时间戳
```
### **2. 文件查看**
- **`cat`**:显示文件内容。
```bash
cat file.txt # 显示文件内容
cat file1 file2 # 合并多个文件内容
```
- **`less`**:分页查看文件内容。
```bash
less file.txt # 分页查看文件内容
```
- **`more`**:分页查看文件内容(功能类似于`less`)。
```bash
more file.txt
```
- **`head`**:显示文件的前几行。
```bash
head -n 10 file.txt # 显示文件的前10行
```
- **`tail`**:显示文件的后几行。
```bash
tail -n 10 file.txt # 显示文件的后10行
tail -f file.txt # 实时查看文件的更新内容
```
### **3. 系统管理**
- **`ps`**:显示当前运行的进程。
```bash
ps -ef # 显示所有进程的详细信息
ps aux # 显示所有进程的详细信息(适合交互式查看)
```
- **`top`**:动态显示系统资源使用情况。
```bash
top # 动态显示系统资源使用情况
```
- **`htop`**:更直观的交互式进程查看器。
```bash
htop # 需要安装 htop 包
```
- **`kill`**:终止进程。
```bash
kill -9 PID # 强制终止进程
```
- **`df`**:显示文件系统的磁盘使用情况。
```bash
df -h # 以易读的格式显示磁盘使用情况
```
- **`du`**:显示目录或文件的磁盘使用情况。
```bash
du -sh /path/to/directory # 显示目录的总大小
```
- **`free`**:显示系统的内存使用情况。
```bash
free -m # 以 MB 为单位显示内存使用情况
```
### **4. 网络操作**
- **`ifconfig`**:显示或配置网络接口。
```bash
ifconfig # 显示所有网络接口信息
ifconfig eth0 # 显示特定网络接口信息
```
- **`ip`**:更现代的网络配置工具。
```bash
ip addr show # 显示所有网络接口的 IP 地址
ip route show # 显示路由表
```
- **`ping`**:测试网络连通性。
```bash
ping -c 4 8.8.8.8 # 向 Google 的 DNS 发送 4 次 ICMP 请求
```
- **`traceroute`**:追踪数据包经过的路由节点。
```bash
traceroute 8.8.8.8 # 追踪到 Google DNS 的路由
```
- **`netstat`**:查看网络连接状态、路由表信息等。
```bash
netstat -an # 显示所有网络连接
netstat -lnp # 显示监听端口及其进程
```
- **`ss`**:更快速高效的网络连接状态查看工具。
```bash
ss -an # 显示所有网络连接
```
### **5. 文本处理**
- **`grep`**:搜索文本中的模式。
```bash
grep "pattern" file.txt # 搜索文件中的模式
grep -i "pattern" file.txt # 忽略大小写搜索
grep -C 2 "pattern" file.txt # 显示匹配行的上下文(前后各2行)
```
- **`awk`**:文本处理和数据分析工具。
```bash
awk '{print $1, $3}' file.txt # 打印第1列和第3列
awk '$2 > 100 {print}' file.txt # 打印第2列大于100的行
```
- **`sed`**:流编辑器。
```bash
sed 's/old/new/' file.txt # 替换文本中的内容
sed -i 's/old/new/' file.txt # 直接修改文件内容
sed '/error/d' file.txt # 删除包含"error"的行
```
### **6. 用户和权限**
- **`whoami`**:显示当前用户。
```bash
whoami
```
- **`su`**:切换用户。
```bash
su - username # 切换到指定用户
```
- **`chmod`**:修改文件或目录的权限。
```bash
chmod 755 file.txt # 修改文件权限为 rwxr-xr-x
```
- **`chown`**:修改文件或目录的所有者。
```bash
chown username file.txt # 修改文件的所有者
```
- **`chgrp`**:修改文件或目录的所属组。
```bash
chgrp groupname file.txt # 修改文件的所属组
```
### **7. 其他实用命令**
- **`history`**:显示命令历史。
```bash
history # 显示命令历史
```
- **`man`**:显示命令的手册页。
```bash
man ls # 显示 ls 命令的手册页
```
- **`echo`**:输出文本或变量。
```bash
echo "Hello, World!" # 输出文本
echo $PATH # 输出环境变量
```
- **`date`**:显示或设置系统日期和时间。
```bash
date # 显示当前日期和时间
```
- **`cal`**:显示日历。
```bash
cal # 显示当前月份的日历
```
### **总结**
这些命令是 Linux 系统管理和日常使用中非常重要的工具。掌握这些命令可以帮助你高效地操作文件、管理进程、查看系统状态和处理文本数据。通过实践和不断学习,你可以更好地利用这些命令来完成各种任务。

浙公网安备 33010602011771号