liunx部分常用命令及安装软件操作

 主要内容 :

①什么是嵌入式开发

②liunx 的由来

③liunx 的系统层次

④liunx 的目录结构

⑤命令提示符

⑥liunx 的基本命令

一. 什么是嵌入式?什么是嵌入式开发?

    嵌入式即嵌入式系统,IEEE(美国电气和电子工程师协会)对其定义是用于控制、监视或者辅助操作机器和设备的装置,嵌入式是一种专用的计算机系统;国内普遍认同的嵌入式系统定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统;从应用对象上加以定义来说,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。

       嵌入式开发就是指在嵌入式的操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的 EDA 研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发

二.liunx 的由来

     

 

三.liunx 的系统层次

      应用,内核,硬件

Linux 利用内核实现软硬件的对话。
 
通过系统调用的这个接口,Linux 将上层的应用与下层的内核分离,隐藏了底层的复杂性,也提高了上层应用的可移植性。
 
库函数利用系统调用创造出模块化的功能,
 
Shell 则提供了一个用户界面,并让我们可以利用 shell 的语法编写脚本,以整合程序。

四.liunx 的目录结构

 

            树型目录结构

五:命令行提示符

打开方式

 ① 搜索 cmd,回车

 

 

 ②在要使用的目录前输入 cmd 空格,回车打开

 

 

 命令行提示符的基本作用:通过命令对系统进行管理

liunx 命令提示符

jsetc@liunx:/dev$

jsetc:用户名

@分隔符,无特殊含义

linux:说明系统

:分隔符

/dev  当前所在路径

$ 普通用户权限

#管理员权限

~ 用户目录的路径

 

六.liunx 的基本命令

前言

-   后面一般跟随该命令的属性,可跟随多个

* 表示所有

 

    6.1   ls

作用:显示当前所有的目录和文件

ls -a 显示所有的隐藏目录,文件

ls -l 显示当前目录和文件的所有属性

ls -al 显示所有隐藏文件或目录的属性

ls -/ 指定目录 /  查看指定,目录下的文件和 目录

ls -lt   在目录中列出文件并对最后修改日期和时间进行排序

                                 d            rwx       rwx        r-x       6     jsetc       jsetc       4096    1 月  10           15:47                jsetc/

                        d: 表示当前文件的属性

                b:块设备文件

                s:套接字文件

                 p:管道文件

                 -:  普通文件

                l: 软链接文件

                 c:字符设备文件

                d:目录文件

      rwx:三层权限,可读可写可执行,分别用 0,1 表示可或不可

          最大权限:7(111)   rwx

          最小权限:0(000) ---

    第一个 rwx :当前用户

    第二个 rwx:同组用户的其他用户

    第三个 rwx:其他用户

                              

 

 

 chmod 命令:修改文件,目录权限

格式:chmod 权限 目录 / 文件

例    chmod   777 jsetc

6.2pwd 命令

   显示当前用户所在路径(绝对路径)

 

 

 6.3 cd 命令

作用:实现指定路径

cd 路径 // 进入指定目录

路径 

  相对路径:从当前目录开始的路径

  绝对路径:从根目录开始的路径

   .  当前路径

    .. 上一级路径

    ../.. 上一级路径的上一级路径

6.4 mkdir 命令

  创建目录

  mkdir  目录名

  mkdir  目录 1   目录 2 

 

 

 6.5 sudo 命令

    以管理员权限运行该命令 \ 获得管理员命令(需输入密码)

 

 

 6.7  rm 命令

  删除文件或目录

rm -rf 递归强制删除

rm -rf* 强制

-d      --directory    删除可能仍有数据的目录 (只限超级用户)
-f      --force          略过不存在的文件,不显示任何信息
-i      --interactive 进行任何删除操作前必须先确认
-r/R --recursive    同时删除该目录下的所有目录层
-v      --verbose     详细显示进行的步骤
          --help            显示此帮助信息并离开

      

 

 (慎用)

 6.8 cp 命令

 复制文件或目录

 cp 源路径 目的路径

 cp 源路径 目的路径 -r // 复制一个目录  

 

 6.9 mv 命令

  移动一个目录或文件,或对其进行改名

 mv   源路径 目的路径 

 

 6.10 cat 命令

   查看文件中内容 

 cat 文件

cat -n 文件名 \\ 显示行号

 

 

 6.11 su 命令

   切换用户

  sudo su   root  (普通到 root)

  su  用户名 (root 到普通)

 

 

 6.12 clear 命令

清屏(Ctrl+l)也可实现

6.13  tab  按键补齐

 自动补齐你可能会用到的

6.14 find 文件查找

  find  路径 -name 文件名

七.  vim 编辑器

   需下载,下载方式见后

   使用方法: vim 文件名

 三种模式:

①命令行模式,进入既是,不可对程序进行编辑,输入 i 进入插入模式

yy 复制

p 粘贴

 nyy  复制 n 行

u 撤销

dd 剪切

ndd  剪切 n 行

gg 跳到首行

G 跳到尾行

ngg  跳到第 n 行

shift 键  + zz  退出并保存

进入方式:插入模式下按 esc 键

②插入模式:

   可对代码进行编辑

③:底行模式

  在命令行模式下输入 shift+:

   w   保存

   q  退出

   wq  保存并退出

    q!  不保存退出

   set nu  显示行号 

    set  nonu  取消显示行号

    vsp 文件名  左右分屏打开多文件

    sp  文件名  上下分屏打开多文件

  八  gcc 编译器

对敲得代码进行编译,需使用命令下载

    下载命令:sudo  apt-get install gcc

(同理,vim 下载方式:  sudo  apt-get  install  vim)

   如何使用:

   gcc  文件名 -o

  gcc   文件名  -o  新建文件

如:

gcc  hello.c  -o  hello

(另加文件名是为了防止编译别的程序被覆盖)

运行   ./hello

8.1 gcc 编译过程

   预处理  

头文件展开,宏的替换,条件编译

  gcc -E hello.c -o  hello.i

  编译  

语法检查,若语法有误则报错

gcc -s hello.i  -o hello.s

汇编

   将上一步生成的汇编文件转换成二级制文件,但目前仍不可执行

   gcc -c  hello.s  -o  hello.o

    链接  将所有的 -o 文件链接生成可执行文件

  gcc  hello.c  -o hello

九  软件安装

 注:ubunto 所有软件后缀名均为 deb

    redhat 所有后缀名均为 rpm 

以某个软件名举例

     sl        - 3.03       -17           bulid2_amd64         .deb

 软件名  主版本  修订版本       架构                    类型

离线安装

dpkg  (不会安装依赖程序)

  sudo   dpkg  -i   软件包名

在终端输入软件名对软件进行执行

  sudo  dpkg   

 -r  软件名         卸载软件(不完全,会保留配置文件)

-p   软件名       完全卸载软件

-l       软件名  查看软件安装状态

-L     软件名    查看该软件相关的所有路径

 -s  软件名     查看更加详细的软件安装状态

在线安装

  级别较高,如果安装的软件有依赖程序,这些依赖程序也会被一并安装

   在线安装需预先选择软件安装源

     sudo  apt-get  update    更新软件源

      sudo  apt-get  install -f  更新软件依赖

     sudo  apt-get   install   软件名   下载软件  

  sudo  apt-get  clean  // 清除目录下的安装包

 

压缩与打包

    注:目录不能被压缩,文件不能被打包

     ①压缩

  ubuntu 提供的压缩格式:.gz  .bz2 .xz

    gzip/gunzip       xxx.gz

   bzip2/bunzip2         xxx.bz2

    xz/unxz                xxx.xz

       压缩率:xz 最差,bzip2 最好(压的最小和压的最大)

        压缩速率:xz 最快,bzip2 最慢

注:压缩,解压后文件会被替(压缩后的我不再是我)

打包(归档)

   将一个目录归档成一个文件,或者将这个归档后的文件重新释放变成一个目录

1. 归档

    tar -cf  hello.tar hello // 将 hello 的目录打包成 tar 文件

  tar  -xf   hello.tar  // 将 hello.tar 拆成 hello 目录

2. 打包并压缩成三种格式

     tar  -czf tongxunlu.tar.gz tongxunlu 

    tar -cjf   tongxunlu.tar.bz2 tongxunlu

  tar -cJf tongxunlu.tar.xz  tongxunlu

   5. 拆包(解压)

     tar -xvf   压缩包  // 万能拆包命令

      tar  -xvf   -c  路径

       (补)chmod 命令详解

        修改文件权限

        用法 

     chmod   权限 文件名  

     u:当前用户权限

       g:同组其他用户权限

      o: 其他用户权限

        a:all 所有用户权限

             chmod   o+x   文件名    //  给其他用户加上可执行权限