一、操作系统

1.概念

        操作系统本质是一个软件,功能用来屏蔽底层不同的硬件平台,为上层应用提供统一的接口和运行环境

2.组成

二、Shell命令

1.基本命令

请查看:

https://blog.csdn.net/2503_92576274/article/details/156693714?fromshare=blogdetail&sharetype=blogdetail&sharerId=156693714&sharerefer=PC&sharesource=2503_92576274&sharefrom=from_link

2.文件查看命令

1.cat failname        //查看文件的全部内容,内容显示在终端

 

2.查看文件 开头/末尾 内容

        head -n 10 filename
        tail -n 10 filename

 

3.管道       

        (将前面命令的输出作为后续命令的输入)

         head -n 10 filename | grep "字符串"
        tail -n 100 /usr/include/stdio.h | grep "extern"
        ps -ef | grep bash   

 

 

4.查看搜索

        grep(搜索关键字)

        grep "字符串" 文件名

5. 重定向       

(将原来输出在终端的内容写入到文件中 )

 

 覆盖重定向:

  命令 > 文件名 : 执行命令后的内容,写入到新的文件中,覆盖该文件原来的内容

 追加重定向:

command  >>  failename  :  执行命令后的内容,补充到该文件后面

 

6. 通配符


        *:匹配任意长度任意字符
        ?:匹配一位长度任意字符
        []:匹配一位长度指定字符

 

7.chmod(修改文件权限)

        r:读权限
        w:写权限
        x:执行权限


        421
        rwx

        rwx:创建文件的用户对文件是否拥有读写执行的权限
        rwx:创建文件用户的同组用户对文件是否拥有读写执行的权限
        rwx:其余人是否拥有读写执行的权限


         7         7       7
        rwx    rwx   rwx
        chmod 0777 filename
        chmod +/-r/w/x filename

 

8.chgrp(修改文件所属的组)

        chgrp 用户名 filename

 

9.chown(修改文件所属的用户)

        chown  用户名 filename

 

10. (1)压缩

        tar -jcvf filename.tar.bz2 dirname/*
        tar -zcvf filename.tar.gz dirname/*

      (2)解压缩

        tar -jxvf filename.tar.bz2
        tar -zxvf filename.tar.gz

 

11.文件查找

        find 目录 -name "文件名"

 

12.其余命名

        1.echo(在终端显示对应的内容, 相当于printf)

 

        2.du(统计文件大小)

        du -m 文件名
        du -k 文件名

 

3.fdisk(查看磁盘分区信息)

        fdisk -l

 

4.sudo(使用超级用户的权限来执行某个操作)

        sudo fdisk -l

 

5. date (查看日期)

 

6.whoami(查看当前登录的用户 )

 

7.ps(查看进程信息)

        ps -ef

 

8.top(根据cpu占用率产看进程信息)

        top

        q(退出)

 

9.ifconfig(查看网卡信息)

 

10.ping(测试与目的主机是否连通)

        ping 8.8.8.8

13.dpkg工具集

#安装软件
sudo dpkg -i filename.deb


#查看软件是否安装成功
sudo dpkg -l 软件名


#卸载软件
sudo dpkg -P 软件名

14. apt-get工具集

可以自己根据配置的源下载对应软件
根据软件依赖关系安装软件所需要的所有依赖

1. 上网

ping 8.8.8.8

 1.让虚拟机使用NAT模式
        点击"虚拟机"
        点击"设置"
        点击"虚拟网络适配器"
        选择"NAT模式"
        点击"确定"

2.修改Ubuntu配置文件

        打开配置文件

        sudo vim /etc/network/interfaces

 

        修改配置文件格式:

        auto lo
        iface lo inet loopback
        auto ens33
        iface ens33 inet dhcp

       

        保存、退出:wq

3.重启Ubuntu

        sudo shutdown -r now

2. 配置apt-get工具集的源

1. 点击"Ubuntu Software"
2. 右键选择"Software & Updates"
3. 点击"close"
4. 输入命令

sudo apt-get autoclean
sudo apt-get update
sudo apt-get install -f

3. 软件安装

        #安装软件
        sudo apt-get install 软件名
        #卸载软件
        sudo apt-get remove 软件名 --purge

15.shell编程

1.解释型语言、编译型语言

解释型语言:边翻译边执行

  • 开发效率高
  • 执行效率低
  • 不适合做数据运算
  • 适合对系统管理

编译型语言:先编译再执行

  • 开发效率低
  • 执行效率高
  • 适合做数据运算符,有丰富的数据类型
  • c/c++、c#、java

2.shell脚本开发流程

1.编写shell脚本

vim filename.sh

2.加上执行权限

chmod +x filename.sh

3.运行

./filename.sh

3.shell脚本本质

一系列shell命令的集合

4.shell脚本中的引号

1. 双引号
双引号中的变量内容会进行替换
2. 单引号
单引号中间内容为字符串常量,不做任何改变,直接操作
3. 倒引号
将倒引号中的内容作为命令来执行

5.shell中的变量

1. 环境变量

shell脚本中用来存放系统相关信息的变量
PWD:存放当前所在目录的绝对路径
HOME:登录用户的家目录
PATH:系统软件默认的路径

 

2.位置变量

$0:程序名
$1:执行脚本时传入的第一个参数
$2:执行脚本时传入的第二个参数
$#:传入参数的个数
$?:上一句语句运行的结果
$$:执行脚本对应的进程的ID号

 

3.自定义变量

i=0
str="hello world"

6.分支

1.if基本格式

if 表达式                                                   man test //查看test用法                         
then
        语句块
elif 表达式                                                read        从终端接收变量
        语句块
else
        语句块
fi

2.case

case $变量 in
        9)语句块
                ;;
        8)语句块
        ;;
        7)语句块
        ;;
        *)语句块
        ;;
esac

7.循环

expr: 计算表达式

seq:序列

8.数组

  

 9.函数

        

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐