UBUNTU 常用命令详解
Ubuntu 是一个基于 Debian 的 Linux 发行版,广泛用于桌面和服务器环境。掌握一些常用的 Ubuntu 命令可以帮助你更高效地使用和管理系统。以下是一些常用的 Ubuntu 命令,按功能分类并详细讲解:
---
1.系统管理
1.1 更新系统
• `sudo apt update`
功能:更新软件包索引。
详细解释:Ubuntu 使用 APT(Advanced Package Tool)管理软件包。`apt update`会从配置的软件源(如 Ubuntu 官方仓库)同步最新的软件包信息到本地。这是安装或更新软件前的必要步骤。
• `sudo apt upgrade`
功能:升级系统中已安装的软件包。
详细解释:在执行`apt upgrade`之前,必须先运行`apt update`。此命令会检查并安装所有可用的更新,但不会安装新的软件包。
• `sudo apt dist-upgrade`
功能:升级系统,包括安装新的依赖包。
详细解释:与`apt upgrade`类似,但`dist-upgrade`会智能处理依赖关系,可能会安装新的软件包以满足依赖需求。适合系统大版本更新。
• `sudo apt autoremove`
功能:删除不再需要的依赖包。
详细解释:当你卸载某个软件包时,其依赖的软件包可能仍然保留在系统中。`autoremove`会清理这些不再需要的包,节省磁盘空间。
1.2 系统信息
• `uname -a`
功能:显示系统信息。
详细解释:`uname`是显示系统信息的命令,`-a`参数表示显示所有信息,包括内核版本、主机名、操作系统等。
• `df -h`
功能:查看磁盘空间使用情况。
详细解释:`df`是查看文件系统的磁盘空间使用情况的命令,`-h`参数表示以人类可读的方式显示(如 GB、MB)。
• `free -h`
功能:查看内存使用情况。
详细解释:`free`显示系统的总内存、已用内存、空闲内存和交换空间的使用情况。`-h`参数以易读的方式显示。
---
2.文件和目录操作
2.1 文件管理
• `ls`
功能:列出目录内容。
详细解释:`ls`是最基本的命令之一,用于列出当前目录或指定目录中的文件和文件夹。
常用参数:
• `-l`:以长格式显示文件信息(包括权限、所有者、大小等)。
• `-a`:显示隐藏文件(以`.`开头的文件)。
• `-h`:以易读的方式显示文件大小(如 KB、MB)。
• 示例:`ls -lah`。
• `cd
功能:切换目录。
详细解释:`cd`是 Change Directory 的缩写,用于切换到指定目录。
常用路径:
• `cd ~`:切换到当前用户的主目录。
• `cd /`:切换到根目录。
• `cd ..`:切换到上一级目录。
• `pwd`
功能:显示当前工作目录的路径。
详细解释:`pwd`是 Print Working Directory 的缩写,用于显示当前目录的完整路径。
• `cp
功能:复制文件或目录。
详细解释:`cp`是 Copy 的缩写,用于复制文件或目录。
常用参数:
• `-r`:递归复制目录及其内容。
• 示例:`cp -r folder1 folder2`。
• `mv
功能:移动或重命名文件或目录。
详细解释:`mv`是 Move 的缩写,用于移动文件或目录,也可以用于重命名。
示例:
• 移动文件:`mv file.txt /new/location`。
• 重命名文件:`mv old_name.txt new_name.txt`。
• `rm
功能:删除文件或目录。
详细解释:`rm`是 Remove 的缩写,用于删除文件或目录。
常用参数:
• `-r`:递归删除目录及其内容。
• `-f`:强制删除,不提示确认。
• 示例:`rm -rf folder`(小心使用,会永久删除文件)。
2.2 文件查看
• `cat
功能:查看文件内容。
详细解释:`cat`是 Concatenate 的缩写,用于将文件内容输出到终端。
示例:`cat file.txt`。
• `less
功能:分页查看文件内容。
详细解释:`less`是一个分页查看工具,支持上下翻页(使用方向键或`Page Up`/`Page Down`)。
示例:`less large_file.txt`。
• `head
功能:查看文件的前几行。
详细解释:`head`默认显示文件的前 10 行。
常用参数:
• `-n
• 示例:`head -n 5 file.txt`。
• `tail
功能:查看文件的最后几行。
详细解释:`tail`默认显示文件的最后 10 行。
常用参数:
• `-n
• `-f`:实时显示文件的新增内容(常用于查看日志文件)。
• 示例:`tail -f /var/log/syslog`。
---
3.用户和权限管理
3.1 用户管理
• `whoami`
功能:显示当前登录的用户名。
详细解释:`whoami`是 Who Am I 的缩写,用于显示当前登录用户的用户名。
• `sudo`
功能:以超级用户权限执行命令。
详细解释:`sudo`是 Super User Do 的缩写,允许普通用户以管理员权限运行命令。
示例:`sudo apt install
• `su`
功能:切换用户。
详细解释:`su`是 Switch User 的缩写,用于切换到其他用户(默认切换到 root 用户)。
示例:`su -`(切换到 root 用户)。
3.2 权限管理
• `chmod
功能:修改文件或目录的权限。
详细解释:`chmod`是 Change Mode 的缩写,用于设置文件或目录的读(r)、写(w)和执行(x)权限。
权限表示:
• 数字表示法:`755`(所有者读写执行,组和其他用户读执行)。
• 符号表示法:`u+x`(为所有者添加执行权限)。
示例:`chmod 755 file.sh`。
• `chown
功能:更改文件或目录的所有者。
详细解释:`chown`是 Change Owner 的缩写,用于更改文件或目录的所有者和所属组。
示例:`chown user:group file.txt`。
---
4.网络管理
4.1 网络连接
• `ifconfig`或`ip a`
功能:显示网络接口配置。
详细解释:`ifconfig`是传统的网络接口配置工具,`ip a`是更现代的替代工具。它们用于查看网络接口的 IP 地址、子网掩码等信息。
示例:`ip a`。
• `ping
功能:测试网络连接。
详细解释:`ping`用于测试主机之间的网络连接是否正常。它通过发送 ICMP 数据包来检查目标主机是否可达。
示例:`ping google.com`。
• `netstat -tuln`
功能:显示网络连接和监听端口。
4.2 网络工具
• `traceroute
功能:显示到目标主机的网络路径。
详细解释:`traceroute`是一个网络诊断工具,用于显示数据包从本地主机到目标主机所经过的每一跳(路由器)路径。它可以帮助诊断网络延迟或连接问题。
示例:`traceroute google.com`。
• `nslookup
功能:查询域名解析信息。
详细解释:`nslookup`是一个用于查询 DNS(域名系统)信息的工具。它可以将域名解析为 IP 地址,也可以查询域名的其他记录(如 MX 记录、NS 记录等)。
示例:`nslookup google.com`。
• `ssh
功能:通过 SSH 远程登录到服务器。
详细解释:`ssh`是 Secure Shell 的缩写,用于安全地远程登录到其他主机。它支持加密通信,确保数据传输的安全性。
示例:`ssh user@192.168.1.100`或`ssh user@remote-server.com`。
• `scp
功能:通过 SSH 安全地复制文件。
详细解释:`scp`是 Secure Copy 的缩写,用于在本地和远程主机之间安全地复制文件。它基于 SSH 协议,确保数据传输的安全性。
示例:`scp file.txt user@192.168.1.100:/home/user/`。
---
5.系统监控
5.1 系统性能监控
• `top`
功能:实时显示系统进程和资源使用情况。
详细解释:`top`是一个动态更新的系统监控工具,显示当前系统中占用资源最多的进程(包括 CPU 和内存)。它还提供系统的整体负载信息。
常用操作:
• 按`P`排序按 CPU 使用率。
• 按`M`排序按内存使用率。
• 按`q`退出。
• `htop`
功能:更友好的系统进程监控工具。
详细解释:`htop`是`top`的增强版本,提供更直观的界面和更多的功能,如进程树视图、颜色高亮等。它需要单独安装(`sudo apt install htop`)。
示例:`htop`。
• `ps`
功能:显示当前运行的进程。
详细解释:`ps`是 Process Status 的缩写,用于显示当前系统的进程信息。
常用参数:
• `-ef`:显示所有进程的详细信息。
• 示例:`ps -ef`。
• `kill
功能:终止进程。
详细解释:`kill`用于发送信号给进程,终止其运行。
常用参数:
• `-9`:强制终止进程(无法捕获的信号)。
• 示例:`kill -9 1234`(终止 PID 为 1234 的进程)。
• `free -h`
功能:查看系统的内存使用情况。
详细解释:`free`显示系统的总内存、已用内存、空闲内存和交换空间的使用情况。`-h`参数以易读的方式显示(如 GB、MB)。
示例:`free -h`。
---
6.文本处理
6.1 文本编辑
• `nano
功能:简单易用的文本编辑器。
详细解释:`nano`是一个轻量级的文本编辑器,适合初学者。它提供简单的命令提示,支持基本的文本编辑操作。
示例:`nano file.txt`。
• `vi`或`vim
功能:功能强大的文本编辑器。
详细解释:`vi`和`vim`是 Linux 系统中最常用的文本编辑器之一。`vim`是`vi`的增强版本,支持更多的功能和插件。
基本操作:
• 按`i`进入插入模式(编辑文本)。
• 按`Esc`返回命令模式。
• 输入`:wq`保存并退出。
• 输入`:q!`强制退出而不保存。
示例:`vim file.txt`。
6.2 文本搜索
• `grep
功能:搜索文本内容。
详细解释:`grep`是一个强大的文本搜索工具,用于在文件中查找匹配特定模式的行。
常用参数:
• `-i`:忽略大小写。
• `-r`:递归搜索目录中的文件。
• `-n`:显示匹配行的行号。
• 示例:`grep -i "error" file.log`(搜索包含“error”的行)。
• `find
功能:查找文件和目录。
详细解释:`find`是一个用于查找文件和目录的工具,支持多种搜索条件(如文件名、大小、修改时间等)。
常用参数:
• `-name`:按文件名搜索。
• `-type`:按文件类型搜索(`f`表示文件,`d`表示目录)。
• 示例:`find /home -name "*.txt"`(查找所有`.txt`文件)。
---
7.压缩与解压
7.1 压缩
• `tar -czvf archive.tar.gz
功能:创建一个压缩的 tar 归档文件。
详细解释:`tar`是一个用于创建归档文件的工具,`gzip`用于压缩。
参数:
• `-c`:创建归档文件。
• `-z`:使用 gzip 压缩。
• `-v`:显示详细信息。
• `-f`:指定归档文件名。
示例:`tar -czvf backup.tar.gz /home/user/`。
• `zip -r archive.zip
功能:创建一个 ZIP 压缩文件。
详细解释:`zip`是一个常用的压缩工具,支持递归压缩目录。
参数:
• `-r`:递归压缩目录。
示例:`zip -r backup.zip /home/user/`。
7.2 解压
• `tar -xzvf archive.tar.gz`
功能:解压 tar.gz 文件。
详细解释:`tar`用于解压归档文件,`gzip`用于解压。
参数:
• `-x`:解压归档文件。
• `-z`:使用 gzip 解压。
示例:`tar -xzvf backup.tar.gz`。
• `unzip archive.zip`
功能:解压 ZIP 文件。
详细解释:`unzip`是一个用于解压 ZIP 文件的工具。
示例:`unzip backup.zip`。
---
8.其他常用命令
• `history`
功能:显示命令历史记录。
详细解释:`history`用于查看当前用户在终端中执行过的命令。你可以通过上下箭头快速切换历史命令。
示例:`history`。
• `man
功能:查看命令的手册页。
详细解释:`man`是 Manual 的缩写,用于查看命令的详细手册页,包括语法、参数和示例。
示例:`man ls`。
• `alias`
功能:创建命令别名。
详细解释:`alias`用于为长命令或常用命令创建简短的别名。
示例:
```bash
alias ll='ls -lah'
ll
```
• `clear`
功能:清屏。