Linux基本命令行是Linux操作系统的核心交互方式,通过命令行用户可以直接与系统内核进行通信,实现文件管理、系统监控、软件安装等操作,掌握Linux基本命令行不仅能提高工作效率,还能深入理解Linux系统的运行机制,以下将详细介绍Linux基本命令行的常用命令及其使用方法。

文件和目录操作是Linux命令行中最基础的部分。ls命令用于列出目录内容,常用选项包括-l(以长格式显示,包含权限、所有者、大小等信息)、-a(显示所有文件,包括隐藏文件)和-h(以人类可读的格式显示文件大小,如K、M、G)。ls -lah会以长格式显示所有文件,并采用人类可读的文件大小显示方式。cd命令用于切换目录,cd ..返回上一级目录,cd ~切换到当前用户的家目录,cd -在最近两次访问的目录之间切换。pwd命令用于显示当前所在的工作目录路径。mkdir命令用于创建目录,-p选项可以递归创建多级目录,例如mkdir -p test/subdir会同时创建test和test/subdir目录。rm命令用于删除文件或目录,-r选项递归删除目录及其内容,-f选项强制删除不提示,例如rm -rf test会删除test目录及其所有内容,使用时需谨慎。cp命令用于复制文件或目录,-r选项用于复制目录,-p选项保留文件属性,例如cp -r source_dir target_dir将source_dir目录复制到target_dir。mv命令用于移动文件或目录,也可用于重命名文件,例如mv old_name new_name将文件重命名,mv file1.txt dir1/将文件移动到指定目录。
查看和编辑也是常用操作。cat命令用于查看文件内容,例如cat file.txt会显示file.txt的全部内容,适合查看小文件。more和less命令用于分页查看文件内容,more只能向前翻页,less支持前后翻页和搜索,例如less file.txt后可按q退出。head和tail命令用于查看文件开头和结尾的部分内容,-n选项指定行数,例如head -n 10 file.txt查看文件前10行,tail -n 20 file.txt查看文件后20行,tail -f file.txt可实时追踪文件内容更新。grep命令用于在文本中搜索匹配的行,-i选项忽略大小写,-r选项递归搜索目录,例如grep "error" log.txt在log.txt中搜索包含error的行。nano和vim是常用的文本编辑器,nano简单易用,vim功能强大但需要学习,例如nano file.txt打开文件进行编辑,vim file.txt进入vim编辑器后需按i进入插入模式,编辑完成后按Esc,输入wq保存退出。
系统信息和管理命令用于监控系统状态和运行环境。uname命令显示系统信息,-a选项显示所有信息,例如uname -a显示内核版本、系统架构等。top命令实时显示系统进程和资源使用情况,htop是top的增强版,界面更友好,安装后可直接使用。ps命令显示当前进程,aux选项显示所有进程的详细信息,例如ps aux查看所有进程。kill命令用于终止进程,-9选项强制终止,例如kill -9 1234终止进程ID为1234的进程。df命令显示磁盘空间使用情况,-h选项以人类可读格式显示,例如df -h查看各分区的使用情况。du命令显示目录或文件的大小,-sh选项以人类可读格式显示总大小,例如du -sh dir1查看dir1目录的总大小。free命令显示内存使用情况,-h选项以人类可读格式显示,例如free -h查看内存和交换分区的使用情况。ifconfig或ip命令用于查看和配置网络接口,ifconfig显示网络接口信息,ip addr show显示更详细的网络信息。ping命令测试网络连通性,例如ping www.baidu.com测试与百度的网络连通性。
用户和权限管理是Linux系统安全的重要部分。sudo命令以超级用户权限执行命令,例如sudo apt update更新软件包列表。useradd和userdel命令用于添加和删除用户,例如useradd username添加用户,userdel -r username删除用户及其家目录。passwd命令用于修改用户密码,例如passwd username修改指定用户的密码。chmod命令修改文件或目录的权限,权限分为读(r)、写(w)、执行(x),数字表示法中r=4、w=2、x=1,例如chmod 755 file.txt设置所有者可读写执行,组用户和其他用户可读执行。chown命令修改文件或目录的所有者,例如chown user:group file.txt将file.txt的所有者改为user,组改为group。su命令切换用户,选项切换到目标用户并加载其环境变量,例如su - username切换到username用户。
软件包管理因Linux发行版不同而有所差异,基于Debian/Ubuntu的系统使用apt命令,例如sudo apt update更新软件包列表,sudo apt install package_name安装软件包,sudo apt remove package_name卸载软件包,基于Red Hat/CentOS的系统使用yum或dnf命令,例如sudo yum install package_name安装软件包,sudo dnf remove package_name卸载软件包,编译安装软件时,通常使用tar命令解压源码包,例如tar -zxvf package.tar.gz解压.gz格式的压缩包,然后进入目录执行./configure、make、sudo make install完成安装。

以下是一些常用命令的快速参考表格:
| 命令 | 功能 | 常用选项 |
|---|---|---|
| ls | 列出目录内容 | -l, -a, -h |
| cd | 切换目录 | |
| pwd | 显示当前目录 | 无 |
| mkdir | 创建目录 | -p |
| rm | 删除文件/目录 | -r, -f |
| cp | 复制文件/目录 | -r, -p |
| mv | 移动/重命名文件 | 无 |
| cat | 查看文件内容 | 无 |
| less | 分页查看文件 | 无 |
| grep | 文本搜索 | -i, -r |
| chmod | 修改权限 | 数字法(如755) |
| chown | 修改所有者 | user:group |
| sudo | 以超级用户权限执行 | 无 |
相关问答FAQs:
-
问:Linux命令行中如何查找包含特定字符串的文件? 答:可以使用
grep命令结合-r选项递归搜索目录,例如grep -r "error" /var/log/会在/var/log/目录及其子目录中搜索包含"error"的行,并显示文件名和匹配内容,如果只需要显示文件名,可使用grep -r -l "error" /var/log/。 -
问:如何查看Linux系统运行的进程并终止不需要的进程? 答:使用
ps命令查看进程,例如ps aux显示所有进程的详细信息,包括进程ID(PID)、CPU和内存使用情况,找到需要终止的进程后,使用kill命令终止,例如kill 1234终止PID为1234的进程;若进程无法正常终止,可使用kill -9 1234强制终止,但需注意强制终止可能导致数据丢失。
