基础知识

笔记

1.操做系统基础概念

1.1 windowsLinux的关系

  1. 当前主流的擦欧总系统:windows、android、ios、symbian、linux/unix
    windows:傻瓜、好学
  • Linux: Linux认为每一个用户都是专业人士,操作麻烦,学习比较难,免费的,开源的。Linux性能好,可移植性好,好的设计理念。
  • Android: 移动操作系统,Android基于linux
  • ios:很优秀,创造性。
  • 嵌入式操作系统:linux + wince
    当前:消费电子Android,工业Linux

1.2 多机开发:双系统与虚拟机

开发嵌入式程序,需要Linux环境。但是因为:windows中有许多很好用的软件,如notepad++、SouceInsight,所以也需要windows.
既需要windows,有需要linux。

  • 第一种:双系统 不方便
  • 第二种:虚拟机 方便,损失性能,与真机微小差异
  • 第三种:两台电脑:不方便
    现实中:
    个人开发者:虚拟机
    大公司:服务器+客户端

1.3 搭建开发环境

涉及到两个东西:虚拟机软件+linux系统

  • 虚拟机软件:就是windows下的一个软件。现在主流的虚拟机软件vmware 和 virtualBox
    虚拟机软件在windows系统中运行,运行后它会模拟出来一个电脑,所以它叫虚拟机。然后我们可以在该虚拟机中安装别的操作系统。

1.4 隐藏文件和非隐藏文件

  • windows中:通过设置文件属性实现的。可以点击文件,右键属性。选择勾选隐藏选项设置。
  • linux中:linux中隐藏文件特点是文件名以.开头。命令ls -a可以查看隐藏文件。

1.5 相对路径和绝对路径

  • 什么是路径:路径是用来表示一个文件在操作系统的文件系统中存储位置的。pathname
    举例:D:\winshare\enum.c 全路径 pathname
    D:\winshare 路径 path
    enum.c 文件名 name
  • 绝对路径:路径是从绝对位置开始的,譬如windows中从一个盘符开始(c:\),linux中从根目录/开始。
    测试:
    /abc/123/def.txt 是linux绝对路径
    abc/123/def.txt 不是linux绝对路径
    F:\abc\123\def.txt 是windows绝对路径
    \abc\123\def.txt 不是windows绝对路径
  • 相对路径:指明路径的时候,是从当前所在的位置开始的。
    举例:
    D:\我的文档\123\123.txt
    D:\我的文档\abc\abc.txt
    当前在123.txt 但是要去abc.txt
    方式1:采用绝对路径 D:\我的文档\abc\abc.txt
    方式2:采用相对目录 ../abc/abc.txt

2.linux基础知识与技能

2.1 linux内核、发行版

linux本身是指一个操作系统内核,只有内核是无法直接使用的,我们需要的,可以使用的操作系统是一个包含了内核和一批有用的应用程序的集合体,这个叫linux的发行版。

ubuntu、redhat就是linux的不同的发行版。

2.2 GUI(图形用户界面)和cmdline(命令行)

  • GUI Grahics user interface 图形用户界面
  • cmdline: command line 命令行
    人机交互:人和计算机(机器)进行交互。常用的有命令行和GUI.
    windows下既有GUI,又有命令行。linux中既有GUI,又有命令行。
    但是,linux中常用命令行,在windows中常用GUI.

2.3 linux常用命令

(1)ls (list,列表) 使用列表把当前文件夹下所有文件显示出来。

  • ls -a 显示文件,包括隐藏文件
  • ls -l 以详细信息显示
  • ls -a -l = ls -l -a = ls -la = ls -al 四种方式一样,显示隐藏文件和详细信息

(2)man

作用:查询man手册,获取帮助信息

  • man 1 ls 1表示查询的是linux命令
  • man 2 xxx 2表示的查询的是linux api
  • man 3 xxx 3表示的查询的是C库函数

(2) cd (change directory,更改目录) 作用:用来切换目录 涉及到相对路径和绝对路径

  • cd .. ..代表上一层
  • cd . .代表当前目录
    创建一个新文件夹时,会包含两个隐藏文件,.文件夹和.. 文件夹。 所以cd .的时候 是当前目录。所以 cd ..包含的是上一层目录。

(3) pwd(printf work directory,打印工作目录)

作用:打印出当前的路径

(4) mkdir (make directory,创建文件夹) 只能创建1层目录

  • mkdir -p 级联创建文件夹 创建深层次目录

(5)mv (move,移动文件)

作用:在目录间移动文件,修改文件名。
mv 源文件pathname 源文件pathname
路径不变相当于重命名。
修改路径是移动文件。
不修改路径是重命名。

(6)touch

作用:创建空文件 touch pathname (vi之后不保存 文件就没了)

(7) cp (copy 复制)

作用:复制文件或文件夹。
mv 移动后,源文件就没了。
cp是复制一份。

  • cp -r 用来复制文件夹
  • cp -f 强制复制
    实际操作时,一般都是cp -f复制文件。
  • cp -rf复制文件夹
    复制的同时仍然可以修改文件名。

(8)rm (remove,去除,删除)

作用:用来删除文件,文件夹

  • rm 文件pathname
  • rm -r 文件夹pathname
  • rm -f 强制删除文件 删除正打开的文件。
  • rm 删除的是硬盘上的那一份 正在打开的文件是内存中的那一份。所以可以将正在打开的文件继续保存。又被保存到内存中。
  • rm 删除时,删除不成功会有返回值和提示。
    rm -f 删除时,只有结果。

(9) cat

作用:直接在命令行下查看内容。也可用来向文件输入,暂时不管。

(10) rmdir(remove directory, 删除文件夹)

作用:删除文件夹,只能删除空文件夹,不能删除有子文件的文件夹。

  • rmdir和rm -r的区别:rmdir只能删除空文件夹,-r可以删除空文件夹和非空文件夹

(11) ln (link,连接文件)

类比windows的快捷方式。快捷方式和源文件夹是2个文件。快捷方式指向源文件夹,源文件删除了,快捷虽然在,但无法使用。
基础:windows中快捷方式,实际上快捷方式和它指向的文件是独立的两个文件,两个都占硬盘,只不过用户访问快捷方式时,其效果等同于访问指向的文件。
Linux中有两种连接文件:

  • 一种叫软连接(符号连接),同等同于windows中快捷方式。(效果相同)

  • 创建软连接文件 ln -s 源文件 符号链接文件
    举例: ln -s src.c linker.c linker.c就是src.c的符号连接文件。
    用 ls -l 查看
    -rw-r--r--
    drwxr-xr-x
    l 表示一个连接文件
    d 表示一个文件夹
    ’-‘ 表示一个文件

删除符号连接文件 ,源文件还在 。
删除源文件,符号文件虽然在,但没用了。

  • 一种叫做硬连接 ln src.c linker.c
    硬链接实际上和源文件在硬盘上是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要他还有其他的连接存在,这个文件就不会被真正的删除。只有等所有的连接文件都删除掉了,这个文件才会被真正从硬盘上删除。

(12)apt-get

作用:在ubuntu中用来在线安装、卸载软件的程序。
apt-get install vim
apt-get remove vim
注意,安装和卸载都是在线的,也就是说ubuntu必须能上网才能使用apt-get
说明:apt-get 安装软件的原理和必要性.
linux操作系统的发行版,内核版本,定制性,造成linux中软件的不兼容性。在linux中安装软件是一件困难的事情,装了软件能不能用不一定,Ubuntu解决了这个问题,ubutu就适合某个发行版(ubuntu10.04)的所有软件做了一个列表,然后用户通过apt-get install的方式安装软件,就会实时连接到ubuntu服务器。服务器会根据你的ubuntu版本,给你下载合适的软件安装。这样确保了软件的兼容性。

基础知识:

(1)ls -l显示的详细信息中:

-rw-r--r--
drwxr-xr-x
一共10个字符,第一个字符表示文件类型,后面9个表示文件权限。

  • 文件类型:
    “-” 表示普通文件。普通文件直文本文件和为简直文件,如a.c
    l 表示符号链接文件,后面会用->打印出它指向的文件
    d 表示文件夹,d是directory的缩写。
    S 表示Socket文件
    p 表示管道文件 pipe

2.3 编辑器vi的使用(vi和vim的联系)

什么是编辑器?编辑器就是一个软件,它的主要作用就是用来编辑,譬如编写文件,编写代码。
windows中常用的编辑器,如自带的notepad。
Linux中常用编辑器,自带的最古老的vi,比较好用的vim,gedit.
注:vi和vim的关系:vim是vi的升级版。

2.3.1 vi基础使用

  • 使用vi来打开/创建一个文件。(文件存在就打开,不存在就创建)。vi pathname
  • vi的两种模式:
    (1)命令模式:当vi打开时默认为命令模式,要转入输入模式,需要按a或i键。在命令模式下,此时键盘上输入的所有东西都被vi当作命令来对待。
    在命令模式下,最好不要乱输入。此时应该输入相应的命令来让vi做相应的事儿.
    (2) 输入模式:输入模式用来向文件输入内容,可以从命令模式中按a或i键进入输入模式。进入输入模式后,就可以随意按键盘进行输入了。输入完成后入伙要保存,要先退回到命令模式(因为保存也是一种命令)。在输入模式下按ESC键退回到命令模式.
    注:注意看屏幕的左下角,当命令模式时,物体时信息或者提示文件名等信息,登处于输入模式时,提示 -- INSERT --
    在命令模式下如何保存:
    :wq 保存并且退出
    :w 只保存不出
    :q 不保存退出(进来看了一下退出了)
    :q! 不保存强制退出
    :wq! 保存并强制退出
posted @ 2021-07-29 22:23  sweet_li  阅读(296)  评论(0编辑  收藏  举报