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

二、Shell命令
1.基本命令
请查看:
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.函数  
