“第003课 linux入门命令”的版本间的差异

来自百问网嵌入式Linux wiki
第196行: 第196行:
 
         |------bin  ------------------/usr/bin
 
         |------bin  ------------------/usr/bin
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
= 010节_linux基础知识__绝对路径和相对路径 =
 +
 +
- 第三个概念是**绝对路径和相对路径**
 +
* 绝对路径:从根目录一级级找下去,需要写完整路径名
 +
* 相对路径:参照当前所在目录进行查找
 +
 +
举例:
 +
 +
1) 当前路径为/bin,然后`./pwd`就是执行了`/bin/pwd`
 +
2) 当前路径为/home/book/100ask,然后`cd ../Videos/`就到达/home/book/Videos,`cd ../..`就到达/home
 +
 +
* 绝对路径是从根目录开始;
 +
* 相对路径一般以.和..来构成;
 +
 +
演示效果见视频。
 +
 +
=011节_cd命令讲解2_注意事项 =
 +
 +
**注意事项**:
 +
 +
* 1.切换的路径必须保证存在,可以使用`ls`命令来查看某一个路径下的所有内容。
 +
* 2.一定要记得多使用tab键,让终端为你自动补全。
 +
 +
你切换的路径必须保证存在,如果路径都不存在,肯定切换不了。这相当于什么呢。你们班上有30个学生,学号是1-30号,老师叫了31号,肯定没人应答嘛。因此,建议切换路径前,使用`ls`命令来先查看下有没有这个路径,`ls`命令,后面会讲。
 +
tab键可以减少我们的输入,提高我们的效率,我见过很多初学者,每次输入的时候都输入完整的文件名或者路径名,效率很低下。所以,记得多使用tab键。
 +
 +
演示效果见视频。
 +
 +
=012节_ls命令__独家记忆方法 =
 +
 +
 +
接下来,我们讲解`ls`命令。
 +
`ls`命令它的来源是英文单词`list`。学过数据结构的同学知道,`list`表示链表,不过在这里,`list`是个动词,表示列举、列出。`ls`的功能是列出目录内容。
 +
 +
 +
ls  //列出目录内容
 +
 +
 +
前面我们刚刚讲过`cd`命令,`cd`命令是切换路径。
 +
一般的话,都是用`cd`切换路径,然后再使用`ls`来查看目录内容。
 +
 +
在前面讲过,Linux的命令组成是:
 +
 +
命令  [选项]  [参数]
 +
 +
其中选项,参数可有可无。
 +
 +
举例:
 +
1) ls
 +
`ls`    //则显示当前所在目录的内容
 +
 +
2)ls 目录名
 +
`ls /home` //则指定显示/home的内容
 +
`ls ~`   //则指定显示/home/book的内容
 +
 +
3)ls 选项 或 ls 选项 目录名
 +
常用的选项:
 +
`-l`(long的缩写),显示目录下文件的更详细的信息(文件权限、文件最后修改时间、文件大小);
 +
`-a`(all的缩写),显示了隐藏文件;
 +
`-h`(human-able的缩写),将文件大小以K(KB)、M(MB)、G(GB)来表示;
 +
 +
`ls -lh`的详细的信息含义:
 +
<img src="./lesson/lesson12/lesson12_001.png">
 +
 +
 +
演示效果见视频。
 +
 +
= 013节_目录操作mkdir和rmdir_独家记忆方法 =
 +
 +
下面我们讲解mkdir这个命令。`mkdir`来源于`make  directory`
 +
 +
**目录的操作**
 +
 +
- mkdir:创建目录
 +
 +
举例:
 +
1)mkdir  目录名
 +
`mkdir dir0`  //创建了dir0这个目录
 +
 +
2)mkdir -p  父目录/子目录
 +
`mkdir -p  dir1/dir2` //连续创建多级目录(父目录和子目录),如果父目录不存在,则需要加入-p参数。-p(parents的缩写)
 +
 +
*  rmdir :删除目录
 +
举例:
 +
 +
1) rmdir  目录名
 +
`rmdir dir0`  //删除dir0这个没有内容的空目录
 +
**注意:**rmdir不能删除非空目录(非空目录:该目录下面有子目录或者文件)
 +
 +
2)rm -f 目录名
 +
`rm -f dir0`  //删除dir0这个目录
 +
**注意:**可以删除非空目录
 +
 +
演示效果见视频。
 +
 +
 
='''《《所有章节目录》》'''=
 
='''《《所有章节目录》》'''=
 
<categorytree mode=all style="float:right; clear:right; margin-left:1ex; border:1px solid gray; padding:0.7ex; background-color:white;">ARM裸机加强版</categorytree>
 
<categorytree mode=all style="float:right; clear:right; margin-left:1ex; border:1px solid gray; padding:0.7ex; background-color:white;">ARM裸机加强版</categorytree>
 
[[Category:ARM裸机加强版 ]]
 
[[Category:ARM裸机加强版 ]]

2018年1月15日 (一) 17:00的版本

001节_linux命令入门演示

前面我们讲解了在Ubuntu图形界面下怎么新建目录、新建文件等等。 来提个问题:除了这个图形界面,Ubuntu下面有没有其它的方式也可以创建目录、创建文件呢?

我们回到比较熟悉的Windows界面,或许大家听说过dos命令行工具,没有听说过也没关系,同时按下“Windows键”和“R键”,输入`cmd`,再点击“确定”,就出现了命令工具。

<img src="./lesson/lesson1/lesson1_001.png">


打开之后,默认进入计算机用户目录,在该目录输入`dir`,可以看到显示目录和文件的名称。 执行`md 123`,在资源管理器可以看到创建了“123”这个文件夹。 执行`rd 123`,就删除了“123”这个文件夹。输入`cls`,即可清除屏幕显示信息。 这里演示的`dir`、`md`、`rd`、`cls`这些命令,都是这个命令行所支持的命令。他们可以实现创建目录、删除目录、清屏等操作。

回到前面提的问题:除了图形界面,Ubuntu下面有没有其它的方式也可以创建目录、创建文件呢? 答案是有的,可以通过Linux命令。

下面,我先给大家演示一下Linux命令,大家先看着我是如何操作的,在后续视频中我会详细的讲解Linux命令如何快速记忆和快速掌握。 现在我们只是来演示一下,在这里强烈建议,不要做笔记,也不要记忆。 演示效果见视频。

在Ubuntu下面,我们通过文件搜索器,输入`terminal`,即可找到终端,或者使用快捷键:`Ctrl + Alt + T`也可打开终端。Linux命令是每一个Linux学习者必须掌握的基础知识,入门阶段掌握常用的一些命令即可。 演示中使用到命令:


    pwd   //显示当前所在的目录
    ls   //显示当前目录下的文件
    cd   //切换路径
    cd ..      //返回上一级路径
    mkdir //新建目录
    rmdir //删除目录
    touch //新建文件
    cp   //复制文件
    rm   //删除文件
    cat  //将文件内容显示到终端中
    clear //清除屏幕的显示内容

002节_shell命令解析器功能说明

在Shell中输入字符串并回车的过程: 1.Shell根据第一个字符串去环境变量PATH所指定的目录中找到同名的应用程序; 2.然后执行它;

我们可以通过设置PATH环境变量意昂加我们的目录:

export PATH=$PATH:/my/dir
command not found的原因:
1.PATH所指定的目录中无此程序;
2.它不是可执行的程序;

003节_linux命令提示符和linux命令格式

这节课我们正式学习Linux命令,只有掌握了Linux基础命令,我们才能成功迈入Linux的世界。前面演示过一些Linux的命令,这些Linux命令非常基础,每个同学都必须掌握。我们重新来讲解,并且补充一些Linux相关的基础知识。

先讲解下**Linux的命令提示符**:

使用快捷键:`Ctrl + Alt + T`打开终端,打开终端之后,可以看到它已经显示了一串字符,这一串就是命令提示符。 命令提示符表明了当前终端的状态,这一串的含义如图:

<img src="./lesson/lesson3/lesson3_001.png"*

首先`book`表示当前登陆的用户名,因为Linux是一个多用户的操作系统,所以说指明一下当前是哪一个用户名登陆的。 接下来是一个`@`,它是一个连接符,连接前后。 接着的`www.100ask.org`是一个主机名,如果大家没有使用我们百问网提供的Ubuntu环境的话,这主机名可能不同,但没有关系。 再接着是一个`:`它也是一个连接符,连接前后。 再接着是一个`~`,它是一个目录,表明了book这用户的家目录/home/book,在后面我们会说明。 再接着是一个`$`,因为book是一个普通用户,普通用户显示`$`,如果book是一个root(超级)用户,就会显示 `#`。这个root用户在后面会说明。


因此我们需要记住两点,命令提示符,显示了:

  • 1.当前登陆的用户名
  • 2.用户当前所在的路径

- 接着讲解下**Linux命令的格式**:

  • 命令  [选项]  [参数]


在一些参考书里,是以英文写的,它们是一个意思。 <img src="./lesson/lesson3/lesson3_002.png"*

举例: 如果我们只需要查看当前路径的文件内容:`ls` 如果我们想查看当前路径下文件的创建时间和大小等等这些详细内容:`ls -l` 如果我们想查看非当前路径下的内容,比如/home这个路径下的内容:`ls -l /home` <img src="./lesson/lesson3/lesson3_003.png"*

可以发现:

  • 1.命令这一部分肯定是存在的
  • 2.选项和参数不一定存在,可有可无;选项和参数取决于里使用该命令实现的具体目的;
  • 3.选项是以“-”来指明的;
  • 4.命令、选项、参数之间以空格隔开(一个或多个空格都视为是一个空格);
  • 5.完成命令输入后,按下“enter键”,即可执行命令;

如`ls`有个`-l`选项,可能有的同学会问,那么`ls`到底有那些选项了?可以通过`man ls`来查看。 ls命令的选项有很多,入门阶段先掌握ls命令的-l、-a、-h等常用选项。 在后面的视频中,也是先介绍Linux基础命令(pwd、cd、ls等)的常用选项。 入门阶段,掌握一些常用的选项就可以了,不要贪多。

004节_linux常用命令引入

前面演示过这些命令,这节课开始重新来讲解,在讲解的过程中,我将告诉大家我自己的记忆方法,我相信这些记忆方法,可以帮助大家快速的掌握这些命令。言归正传,这里有几个单词:

序号 英语单词 含义
1 directory 目录
2 change 改变
3 list 列出
4 print 打印
5 remove 删除
6 copy 复制
7 move 移动
8 clear 清除

非常简单,我相信每个同学都能掌握。好了,等下的记忆方法,就是这些单词的组合。

005节_pwd命令__独家记忆方法

最简单的是`pwd`这个命令,我参考了国内很多讲解Linux命令的视频,其实很多老师讲解这个命令的时候,都讲解得不是很完善,他们只是告诉你怎么用,但是他没告诉你怎么来记,它的来源是什么。我这里要讲解一下它的来源,它是`print working directory`,这三个单词得首写字母的组合。这三个单词的中文意思就是“打印当前工作路径”。我相信你只要掌握这三个单词的含义,你就能清楚的记住`pwd`这个命令,这样的话,你就知根知底了。在前面讲过,Linux命令格式是由命令、选项、参数。这三个部分来构成的。在日常工作和学习中,只需要掌握命令部分为`pwd`就可以了,至于其它的选项、参数就可以不用掌握了。

演示效果见视频。

pwd  //打印当前所在的路径

006节_cd命令讲解1__独家记忆方法

接着是`cd`命令,这`cd`命令的来源是`change directory`这两单词的首写字母组合。这两单词的意思就是“切换路径”。一般情况下,`cd`命令都不需要加参数,只需要加上,需要切换的目标目录就行了。

演示效果见视频。

cd   //切换路径

演示过程中,每次都需要输入很多,是不是有时可以简化输入呢?答案是可以的。一般简化输入有这三种情况:

cd  ~  //切换到家目录
cd  .. //切换到上一级目录
cd  -  //切换到上一次所在目录

007节_linux基础知识__家目录_当前路径

- 第一个概念是**家目录**,比如book用户的家目录是/home/book。

这是前面讲解过的Ubuntu结构,当你在Ubuntu下面新建一个book用户后,它会在/home目录下新建一个book目录。 /home/book这个目录来存放book用户他自己的一些文件。同理,你在Ubuntu下面新建guest这个用户在话,他也会在/home下面guest这个目录。/home/guest来存放guest用户,他自己的一些文件。 <img src="./lesson/lesson7/lesson7_001.png">

Linux中用`~`符号来表示用户的家目录。因此在Linux中输入`cd ~`即可进入家目录。

演示效果见视频。


下面都是一些Linux的基础概念,我们先补充一下。

008节_linux基础知识__上一个路径_上一次路径

- 第二个概念是**当前路径和上一级路径**。

cd        //切换路径
cd ~      //切换到当前用户的家目录
cd .      //切换到当前路径,很少使用
cd ..     //切换到上一级路径
cd ../..  //切换到上上级路径(其中:在linux中路径分隔符为斜杠/)
cd -      //切换到上一次的路径

Linux中用`.`符号来表示当前目录,用`..`符号来表示上一级目录。

009节_linux基础知识__linux目录结构介绍

Linux目录结构

参考前面

    /                ------------------根目录/
    |------bin       ------------------/bin
    |------home      ------------------/home
        |------book  ------------------/home/book
        |------Guest ------------------/home/Guest
    |------usr       ------------------/usr
        |------lib   ------------------/usr/lib
        |------bin   ------------------/usr/bin

010节_linux基础知识__绝对路径和相对路径

- 第三个概念是**绝对路径和相对路径**

  • 绝对路径:从根目录一级级找下去,需要写完整路径名
  • 相对路径:参照当前所在目录进行查找

举例:

1) 当前路径为/bin,然后`./pwd`就是执行了`/bin/pwd` 2) 当前路径为/home/book/100ask,然后`cd ../Videos/`就到达/home/book/Videos,`cd ../..`就到达/home

  • 绝对路径是从根目录开始;
  • 相对路径一般以.和..来构成;

演示效果见视频。

011节_cd命令讲解2_注意事项

    • 注意事项**:
  • 1.切换的路径必须保证存在,可以使用`ls`命令来查看某一个路径下的所有内容。
  • 2.一定要记得多使用tab键,让终端为你自动补全。

你切换的路径必须保证存在,如果路径都不存在,肯定切换不了。这相当于什么呢。你们班上有30个学生,学号是1-30号,老师叫了31号,肯定没人应答嘛。因此,建议切换路径前,使用`ls`命令来先查看下有没有这个路径,`ls`命令,后面会讲。 tab键可以减少我们的输入,提高我们的效率,我见过很多初学者,每次输入的时候都输入完整的文件名或者路径名,效率很低下。所以,记得多使用tab键。

演示效果见视频。

012节_ls命令__独家记忆方法

接下来,我们讲解`ls`命令。 `ls`命令它的来源是英文单词`list`。学过数据结构的同学知道,`list`表示链表,不过在这里,`list`是个动词,表示列举、列出。`ls`的功能是列出目录内容。


ls  //列出目录内容


前面我们刚刚讲过`cd`命令,`cd`命令是切换路径。 一般的话,都是用`cd`切换路径,然后再使用`ls`来查看目录内容。

在前面讲过,Linux的命令组成是:

命令  [选项]  [参数]

其中选项,参数可有可无。

举例: 1) ls `ls`    //则显示当前所在目录的内容

2)ls 目录名 `ls /home` //则指定显示/home的内容 `ls ~`   //则指定显示/home/book的内容

3)ls 选项 或 ls 选项 目录名 常用的选项: `-l`(long的缩写),显示目录下文件的更详细的信息(文件权限、文件最后修改时间、文件大小); `-a`(all的缩写),显示了隐藏文件; `-h`(human-able的缩写),将文件大小以K(KB)、M(MB)、G(GB)来表示;

`ls -lh`的详细的信息含义: <img src="./lesson/lesson12/lesson12_001.png">


演示效果见视频。

013节_目录操作mkdir和rmdir_独家记忆方法

下面我们讲解mkdir这个命令。`mkdir`来源于`make directory`

    • 目录的操作**

- mkdir:创建目录

举例: 1)mkdir 目录名 `mkdir dir0`  //创建了dir0这个目录

2)mkdir -p 父目录/子目录 `mkdir -p dir1/dir2` //连续创建多级目录(父目录和子目录),如果父目录不存在,则需要加入-p参数。-p(parents的缩写)

  • rmdir :删除目录

举例:

1) rmdir 目录名 `rmdir dir0`  //删除dir0这个没有内容的空目录

    • 注意:**rmdir不能删除非空目录(非空目录:该目录下面有子目录或者文件)

2)rm -f 目录名 `rm -f dir0`  //删除dir0这个目录

    • 注意:**可以删除非空目录

演示效果见视频。