《胡须Linux教程》#4 基础命令1

#技能27:0016

众译鸣谢

原文字幕:positiveme于2017.05.22制作完成

译文字幕:[B]hugue于2017.07.25制作完成

审核过程:6

字幕详情

大家好
我刚刚在看目前最好的视频游戏
那是今天为你们推荐的内容
这是第一个将会涉及到Linux本身的视频
你们要坚持下去 虽然这不是最令人振奋的部分
但是你可以探索到文件系统的奥秘
首先
我们会从命令行开始
因为我希望你们能够习惯(命令行的使用)
没错 这是Ubuntu 并且我们安装的是特别版
它是带有图形界面的桌面版
使用非常简单
有些人觉得它比Windows还要简单
当然和OS X是不相上下
但是 我们不会用到那些
我们不会利用那些
因为
快速掌握Linux的关键之一
是使用命令行来完成所有操作
我也会给你们演示如何用命令行做些好玩的事情
比如说…… 它甚至可以浏览网页
这是一个很酷的小型浏览器 你完全可以使用它
当然这并不完全实用
因为作为一个系统管理员
你不是要把时间花费在……
我是说 如果你是要
上网查找一些问题的答案
你就不会在Linux里把命令行用作浏览器了
但是
习惯Linux这种奇怪的新环境的最好方法
就是要一直使用它
尽可能的在命令行上多花时间
你就会觉得这些东西变得很自然了
好了
我们要做的第一件事是打开终端
你可以通过点击这里
并且搜索"Terminal"来打开
你应该这样做
对不起 这些来自亚马逊的广告
非常令人讨厌
这就像虚拟机一样 我什么也没做
这些只是来自亚马逊的广告
你已经打开终端了
我们要看的第一条命令是
是"ls"
"ls"命令会显示出目录中的内容
该命令有几个标识符
标识符就是
加在命令之后使它更明确的参数
例如说 如果"ls"命令
加上 "-a" 这就是A标识符
通常用"-"来指出标识符或者说可选项
它会列出所有文件
包括隐藏文件和未隐藏文件
正如我们看到的 我运行了同样的命令两次
但是这次比以前多了一些文件和文件夹
是哪些呢?
你可以看到
我们上次没看到的文件和文件夹
这次似乎都有一个小点
就是在开头的句号字符
在Linux中这些都是隐藏文件
所有名字最开始是点的文件
都是隐藏文件
这只是……
通常就是为了不让别人看到
你真的不需要看这些隐藏文件
它们大多数都和你无关
比如说 浏览主目录时
你并不需要查看你在终端的输入历史
好了
我把终端清空一下
我们可以使用"ls"命令列出文件
但是无法知道我们所处的位置
文件系统有点像一棵树
其他的文件系统也类似
如果把你用过的操作系统看作文件系统的话
它们也和这差不多
树有一个根
在那里分出枝干
在Windows下也一样
只是在Linux下被称作根目录
它的符号就是"/"
文件系统的“根”是根目录 即"/"
要想列出根目录下的文件
可以给"ls"一个参数
用来指定路径
所以不是只用"ls"
"ls"只会列出当前目录的内容
我们可以用"ls"列出指定文件夹的内容
比如说 在当前目录下
有一个"Downloads"文件夹
我们可以用"ls"列出"Downloads"文件夹内容
我们来看一下它里面有什么吧
里面什么也没有 我还没下载任何东西
可以看到 如果使用"ls /"命令……
"/"是文件系统的根目录
没有什么是在它之外的 它包含所有东西
我们现在是在根目录的一个子目录中
也就是说我们在这棵树的一个分枝上
我们可以通过shell
看出我们所处位置
通过shell的提示符……
提示符就是shell中你输入内容的地方前面的东西
这就是shell的提示符 我们用的是bash
就是说这个shell的名字是bash
其他还有例如C shell、Korn shell
以及目前人们所知最好的shell:Z shell等
但是我们会从bash开始
很明显它也只是一个shell
我都快要忘记了
bash是大多数系统中的默认shell
它的提示符
是美元符号
这就是提示符
它前面就是你在文件系统中所处的位置
所以你总是能知道你在文件系统的位置
只要你知道
这是什么意思
我保证 这是唯一的神秘之处
要打出这个波浪线符号
你可以按住"shift"键
在美式键盘布局中
再按左上角的键
它在尖括号的上方
尖括号
我刚说了什么啊?
不是尖括号 是反引号`
在键盘的左上角 ESC键的下面
数字"1"键的左面
在美式键盘上是这样的
波浪线符号是你的家目录的简写
是当前用户的家目录
还有另外一个命令
是为了防止你忘记自己的路径
就是"pwd"命令
它是“打印工作目录”的缩写
输入"pwd"
再点击回车键
就可以显示出你在文件系统中的位置
你刚看到了 这条命令会在下一行打印出位置
然后会显示出shell的提示符
等待下次输入
好了
现在我们在自己的家目录
因为我们的用户名是dave 所以我们在"/home/dave"文件夹
可以看到 我们已经得到了想要的结果
我们已经看到了
前面我们使用了"ls /"命令
你可以在这看到
我们可以看到自己在哪 对吧
再执行一次"ls /"命令 我们找一下home文件夹
它在这
这是home文件夹
显然……
用"/"符号要更简单
但是现在我还是要写的明确些
执行"ls home"命令
就可以看到我们所处的目录了
"/home/dave"
这是当前目录里面唯一的一个文件夹
所以……
没错 这就是我们所处的位置
如果……
顺便一提 如果你按向上箭头
就会出现你上次输入的命令 并且可以不停的上翻
最近的命令
大概会有一千条吧
这里有个"dave"目录
我们可以列出它里面的内容
这个嘛……
我们已经做过了
我们正在"dave"目录内
所以如果使用"ls"命令
就会得到当前目录下的文件列表
这和明确的给出路径是完全一样的
所以全称路径
它就是这种叫法
总是以"/"开头
所以首先是"/"
然后是"home"目录
然后是"dave"目录
我们继续 然后是"Downloads"目录
或者是"Desktop"目录
你可以看到我做了什么
我使用了自动补全功能
在你输入命令的时候
它能根据字典中的内容
缩小选项的范围
如果你按"Tab"键
按两次就会显示出以该字母开头的选项
所以如果我们输入"Do"
然后再按下"Tab"键
就可以看到可选范围缩小了很多
然后我们就可以说
我想要的是"Documents"这个文件里
但是它里面什么也没有
这使人兴趣骤减
但是我保证 后面有令人振奋的东西
好了
我们能做什么了呢?
我们能查找所处位置
我要清除一下终端
我们到底在哪呢?
我们是在"/home/dave"文件夹下
它里面有什么呢?
我们可以列出里面的任意文件
比如 现在有一个路径
"/home/dave/Desktop"
我们就可以列出里面内容
非常酷
但是如果不能在文件系统中移动
这对我们也没什么用
所以为什么我们不试试移动呢?
我们要去根目录下
命令是"cd" 它会改变当前目录
"cd /"就是"cd root"
它会使我们移动到文件系统的根目录
我们可以用"ls"命令
就和上次我们看到的一样
为什么我们不从这移动到"home"目录呢?
我们到了
我们可以进入我们的家目录
这基本上就是我们开始的地方
我们已经移动到了根目录 然后是"home" 然后是"dave"
你可以看到这里前面没有"/"了
如果你位于一个目录下
你只需要简单的输入"cd"命令
就可以进入一个子目录
至于目录的名字
你可以使用"Tab"自动补全
然而 如果你在其他地方……
我们先回到根目录
如果你位于根目录 并且想到那去
你就不能只是用"cd Downloads"命令
因为在根目录下没有Downloads目录
我又说了一遍原因
你必须要把这印在脑子里
所以
如果我想从根目录到那……我现在在哪?
用"pwd" 打印工作目录
我在根目录
如果我想去"Downloads"目录
就必须先到"home"目录
在这你也可以用自动补全功能
现在改变目录到"/home"
记住下面是"dave"
然后是"Downloads"
现在我们就到了
所以
我们现在要谈论一下魔法
可以看到 提示符会告诉我们 我们所在的位置
它会说:嗨 伙计 你是在根目录
在这它又会说:伙计 你在神奇的波浪号目录
那就是你的家目录
所以如果我在根目录
我就会说:我在这呢
改变目录到根目录
如果我想去家目录
我只需要输入"cd ~"
我就会回到家目录
可以看到 现在我在"/home/dave" 这是我的家目录
还有另一种方法可以到达
假设我在"Downloads"目录
它里面什么也没有 我就在这
我先清空一下
如果我在这
并且我想返回到"home"目录
我的意思是说
有一个运行系统 比如一个大型web服务器
正在运行一些web应用
以及大型的数据库
在它最上面还运行着一些仿真软件
你有一个非常大的文件系统
你不知道自己在哪了
如果你需要快速返回到"home"目录
你可以只是输入"cd" 不用带任何参数
就是后面不带路径
你就可以返回到"home"目录了
可以看到 我们现在在"home"目录了
好了
所以
前面已经讲过了移动
查看当前目录内容
也讲了 如何查看我们的位置
如果我们不想看这里的路径的话
但是
怎么新建一个文件呢?
我们就来新建一个文件
我们在"home"目录下 或许我们可以移动到"Desktop"目录
改变目录到这里
"touch"命令会新建一个空文件
如果输入"touch myawesomefile.txt"
就创建了一个空的文本文件
我已经在"Desktop"目录下创建了
可以看到 它就在这
我甚至可以打开它
输入一些内容
"this is some incredible stuff!"
因为它是一个文本文件
我们已经用"touch"创建了一个文件
还有其他几种方式可以做到
但是在这里我只会演示这一种
有一种读取文件的方式
有些人可能对我很生气 告诉我说
"cat"实际是用来联接的
它可以依次读取多个文件
只有在多个文件的时候才有意义
但是你知道吗 它是读取文本的简便方式
所以我们会使用"cat"
打印出这个文件的内容
"myawesomefile.txt "文件
真是不可思议
希望你不要被我无聊的幽默感吓到
我确实认为这个东西很酷
我知道这些很基础
我也很确定你们想要一些更酷的东西
但是我们要循序渐进
我们已经创建了一个文件
并且在其中写入了一些东西
但是怎么才能从命令行写入呢?
这个我们会在稍后讲
现在 我们为什么不创建一个目录并把那个文件放进去呢?
创建目录的命令是 "mkdir"(make directory)
它的使用就像其他命令一样
命令 空格 后面是可选项
我们不用任何可选项
再后面是目录名称
我们可以写"aplaceforawesomeness "
这就是我们的目录
用"ls"可以看到当前目录的内容
如果你想知道这个奇怪的东西是什么……
该死的Ubuntu和Gedit
Gedit或者G-edit
它是一个编辑器 我刚才用它来输入文本
并且它可以创建自动保存文件
比如说临时文件
这就是你看到的
这个才是真正的文件
如果你正在编辑文件
还没保存电脑就突然崩溃了
你已经改变了的内容就会写入到这里
但是有一件奇怪的事
我已经保存了 这个文件却还在
这令人很恼火 不要对这感到困惑
现在我们有了一个文件和一个放文件的地方
接下来我们就要移动文件
我们已经创建了这个文件
使用"mkdir"命令
创建了一个文件夹
现在我们可以移动这个文件了
我会在这使用自动补全 "mv"移动
文件"myawesomefile "
到目录"aplaceforawesomeness "
所以
这种命令格式在Linux中有很多
首先是命令
后面是它带的参数
在这个例子里 是文件名和目录名
这个文件也可以是文件夹
它就是你要改变位置的东西
就像源和目标一样
靠近命令的第一个参数
是你要操作的东西
在这个例子中 是移动
第二个参数是目标
即要移动到的地方
有非常多的命令的格式
都和这一样
一定要牢牢记住这一点
你要操作第一个参数
第二个参数是目标 是要移动到的地方
文件的复制 移动
甚至移动到远程机器
或者服务器都是这样的
我们要把文件移动到文件夹
不可思议
如果使用"ls aplaceforawesomeness"命令
就可以看到它里面的文件了
我们现在仍在"Desktop"目录下
从shell的提示符就可以看出来
那个声音实际上是我接收到消息的声音
它来自《杀出重围》
就是刚开始屏幕上一闪而过的那个游戏
它是一个很酷的游戏
我从里面拿了一些我最喜欢的音效
并且把它们做成了手机铃声
以及其他一些声音
如果你听到了鸟叫的声音 那就是它了
我们已经成功地创建了一个文件
一个文件夹 并且把文件移动到了文件夹
这里还有一个烦人的备份文件
就是这个"myawesomefile.txt~"文件
我讨厌波浪号
所以我们要删除它
删除文件是非常简单的
你需要使用删除命令
"rm"
我仍会使用自动补全
我只输入"m"
因为只有一个以"m"开头的文件
按"Tab"键就会补全了
所以
接下来我要用"rm"命令删除它
可以看到 它已经没了
非常酷
删除这个文件夹和它里面的文件怎么样?
怎么才能删除一个文件夹呢?
"rmdir"可以用来删除文件夹
我们先创建一个文件夹
叫"testrm"
创建文件夹"testrm"来试验删除命令
接下来 我们使用"rmdir testrm"命令
我要删除"testrm"文件夹
非常好
它起作用了
但是只有空文件夹时 它才起作用
我们返回到刚才 重新创建那个目录
下面我要显示一个很酷的技巧
我们又创建了那个文件夹
不 是目录 怎么会是文件夹呢
在Mac中 它会引起错误
大约20年前我开始使用Mac
我想 这个极度错误的词汇一直潜伏在我大脑里
无论如何 目录"testrm"
已经创建好了
我们要在它里面创建一个文件
比如这样 我们可以创建"testrm/testdeletefile"文件
它只是一个空文件
如果列出目录中的内容
就可以看到这个文件了
可以看到这个文件
我们再试一下"rmdir"命令
出现了错误
因为"rmdir"通常只能删除(空)目录
接下来我要教你"rm"命令
你可以用"rm"删除文件 也可以删除目录
没多少东西要记
接下来我们要做什么呢?
删除"testrm"目录
我们试一下
好了
我们会使用参数"r"表示递归删除
也就是它下面的所有东西都会被删除
怎么才能知道如何使用命令呢?
如果出现了
一个错误
你应该看的地方是……
比如 你忘记"mv"的用法了
不知道第一个参数是文件还是目标地址
"man" 查看手册
就起作用了
基本上 你应该会一直用到它
每次你忘记怎么做的时候
每次你想知道一个命令的用法的时候
就可以用"man"查看手册
通常它很有用
只需要输入"man"以及命令就可以了
再做一遍怎么样?
它可以移动和重命名文件
按'q'键可以退出
你可以正常的上下滚动
你可以用上下键 也可以用"page down"键
一旦你想退出了 按'q'就可以
所以
怎样才能知道删除文件时"-r"的作用呢?
可以看到
这是命令名称 它能做什么
它会告诉你可用选项
可以看到
这个参数很有趣 你还会多次见到
这个也很有趣 我们刚刚用过
它会包括所有的子目录
删除里面的所有文件
然后再删除所有目录
所以说"man"命令
非常非常重要
你应该学会如何使用它
"man man"
棒极了
它是一条不可思议的命令
我们已经学习了什么呢?
这些都是基本命令 你应该实际操作一下
你应该逛遍整个系统
用"cd"切换不同位置
我看一下…… 我们就列出"boot"目录的内容吧
听起来很有趣
这是系统内核以及系统启动所需的东西
我们有什么设备呢? 可以进入看一下
哇偶
有许多电传打字机 它们是虚拟的
所有硬件设备都会安装在这
很容易让人混淆
但是不要担心这里的东西
只担心怎样在系统中移动就行了
并且要一直记得你在哪
如果你需要提示
看提示符就好了
如果找不到路径了
我们就这样……
就比如说 如果我们设置了逻辑卷管理
整个文件系统就都在这了
天啊 我找不到位置了
用"cd"就可以回到家目录 非常好
有3种不同的方法可以回到家目录
你可以用"cd ~"回到家目录
也可以用"cd /home/"加上你的用户名
这也可以回去
也可以只输入"cd" 就能回去
我们能够创建文件了
但是
一会儿你会很恼火的
如果你在文件系统的某一地方创建了一个文件
我想说的是
你可能在"Desktop"创建了文件
我们可以回到"home"文件夹
或"Desktop" 并在其中创建文件及目录
同样也可以删除一些东西
如果你删错了Linux中的文件
可能会导致整个系统崩溃
尤其是删除"root"里的文件时
删除的时候一定要非常小心
因为
这条著名的Linux命令"rm -rf /"
会破坏整个系统
它会强制递归
也就是会遍历整个/"目录
包括它里面的所有目录 所以你整个系统
内的文件都会被删除
然后再删除目录
只剩下一个死系统
这就是Linux的力量
你可以做任何事
但可以做任何事也是问题所在
所以使用时一定要明智
现在我们是在家目录
如果你记了笔记的话 可以复习一下
可能会很有用
"ls" "pwd"
"cd"
"touch"创建文件 "mkdir"
"rm"删除文件
也可以带"-r"参数
我们还做了别的吗?
当然了 "man"
一定要记住"man"命令
"man"命令页面的有些内容不理解也没关系
有些地方需要你熟悉Linux
但是许多基础命令并不需要这些
所以在你开始疯狂的用谷歌搜索以前
在你询问别人以前
尤其是在你询问别人以前
要自己研究一下
"man"加上你遇到困难的命令
这条命令是做什么?应该怎么用?
好好读这些东西
它就像是命令如何工作的免费课程
可能有些地方你不理解 也没关系
但是你一定要读它
你应该要学会
在问问题之前自己研究一下
这是才能做一个快乐的系统管理员
非常有趣 下次见
我们会从这继续
这些都是非常基础的命令:在文件系统中移动
复制文件 移动文件 创建文件及文件夹
我们也学了"mv"命令
以及删除文件及文件夹
这些都很基础
你要练习这些东西 我们下节课见
以下内容有剧透 , 请注意打开姿势

精彩推荐

  • 《胡须Linux教程》#1 课程介绍

    11:1245

  • 《胡须Linux教程》#2 配置Linux虚拟机

    10:5936

  • 《胡须Linux教程》#3 新手命令行5分钟教程

    11:4613

  • 大学英语:表达和词汇

    13:15586

  • 韩文字母5-基础辅音ㄴ,ㄷ,ㅌ,ㄹ

    06:57354

  • 解剖分析 - 肩骨

    14:53102

  • 你知道TAKE的8个习语吗?

    05:01269

  • 韩文字母4-基础辅音ㄱ,ㅋ,ㅎ

    04:48467

更多视频, 请移步译学馆APP欣赏  GET APP