目录:
第一部分:嵌入式的含义
第二部分:DOS命令
第三部分:linux的发展历史(与unix的关系)
第四部分: 基于ubuntu下的linux命令详解大全
第一部分:嵌入式的含义
嵌入式软件工程师学习路线:
1、什么是嵌入式?
除PC外的一切以应用为中心的专用计算机系统。(满足人们特定需求)
专用的、可裁剪性的嵌入式设备。
2、嵌入式技术的特点:
低功耗、 联网化 、RISC精简指令集CPU 、 OS(linux、Android、RTOS)、分层(感知层、底层硬件、OS层、应用层)、跨度大,知识杂
3、三次信息化浪潮:个人计算机--->互联网和移动互联网(我们现在正处于的时代)--->物联网
4、嵌入式开发用到哪些知识?
编程语言:第一层次:C语言
第二层次:ARM汇编 shell脚本 C++ JAVA
操作系统:第一层次:linux移植
第二层次:RTOS Android ((RTOS是一类操作系统,Andriod系统就是基于linux内核)
硬件方面:会看懂硬件手册、原理图,懂得串口,usb等常见通信原理及编程,懂得LCD,触摸屏等常见原件的工作原理及编程、传感器等
5、嵌入式开发以软件为主,但是需要对硬件有一定的了解;嵌入式涉及面广,需要能够持续学习;细节较多,需要耐心和细致的洞察力。
6、嵌入式总结:
嵌入式是处理软硬结合的部分
嵌入式软件开发并不需要会设计硬件电路和自己画PCB(印刷线路板)
嵌入式软件开发以C语言和linux系统为主
7、朱老师嵌入式学习路线:
完全学习:1、嵌入式核心课程----->2、Android扩展----->3、物联网项目扩展
(1)、嵌入式核心课程:
0.基础预科 包括C语言基础 linux命令基础:已经完结
1.ARM裸机全集 需要理解 汇编 硬件图
2.C语言专题精讲篇 数据结构 算法 C语言
3.uboot和linux内核移植(uboot移植 linux-kernel移植 rootfs制作)
4.linux应用编程和网络编程
5.linux驱动开发
6.阶段项目篇
(2)、Android扩展
Android HAL驱动 基于linux
Android 系统定制 基于linux
Android 应用开发
(3)、物联网扩展
GPS和地图查询服务
wifi
蓝牙接口
zigbee
RFID(射频卡)
8、嵌入式与物联网、云计算、大数据的关系:
(1)物联网包括三个层次:应用层(人的反应,客户端)、网络层(人的大脑处理层,服务器端)、感知层(各种处理器,底层硬件)
嵌入式是一种技术,物联网是一种具体应用(物联网的基础就是嵌入式)
(2)云计算作用于物联网的应用层,云计算依赖于物联网的联网能力,当前的模式是卖产品,云计算是卖服务,未来=瘦客户端+云计算、大数据
(3)大数据:物联网的主要功能就是产生监测数据,传播数据,分析数据(大数据来源于物联网感知层,即各种嵌入式设备)
大数据源于嵌入式设备,传播于物联网络,分析于云计算。
第二部分:DOS命令
(1)DOS系统概述
1、现在家用电脑的操作系统大多都是用的 Windows 95,但在1995年Windows 95推出以前,占统治地位的操作系统是DOS(Disk Operation System 磁盘操作系统)。
2、注意,在DOS下电脑一次只能做一件事,做完以后才能开始下一件事,所以人们把DOS称为单任务的操作系统。
和 Windows 95中用鼠标寻找图标来运行程序不同,DOS中是通过输入英文命令加回车键这种方式来执行程序的。
3、在DOS中,文件与目录是最重要的概念,这和95一样,不同的是,“目录”在95中叫做“文件夹”。
如果我们想查看电脑中的目录和文件,可以输入dir命令,然后回车。
带有<dir>的是目录,没有的则是文件,这些目录里都分门别类地存放着许多不同用途的文件。
4、在DOS中,文件名的规则是8.3形式,即一个文件名由文件基本名和文件扩展名组 成,中间用点“.”隔开,
文件基本名由不超过8个英文字母或数字组成,文件扩展名由不超过三个英文字母或数字组成,文件基本名必须有,扩展名可以没有。
5、如果我们要看看某个目录里的文件,那么我们可以敲dir 某个目录名回车,也就是查看某个目录的意思。
6、 用dir命令来查看磁盘上文件时,你会发现文件后缀(即文件扩展名)有很多种,它们当中大部分都是有一定含义的。
其中凡后缀为exe、com或bat的文件都是可以直接执行的。
这些以exe为后缀的文件叫可执行文件;以com为后缀的文件叫命令文件;以bat为后缀的文件叫批处理文件。
如果我们要执行这些文件,只需在提示符下敲入文件基本名然后回车即可,不需输入文件后缀。
所谓批处理,就是一下可以执行很多条命令,当我们想让电脑完成一系列任务时,可以一个一个命令的执行,也可以将这些命令都装入一个文件中,只要敲一下这个文件名,电脑就会将这一批命令一次执行完毕。
在实际操作中,我们经常会建立一些批处理文件,来完成许多有着固定步骤的烦琐工作。
7、小结 用dir 查找某个目录 用文件基本名查看文件 dir命令就是相当于linux中的ls -al命令
(2)DOS目录及子目录
8、在DOS中,有个当前目录的概念,就是提示符:后所显示的目录,如果要更改当前目录,那么可以用cd命令,目录是树形结构的。
输入cd .. 返回上一级目录,在DOS中,这个两点就表示当前目录的上一层目录,一个点表示当前目录,有时,我们叫上一级目录为父目录。
在子目录中用dir命令列文件列表时,我们会发现,.和..都算作文件数目,但大小为零。
9、进入一个目录的子目录并不需要用CD命令一层一层进入,可以用一行命令完成,
比如要进入 WINDOWS目录下的SYSTEM子目录,只要输入CD WINDOWS\SYSTEM就可以了,也可以输入CD C:\WINDOWS\SYSTEM,
如果要回到根目录,那么也不必多次输入CD ..来完成, 可以直接输入CD \,\就表示根目录。
10、实际上,要完整地表达一个子目录应该是盘符加目录,比如C: \DOS\TEMP,那么完整地表达文件呢?
就是盘符加目录加文件名,比如C:\DOS\TEMP\ME.TXT,C:\DOS\TEMP\就叫做ME.TXT的路径。
11、如果我们要更换当前目录到硬盘的其它分区该怎么办呢?当然不是使用CD,否则我就不用说了,这时应该输入盘符然后回车。
比如要到D盘,那么就输入D:,然后回车,瞧,现在提示符就变成D:\>了。 再用dir命令,就是列出D盘的文件了。
12、DOS系统的启动
电脑刚启动时,要先从某个磁盘上将一些系统程序读入内存后才能正常工作,我们将这个磁盘叫做启动盘。
通常,我们用A盘或C盘作为启动盘,在特殊情况下,硬盘的其它盘符和少数电脑的光盘也可以作启动盘。制作启动盘需要使用sys命令.
13、DOS系统的启动过程 开机--->IO.SYS--->MSDOS.SYS--->CONFIG.SYS--->COMMAND.COM--->AUTOEXEC.BAT
DOS系统启动时,要先从启动盘中读取两个系统文件IO.SYS、MSDOS.SYS,然后在启动盘的根目录下寻找并执行 CONFIG.SYS、COMMAND.COM、AUTOEXEC.BAT三个文件。
14、其中IO.SYS、MSDOS.SYS和 COMMAND.COM这三个文件缺一不可,否则电脑将无法正常启动。
CONFIG.SYS和AUTOEXEC.BAT这两个文件是用来配置系统运行环境和自动执行一些命令,它们对电脑的运行性能以及许多设备的驱动起到了至关重要的作用,我们可以根据自己的需要对它们的内容进行修改,
autoexec.bat叫做自动批处理文件,它是批处理文件的一种,因为DOS启动时会自动运行它,所以叫做自动批处理文件。你可以把自己每次启动电脑时都要运行的程序放在里面。
如果电脑在根目录下找不到这两个文件,也是可以运行的,但有许多复杂的软件和设备将无法正常工作。比如光驱、声卡以及Windows程序等。
(3)DOS常用命令
DOS的命令分为内部命令和外部命令,内部命令是随command.com(cmd)装入内存的,而外部命令是一条一条单独的可执行文件。
内部命令都集中在根目录下的command.com文件里,电脑每次启动时都会将这个文件读入内存,也就是说在电脑运行时,这些内部命令都驻留在内存中,用dir是看不到这些内部命令的。
而外部命令都是以一个个独立的文件存放在磁盘上的,它们都是以com和exe为后缀的文件,它们并不常驻内存,只有在电脑需要时,才会被调入内存。
1、dir命令(相当于linux系统下的ls -al命令,directory(目录)的缩写)
----dir/p 使得计算机在显示完一屏内容后先停下来,等看完后可以按任意键继续浏览
----dir/w 所有文件在一屏内都显示出来,文件的大小和生成时间都被省略
----dir命令不但可以查看目录中有什么文件,还可以查看目录中某个文件的信息(例如输入dir abc,就是查看当前目录中文件abc的信息,包括它的大小和生成时间。)
----dir命令不但可以查找和显示一个特定的文件,还可以显示一类文件。(例如输入dir *.bat,显示的就是所有扩展名是bat的文件。)
----dir +基本名.exe 可以直接执行文件
----dir/as命令 作用是查看系统文件。
----/*那这里的*是什么意思呢?
在DOS命令中,*在文件名中出现是代表任意字符的意思。
例如,A.*就代表了文件基本名是A,扩展名是任意的所有文件。
那么dir a.* 就是把文件基本名是a的所有文件都显示出来。
如果用dir A*.*,将会出现什么结果呢?结果是显示了文件基本名以A开头的所有文件。
再深入一点,dir *.*是什么意思呢?在这里文件基本名和扩展名都是任意的,那就等于代表了所有文件,所以这和只输入dir的作用是相同的。
因为*可以代替任意字符,所以我们称之为通配符。*/
----/*另一种通配符----?
?和*有什么区别呢?区别就在于*可以代替文件名中的多个字符,而?只能代替文件名中的一个字符。
比如a*.*是代表所有文件基本名以a开头的文件,而a?.*是代表文件基本名只有两个字符,并且第一个字符是a的所有文件,
同理a??.*是代表文件基本名只有三个字符,并且第一个字符是a的所有文件。
两者还有一个区别,在文件名中出现*后,其后的所有字符都不起作用,
比如A*.*和A*b.*是没有任何区别的,因为*后的b已经不起作用了,但A*.*和A*.com就不一样了,因为中间隔了一个分隔符“.”,*的作用不能超过分隔符。
在作用不超过分隔符这一点上,?和*是一致的,但是,无论在文件基本名或扩展名中出现在?后,后面的字符仍然起作用。
例如,a?.bat和a?b.bat是不同的意思,前者代表了文件扩展名是bat,而文件基本名是两个字符,且第一个字符是a的所有文件,后者代表了文件扩展名是bat,而文件基本名是三个字符,且第一个字符是a,第三个字符是b的所有文件。*/
----在使用通配符时,文件基本名和扩展名中最多只能各出现一个*,而?可以在不超过文件名和扩展名长度的前提下出现多个。 例如:这三个文件名a???.b??、 a????b?.?c?及??a?b??c.??d 都是可以的。
总结,dir命令最大的用途就是让你了解磁盘到底都有些什么,还剩下多少存储空间。
最后还有一个小窍门,如果你想知道A盘上都有什么,你不必先输入a:,变换当前驱动器为A盘后,再敲dir;你可以直接在当前磁盘中键入dir a:.
2、cd命令(change directory(改变目录)的缩写)
----提示符是c:\>的含义是:c:说明现在的工作盘是c盘,即当前盘是硬盘。这个紧接着c:后面的\告诉我们,当前的工作目录是根目录。这个>的作用只是为了把工作目录和我们要输入的命令分隔开来,没有其它的意义。
这样,我们就可以从提示符上看出当前的工作盘和工作目录是什么。
----进入子目录就输入cd+空格+子目录名,想返回上一层目录,就输入cd ..(两点)。
cd命令的用途就是让我们可以到任何一个目录去。
我们把不同功能的文件分别安排在不同的目录内,是为了管理方便,可是当我们要使用某个文件时,我们就得到该文件所在的目录中去。
3、md和rd命令
---磁盘里的目录都是我们自己创建的,我们建立这些目录的目的,就是为了分类组织文件,如果我们有一类新的文件,就需要再建立一个新的目录。
----直接在某个磁盘下 md +目录名
----既然能建立目录,当然也就可以把它删除,rd命令就是干这活的。rd +目录名
/*使用rd删除命令的几个注意点:
1、要删除的目录里不能再有子目录
2、要删除 的目录里不能再有任何文件
3、不能删除当前目录,需要退到上一级删除
4、根目录不能被删除
*/
4、copy命令
----复制文件的主要目的有两条,一是为重要的文件作一个备份,以免被删除后追悔莫及;二是在不同计算机之间交换信息。
----copy命令格式: copy 源文件名 目的文件名
注意:无论源文件还是目的文件
1、如果不指明驱动器名,即为当前驱动器
2、如果不指明目录,即为当前目录
3、如果不指明文件名,即为相同的文件名
5、del命令(delete(删除)的缩写,显然它的作用就是“干破坏”删除文件。注意是删除文件)
----del命令的格式:del 文件名
----要删除一类文件,可以使用通配符。例如del *.tmp,就是把所有扩展名是tmp的文件都删除。
----你也可以删除当前目录中的所有文件,命令很简单:del *.*或del .
----del命令还可以删除非当前目录中的文件,例如del a:\bmp\sea.bmp,就是把A盘上bmp目录下的sea.bmp文件删除。
/*删除无用的文件,可以使磁盘的可利用空间增大。
但在删除文件之前,你最好知道此文件的用途,确定没有用之后,才可以删除,否则追悔莫及。
尤其使用del .和del *.*时要更加注意,因为一个目录中的文件都将被删除。 */
6、ren和type命令
----如果想给一个文件改个名字,可以用ren(rename)命令。
----ren命令的格式是:ren 源文件名 目的文件名。(例如把abc.txt改成bne.dat,就可以输入ren abc.txt bne.dat。)
注意:如果用ren命令更改非当前目录中的文件名,那么源文件名和目的文件名要在同一个目录内。
----type命令,可以知道文件里写了什么东西。
----type命令的格式就是:type 文件名
type 命令也可以使用通配符
7、format命令
/*软盘在使用前需要先格式化,在软盘上作出许多位置标记,然后才能向上面填写数据和文字,这就好象在一张白纸上画格子,然后再在这些格子中写字一样。
这个在软盘上打格子的过程,就叫格式化。给软盘格式化,要使用format命令。*/
----format命令的格式很简单: 格式化A盘,就是format A:,格式化B盘,就是format B:。
8、diskcopy 命令(磁盘复制。所谓复制磁盘就是复制出一个和原来磁盘内容一模一样的磁盘,其实和复制文件也差不多。它的主要用途就是用来备份)
----diskcopy命令的格式:diskcopy 源驱动器名 目的驱动器名。(eg:diskcopy a: b:)
9、deltree和mem命令
------快速删除目录的命令--deltree,这条命令不管目录下面有多少子目录和文件,都会一次性删除。
------mem是memory的缩写,该命令用来查看你的计算机内存有多少,以及内存的使用情况。
10、chkdsk命令(chkdsk是check disk的缩写,用来检查你的磁盘的使用情况。)
----chkdsk命令的格式是: chkdsk 磁盘名,例如要检查A盘使用情况,就输入chkdsk A: ,检查c盘使用情况,就输入chkdsk C: ,如果直接输入chkdsk,就检查当前磁盘的使用情况。
11、sys命令
-----DOS为制作启动盘专门提供了一条命令,这就是sys命令。
-----sys命令的格式很简单: sys 驱动器名
-----例如在C盘提示符下输入: sys a:,就是将C盘上的系统文件传输到A盘上,把A驱动器中的磁盘制作成启动盘。
-----使用format a:/s命令在格式化磁盘的同时制作系统盘。如果一张软盘具有启动功能,那么它的根目录下一定有io.sys、msdos.sys和command.com三个文件,而且,前两个文件必须处于磁盘最前面的磁道上。
/*当我们用dir命令查看刚制作的启动盘时,我们可以看到根目录下有COMMAND.COM文件,却看不到IO.SYS、MSDOS.SYS这两个文件。
其实,这两个文件是系统文件,直接用dir命令是看不到的,如果我们用dir/as命令就可以看到它们了,这个命令的作用是查看系统文件。
另外提一下,我们不能简单地用copy命令来制作启动盘,因为用copy命令拷贝的系统文件并不一定能放置在最前面的磁道上。 */
12、path命令
/*在DOS提示符下,如果我们要执行某个可执行文件,电脑会在磁盘上寻找这个文件,
如果不经过特殊处理,它只在当前目录下寻找,如果没有找到则提示出错。
这也就是说,如果要执行某个文件前,都要将当前目录转换到它所在的目录.
为了解决这个问题,DOS提供了一条Path命令,
如果在Path命令中定义了某个目录,那么你在任何地方,都可以直接执行Path中指定目录里的文件.
path命令的格式很简单: path 目录名,如果有很多目录,中间就用;(不要记错了,是分号不是逗号)隔开。
要加入新的目录,就在最后一个目录的后面加一个; 然后再输入新的目录名就可以了。
讲个例子吧,比如,path=c:\dos;c:\windows;c:\
这条命令就是说,当我们执行一个文件时,电脑先在当前目录下查找这个文件,找到则执行,
如果没有找到,则电脑按照path命令所指定的目录顺序去查找,先在C盘dos目录下,然后在windows目录下,最后在C盘根目录下寻找这个文件。*/
13、edit命令
14、tree命令
(4)DOS命令集锦
1、cd 改变当前目录 sys 制作DOS系统盘
copy 拷贝文件 del 删除文件
deltree 删除目录树 dir 列文件名
diskcopy 磁盘复制 edit 文本编辑
format 格式化磁盘 md 建立子目录
mem 查看内存状况 type 显示文件内容
rd 删除空文件目录 ren 改变文件名
2、新的命令
-----cls 清屏
[适用场合] 屏幕上太乱了,或是屏幕上出现乱码了, 清除屏幕上显示内容但不影响电脑内部任何信息
[用 法] cls 回车
-----help 它可提供所有命令的帮助。
[适用场合] 当您想具体了解DOS命令的使用方法时使用
[用 法] help 提供所有DOS命令帮助
help [DOS命令] 提供有关命令的帮助 如果你只大致记得某个命令,可以在提示符后直接输入help命令
-----move 移动文件,改目录名
[适用场合] 移动文件到别的目录
[用 法] move [源文件名] [目的目录] 移动文件至新目录下
move [源目录名] [目的目录名] 改目录名
[例 子] c:\>move c:\autoexec.bat c:\old
移动autoexec.bat文件至old目录下
c:\>move c:\config.sys c:\temp
移动config.sys文件至old目录下
-----xcopy 拷贝目录和文件
[适用场合] 在进行连同子目录一起拷贝时很有用,在拷贝大量文件时比COPY命令要快得多
[用 法] xcopy [指定文件名] [目的目录] 把指定文件拷贝到指定目录
xcopy [源目录] [目的目录] 将源目录连子目录考到目的目录下
xcopy *.* [目的目录] /s 将文件与非空子目录拷贝到指定目的目录
-----date /time 显示及修改日期
[适用场合] 想知道或修改时间和日期
[用 法] date 显示和改变当前日期
[例 子] C:\>date 09-20-1996 将日期改为1996年9月20日
C:\>date
Current date is Tue 08-20-1996
Enter new date (mm-dd-yy):09-20-1996
按月-日-年的顺序修改当前日期 直接按回车键忽略修改日期
-----defrag 磁盘碎片整理
[适用场合] 磁盘读写次数很多,或磁盘使用时间很长了,可能需要使用这条命令
整理磁盘。磁盘碎片并不是指磁盘坏了,而只是由于多次的拷贝和删
除文件后,磁盘使用会很不连贯,致使速度变慢。
[用 法] 1. C:\>defrag
2. 选择要整理的磁盘
-----undelete 恢复被删除的文件
[适用场合] 当不小心删错了文件时,它可以用得上。
DOS删除文件时,只是将文件从分配表中去除,在磁盘存储区内将文
件名的第一个字母删除,文件内容并未马上从磁盘中删除,所以能恢复。
[用 法] undelete 恢复已删除的文件
undelete /all 恢复文件且不再询问是否恢复,
以"#%&-0123456789abcdefghijklmnopqrstuvwxyz"的顺序为第一个
字母来恢复文件
undelete /list 列可恢复的文件名
undelete /s 可将undelete驻留内存,但几乎没人这样使用
慎用命令:
del *.* 删除当前目录所有文件
[建 议] 在C盘根目录使用del *.*会使电脑找不到鼠标、光驱、不能使用
windows,甚至不能启动。 事实上在任何目录中使用这条命令,都需
要好好考虑。
deltree *.* 删除当前目录下所有目录与文件
[建 议] 在C盘根目录中使用这条命令,那你必须要保证你的头脑是清醒的,
而且你保证这样做是有必要的,但我们认为在任何情况下都不应该这
样使用这条命令。 在任何目录下使用deltree *.*都会产生与
del *.*一样甚至更坏的结果。慎之!慎之!
format c:/u 格式化C盘
[建 议] 除非你的硬盘被病毒感染得很深,或者有一个真正电脑专家告诉你应
该这样做,否则不要将C盘格式化,它会使你丢失一切信息,还需要
花几个小时来重新安装所有的软件。
fdisk 硬盘分区
[建 议] 硬盘分区时,一定要让一个曾经使用过这条命令的人来帮助你使用,
否则你将失去所有信息,甚至连硬盘都不能使用了。
recover 覆盖磁盘
[建 议] 在DOS 6以后就不再有这条命令了,如果你使用的是老版本的DOS,劝
你在任何时候都不要使用它,它除了将你的硬盘所有的信息破坏掉就
没有其它作用了。
(5) 使用批处理文件
1、后缀是bat的文件就是批处理文件,是一种文本文件。
简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。
2、此外电脑每次启动时都会寻找autoexec.bat这条批处理文件,从而可执行一些每次开机都要执行的命令,
如设置路径path、加载鼠标驱动mouse、磁盘加速smartdrv等,可以使您的电脑真正自动化。
第三部分:linux的发展历史(与unix的关系等) clear命令用来清屏
1、linux的应用在 1、服务器架设工作站 2、桌面计算机 3、嵌入式系统移植裸机
2、linux中的各种配置均以文档文件形式存在。
3、在linux内核中,主要内核模块包括:
进程管理、 定时器、中断管理、内存管理、模块管理、虚拟文件系统接口、文件系统、设备驱动程序、进程间通信、
网络管理、系统启动等
4、linux思想:一切都是文件、每个软件都有确定的用途
5、linux与Unix的区别:linux是广大黑客、软件开发者遵循GNU原则开发的模仿Unix的操作系统,两者的根本区别是Unix
的核心是有版权的,而linux的内核源代码是免费开源的。
6、存储器表示计算机存储信息的能力,存储器系统包括主存储器(内存储器)、辅助存储器(外存)、高速缓冲存储器。
7、GRUB是一个多重操作系统启动管理器,既能引导linux,同时也可以引导windows。
8、x-windows与全shell环境切换:
(1)在ubuntu系统中,当选择图形模式启动,屏幕上出现鼠标的时候,按Ctrl+Alt+F2直接进入命令行模式。
(2)也可以用Ctrl+Alt+F7切换回图形模式。
9、root用户与普通用户的切换:
切换到root用户,使用sudo -i命令,接着输入密码即可;切换到普通用户,使用命令:su +用户名即可
10、使用help命令输入想要获得帮助的命令名即可:
eg:help kill或者是help -s kill只提供被查询命令的简单语法
11、使用man命令获得手册页帮助:
man -f XX只显示命令的功能而不显示其中详细的说明文件
man -a XX显示所有的手册页,而不是只显示第一个
12、x-windows是类Unix系统中图形操作界面标准用法。
x并不是特指某一个具体软件,而只是一种控制用户怎样使用图形界面的协议簇,它规定了一个满足这种协议的产品应该具有怎样的功能。
第四部分:基于ubuntu下的linux命令详解大全
Ctrl+Alt+T调出命令模式
Ctrl+Alt+enter使命令窗口全屏显示
1、linux是一种类unix系统,它的源代码都是开源的,linux认为每一个用户都是专业人士,操作命令麻烦,学习起来比较困难。同时它拥有比较好的设计理念,可移植性较好,性能够好。像Android这种移动式操作系统就是基于linux内核的。
2、进入ubuntu终端的方法:ctrl+alt+t
3、windows中:文件隐藏与不隐藏是通过设置文件属性来实现的。在windows中查看隐藏文件的方法:菜单栏-->工具-->文件夹类型-->查看-->显示所有文件。
在linux中,linux的隐藏文件的特点是文件名以点开头,跟文件属性无关,在linux中查看隐藏文件用ls -al命令。
4、相对路径与绝对路径:路径(pathname) 全路径=路径+文件名
绝对路径:路径是从绝对位置开始的,在windows中的绝对路径是从某一个盘符开始(eg:c:\)而linux中是从根目录‘/’开始的,eg:/abc/123/def.txt, /abc/123/def.txt就是一个一个绝对路径。
路径分为绝对路径和相对路径(相对路径就是指明路径的时候不一定是从根目录开始的,是从当前路径开始的)
linux中../代表上一层目录。
5、linux的内核版本与发型版本的关系:linux本身指的是一个操作系统的内核(或者说是一个操作系统的主要文件),但是只有内核是无法直接使用的,我们所需要的可以使用的操作系统是一个包含了内核和一批有用的应用程序的一个集合体----linux发行版本。eg:ubuntu、centos系列、redhat等
6、人与计算机交互的两种方式:(1)GUI(图形用户界面) (2)cmdline命令行方式
----------------------------------------------------------------------------------------------------------------------------------------------------------
7、linux常用命令:
(1)ls(list 列表)
作用:使用列表把当前文件夹下的所有文件显示出来
ls -a 显示所有文件,包括隐藏文件
ls -l 显示详细信息(包括字节大小等)
ls 普通显示列表
ls -al 把所有文件(包括隐藏文件)的详细信息列出来
补充:man手册的使用(通过查询man手册来获得离线帮助信息的linux命令的详细使用方法)
man 1 ls(其中1表示查询)
man 2 ls(查询linux系统内核提供的api文件)
man 3 ls(查询c库)
(2)cd(change directory更改目录)
作用:用来切换目录,涉及到相对路径和绝对路径 .代表当前目录 ..代表上一层目录
cd .. 返回上一层目录
cd XX 进入下一层目录(当不知道要进入的下一层目录是啥时,先用ls命令调出信息,再用cd xx进入)
cd ../../ 进入上上层目录
cd - 显示当前路径是从哪一个路径进来的
cd .与cd ./命令一样,都是显示当前目录
cd ./abc.out 进入当前目录下的一个文件(或者cd ./*.*)
补充:以d开头的为文件夹,以-开头的为某一个文件
如果不想打出完全的命令行,可以输入开头的时候加上TAB 。
(3)mkdir命令(make directory,创建文件夹)
作用:创建空文件夹
mkdir -p 级联创建文件夹 eg:mkdir -p h/j/kd/t.c //注意反斜杠的存在
(4)touch
作用:创建空文件
(5)vi编辑空文件内容
作用:使用vi来编辑一个文件内容
vi pathname
vi的2种模式:
1、命令模式:当vi打开时默认为命令模式,这时候只能输入命令
2、输入模式:需要由默认命令模式转换为输入、编辑模式时,按a或者i键
输入完成后如果要保存,先退回到命令模式(在输入、编辑模式下按ESC键退出),在回到命令模式后,输入(:wq 保存并且退出)
(:w只保存退出)
(:q不保存退出)
*(:wq!保存并强制退出)*
*(:q!不保存并强制退出)*
vi的高级使用:
1、设置显示行号:
在命令模式下输入 :set nu(在命令模式下输入 :set nonu 会不显示行号)
2、快速切换行:
在命令模式下输入 :行数
3、查找某个内容xxx
在命令模式下输入 /xxx
4、设置永久显示行
修改vim的配置文件 ~/.vimrc,在其输入set nu即可
5、行删除:
命令模式下,先把光标移动到要输入的行,然后输入dd;如果要删除连续多行,把所需要删除的行数 xdd
(6)cat
作用:直接在命令窗口下显示文件内容,也可以直接向文件中输入内容。
使用ctrl+D推出cat命令。
(7)mv(move 移动)
作用:在目录间移动文件或者是文件夹,或者是重命名文件(包括文件基本名或者是扩展名)
mv 源文件pathname(绝对路径) 目的文件pathname(绝对路径) // 移动文件
mv 原文件 目的文件 //在同一路径不变的情况下,改变文件名称
(8)cp(copy 复制命令)
作用:复制文件或者文件夹
cp 源文件pathname(绝对路径) 目的文件pathname(绝对路径) // 复制文件
cp -r 复制文件夹
cp -f 强制复制
cp -rf 强制复制文件或文件夹
(9)rm(remove 移除,删除命令)
作用:用来删除文件或者文件夹
rm 文件pathname //删除文件
rm -r 文件夹pathname //删除文件夹
rm -f //强制删除并强制执行
rm -rf //删除有内容的文件夹
(10)rmdir(remove directory删除文件夹)
注意:rmdir只能删除无内容的空文件夹 当然使用rm -rf删除也是可以的
(11)pwd(print work direcory 打印工作目录)
作用:打印出当前的绝对路径(注意与cd -命令的区别)
(12)ln(link,连接文件,在linux中才有连接文件的概念)
windows中的快捷方式(例如桌面上的快捷方式),实际上快捷方式和它指向的源文件是独立的2个文件,两个都会占有硬盘空间,效果相当于在用户访问快捷方式时,快捷方式中存有指向源文件的地址,等效于访问它所指向的文件,删除了快捷方式对于源文件没有影响。
在linux中,有两种连接文件:
(1)一种叫做软连接(符号连接),效果等同于windows中的快捷方式,但又不是快捷方式(软连接是一种主从关系,源文件是一种主,快捷方式是一种从)
创建一种软连接: ln -s 原文件名 目标文件(符号连接文件名,目标文件指向原来文件名)
(2)一种叫做硬连接:硬连接是一种平等关系删掉其中任意一个,还有一个剩余(硬连接实际上和源文件在硬盘中是同一个东西,好比是一个东西的两种叫法,效果类似于硬盘上的一个文件)
创建一种硬连接: ln 源文件名 连接文件名
13、linux中文件类型表示方法
‘d’开头,代表这是一个文件夹,是directory的缩写
‘l’开头,表示这是一个符号连接文件,后面会用->打印出它指向的原文件
‘-’开头,代表这是一个普通文件 eg:- rw- r-- rw- 一共有10个字符,第一个字符表示文件类型,后面9个表示文件操作权限(注意:其中普通文件指文本文件和二进制文件 eg:a.c a.txt a.out,其中的-表示没有操作权限,而三类管理级拥有这个权限)
‘s’开头,表示是socket文件
‘p’开头,表示管道文件 pipe
(13)apt-get命令
作用:在ubuntu系统中用来在线安装、卸载软件的程序(注意是在线)
apt-get install xx
apt-get remove xx
(14)虚拟机下的ubuntu上网问题
VMware虚拟机中网络的三种配置:
1、桥接(适合无线使用)
第一步:菜单栏,找到虚拟机设置--->设置--->硬件--->网络适配器--->桥接模式
第二步:桥接到可以上网的网卡(菜单栏--->编辑--->虚拟网络编辑器,选择桥接到自己windows中可以上网的网卡上)
第三步:设置DHCP并重启网卡
2、NAT (适合插有线时使用)
第一步:菜单栏,找到虚拟机设置--->设置--->硬件--->网络适配器--->NAT模式
3、hostonly(仅主机可以上网,虚拟机不可以上网)
(15)linux命令行中的一些符号的含义:
. 代表当前目录
..代表上一层目录,是当前目录的父目录
-代表前一个目录。至于是从哪一个目录到哪一个目录是不确定的(注意与..的区别)
~代表当前目录的宿主目录(操作系统为当前用户所设计的用来存放文件、工作的默认目录,相当于windows中的我的文档,我的视频之类的目录)
/代表根目录
¥命令提示符(代表普通用户)
#超级用户(root用户)
*万能匹配符号,起代替作用
普通用户的宿主目录在 /home/username/下,快捷键cd ~进入
root用户的宿主目录在:/root下
(16)超级用户与普通用户的转换
普通用户转为超级用户 输入命令 sudo -i 然后输入设置的密码
超级用户转换为普通用户 输入命令 su +用户名即可
(17)rwx与权限表示
d rwxr-xr-x 一共有10个字符,第一个表示文件类型,是一个文件夹,剩下的9个分成3组,表示文件权限
rwx解析:r:可读 w:可写 x:可执行
eg:rwx可读可写可执行 r--可读不可写不可执行
前三个表示此文件的属主(所有者)对文件的权限
中间三个表示此文件属主所在的组对文件的权限
最后三个表示其他用户对文件的权限
(18)linux高阶命令
1、find
功能:在linux文件系统中,查找这个文件在哪里(注意是linux所有文件中)
用法:find 路径 -name ‘文件名’ eg: find / -name wzxiao
2、grep
功能:在一个文本文件中查找某个词
用法: grep -nr ‘要查照的某个词’ 其中-n表示查找结果中显示行号 -r表示递归查询
3、which
功能:查找一个应用程序(二进制文件)在哪个目录下 eg:which ls
4、uname
功能:查看系统版本信息等
用法:uname -ar
5、tree/lstree
功能:显示文件和目录由根目录的开始的树型结构
6、开机和关机
shutdown -h now 立即关机
init 0 关机
shutdown -r now 立即重启
reboot 重启
7、磁盘空间查询
df -h 显示已经挂载的分区列表
du -h 文件夹/文件名 列出文件或者文件夹的大小
8、mount/umount(卸载)
功能:用来挂载磁盘(U盘、sd卡)到文件系统中
9、权限管理:
切换到root用户,使用sudo -i命令,接着输入密码即可;切换到普通用户,使用命令:su +用户名即可
10、网络配置命令:
ifconfig eth0 IP 设置IP地址
ifconfig eth0 UP 启动网卡
ifconfig eth0 down 禁用网卡
ifconfig eth0 IP netmask ip 同时设置IP和子网掩码
我有个朋友是爵士音乐家,他有次跟我说:如果你不是乐队里最差的演奏者,马上换支乐队。我现在在Spotify工作,在这里我每天都觉得自己是个【狗屁程序员】,也因此我离开了上一家公司,从Spotify重头开始。当我在这里再也感觉不到自己是个【狗屁程序员】的时候,我会选择离开,然后找一个能让我再次感到自己是坨屎的地方。这种策略在我的职业生涯里确实 帮了我大忙。
------译自 Quora