目录
- 一、文件与目录操作
- 二、文本处理与查看
- 三、系统信息与管理
- 四、网络相关
- 五、压缩与归档
一、文件与目录操作
ls- 列出目录内容- 功能:显示当前目录或指定目录下的文件和子目录。
- 常用选项:
-l:以长格式显示详细信息(权限、所有者、大小、修改时间)。-a:显示所有文件,包括隐藏文件(以.开头的文件)。-h:与-l一起使用,以人类可读的格式(如 K, M, G)显示文件大小。-t:按修改时间排序(最新在前)。
- 示例:
ls -l:详细列出当前目录。ls -la /home:列出/home目录下所有文件(包括隐藏文件)的详细信息。ls -lht:按时间倒序列出当前目录的详细信息(大小易读)。
cd- 切换当前工作目录- 功能:进入指定的目录。
- 特殊符号:
cd或cd ~:进入当前用户的主目录。cd ..:进入上一级目录。cd -:返回上一次所在的目录。
- 示例:
cd /var/www:进入/var/www目录。cd ..:返回上级目录。cd ~/Documents:进入主目录下的Documents文件夹。
pwd- 打印当前工作目录- 功能:显示当前所在的绝对路径。
- 示例:
pwd输出可能是/home/username。
mkdir- 创建目录- 功能:创建新目录。
- 常用选项:
-p:递归创建目录,如果父目录不存在则一并创建。
- 示例:
mkdir new_folder:在当前目录创建new_folder。mkdir -p project/src/main:创建嵌套目录project/src/main(即使project和src不存在)。
rm- 删除文件或目录- 功能:删除文件或目录。谨慎使用!
- 常用选项:
-r或-R:递归删除目录及其内容。-f:强制删除,不提示确认(非常危险!)。
- 示例:
rm file.txt:删除文件file.txt。rm -r old_dir:删除目录old_dir及其内容(系统会提示确认)。rm -rf temp/:强制删除temp目录及其所有内容(无提示,高危操作!)。
cp- 复制文件或目录- 功能:复制文件或目录到指定位置。
- 常用选项:
-r或-R:递归复制目录及其内容。-i:覆盖前提示确认。-v:显示复制过程(verbose)。
- 示例:
cp file.txt backup/:将file.txt复制到backup目录下。cp -r source_dir/ destination_dir/:递归复制整个source_dir到destination_dir。
mv- 移动或重命名文件/目录- 功能:将文件或目录移动到新位置,或重命名。
- 常用选项:
-i:覆盖前提示确认。-v:显示移动过程。
- 示例:
mv old_file.txt new_file.txt:重命名old_file.txt为new_file.txt。mv file.txt ~/Documents/:将file.txt移动到主目录的Documents文件夹下。
touch- 创建空文件或更新文件时间戳- 功能:
- 如果文件不存在,则创建新的空文件。
- 如果文件存在,则更新其访问和修改时间戳为当前时间。
- 示例:
touch newfile.txt。
- 功能:
cat- 连接文件并打印到标准输出- 功能:查看文件内容、创建文件、合并文件。
- 常用选项:
-n:显示行号。
- 示例:
cat file.txt:显示file.txt的内容。cat file1.txt file2.txt > combined.txt:将file1.txt和file2.txt合并到combined.txt。cat > newfile.txt:从键盘输入创建newfile.txt(按Ctrl+D结束)。
find- 查找文件- 功能:在目录树中搜索文件,功能非常强大。
- 常用用法:
find [path] -name [filename]:按名称查找。find [path] -type [f/d]:按类型查找(f文件,d目录)。find [path] -mtime [-/+]n:按修改时间查找(-nn天内,+nn天前)。
- 示例:
find /home -name "*.log":在/home下查找所有.log文件。find . -type d -name "docs":在当前目录及其子目录下查找名为docs的目录。
二、文本处理与查看
grep- 文本搜索工具- 功能:在文件或输入中搜索匹配指定模式的文本行。
- 常用选项:
-i:忽略大小写。-r或-R:递归搜索目录中的文件。-n:显示匹配行号。-v:反转匹配,显示不包含模式的行。-E:使用扩展正则表达式(等价于egrep)。
- 示例:
grep "error" logfile.txt:在logfile.txt中查找包含error的行。grep -ri "function" /path/to/code/:递归地在/path/to/code/目录下所有文件中搜索function(忽略大小写)。ps aux | grep nginx:在进程列表中查找nginx。
head- 显示文件开头部分- 功能:显示文件的前若干行(默认 10 行)。
- 常用选项:
-n [num]:显示前num行。
- 示例:
head -n 20 largefile.log:显示largefile.log的前 20 行。
tail- 显示文件结尾部分- 功能:显示文件的最后若干行(默认 10 行)。常用于查看日志。
- 常用选项:
-n [num]:显示最后num行。-f:持续跟踪并显示文件新增内容(监控日志常用)。
- 示例:
tail -n 50 server.log:查看server.log的最后 50 行。tail -f /var/log/syslog:实时监控syslog文件的新内容。tail -n 100 -f app.log:实时动态查看后 100 行日志。
less/more- 分页查看文件内容- 功能:分页浏览长文件内容。
less比more功能更强(支持后退、搜索等)。 - 常用操作(在
less中):空格/PageDown:向下翻页。b/PageUp:向上翻页。/pattern:向下搜索pattern。?pattern:向上搜索pattern。q:退出。
- 示例:
less long_text_file.txt。
- 功能:分页浏览长文件内容。
三、系统信息与管理
ps- 报告进程状态- 功能:列出当前运行的进程信息。
- 常用选项组合:
aux:显示所有用户所有进程的详细信息(BSD 风格)。-ef:显示所有进程的完整信息(标准风格)。
- 示例:
ps aux:查看所有进程的详细信息(CPU、内存占用等)。ps -ef | grep python:查找所有包含python的进程。
top/htop- 动态查看进程信息- 功能:实时显示系统进程和资源(CPU、内存等)使用情况。
htop是top的增强版(交互性更好)。 - 常用操作(在
top中):P:按 CPU 使用率排序。M:按内存使用量排序。k:结束指定 PID 的进程。q:退出。
- 示例:直接运行
top或htop。
- 功能:实时显示系统进程和资源(CPU、内存等)使用情况。
df- 显示磁盘空间使用情况- 功能:报告文件系统的磁盘空间使用量。
- 常用选项:
-h:以易读的单位(G, M, K)显示。
- 示例:
df -h:查看所有挂载点的磁盘使用情况(易读格式)。
du- 估算文件/目录空间使用量- 功能:估算文件或目录占用的磁盘空间。
- 常用选项:
-h:易读格式。-s:只显示总计。--max-depth=N:限制显示到第 N 层子目录。
- 示例:
du -sh /var/log/:查看/var/log目录的总大小。du -h --max-depth=1 /home/:查看/home下每个用户目录的大小。
free- 显示内存使用情况- 功能:显示系统的物理内存和交换空间使用情况。
- 常用选项:
-h:易读格式。-m:以 MB 为单位显示。
- 示例:
free -h:查看内存和交换空间使用情况(易读)。
uname- 打印系统信息- 功能:显示操作系统相关信息。
- 常用选项:
-a:显示所有信息(内核名称、主机名、内核版本、硬件架构等)。
- 示例:
uname -a:查看详细的系统信息。
sudo/su- 以其他用户身份执行命令sudo:允许授权用户以超级用户或其他用户的身份执行命令。需要输入当前用户的密码(如果配置了)。su:切换用户身份(默认切换到 root)。需要输入目标用户的密码。- 示例:
sudo apt update:以 root 权限更新软件包列表(Ubuntu/Debian)。su -:切换到 root 用户(并加载其环境变量)。sudo -u username command:以username的身份执行command。
chmod- 修改文件权限- 功能:更改文件或目录的访问权限。
- 权限表示:
- 符号模式:
u(所有者),g(所属组),o(其他人),a(所有人);+(添加),-(移除),=(设置);r(读),w(写),x(执行)。 - 数字模式:三位八进制数,分别代表所有者、所属组、其他人的权限。
r=4,w=2,x=1。例如755 755755表示rwxr-xr-x。
- 符号模式:
- 示例:
chmod u+x script.sh:给script.sh的所有者添加执行权限。chmod 644 file.txt:设置file.txt权限为rw-r--r--。chmod -R 755 directory/:递归设置directory及其内容权限为rwxr-xr-x。
chown- 修改文件所有者/组- 功能:更改文件或目录的所有者和/或所属组。
- 示例:
chown newowner file.txt:将file.txt的所有者改为newowner。chown newowner:newgroup file.txt:同时更改所有者和所属组。chown -R user:group directory/:递归更改directory及其内容的所有者和组。
四、网络相关
ping- 测试网络连通性- 功能:向网络主机发送 ICMP ECHO_REQUEST 数据包,测试是否可达及延迟。
- 示例:
ping google.com(按Ctrl+C停止)。
ifconfig/ip- 查看和配置网络接口ifconfig:传统的网络接口配置工具(部分新发行版可能默认未安装)。ip:更强大的网络配置工具(推荐使用)。- 示例:
ifconfig或ip addr:查看所有网络接口及其 IP 地址。ip link:查看链路状态。
netstat/ss- 查看网络连接、路由表、接口统计netstat:传统的网络统计工具。ss:更快速、更现代的工具(推荐使用)。- 常用选项:
-t:TCP 连接。-u:UDP 连接。-l:监听中的套接字。-n:显示数字地址(不解析主机名)。-p:显示相关进程/程序。
- 示例:
ss -tuln:查看所有监听中的 TCP 和 UDP 端口(数字形式)。netstat -tunp:查看所有活动的 TCP/UDP 连接及相关进程。
wget/curl- 从网络下载文件wget:命令行下载工具,支持递归下载。curl:强大的数据传输工具,支持多种协议(HTTP, HTTPS, FTP, SCP 等),常用于 API 交互。- 示例:
wget https://example.com/file.zip:下载文件。curl -O https://example.com/file.zip:下载文件(-O保存到本地同名文件)。curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com/endpoint:发送 POST 请求到 API。
五、压缩与归档
tar- 归档文件- 功能:将多个文件或目录打包成一个归档文件(通常再配合压缩)。
- 常用选项:
-c:创建归档。-x:解压归档。-v:显示过程。-f [filename]:指定归档文件名。-z:通过gzip压缩/解压(文件后缀通常为.tar.gz或.tgz)。-j:通过bzip2压缩/解压(文件后缀通常为.tar.bz2)。-J:通过xz压缩/解压(文件后缀通常为.tar.xz)。
- 示例:
tar -czvf archive.tar.gz dir1/ file1.txt:将dir1和file1.txt打包并用gzip压缩。tar -xzvf archive.tar.gz:解压.tar.gz归档文件。tar -xjvf backup.tar.bz2:解压.tar.bz2归档文件。
gzip/gunzip- 压缩/解压.gz文件gzip:压缩文件(默认替换原文件为.gz)。gunzip:解压.gz文件。- 示例:
gzip largefile.log:压缩largefile.log为largefile.log.gz。gunzip largefile.log.gz:解压largefile.log.gz为largefile.log。
zip/unzip- 处理.zip文件zip:创建.zip归档。unzip:解压.zip归档。- 示例:
zip archive.zip file1.txt dir1/:创建archive.zip。unzip archive.zip:解压archive.zip。
请务必在使用rm、chmod、chown等命令时格外小心,尤其是在使用-f或-R选项时。