【1】Linux简介
1》Linux起源
2》查看系统版本
1>查看ubuntu版本
sudo lsb_release -a cat /etc/issue
2>查看内核版本uname -r cat /proc/version
3》分层结构
应用层:程序、命令
内核层:五大功能:进程管理、设备管理、内存管理、网络管理、文件系统管理
驱动:字符设备驱动、块设备驱动、网络设备驱动
硬件:鼠标、键盘(字符设备驱动)、硬盘、U盘(块设备驱动)等
4》系统关机重启命令
sudo shutdown -h now :立即关机
sudo shutdown -r now :立即重启
sudo reboot now :立即重启
sudo shutdown -h 时间 “提示语句":定义关机
sudo shutdown -r 时间 “提示语句”:定义重启
通过 shutdown -c : 可以取消定时操作
【2】Linux安装工具
1》软件包的管理机制
debian :deb软件包管理机制
redhat :rpm 软件包管理机制(Red Hat Package Manager)
2》软件包分类
二进制软件包:xx.deb
源码包:xx.dsc
3》软件管理工具
dpkg和apt工具的区别:
dpkg:离线安装,安装本地包,不能检查软件包的依赖关系,不关系仓库内的软件
apt:在线安装,通过仓库获取软件包资源,解决依赖关系,不能安装本地包
仓库:托管可安装软件包的公共服务器,用户从服务器获取软件并将其安装到用户计算机,雷速与应用商店
4》dpkg工具
命令:dpkg -i 软件包全称 软件包命名
sudo dpkg -i 软件包的全称:安装软件sudo dpkg -s 软件包名: 显示软件的安装状态
sudo dpkg -L 软禁包名: 显示软件的安装路径sudo dpkg -r 软件包名:卸载软件
sudo dpkg -P 软件包名 :完全卸载软件,重新下载不会保留上一次配置
将安装包拖到虚拟机中的方式
(1) 直接拖文件到终端去掉单引号,末尾加空格。开头加mv移动到目标路径下
(2) 打卡虚拟机文件夹,直接复制粘贴;如果复制不了,执行sudo hq_vm.sh
(3) 设置共享文件夹
如果不行就重启一下虚拟机,或者先禁用然后再启用。
5》apt工具
1> apt-get
命令:sudo apt-get install 软件包名:安装 可以在/ect.apt/sources.list 看见源头 默认下载的包存放路径:/var/cache/apt/archives
sudo apt-get install 软件包名:软件下载并安装
sudo apt-get remove 软件包名:卸载软件
sudo apt-get --purge remove :完全卸载软件包
sudo apt-get autoremove 软件包名:卸载软件
sudo apt-get update:下载更新软件包列表信息
sudo apt-get upgrade :将系统中所有软件包升级到最新的版本
sudo apt-get upgrade 软件包名 :将系统中指定的软件包升级到最新的版本
sudo apt-get clean :清空安装包的存放路径
2> apt-cache
sudo apt-cache show 软件包名:获取二进制软件包的详细描述信息
sudo apt-cache policy 软件包名:获取软件包当前的安装状态
sudo apt-cache depends 软件包名:获取该软件包的依赖信息
sudo apt-cache rdepends 软件包名:获取所有依赖于该软件包的软件包
6》ubuntu网络配置
1> 桥接模式
桥接模式:编辑->虚拟网络编辑器->更改设置->选择vmnet0->桥接模式->桥接的网络适配器(根据主机的网络连接进行选择,当然选择自动也可以)->确定。
虚拟机->设置->网络适配器->选择桥接模式
点击图标选择有线设置 -> 点击+号 -> ipv4 -> 添加
2> nat模式
1)编辑->虚拟网络编辑器->更改设置->选择vmnet8->nat模式->确定。 2)虚拟机->设置->网络适配器->选择nat模式
【3】Shell命令
1》Shell的基础知识
1> 概念
Shell 命令解释器 Shell是贝壳的意思,,在Linux里起到保护内核的作用
作用:负责把应用程序的输入命令信息解释给操作系统,将操作系统的指令处理后的结果再反馈给应用程序
2> 命令执行过程
(1)Bourne Shell(简称sh):Bourne Shell由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名。它是Unix的第一个Shell程序,早已成为工业标准。目前几乎所有的Linux系统都支持它。不过Bourne Shell的作业控制功能薄弱,且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。
(2)C Shell(简称csh):C Shell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进Bourne Shell的一些缺点,并使Shell脚本的编程风格类似于C语言,因而受到广大C程序员的拥护。不过C Shell的健壮性不如Bourne Shell。
(3)Korn Shell(简称ksh):Korn Shell由David Korn开发,解决了Bourne Shell的用户交互问题,并克服了C Shell的脚本编程怪癖的缺点。Korn Shell的缺点是需要许可证,这导致它应用范围不如Bourne Shell广泛。
(4)Bourne Again Shell(简称bash):Bourne Again Shell由AT&T贝尔实验室开发,是Bourne Shell的增强版。随着几年的不断完善,已经成为最流行的Shell。它包括了早期的Bourne Shell和Korn Shell的原始功能,以及某些C Shell脚本语言的特性。此外,它还具有以下特点:能够提供环境变量以配置用户Shell环境,支持历史记录,内置算术功能,支持通配符表达式,将常用命令内置简化。
3> Shell命令格式
命令名称 选项 参数
命令名称 :必须得有
选项和参数 :可有可无,选项有-符号
4> 历史记录命令
history:查看历史命令,默认显示的命令行数根据HISTSIZE开决定
echo $HISTSIZE:将变量的值打印到终端,echo命令作用是打印内容到终端HISTZSIZE=10: 临时修改变量的值(只在当前终端有效)
在家目录下的隐藏文件,通过vi打开:
.bash_history :默认存放2000条历史记录命令的文件
.bashrc:定义HISTSIZE(使用history)时默认显示的记录个数和HISTSIZE(.bash_history文件可以存放命令的个数)变量的脚本文件
修改.bashrc文件中HISTSIZE的值,将终端退出:可以永久修改
5> 起别名命令
alias:查看系统中起别名的命令
alias 新名='原来的命令‘ :起别名
unalias 新名 :取消别名
2》 Linux特殊字符
1> Linux通配符
* :匹配所有字符
? :匹配一个字符
[....] :匹配[]中指定的任意一个字符
[a-b] :匹配指定一个字符的范围
[^a] :除了其中指定的一个字符,均可匹配
2> 管道
格式:命令1 | 命令2
作用:将前一命令的输出作为下一个命令的输入
3> 输入输出重定向
> 文件名 :输出重定向,新建模式,会覆盖之前的内容
>> 文件名 :输出重定向,追加模式,不会覆盖之前的内容
2> 或者 &> 文件名:将由命令产生的错误信息输出到文件中
< 文件名 : 输入重定向
4> 命令置换符
esc键下的 ` (不是单引号)
格式:命令1 ` 命令2`
作用:将一个命令的输出作为另一个命令的参数的一部分
5> echo命令
作用:向终端输出指定内容
echo 字符串:向终端输出指定内容
-n :不换行输出
echo ”字符串“ :原样输出
【4】Linux命令
1》系统维护命令
1> man
man man :查看man手册
1 . Executable programs or shell commands 可执行程序或shell命令
2 . System calls (functions provided by the kernel) 系统调用
3 . Library calls (functions within program libraries) 库函数
2> su
su root :切换到超级用户
sudo su 用户名 : 切换用户
exit 或 ctrl d: 退出
3> sudo
临时管理员权限,需要输入密码
4> df命令
df -Th
查看磁盘使用情况
补充: 1.挂载优盘时,出现u盘识别不出的现象
解决办法:
1)虚拟机->设置->usb控制器->兼容usb3.0
2)虚拟机->可移动设备->找到自己的u盘->连接
2.如果出现u盘类型不匹配的问题 sudo apt-get install exfat-fuse exfat-utils
5> mount命令
作用:文件系统的挂载
sudo mount -t 设备类型 设备名称 挂载点:挂载设备
sudo umount 挂载点 :卸载设备
注意:卸载时不要在挂载点卸载
2》用户管理命令
sudo adduser 用户名 : 添加用户
sudo deluser --remove-home 用户名 : 删除用户同时删除工作目录
3》进程管理命令
1> ps
进程 就是程序的一次执行过程,是动态的
ps -aux :显示当前系统中运行的进程(包含进程的状态)
ps -ef : 显示当前系统中运行的进程(包含进程的父进程号PPID)
2> top
动态查看系统中运行的进程
shift > :向上翻页
shift < :向下翻页
q : 退出
修改优先级
PR = NI + 20
NI值范围 :-20~19,NI值越小优先级越高
sudo renice NI 值PID:改变正在运行进程的优先级
sudo nice -n NI值 启动进程的命令: 以指定的优先级启动进程