linux高级命令

  • 嵌入式系统(将软件嵌入到硬件里面)

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

  • linux起源

http://t.csdn.cn/L6WTF

  UNIX和linux的区别:

1)linux是开发源代码的自由软件.而unix是对源代码实行知识产权保护的传统商业软件。

    2)UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.

  不同操作系统的内核:

    windows  -   NT

    ubuntu    - linux

    Android  - linux  

    macOs ios  - unix

  • 查看系统版本

1、查看操作系统版本:

1.1 lsb_relsease -a/-r

1.2 cat /etc/issue 文件中查看:

2、查看内核版本:

2.1 uname -a/-r

2.2 cat /proc/version 文件中查看

  • 内核的系统架构

应用层:app、shell命令、
        |      |shell解析器
        C库    |
            |
---------系统调用---------------

内核层:五大功能
    内存管理
    文件管理
    设备管理
    网络管理
    进程管理:
------------------------------- 
硬件层:鼠标、键盘等

C库:是一个标准库,所以操作系统都能使用的函数接口。
系统调用:内核提供的用于输入输出的函数接口不同的操作系统系统调用函数接口不同。

基于32位操作系统:
产生进程:有0-4G虚拟内存空间。每个进程0-3G私有虚拟内存空间,3-4G公用的内核空间。

  • 系统的关机和重启命令

关机:

   sudo shutdown -h  now       :立即关机

   sudo shutdown -h +时间  ”提示语句“   :定时关机 min为单位

重启:

   sudo shutdown -r now    :立即重启

   sudo shutdown -r +时间    :定时重启

   sudo reboot now   :立即重启

  • linux下的软件安装

1、两种软件包的管理机制:

debian linux :deb软件包  - ubuntu用的是这个

redhat linux:rpm软件包

deb软件包分为两种:

二进制软件包(deb).deb-安装软件的软件包

源码包(deb-src): .dec

2、软件包命名规范:

3、软件包管理工具:dpkg apt

3.1 dpkg:

特点:安装时需要软件包存在,不需要从镜像站点获取软件包。

          不需要网络,不能检查软件之间的依赖关系。

dpkg命令:

sudo dpkg -i 软件包的完整名称:安装软件

       sudo dpkg -r 软件名 :卸载软件

       sudo dpkg -s 软件名 :查看软件的安装状态

       sudo dpkg -P 软件名 :完全卸载

       sudo dpkg -L 软件名 :列出软件目录信息

3.2 apt

 特点:安装时不需要软件包存在,需要从镜像站点获取软件包。

           需要网络,能检查软件之间的依赖关系。

apt-get:

       sudo apt-get install 软件名 :下载安装软件

       sudo apt-get remove 软件名:卸载软件

       sudo apt-get --purge remove 软件名:完全卸载

       sudo apt-get clean :清除下载的软件包

/var/cache/apt/archives -》安装的软件的安装包默认存放的路径

       sudo apt-get update :更新源

       sudo apt-get upgrade :(升级)更新安装软件

       sudo apt-get download 软件名:下载软件包

       sudo apt-get source 软件名:下载源码包

apt-cache:

       sudo apt-cache show 软件名:获取二进制包的描述信息

       sudo apt-cache policy 软件名:查看软件安装状态

       sudo apt-cache depends 软件名:查看依赖的软件

       sudo apt-cache rdepends 软件名:查看谁依赖我

ping 网址/ip地址  --》查看虚拟机是否可以上网

八、配置虚拟机联网

自动获取IP

  1. 设置虚拟机桥接网络:

1.1 编辑 -> 虚拟网络编辑器 -> vnet0 -> 桥接模式 -> 自动 -> 确定

1.2虚拟机->设置->网络适配器->桥接模式

  1. 设置自动获取IP

   右上角进入Eidt .... 设置

3、更换镜像站点源

1>找到虚拟机保存源的文件,将文件内的源替换新的源

   sudo gedit /etc/apt/source.list

   注:修改之前先备份--》

 sudo  cp  /etc/apt/sources.list                     /etc/apt/sources.list.conf    

2>网上查找对应ubuntu版本新的源。

                  网址:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

3>更新源,新换的源生效

  sudo apt-get update

  • shell的基本命令
    1. shell-贝壳 外在的保护工具

shell也是命令解析器

2、用户、shell、内核、硬件之间的关系

用户在命令行提示符下输入命令文本,开始与Shell进行交互。

 接着,Shell将用户的命令或按键(ctrl+c等)转化成内核所能够理解的指令

 控制操作系统做出响应,直到控制相关硬件设备。

 然后,将输出结果通过Shell提交给用户。

3、解析器的分类

Bourne Shell(简称sh:Bourne Shell由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名。它是Unix的第一个Shell程序,早已成为工业标准。目前几乎所有的Linux系统都支持它。不过Bourne Shell的作业控制功能薄弱,且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。

C Shell(简称csh:C Shell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进Bourne Shell的一些缺点,并使Shell脚本的编程风格类似于C语言,因而受到广大C程序员的拥护。不过C Shell的健壮性不如Bourne Shell。

Korn Shell(简称ksh:Korn Shell由David Korn开发,解决了Bourne Shell的用户交互问题,并克服了C Shell的脚本编程怪癖的缺点。Korn Shell的缺点是需要许可证,这导致它应用范围不如Bourne Shell广泛。

Bourne Again Shell(简称bash:Bourne Again Shell由AT&T贝尔实验室开发,是Bourne Shell的增强版。随着几年的不断完善,已经成为最流行的Shell。它包括了早期的Bourne Shell和Korn Shell的原始功能,以及某些C Shell脚本语言的特性。此外,它还具有以下特点:能够提供环境变量以配置用户Shell环境,支持历史记录,内置算术功能,支持通配符表达式,将常用命令内置简化。

  1. shell命令格式

通常一条命令包含三个要素:命令名称、选项、参数。

其中命令名称是必须的,选项和参数根据实际情况进行填写

Command [-Options] Argument1 Argument1 ……

Command

shell命令名称,严格区分大小写

Options

shell命令选项,每一个参数都需要添加“-“进行引导

 Argument

shell命令参数,一条命令的参数大于等于0个,且多个参数的情况需要利用空格进行隔开

格式:命令名称【选项】【参数】....

注意:

1)一条命令的三要素之间用空格隔开

2)若一行要书写多个命令,需要使用分号( ;),进行隔开

3)如果一条命令不能再一行内写完,需要在行尾使用反斜杠 (\) 表明该命令未结束

5、history-历史记录查询

history 10:只显示最新十条命令

直接执行history名显示HISTSIZE(环境变量)条历史记录。

echo $HISTSIZE  -->在终端显示环境变量HISTSIZE的值

家目录下隐藏文件.bash_history ,保存历史记录的。保存HISTFILESIZE条。

终端关闭,终端上执行的命令刷新到文件中。

环境变量的值可以被更改:

export HISTSIZE=20 (等号两端不加空格)临时修改,只有在本次打开的这个终端有效(只能往低修改)

家目录下 文件 .bashrc 中修改就是永久修改,修改完成生效:从新打开的终端

十、shell中的特殊字符

  1. 通配符

http://t.csdn.cn/goyx0

当用户需要用命令处理一组文件,例如 file1.txt、file2.txt、file3.txt、file4.txt ……,用户不必输入所有文件名。可以使用shell通配符。

通配符

含义

*

匹配任意长度的字符

?

匹配一个长度的字符

[...]

匹配其中指定的一个字符

[-]

匹配指定一个字符范围

[^...]

除了其中指定的字符均可以

实例:

  • 用 file_*.txt,匹配 file_aa.txt、file_bb.txt能匹配到的,file3_cc.txt则匹配不到(命令后面 单独使用 *表示全部,如: rm *:表示删除全部文件)

  • 用 file_?.txt,匹配 file_1.txt、file_2.txt、file_3.txt能匹配到的,file_11.txt则匹配不到

  • 用 file_[abc].txt,只能匹配 file_a.txt、file_b.txt、file_c.txt
  • 用 file_[a-c].txt,能匹配 file_a.txt、file_b.txt直到file_c.txt

  • 用 file_[^abc].txt,除了 file_a.txt、file_b.txt、file_c.txt的其他文件

  • 新建一组文件:touch file{1..4}.text

  • 删除一组文件:rm file[1-4].text

  1. 管道”|“

将前一个命令的输出作为后一个命令的输入

cat xxx.c | wc -l     --》  将cat输出到终端的内容作为 wc -l 的输入,计算行数

补充:wc -l 文件名:文件行数

   wc -c 文件夹名:文件字符个数

   wc -m 文件名:计算文件字节大小

   wc -w 文件名:文件单词个数

  1. 输入输出重定向

命令 > file:将 file作为输出源,file文件不存在创建

新内容会将旧内容覆盖

./a.out > file   // 如果文件不存在则新建

./a.out >> file // 如果文件不存在则新建,如果文件存在则追加,不覆盖原先的内容

命令 &> 或者 2>file:将由命令产生的错误输入到 file

  1. 命令置换符 ` `

在ESC按键下

将一个命令的输出作为另一个命令的参数。

echo :终端输出内容

whoami:账户名

hostname:主机名

命令置换符内不加内容会报错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

满山的猴子我的腚最红

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值