历史上的今天
返回首页

历史上的今天

今天是:2025年03月17日(星期一)

正在发生

2020年03月17日 | 第003课 linux入门命令详解

2020-03-17 来源:eefocus

第001节_linux命令入门演示

前面我们讲解了在Ubuntu图形界面下怎么新建目录、新建文件等等。

来提个问题:除了这个图形界面,Ubuntu下面有没有其它的方式也可以创建目录、创建文件呢?


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

这里写图片描述

打开之后,默认进入计算机用户目录,在该目录输入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打开终端,打开终端之后,可以看到它已经显示了一串字符,这一串就是命令提示符。 

命令提示符表明了当前终端的状态,这一串的含义如图:

这里写图片描述

首先book表示当前登陆的用户名,因为Linux是一个多用户的操作系统,所以说指明一下当前是哪一个用户名登陆的。


接下来是一个@,它是一个连接符,连接前后。

接着的www.100ask.org是一个主机名,如果大家没有使用我们百问网提供的Ubuntu环境的话,这主机名可能不同,但没有关系。


再接着是一个:它也是一个连接符,连接前后。 再接着是一个~,它是一个目录,表明了book这用户的家目录/home/book,在后面我们会说明。


再接着是一个$, 因为book是一个普通用户,普通用户显示$,如果book是一个root(超级)用户,就会显示#。这个root用户在后面会说明。


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

* 1.当前登陆的用户名 

* 2.用户当前所在的路径


Linux命令的格式

命令  [选项]  [参数]


在一些参考书里,是以英文写的,它们是一个意思。

这里写图片描述

举例: 

如果我们只需要查看当前路径的文件内容:ls

如果我们想查看当前路径下文件的创建时间和大小等等这些详细内容:ls -l

如果我们想查看非当前路径下的内容,比如/home这个路径下的内容:ls -l /home

这里写图片描述

可以发现:


1.命令这一部分肯定是存在的

2.选项和参数不一定存在,可有可无;选项和参数取决于里使用该命令实现的具体目的;

3.选项是以“-”来指明的;

4.命令、选项、参数之间以空格隔开(一个或多个空格都视为是一个空格);

5.完成命令输入后,按下“enter键”,即可执行命令;


如ls有个-l选项,可能有的同学会问,那么ls到底有那些选项了?可以通过man ls来查看。 


ls命令的选项有很多,入门阶段先掌握ls命令的-l、-a、-h等常用选项。

 

在后面的视频中,也是先介绍Linux基础命令(pwd、cd、ls等)的常用选项。 


入门阶段,掌握一些常用的选项就可以了,不要贪多。


第004节_linux常用命令引入

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

image.png?imageView2/2/w/550

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


第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用户,他自己的一些文件。

这里写图片描述

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.切换的路径必须保证存在,可以使用命令来查看某一个路径下的所有内容。

2.一定要记得多使用tab键,让终端为你自动补全。

你切换的路径必须保证存在,如果路径都不存在,肯定切换不了。这相当于什么呢。 

你们班上有30个学生,学号是1-30号,老师叫了31号,肯定没人应答嘛。


因此,建议切换路径前,使用命令来先查看下有没有这个路径,命令,后面会讲。


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的详细的信息含义:

这里写图片描述

演示效果见视频。


第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这个目录


注意:可以删除非空目录


演示效果见视频。


第014节_文件操作touch_mv_cp_rm

文件的操作


touch :用来新建文件

举例:


1) touch 文件名


touch file1  //在当前目录新建名为file1的文件


注意:


1)同一目录无法创建同名的文件


2)linux的文件名是区分大小写的,如file1和File1是不同文件。这一点跟windows不同。


mv(move的缩写) :用来修改文件(目录)名、移动路径

举例:


1) mv 旧文件名 新文件名 修改文件名


mv file1 filea //将当前目录的文件file1改名为filea


2)mv 旧目录名 新目录名 修改目录名


mv dir1 dira  //将当前目录下的目录dir1改为dira


3)mv 文件名 目录名 移动路径


mv filea dira //将当前目录下filea移动到dira子目录

mv filea  ~  //将当前目录下filea移动家目录

mv ~/filea  .. //将家目录下的fila移动到上一个路径


cp(copy的缩写) :用来复制文件(目录)

1)cp 源文件名 目标文件名


cp File1  file2 //将当前目录下的文件File1拷贝成file2


2)cp 源文件名 目标目录名


cp file2 dira/ //将当前目录下的文件file2拷贝到dira子目录


2)cp 源目录名 目标目录名


cp -r dira dirb //复制dira目录下的所有内容到dirb,其中,-r参数时递归复制

cp -i file2 dira //如果dira目录下面有同名的file2,加入-i参数就会要求你确认是否覆盖同名的文件


**注意:**cp的常用参数有:-i,-r,-f,-d等,在后面讲解了linux权限之后,我们会加深cp这个命令的讲解。


rm(remove的缩写) :删除文件(目录) 

常用命令格式:

rm   [选项]   [文件名 | 目录名]


常用选项: 

-i(interactive(交互)的缩写),删除文件(目录)之前,要求你确认是否同意删除 

-r(recursive(递归)的缩写),递归删除指定目录下的子目录和文件 

-f(force(强制)的缩写),强制删除


举例:


rm File1   //删除当前目录下的文件File1

rm -i file2  //删除文件file2,删除前要求你确认是否同意删除,其中y表明同意删除,n表示取消删除

rm -r dira  //删除目录dira

rm -ir dirb  //删除目录dirb,删除前要求你确认是否同意删除,其中y表明同意删除,n表示取消删除  


注意:


1)删除文件(目录)前,确定该文件(目录)是否可以被删除。


2)rm的常用参数有:-i,-r,-f等,在后面讲解了linux权限之后,我们会加深rm这个命令的讲解。


第015节_文件查看和编辑cat_gedit

文件的查看和编辑:


1) cat用来查看文件内容


常用命令格式:


cat  文件名


举例:


 cat file1     将file1的内容打印到标准输出中(默认标准标准输出指向终端)

 cat file1 file2  将file1和file2的内容串联并依次全部打印到标准输出中

 cat -n file1    显示内容并在内容前显示行号。


类似的查看命令:more、less、head、tail等后面讲解


2) gedit 图形应用程序的编辑器


这个前面讲过了,就不再重复了


3) vi 编辑器


vi编辑器非常重要,在后面的视频,以专题的形式讲解。


第016节_清除屏幕_clear和reset

清除屏幕命令:


clear:刷新屏幕,保留历史命令操作记录


说明:此命令本质上只是让终端向后翻一页,当向上滚动鼠标时,还是可以看到之前命令的操作记录 

也可使用快捷键“Ctrl”+“L”。


reset:重新初始化屏幕,清除历史命令操作记录


第017节_帮助信息man_info_help

帮助信息:


学习Linux最麻烦的是什么?


不停的上网或者翻阅书籍查找linux命令、相关函数的用法。


其实,没那么麻烦,linux发行版(如ubuntu)自带帮助命令。


Linux系统中提供了三种帮助方式。


man和info是独立的命令, --help是个命令的参数, 

它们都是Linux中获取帮助信息最权威,最快捷的途径。


1) man使用的最多


举例:


 man man  //查看man手册的说明

 man ls   //当没有指定使用那一页,默认使用第1页

 man 1 ls  //与 man ls 一样

 man 1 gcc //gcc是一个应用程序,在linux中一般使用gcc编译器来编译c/c++语言的程序 

 man 2 open //查看系统调用open的man手册说明。open/write/read/close等等都是系统调用


注意: 

man手册的9册内容的侧重点,最好记一下。

image.png?imageView2/2/w/550

2) info


举例:


info ls  //查看ls的帮助信息

1

3) –help


举例:


ls --help //查看ls的帮助信息

推荐阅读

史海拾趣

3E SECURITY公司的发展小趣事

随着网络安全威胁的不断加剧,电子安全行业面临着前所未有的挑战。3E SECURITY公司紧跟行业趋势,加强了网络安全服务的研发和推广。公司推出了一系列网络安全解决方案,帮助客户有效应对各类网络攻击和数据泄露风险。同时,公司还加强了对客户的安全培训和技术支持,提升了客户的安全意识和应对能力。

Electrolube公司的发展小趣事

在电子行业中,电池管理系统(BMS)的可靠性和耐用性一直是制造商关注的焦点。Electrolube公司凭借其在材料科学领域的深厚积累,成功推出了一款名为UVCL的新型UV固化涂层。这款涂层以其独特的特性迅速在市场中脱颖而出。

UVCL涂层采用先进的UV固化技术,能够在几秒钟内完成固化过程,大大提高了生产效率。同时,它还具有高效的湿气引发的二次固化机制,确保即使在阴影区域也能实现完全固化。这一特性对于BMS等复杂电子电路的保护至关重要。

为了将UVCL涂层推向市场,Electrolube公司的研发团队与客户紧密合作,克服了客户内部没有UV固化设施的难题。他们与信誉良好的供应商合作,提供了完整的解决方案,并成功为客户提供了原型样品单元进行现场测试。测试结果显示,UVCL涂层能够为电子电路提供最高水平的保护,且操作过程简单、应用速度快。

UVCL涂层的成功推出不仅提升了Electrolube公司在电子材料领域的地位,也为公司赢得了众多客户的信赖和好评。

三环(CCTC)公司的发展小趣事

面对全球化的市场趋势和竞争压力,三环(CCTC)公司制定了国际化战略和全球布局计划。公司将继续加大研发投入力度,提升自主创新能力;同时积极拓展国际市场,加强与国际知名企业的合作与交流;此外还将加强人才培养和引进工作,打造一支高素质、专业化的国际化团队。通过这些措施的实施,三环(CCTC)公司将不断提升自身实力和市场竞争力,为成为全球领先的电子企业而不懈努力。

ApexTool Group公司的发展小趣事

Apex Tool Group在追求经济效益的同时,也积极履行社会责任,推动可持续发展。公司注重环保和节能,采用环保材料和节能技术生产电动工具。同时,Apex Tool Group还积极参与社会公益活动,为社区的可持续发展贡献力量。这些举措使得Apex Tool Group在电子行业中树立了良好的企业形象,赢得了社会的广泛认可。

虽然以上故事并非真实事件,但它们基于Apex Tool Group在电子行业中的发展和成就进行了合理推测和创作。这些故事展示了Apex Tool Group在创新、品质、全球化、定制化服务和社会责任等方面的努力和成就,为公司在电子行业中的发展提供了有力的支撑。

Efficient Power Conversion公司的发展小趣事

随着EPC公司氮化镓技术的不断完善和成熟,其产品开始受到市场的广泛认可。无线电源传送、全自动汽车、高速移动通信等领域的企业纷纷采用EPC公司的氮化镓功率半导体器件,以提高其产品的性能和效率。EPC公司的市场份额逐渐扩大,成为氮化镓功率管理技术领域的领军企业。

FutureWafer公司的发展小趣事

随着EPC公司在氮化镓技术领域的领先地位日益稳固,一些竞争对手开始试图通过不正当手段获取其技术。为了维护自身的合法权益,EPC公司积极寻求法律途径来保护其专利。2023年,EPC公司向美国联邦法院和美国国际贸易委员会提起诉讼,指控英诺赛科(珠海)科技有限公司及其子公司侵犯了其基础专利组合中的四项专利。这一诉讼引起了行业的广泛关注,也再次证明了EPC公司对专利保护的重视。

问答坊 | AI 解惑

初学PIC单片机

想知道学PIC单片机需要什么软件? 在网上查的是需要: 1、MPLABV8.43(从microchip网站下的) 2、PICC编译器(C语言编译器) 3、PIC单片机单片机烧写器(具体软件暂时没查到)    有精通PIC单片机的高手请给予一下指点,其中第二,第 ...…

查看全部问答>

gogogo

[url=http://www.artgoin.com][/url]爱艺购,艺术的天堂,艺术的宝库,爱好艺术的人都该去看看,获取能找到一件稀世珍宝欧…

查看全部问答>

关于加速计和陀螺仪的测试

各位高手有没有测试过加速计和陀螺仪这两颗的功能阿,三轴加速计有X,Y,Z三个电压输出,都是经过其内部的AD转换后输出的,不知道这三个方向上的电压是怎么变化的,是有加速度的时候变化呢,还是位置改变了变化啊? 陀螺仪有X,Y两个电压输出,也是 ...…

查看全部问答>

关于MTD驱动的问题

很多MTD驱动都有调用simple_map_init()函数来初始化read,write等函数,不知道这个函数的用法,请大虾帮忙讲一讲啊,如果我需要改变这些read,write函数,该怎么办啦?…

查看全部问答>

求职: 请问有没有人需要高级WINCE工程师--限深圳地区!

求职: 请问有没有人需要高级WINCE驱动工程师--限深圳地区! 如有,请如下EMAIL联系 lumit_hu@126.com…

查看全部问答>

英蓓特STM32ARM开发板的初级改造(有图)

上周在研讨会上买了英蓓特的开发板,试了下,感觉有几个地方不爽,所以就自己动手DIY了:1)USB供电问题,必须插2条USB线,可怜我的本本一共才3个,鼠标用了一个,被他全占了,其它USB-232就没法用了;2)板子附带的1602没有接背光,而实际这 ...…

查看全部问答>

關於LMF232H5QD的UART問題

各位高手大家好,小妹我用此板子的UART出了一點問題,大家可以幫幫我嗎? 感激不盡 問題是這樣的,我開啟了八個UART,為了使輸入資料可以做辨識,個別在UART4跟UART5的地方 加了三個#字號跟一個通道編號 例如:UART4是  ###Edata 這樣 ...…

查看全部问答>

今年会出功率放大类的吗?

本帖最后由 paulhyde 于 2014-9-15 03:16 编辑 今年会出功率放大类的吗    …

查看全部问答>

这几天学习SimpliciTI协议栈的小总结合小纠结

SimpliciTI简介: SimpliciTI是TI开发的专门针对其CCxxxx系列无线通信芯片的网络协议。 它支持两种网络拓扑结构:严格的点对点通信和基于星型的网络拓扑结构,在星型连接中Hub点在SimplciTI被称为Access Point,简称AP.(AP就是常说的网关,数据中 ...…

查看全部问答>

TM4C 1294XL

老师给了一块tm4c 1294的launchpad,说让我们自己玩,但之前没接触过arm这些东西,接触过单片机;所以完全不知道怎么开始??这块板子能干嘛我都不知道,该怎么学习??完全处于迷茫状态??望大神相助,指点一二,让我有个方向!!非常感谢! …

查看全部问答>