Linux 命令行入门学习资料核心五命令lscdmkdirgcc./a.out一、认识命令行的基本概念在 Linux 中我们通过终端向电脑发出指令。你输入一句话敲回车电脑就去执行。这句话就叫命令。一个完整的命令通常由三部分组成命令 [选项] [参数]命令告诉电脑“做什么”。比如ls列出文件。选项告诉电脑“怎么做”可以调整命令的行为。一般以短横-开头比如ls -l里的-l表示用长格式显示。参数操作的对象通常是文件名或目录名。比如mkdir mydir中的mydir。举例ls-l/home拆开来看命令ls选项-l参数/home整句的意思就是用长格式列出/home目录下的内容。从现在开始每学一个命令我们都会从“它能干什么”讲起然后看它怎么用、有哪些常用选项、有什么容易踩的坑。二、今日用到的五个命令逐字精讲1.ls—— 看目录里有什么它干什么ls是list的缩写作用就是列出文件和文件夹就像你打开一个文件夹窗口看到的那些图标。怎么用最基本ls什么参数都不加会列出当前目录下所有可见的文件和目录只显示名字。看隐藏文件ls-a选项-a表示all。Linux 中以点号.开头的文件或文件夹是“隐藏文件”只有加-a才看得到。看详细信息ls-l选项-l表示long会显示文件的权限、拥有者、大小、修改时间等详细信息。组合使用ls-la等价于ls -l -a即既看隐藏文件又看详细信息。实际例子假设你在终端输入ls看到Desktop Documents hello.c这就说明当前目录下有Desktop文件夹、Documents文件夹还有一个名叫hello.c的 C 源文件。必须记住的规则Linux严格区分大小写。Hello.c、hello.c、HELLO.C是三个完全不同的文件名。以后输入任何文件名时大小写要一模一样。2.cd—— 在目录间移动它干什么cd是change directory的缩写用来改变当前所在的目录好比在图形界面里双击进入某个文件夹。怎么用cd目录名几个特别有用、必须背下来的“目录符号”写法含义示例cd ..回到上一级目录从/home/user/Desktop退到/home/usercd ~或直接cd回到用户的家目录/home/你的用户名不管身在哪里一键回家cd /进入根目录整个文件系统的最顶层进入/cd -回到上一个所在目录在/tmp和/home之间来回切换超方便实际例子$cdDocuments# 进入 Documents 目录$pwd# 查看当前路径显示 /home/你的名字/Documents$cd..# 退到 /home/你的名字$cd# 直接回家$cd-# 又回到刚才的 Documents易错点cd和目录名之间必须有空格。如果目录名里有空格要用引号括起来例如cd my files。3.mkdir—— 创建文件夹它干什么mkdir是make directory的缩写用来新建一个空文件夹。怎么用mkdir新文件夹名常用选项mkdir -p 路径当你想要创建的文件夹的“爸爸”“爷爷”都还不存在时-p可以帮你一次性创建整条路径上的所有文件夹。不加-p的话只要父目录不存在就会报错。实际例子$mkdirmy_project# 创建 my_project$mkdir-pa/b/c# 连续创建 a、a/b、a/b/c 三层目录$lsa b# 可以看到 a 里面已经有了 b易错点直接输入mkdir x/y但x还没创建就会报错。要么先mkdir x再mkdir x/y要么直接用mkdir -p x/y。4.gcc—— 把 C 代码变成可执行程序它干什么gcc是 GNU 编译器套装中的C 语言编译器。它能把你写的、人类能读懂的.c源代码翻译成计算机能直接执行的二进制文件。最简单的用法gcc 源文件.c编译成功后会在当前目录生成一个名字固定为a.out的可执行文件a.out 是 “assembler output” 的缩写。更好的用法指定输出文件名gcc 源文件.c-o你想起的名字选项-o就是output让生成的可执行文件不再叫a.out而是你指定的名字。实际例子假设你有一个hello.c内容如下#includestdio.hintmain(){printf(Hello, Linux!\n);return0;}编译它$ gcc hello.c# 生成 a.out$ gcc hello.c-ohello# 生成名为 hello 的可执行文件$lshello hello.c a.out# 可以看到生成了 hello 或 a.out极易犯的错误及排查方法如果输入gcc hello.c后出现gcc: error: hello.c: 没有那个文件或目录说明gcc在当前目录下找不到hello.c。立刻按以下三步排查pwd看看自己在哪儿。ls看看这个目录下到底有没有hello.c注意大小写。如果文件在其他目录先用cd切过去或者写全路径例如gcc /home/user/projects/hello.c-ohello5../a.out或./程序名—— 运行程序它干什么执行当前目录下的可执行程序。为什么不能直接打程序名字这是 Linux 的安全设计。系统只会在一个叫PATH的环境变量所设定的几个标准目录如/usr/bin里找程序。当前目录通常不在PATH里所以你直接打a.out系统会报“未找到命令”。必须加上./意思就是“就在当前这个目录下找”。.代表当前目录/是路径分隔符。怎么用./a.out ./hello只要程序有执行权限gcc生成的文件自动带有执行权限就会运行并输出结果。实际例子接上一步运行刚才编译好的程序$ ./a.out Hello, Linux!$ ./hello Hello, Linux!三、✅ 已掌握命令清单以下是你今天亲手用过并已掌握的 Linux 命令汇总表可随时回看复习。命令用途最常用写法要点备注ls列出文件和目录lsls -lls -a-l看详情-a看隐藏文件区分大小写cd切换工作目录cd 目录cd ..cd ~..上级~家目录-回上次目录mkdir新建文件夹mkdir 目录名mkdir -p a/b/c-p可连创父目录路径中若有空格要用引号gcc编译 C 源文件gcc 文件.cgcc 文件.c -o 名字默认生成a.out编译前先用ls确认文件存在且名写对./程序名运行当前目录下的程序./a.out./hello必须加./否则系统找不到四、巩固练习只用这五个命令请在终端里按顺序完成下面的任务每一步都亲自敲一遍。碰到任何错误用上面教的方法去排查。在家目录下新建一个名为linux_practice的文件夹并进入它。用nano hello.c写一段程序没有 nano 就用 vim内容是输出 “I can use gcc!”。保存并退出。用gcc hello.c编译确认生成了a.out。用gcc hello.c -o hello编译生成名为hello的程序。先运行./a.out再运行./hello看结果是否一致。用ls -l查看当前目录所有文件的详细信息比较a.out和hello的差别实际上内容相同。用cd ..回到上级目录然后用ls linux_practice从上级目录看看练习目录里有什么。再用cd linux_practice回去最后用cd直接回家。参考答案动作描述mkdir linux_practice cd linux_practice创建hello.c内容为#includestdio.hintmain(){printf(I can use gcc!\n);return0;}gcc hello.cls可见a.outgcc hello.c -o hello./a.out和./hello都输出I can use gcc!ls -l可看到a.out和hello都是可执行文件cd ..然后ls linux_practicecd linux_practice再cd五、学习检查清单在你关闭这份资料之前试着在脑子里或直接打字回答下面几个问题。如果全能答出来说明这五个命令你已经完全吃透了。如何查看当前目录下包括隐藏文件在内的所有文件现在你在/home/user/Downloads想一瞬间回到/home/user至少给出两种办法。想同时创建work/code/test三层目录用一条命令怎么写gcc myprog.c -o run里的-o起什么作用如果不加-o生成的可执行文件叫什么名字为什么运行自己编译的程序必须敲./程序名而不能直接敲程序名这份资料现在只聚焦你今天用过的五个命令但每一个细节都已经讲透。之后如果再学新命令我们可以继续用这种方式一条条加进你的“已掌握命令清单”里。如果练习中遇到任何阻碍欢迎随时把错误信息发来我们一起搞定它。