Linux命令行基础是学习和掌握Linux系统操作的核心技能,它通过文本界面与系统交互,提供了高效、灵活的管理方式,对于初学者而言,理解命令行的基本结构、常用命令及操作逻辑是入门的关键,Linux命令行通常以“用户名@主机名:当前目录$”或“#”(root用户)作为提示符,user@ubuntu:~$”,~”代表用户的家目录,命令的基本结构为“命令选项参数”,选项通常以“-”或“--”开头,用于调整命令的行为,参数则是命令操作的对象。

文件和目录操作是命令行最常用的功能之一。ls
命令用于列出目录内容,结合选项-l
(长格式显示)、-a
(显示隐藏文件)或-h
(以人类可读格式显示文件大小)可以获取更详细的信息。“ls -lah”会显示所有文件(包括隐藏文件)的详细权限、大小、修改时间等,创建目录使用mkdir
命令,如“mkdir newdir”创建单个目录,“mkdir -p parentdir/newdir”可递归创建多级目录,删除目录时,rmdir
只能删除空目录,而rm -r
或rm -rf
(强制删除)可删除非空目录,但需谨慎使用,避免数据丢失,文件操作中,touch
用于创建空文件或更新文件时间戳,cp
复制文件(如“cp source.txt dest.txt”),mv
用于移动文件或重命名(如“mv oldname.txt newname.txt”),rm
删除文件(如“rm unwanted.txt”),查看文件内容时,cat
适合查看小文件(如“cat file.txt”),less
或more
适合查看大文件(支持分页和上下滚动),head
和tail
分别用于查看文件开头和末尾的内容,tail -f
还可实时追踪文件更新。
文本编辑是命令行的重要技能,nano
和vim
是常用的终端文本编辑器。nano
以简单直观著称,打开文件后可直接编辑,保存按Ctrl+O
,退出按Ctrl+X
。vim
功能强大但学习曲线较陡,分为普通模式、插入模式和命令模式,打开文件后默认为普通模式,按i
进入插入模式编辑,按Esc
返回普通模式,输入wq
保存并退出,q!
强制退出不保存,熟练掌握vim
的快捷键(如dd
删除行,yy
复制行,p
粘贴)可大幅提升编辑效率。
系统信息与管理命令帮助用户了解系统状态和进行基本管理。uname -a
显示系统详细信息,top
或htop
实时查看进程资源占用(htop
以彩色界面和更直观的交互著称),df -h
查看磁盘空间使用情况,free -h
查看内存使用情况,用户管理中,whoami
显示当前用户,passwd
修改用户密码,sudo
允许普通用户以超级用户权限执行命令(如“sudo apt update”更新软件包列表),网络相关命令中,ifconfig
或ip addr
查看网络接口信息,ping
测试网络连通性(如“ping www.baidu.com”),wget
或curl
下载文件(如“wget https://example.com/file.zip”)。
进程管理是系统维护的核心,ps aux
显示当前运行的进程详细信息,kill
终止进程(需指定进程ID,如“kill 1234”),killall
通过进程名终止进程(如“killall firefox”),后台运行命令时,可在命令末尾加&
(如“sleep 100 &”),或使用Ctrl+Z
将前台进程挂起,再通过bg
将其转为后台运行,fg
将后台进程调回前台。

权限管理是Linux安全的基础,文件权限分为读(r)、写(w)、执行(x),分别对应数字4、2、1,权限通过chmod
命令修改,如“chmod 755 script.sh”设置所有者权限为rwx(7),组用户和其他用户为r-x(5)。chown
命令修改文件所有者,如“chown user:group file.txt”将文件所有者改为user,组改为group。
管道和重定向是命令行的高级技巧,将前一个命令的输出作为后一个命令的输入(如“ls -l | grep txt”过滤包含“txt”的文件),>
将命令输出覆盖到文件(如“echo hello > file.txt”),>>
将输出追加到文件末尾,<
作为命令输入(如“sort < numbers.txt”对文件内容排序)。
以下为常用命令速查表:
命令分类 | 命令 | 功能描述 | 常用示例 |
---|---|---|---|
文件操作 | ls | 列出目录内容 | ls -la (显示所有文件及详细信息) |
mkdir | 创建目录 | mkdir -p dir1/dir2 (递归创建) | |
cp | 复制文件/目录 | cp -r dir1 dir2 (递归复制目录) | |
mv | 移动/重命名文件/目录 | mv old.txt new.txt (重命名) | |
rm | 删除文件/目录 | rm -rf dir (强制删除目录) | |
文本查看 | cat | 查看文件内容 | cat file.txt |
less | 分页查看文件 | less file.txt | |
grep | 文本搜索 | grep "error" log.txt | |
系统信息 | top | 实时进程监控 | top -d 2 (每2秒刷新) |
df | 磁盘空间使用 | df -h (人类可读格式) | |
free | 内存使用情况 | free -h | |
用户管理 | whoami | 显示当前用户 | whoami |
sudo | 以超级用户权限执行 | sudo apt install nginx | |
网络命令 | ping | 测试网络连通性 | ping 8.8.8.8 |
wget | 下载文件 | wget https://example.com/file.zip | |
进程管理 | ps | 查看进程 | ps aux |
kill | 终止进程 | kill 1234 (进程ID) | |
权限管理 | chmod | 修改文件权限 | chmod 644 file.txt (rw-r--r--) |
chown | 修改文件所有者 | chown user:group file.txt |
相关问答FAQs

Q1: 如何在Linux命令行中快速查找包含特定关键词的文件?
A1: 可以使用find
命令结合grep
实现,在当前目录及其子目录中查找所有包含“error”关键词的.txt文件,可执行:find . -type f -name "*.txt" -exec grep -l "error" {} \;
。find . -type f -name "*.txt"
查找所有.txt文件,-exec grep -l "error" {} \;
对每个文件执行grep搜索,-l
选项仅输出包含匹配的文件名,也可使用grep -r "error" . --include="*.txt"
,-r
表示递归搜索,--include
指定文件扩展名。
Q2: Linux命令行中如何压缩和解压.tar.gz文件?
A2: 压缩文件使用tar
命令,例如将目录mydir
压缩为mydir.tar.gz
:tar -czvf mydir.tar.gz mydir
,其中-c
表示创建归档,-z
表示用gzip压缩,-v
显示详细过程,-f
指定文件名,解压时使用:tar -xzvf mydir.tar.gz
,-x
表示解压,其他选项含义相同,若仅解压到指定目录,可加-C
选项,如tar -xzvf mydir.tar.gz -C /path/to/destination
。