linux常用命令大全.pdf
### Linux常用命令大全 #### 一、文件管理 1. **查看目录与文件** - **ls**: 用于列出当前目录下的文件和子目录。常用选项包括: - `-l`: 以长格式显示文件详细信息,如权限、所有者、大小等。 - `-a`: 显示所有文件,包括那些以`.`开头的隐藏文件。 - `-h`: 以易于阅读的方式显示文件大小(例如,1K、234M、2G等)。 - **pwd**: 显示当前工作目录的完整路径。 2. **创建和删除** - **touch**: 创建一个空文件或更新现有文件的时间戳。此命令对于创建新的文本文件或初始化日志文件特别有用。 - **mkdir**: 创建一个或多个新目录。使用`-p`选项可以递归创建多级目录结构。 - **rmdir**: 删除空目录。如果尝试删除非空目录,该命令将失败。 - **rm**: 删除文件或目录。使用`-r`选项可以递归删除整个目录及其内容;`-f`选项则用于强制删除,即使文件被锁定或设置了只读属性也会执行删除操作。 3. **复制和移动** - **cp**: 复制文件或目录。使用`-r`选项可以递归复制目录,保留原有文件的权限和时间戳。 - **mv**: 移动文件或目录,也可以用于重命名文件。 4. **查看文件内容** - **cat**: 一次性显示文件内容。此外,还可以用来合并多个文件为一个文件,或者向已存在的文件追加内容。 - **more/less**: 以分页形式查看文件内容。`less`提供比`more`更丰富的功能,如上下翻页、搜索等。 - **head/tail**: 分别查看文件的前几行和后几行。`tail -f`可用于实时查看文件的新增内容,常用于监控日志文件。 - **grep**: 在文件中搜索特定字符串。支持正则表达式,能够精确匹配复杂的文本模式。 5. **文本处理** - **sed**: 流编辑器,用于文本的过滤和转换。常见用途包括替换文本、删除或插入行等。 - **awk**: 强大的文本处理工具,用于数据分析和报告生成。它支持复杂的数据处理逻辑,如条件判断、循环等。 6. **权限和所有权** - **chmod**: 修改文件或目录的权限。常用的权限模式包括`u+x`(增加用户执行权限)、`g-w`(移除组写入权限)等。 - **chown**: 更改文件或目录的所有者。还可以同时更改文件所属的组。 #### 二、系统管理 1. **进程管理** - **ps**: 显示当前正在运行的进程列表。`ps aux`显示所有进程的详细信息。 - **top/htop**: 实时显示系统资源的使用情况,包括CPU、内存等。`htop`提供了比`top`更友好的界面和更多的功能。 - **kill**: 终止一个或多个进程。通常需要指定进程ID(PID)来发送信号。 2. **磁盘管理** - **df**: 显示磁盘分区的使用情况。常用选项`-h`以易于阅读的方式显示容量。 - **du**: 显示目录或文件占用的空间。结合`-h`选项可以更直观地理解空间占用情况。 - **mount/umount**: 挂载和卸载文件系统。通常用于挂载外部存储设备或特殊文件系统。 3. **用户和用户组** - **useradd/userdel**: 添加或删除用户账户。 - **passwd**: 更改用户的密码。 - **groupadd/groupdel**: 添加或删除用户组。 4. **系统信息** - **uname**: 显示系统的基本信息,如内核版本、操作系统名称等。 - **uptime**: 显示系统已经运行了多久,以及平均负载等信息。 5. **定时任务** - **cron**: 定时任务管理器,允许用户设置定时执行的任务。通过`crontab -e`可以编辑当前用户的定时任务列表。 #### 三、网络通讯 1. **网络配置和查看** - **ifconfig/ip**: 查看或配置网络接口。`ip`命令是较新的工具,提供了更多功能和更好的兼容性。 - **netstat**: 显示网络连接、路由表等信息。这对于诊断网络问题非常有帮助。 2. **文件传输** - **scp**: 安全地从本地复制文件到远程服务器,或者相反。使用SSH协议进行加密传输。 - **wget/curl**: 用于从互联网上下载文件。它们都支持断点续传、代理服务器等功能。 3. **远程登录** - **ssh**: 安全地从一台机器登录到另一台机器。支持加密连接,是远程管理Linux服务器的标准方式。 #### 四、备份压缩 - **tar**: 用于打包和压缩文件。支持多种压缩算法,如gzip、bzip2等。 - **zip/unzip**: 用于处理ZIP格式的压缩文件。这些命令易于使用且广泛支持。 #### 五、其他常用命令 - **echo**: 将文本输出到标准输出。 - **ln**: 创建硬链接或符号链接。 - **shutdown/reboot**: 关闭或重启系统。 - **find**: 在文件系统中查找文件或目录。 - **date**: 显示或设置系统日期和时间。 #### 结论 Linux命令是系统管理员和开发人员日常工作中不可或缺的工具。熟练掌握这些命令不仅能够提高工作效率,还能帮助解决各种技术难题。对于初学者来说,可以从最基础的命令开始学习,逐渐深入探索更多高级命令和组合使用技巧。每个命令都可通过`man`命令获取详细的手册页,这是学习Linux命令的重要资源之一。