欢迎来到linux基础命令大全!Linux,作为一款强大而稳定的操作系统,无论是服务器管理、软件开发,还是日常的个人使用,都扮演着越来越重要的角色。对于初学者而言,掌握Linux命令行(CLI)是迈向精通的第一步。命令行界面虽然初看起来有些高冷,但它却是高效管理系统、自动化任务以及解决复杂问题的核心工具。
本篇文章旨在为您提供一份详尽、具体且易于理解的linux基础命令大全。我们将从最常用的文件与目录操作开始,逐步深入到文件内容查看、权限管理、系统信息获取乃至进程控制等核心领域。无论您是Linux新手,还是希望系统性地巩固基础知识,这份指南都将是您不可或缺的资源。让我们一起,通过实践,彻底掌握这些Linux的“基石”命令吧!
文件与目录操作:Linux世界的基石
在Linux中,一切皆文件。理解如何创建、查看、移动和删除文件与目录,是您使用Linux的第一步。
导航与查看
熟悉当前所处位置以及周围的文件和目录,是进行任何操作的前提。
pwd (Print Working Directory)
作用: 显示当前“工作目录”的完整路径。
范例:
pwd
输出: /home/yourusername/Documents (示例)
ls (List)
作用: 列出指定目录下的文件和子目录。这是最常用的命令之一,它能帮助您了解目录结构。
常用选项:
-
-l(long format): 以长格式显示文件和目录的详细信息,包括权限、所有者、大小、创建日期等。 -
-a(all): 显示所有文件和目录,包括以.开头的隐藏文件。 -
-h(human readable): 与-l结合使用,以人类可读的格式(如KB, MB, GB)显示文件大小。 -
-F(classify): 在目录名后添加/,可执行文件后添加*,符号链接后添加@等,方便识别文件类型。 -
-R(recursive): 递归地列出子目录中的内容。
范例:
ls
列出当前目录下的非隐藏文件和目录。
ls -l
以长格式显示当前目录内容。
ls -alh
显示所有文件(包括隐藏文件),以长格式和人类可读的大小显示。
ls /etc
列出/etc目录下的内容。
cd (Change Directory)
作用: 切换当前工作目录。掌握cd命令是Linux导航的关键。
常用用法:
-
cd 目录名: 进入指定目录。 -
cd ..: 返回上一级目录。 -
cd ~或cd(不带参数): 返回当前用户的主目录。 -
cd /: 进入根目录。 -
cd -: 返回上次所在的目录。
范例:
cd Documents
进入名为Documents的子目录。
cd ../../
向上返回两级目录。
cd /var/log
进入/var/log目录。
创建、删除与移动
这些命令让您能够管理文件和目录的生命周期。
mkdir (Make Directory)
作用: 创建新的目录。
常用选项:
-
-p(parents): 递归创建目录,如果父目录不存在也会一并创建。
范例:
mkdir my_new_folder
在当前目录下创建一个名为my_new_folder的目录。
mkdir -p project/src/main
创建project目录,并在其下创建src/main子目录(如果project或src不存在,也会一并创建)。
rmdir (Remove Directory)
作用: 删除空目录。请注意,此命令只能删除空目录。
范例:
rmdir empty_folder
删除名为empty_folder的空目录。
注意: 如果目录不为空,rmdir会报错。要删除非空目录及其内容,请使用rm -r命令。
touch (Create Empty File / Update Timestamp)
作用: 创建一个空文件,或者更新现有文件的访问/修改时间戳。
范例:
touch my_file.txt
如果my_file.txt不存在,则创建一个空的my_file.txt文件;如果存在,则更新其时间戳。
cp (Copy)
作用: 复制文件或目录。
常用选项:
-
-r或-R(recursive): 递归复制目录及其所有内容。 -
-i(interactive): 覆盖前提示用户。 -
-v(verbose): 显示复制过程。
范例:
cp file1.txt file2.txt
复制file1.txt并将其命名为file2.txt。
cp document.pdf ~/backup/
将document.pdf复制到用户主目录下的backup目录中。
cp -r my_folder /tmp/
将my_folder目录及其所有内容复制到/tmp/。
mv (Move / Rename)
作用: 移动文件或目录,也可以用于文件或目录的重命名。
范例:
mv old_name.txt new_name.txt
将old_name.txt重命名为new_name.txt。
mv report.docx /home/user/reports/
将report.docx移动到/home/user/reports/目录。
rm (Remove)
作用: 删除文件或目录。这是一个非常强大的命令,请务必谨慎使用,因为删除的文件通常无法恢复。
常用选项:
-
-r(recursive): 递归删除目录及其所有内容。 -
-f(force): 强制删除,不进行任何提示(即使文件是只读的)。与-r结合使用时尤其危险。 -
-i(interactive): 删除前进行提示确认。
范例:
rm unwanted_file.txt
删除名为unwanted_file.txt的文件。
rm -r useless_folder/
删除名为useless_folder的目录及其所有内容。
rm -rf /path/to/very/important/data/
!!!极其危险的命令!!! 这将不经提示地强制删除指定路径下的所有文件和目录。
文件内容查看与编辑:探索文件内部
在Linux中,您无需图形界面即可轻松查看和修改文本文件。
查看文件内容
cat (Concatenate and Display)
作用: 连接文件并打印到标准输出(通常是屏幕)。主要用于查看短小文件的内容。
范例:
cat my_notes.txt
显示my_notes.txt文件的全部内容。
cat file1.txt file2.txt > combined.txt
将file1.txt和file2.txt的内容合并到combined.txt中。
less
作用: 分页查看文件内容。对于大型文件,less比cat更实用,因为它允许您向上或向下滚动,并且不会一次性加载整个文件。
基本操作:
-
Space或Page Down: 向下翻页。 -
b或Page Up: 向上翻页。 -
/关键词: 向下搜索关键词。 -
n: 继续下一个搜索结果。 -
N: 返回上一个搜索结果。 -
g: 跳转到文件开头。 -
G: 跳转到文件结尾。 -
q: 退出less。
范例:
less /var/log/syslog
分页查看系统日志文件。
head
作用: 显示文件的开头几行(默认是前10行)。
常用选项:
-
-n 数字: 指定显示多少行。
范例:
head server_logs.txt
显示server_logs.txt的前10行。
head -n 5 important_config.conf
显示important_config.conf的前5行。
tail
作用: 显示文件的末尾几行(默认是后10行)。在查看实时更新的日志文件时非常有用。
常用选项:
-
-n 数字: 指定显示多少行。 -
-f(follow): 实时跟踪文件的新增内容。当文件有新内容写入时,tail -f会立即显示出来。
范例:
tail access.log
显示access.log的最后10行。
tail -n 20 error.log
显示error.log的最后20行。
tail -f /var/log/apache2/access.log
实时跟踪Apache访问日志,当有新访问时会立即显示。按Ctrl+C可退出。
基础文本编辑
nano (Nano Text Editor)
作用: 一个简单易用的文本编辑器,非常适合命令行新手。它在屏幕底部会显示常用的操作快捷键。
基本操作:
-
nano 文件名: 打开或创建一个文件进行编辑。 -
Ctrl+O: 保存文件(Write Out)。 -
Ctrl+X: 退出编辑器。 -
Ctrl+K: 剪切行。 -
Ctrl+U: 粘贴行。
范例:
nano my_config.conf
使用Nano编辑器打开my_config.conf文件。
权限管理:保障系统安全
Linux是一个多用户系统,文件和目录权限是其安全机制的核心。理解并能修改权限至关重要。
理解文件权限
使用ls -l命令时,您会看到类似-rwxr-xr--的字符串。这代表了文件或目录的权限:
-
第一个字符:文件类型(
-表示文件,d表示目录,l表示符号链接等)。 -
接下来的九个字符:分为三组,每组三个字符。
- 所有者(owner)权限: 第2-4个字符。
- 所属组(group)权限: 第5-7个字符。
- 其他用户(others)权限: 第8-10个字符。
-
每组的三个字符分别代表:
-
r(read): 读权限。 -
w(write): 写权限。 -
x(execute): 执行权限(对于目录意味着可以进入)。 -
-: 对应权限未设置。
-
权限也可以用数字(八进制)表示:r=4, w=2, x=1。将每组权限的数字相加,得到一个三位或四位数字。例如:
-
rwx= 4+2+1 = 7 -
rw-= 4+2+0 = 6 -
r-x= 4+0+1 = 5
所以,-rwxr-xr--对应的数字权限是754。
chmod (Change Mode)
作用: 改变文件或目录的权限。
常用用法(数字模式):
-
chmod 755 文件/目录名: 所有者可读写执行,组用户和其他用户只读执行。这是常见的目录权限设置。 -
chmod 644 文件名: 所有者可读写,组用户和其他用户只读。这是常见的文本文件权限设置。
常用用法(符号模式):
-
u: 所有者 (user) -
g: 所属组 (group) -
o: 其他用户 (others) -
a: 所有用户 (all) -
+: 添加权限 -
-: 移除权限 -
=: 设置权限(覆盖现有权限)
范例:
chmod 755 script.sh
将script.sh设置为所有者可读写执行,组用户和其他用户可读可执行。
chmod +x my_program
给my_program添加执行权限(对所有用户)。
chmod u=rw,go=r file.txt
设置file.txt:所有者读写,组用户和其他用户只读。
chown (Change Owner)
作用: 改变文件或目录的所有者和/或所属组。通常需要sudo权限才能执行。
范例:
sudo chown newuser file.txt
将file.txt的所有者改为newuser。
sudo chown -R newuser:newgroup my_folder/
递归地将my_folder及其内容的所有者改为newuser,所属组改为newgroup。
sudo (Superuser Do)
作用: 以超级用户的权限(root)执行命令。在Linux中,为了系统安全,通常不直接使用root用户操作,而是通过sudo来临时提升权限。
范例:
sudo apt update
以root权限更新软件包列表。
sudo nano /etc/hosts
以root权限编辑/etc/hosts文件。
重要提示: 使用sudo时要格外小心,因为您可以执行任何操作,包括损坏系统。
系统信息与进程管理:洞悉系统状态
了解系统的运行状况、磁盘使用情况以及管理正在运行的程序(进程)对于系统维护至关重要。
系统信息查看
df (Disk Free)
作用: 显示文件系统的磁盘空间使用情况。
常用选项:
-
-h(human readable): 以人类可读的格式(GB, MB等)显示。
范例:
df -h
显示所有挂载的文件系统的磁盘空间使用情况。
du (Disk Usage)
作用: 估算文件或目录的磁盘空间使用量。
常用选项:
-
-h(human readable): 以人类可读的格式显示。 -
-s(summarize): 只显示总计大小,而不是每个文件/子目录的详细列表。
范例:
du -sh my_project/
显示my_project/目录的总大小。
du -h Documents/
显示Documents/目录下所有文件和子目录的大小。
top
作用: 实时显示系统中正在运行的进程,以及它们的CPU、内存占用情况,类似于Windows的任务管理器。
基本操作:
-
q: 退出top。 -
k: 杀死进程(按K后输入PID,再按回车)。
范例:
top
启动top界面。
ps (Process Status)
作用: 显示当前系统中的进程快照。与top的实时性不同,ps是某个时间点的静态信息。
常用选项:
-
aux: 最常用的组合,显示所有用户(a)、包含没有控制终端的进程(x),并显示详细信息(u)。 -
ef: 显示所有进程,并以全格式显示命令。
范例:
ps aux | grep firefox
查找所有与Firefox相关的进程(grep用于过滤输出)。
uname
作用: 显示系统信息,如内核名称、主机名、内核版本、操作系统等。
常用选项:
-
-a(all): 显示所有系统信息。 -
-r: 显示内核版本。 -
-m: 显示硬件架构。
范例:
uname -a
显示所有系统信息。
进程管理
kill
作用: 终止一个正在运行的进程。通常通过进程ID(PID)来指定。
常用信号:
-
-9(SIGKILL): 强制终止进程,不给进程清理资源的机会。慎用。 -
-15(SIGTERM): 正常终止进程,给进程时间清理资源。默认信号。
范例:
kill 12345
向PID为12345的进程发送终止信号(SIGTERM)。
kill -9 54321
强制终止PID为54321的进程。
killall firefox
终止所有名为firefox的进程。
快捷键: 在终端中,可以使用Ctrl+C来中断当前正在运行的命令或进程。
搜索与帮助:高效定位信息
当您需要查找文件或在文件中查找特定内容时,这些命令会派上用场。
find
作用: 在文件系统中搜索文件和目录。它功能强大,可以通过各种条件进行搜索。
常用选项:
-
.: 在当前目录及子目录中搜索。 -
/: 在根目录及所有子目录中搜索。 -
-name "文件名": 按名称搜索(支持通配符,如*.txt)。 -
-type d: 搜索目录。 -
-type f: 搜索文件。 -
-size +1M: 搜索大于1MB的文件。 -
-user 用户名: 搜索属于指定用户的文件。
范例:
find . -name "*.log"
在当前目录及其子目录中查找所有以.log结尾的文件。
find /home/user -type f -name "report_*.pdf"
在/home/user目录下查找所有以report_开头且以.pdf结尾的文件。
grep (Global Regular Expression Print)
作用: 在文件中搜索匹配指定模式(通常是文本字符串或正则表达式)的行。
常用选项:
-
-i(ignore case): 忽略大小写进行搜索。 -
-r(recursive): 递归搜索目录下的所有文件。 -
-n(line number): 显示匹配行的行号。 -
-l(files with matches): 只显示包含匹配项的文件名。
范例:
grep "error" /var/log/syslog
在/var/log/syslog文件中查找所有包含“error”的行。
grep -rni "password" /etc/
在/etc/目录下递归、不区分大小写地查找包含“password”的行,并显示行号。
man (Manual)
作用: 显示命令的联机帮助手册(manual page)。这是学习和理解Linux命令最权威的来源。
基本操作:
-
man 命令名: 显示指定命令的帮助手册。 -
在
man页面中,可以使用Page Up/Page Down或上下箭头滚动,按/关键词搜索,按q退出。
范例:
man ls
查看ls命令的帮助手册。
学习Linux命令的最佳实践
仅仅了解这些命令还不够,掌握它们需要持续的练习和正确的学习方法:
- 多加练习: 理论知识需要通过实践来巩固。在虚拟机、Docker容器或云服务器上搭建一个Linux环境,放心地进行操作。
-
利用Tab键自动补全: 这是命令行中最实用的功能之一。输入命令或文件名的前几个字母,然后按
Tab键,系统会自动补全或显示可能的选项。 -
善用历史命令: 使用向上/向下箭头键可以浏览之前输入的命令。
history命令可以查看您所有输入过的命令列表。Ctrl+R可以反向搜索历史命令。 - 阅读错误信息: 当命令执行失败时,系统通常会给出错误提示。仔细阅读这些信息,它们往往能指出问题所在。
-
从
man手册中学习:man命令是您的最佳伴侣,它提供了最详细、最准确的命令信息。 -
从简单开始,逐步深入: 熟练掌握这些linux基础命令大全中的命令后,您可以尝试学习管道(
|)、重定向(>,>>,<)、通配符、环境变量以及Shell脚本编程等更高级的主题。
常见问题 (FAQ)
如何记住这么多Linux命令?
记住所有Linux命令确实具有挑战性,但您可以通过以下方法提高效率:理解而非死记硬背,掌握命令的逻辑和作用;分类学习,将命令按功能(如文件操作、系统管理)分组;多加实践,在日常使用中不断重复使用命令;利用man手册,不确定时查阅帮助;使用Tab键自动补全,减少记忆压力。
为何我的Linux命令不起作用或显示“权限不足”?
这通常是由于权限问题。您可能正在尝试修改一个您没有写入权限的文件,或者在没有足够权限的目录中创建文件。解决方法通常是:使用sudo命令,在命令前加上sudo以超级用户权限执行(例如:sudo nano /etc/hosts);检查文件或目录的所有者和权限(使用ls -l),并根据需要使用chmod或chown命令进行调整(通常需要sudo权限来修改这些)。
Linux命令是大小写敏感的吗?
是的,Linux命令和文件/目录名是严格区分大小写的。 例如,cd Documents和cd documents是两个完全不同的命令,如果您有一个名为Documents的文件夹,但输入了cd documents,系统将提示找不到该目录。同样,Ls不是一个有效的命令,必须是ls。
Windows和Linux的命令行操作有什么主要区别?
Windows(CMD/PowerShell)和Linux(Bash/Zsh等)在命令行操作上有显著区别。语法不同,例如Windows使用dir列出文件,Linux使用ls;Windows使用反斜杠作为路径分隔符,Linux使用正斜杠/。此外,设计哲学不同,Linux更强调一切皆文件,强大的管道(|)和重定向使得命令组合异常灵活;权限模型也不同,Linux的权限系统(rwx、所有者/组/其他)更为精细和安全。学习Linux命令后,您会发现其在自动化和系统管理方面的强大优势。
通过这份linux基础命令大全,您已经掌握了进入Linux世界的钥匙。请记住,学习永无止境,实践是最好的老师。从现在开始,就打开您的终端,运用这些命令,探索Linux的无限可能吧!祝您学习愉快,在Linux的命令行世界中遨游!

