linux基础
1、计算机的组成
计算机是由硬件系统和软件系统组成
硬件
运算器,控制器,存储器,输入设备,输出设备
软件
系统软件
linux , unix , windows,mac 安卓 iOS
应用软件
QQ 微信 有道词典。。。。。。
2、linux介绍
linux 创始人:林纳斯 托瓦兹
linux 吉祥物:企鹅
常用的linux发行版:
ubuntu:linux 发行版中桌面操作系统做的最好的
centos:类似于redhat的免费版本
redhat:最大的linux发行厂商
deepin:国内做的最好的linux发行版
3、linux的目录结构
linux没有盘符的概念,所有的文件,都是从根目录开始的,按照层级依次查找,直到找到文件为止
常用的目录:
bin:储存二进制文件和常用的可执行文件
ect:储存linux中的配置文件,一般我们会修改其中的相关配置,完成服务或者环境的搭建
home:普通用户的家目录,一般用户产生的文件会默认存放在家目录中
root:超级管理员的家目录,一般超级管理员产生的文件会默认存放在root目录中
超级管理员拥有一切权限,甚至可以将所有的系统文件删除
sbin:存储的是超级管理员使用的二进制文件和可执行文件,一般用于系统管理
1、ls命令
ls 查看当前工作目录中的文件结构,显示所有文件的文件名
-a :显示所有文件的文件名,包括隐藏文件
-l:以列表的形式展示文件,包含多列文件信息
-h:更加人性化的展示文件大小,配合-l进行使用(单独使用没有效果)
# 查看文件目录
ls
# 查看文件目录,包括隐藏文件
ls-a
# 查看文件目录,以列表形式展示文件信息
ls-l
等价于:ll
# 查看文件目录,以列表形式展示,并且人性化展示文件大小
ls-hl
# 查看文件目录,以列表形式展示,并且人性化展示文件大小,显示所有文件,包括隐藏文件
ls-ahl
ll-ah
2、cd命令
绝对路径:从根目录开始,按照层级查找,直到找到该文件为止
相对路径:从当前工作目录开始查找,知道找到该文件为止
.:当前目录(./可以被省略)
..:上一级目录
cd 命令就是切换工作目录使用的,工作目录切换后,我们默认使用linux操作的就是当前工作目录的内容
cd 路径 (cd到的路径,必须是一个目录,并且,该目录必须存在)
# 切换共做目录为root目录
cd/root
# 使用绝对路径切换到bbb目录下的kettle目录
cd/root/bbb/kettle
# 使用相对路径切换到bbb目录下的kettle目录
cd./bbb/kettle# ./可以省略
# 切换到上一级目录
cd..
# 切换到上两级目录
cd../..
# 切换到上一次操作的工作目录
cd-
# 切换到家目录
cd~
cd
# 切换到根目录
cd/
3、mkdir命令
mkdir用于创建空目录
格式: mkdir 【-p】 目录名称
# 创建单个单层级目录
mkdiraaa
# 创建单个多层级目录(-p可以写在目录名称之前,也可以写在目录名称之后)
mkdir-pbbb/ccc/ddd
# 创建多个单层级目录
mkdirccc ddd
# 创建多个多层级目录
mkdir-peee/fff/eee fff/eee/fff
4、touch命令
touch 一般情况下是用来创建新文件的
不能创建文件夹
touch创建的文件可以是任意扩展名
格式:touch 文件名称/文件路径
# 创建一个txt文件
toucha.txt
# 创建一个。java文件
tocuh a.java
# 在bbb目录下创建一个a.txt文件
touch./bbb/a.txt
# touch也可以同时创建多个文件
touch文件路径1 文件路径2 。。。
5、rm命令
rm删除指定文件或文件夹
rm 【选项】 要删除文件的路径
-f 强行删除,不进行提示
-r 递归删除,可以删除文件夹
# 删除a.txt文件
rma.txt
# 删除a.java文件,不进行提示
rm-fa.java
# 删除aaa文件夹
rm-raaa
# 删除bbb文件夹,不进行提示
rm-rfbbb
6、mv命令
mv命令用来移动或者重命名文件
格式:mv 源文件路径 目标文件路径
如果要移动到的路径不存在则,重命名
如果要移动到的路径存在则移动
# 移动a.txt文件到bbb目录中
mva.txt bbb# 此时bbb目录已存在
# 将b.txt进行重命名为c.txt
mvb.txt c.txt
# 将aaa目录,移动到bbb目录下
mvaaa bbb# 此时bbb目录已存在
# 将aaa目录改名为bbb目录
mvaaa bbb# 此时bbb目录不存在
# 将a.txt文件移动到bbb目录下,并改名为abc.txt
mva.txt ./bbb/abc.txt
7、cat和more
cat读取文本文件,一次性输出到终端窗口中,并且光标停留在末尾
more 分页读取文本文件,一次读取一页可以使用命令进行换行或翻页
enter 向下一行或n行 ,可以设置
空格 向下翻一页
b向上翻一页
q退出预览
注意,无论是cat还是more只适合读取中小型文件,不适合读取大型文件
# 使用cat读取文本信息
cata.txt
# 使用more读取文本信息
more a.txt
8、cp命令
cp用于复制文件
cp 源文件名 目标文件名
cp命令与mv命令使用方式基本一致,只是在复制或移动完成后,cp命令会保留源文件,mv命令会删除源文件
# 复制a.txt到当前目录下,命名为b.txt
cpa.txt b.txt
# 复制a.txt文件到ccc目录下
cpa.txt ccc# ccc目录存在
# 复制aaa目录到当前目录下,并改名为bbb
cp-raaa bbb# bbb目录不存在
# 复制aaa目录到ccc目录下
cp-raaa ccc# ccc目录存在
9、ps和kill
ps查看当前活跃进程信息
-ef 查看所有进程信息
kill -9 杀死进程
kill -9 进程号
10、ifconfig命令
获取当前主机的网络环境信息
mac 和linux中使用ifconfig
windows 使用ipconfig
11、clear清空窗口命令
对当前终端窗口进行清空
清空不是删除历史命令,而是将其上移,使光标处于终端窗口的第一行
ctrl + l 也可以进行清空窗口
12、重启及关机命令
reboot 重启命令
shutdown -h now : 立即关机
shutdown -h 10 : 十分钟后关机
halt:立即关机
13、which命令
which是查询当前的可执行文件所在位置的绝对路径
which ls :查询ls所在位置的绝对路径
ll命令就是系统底层调用了ls -l 并没有ll命令
14、hostname
使用hostname可以查询主机名称
15、grep和管道|
grep 要查询的文本信息 目标文本文件
| 第一个命令的输出,就是第二个命令的输入
# 查询所有的进程 (所有的进程信息就是输出)
ps-ef
# 从initial。。。文件中查询a文本出现的位置 (目标文本文件就是输入)
grepa initial。。。。
# 查询所有进程中包含mysql的信息(下边两行信息即为如下命令的输出)
ps-ef|grepmysql
# mysql 1406 1 0 01:14 ? 00:05:32 /usr/sbin/mysqld
# root 11458 10323 0 10:29 pts/1 00:00:00 grep --color=auto mysql
# 查询所有进程中,包含mysql且为root用户服务的信息
ps-ef|grepmysql |greproot
# 查询6月份创建的所有名字中带a的文件信息
ll |grepa |grep6月
16、用户管理命令
创建用户:useradd 用户名
设置用户密码: passwd 用户名
删除用户: userdel -r 用户名
当前用户如果已经登录或远程访问则需要先关闭进程才可以被删除
17、用户权限管理
怎样查看用户权限:ll 或者ls-l 前10列数据进行了文件或目录的权限展示
第一列:文件类型:d 文件夹 -普通文件 l 连接
后9列:权限展示
前三列:当前用户权限(u)user
中间三列:用户组权限(g)group
后三列:其他用户权限(o)other
权限类型:
r 读取权限
w 写入权限
x 可执行权限
-没有权限
字母型权限设置
# 给a.txt文件添加当前用户的可执行权限
chmodu+x a.txt
# 给a.txt文件当前用户减少写入权限
chmodu-w a.txt
# 给a.txt,当前用户添加写入权限,给所在组用户减少写入权限,给其他用户增加只读权限
chmodu+w,g-w,o+r a.txt
# 给aaa目录,组用户添加写入权限,减少可执行权限,变为(rw),给其他用户增加写入权限
chmodg=rw,o+w aaa
数字型权限设置:r:4 w:2 x:1
# 给aaa.txt文件条件当前用户可读可写可执行,所属组可读可写,其他用户只可以读
chmod764aaa.txt
18、vi编辑器
vi编辑器有三种模式:命令模式,插入模式,末行模式(底行模式)
命令模式
进入插入模式:o O i a
进入末行模式::
插入模式
进入末行模式:先使用esc进入命令模式,使用:进入末行模式
进入命令模式:esc
末行模式
进入命令模式: enter esc
进入插入模式:使用esc进入命令模式,使用o O i a进入插入模式
19、数据库概述
数据库就是存储数据的仓库,程序员可以在数据库中进行数据的增删改查操作
数据库分为关系型数据库和菲关系型数据库
关系型数据库:采用二维表格模型创建的数据库,适用于储存逻辑复杂的大型数据
Oracle, mysql,sqlite,sqlsever,db2
非关系型数据库:大多采用key-value结构存储数据,适用于结构简单,数据量大或需要快速存取的数据
Redis, hbase,mongodb
20、MySQL数据库的登录和退出
mysql数据库是一个关系型数据库管理系统
mysql优势:
开源免费
支持大型数据库
使用标准的sql语言开发
支持跨平台,多种语言接口
我们当前课程使用的是8.0社区版mysql进行学习
mysql的登录和退出
# 登录方式一:
mysql-uroot-p回车
密码
# 登录方式二:
mysql-uroot-p密码
# 登录方式三:
mysql--user=root--password=密码
# 退出方式一:
exit
# 退出方式二:
quit
# 退出方式三:
ctrl+z
mysql支持远程连接
# 远程连接方式一:
mysql--user=root--host=192.168.88.100--password=密码
# 远程连接方式二:
mysql-uroot-h192.168.88.100-p密码
21、sql语句
sql语句的分类
DDL:数据库定义语言:对数据库和数据表进行构建,修改和删除
DML:数据库操作语言:对数据表中的记录进行增加,修改和删除
DQL:数据库查询语言:对数据表中的记录进行查询
DCL:对用户权限进行管理,对数据安全等级进行设定,用户的添加和删除
sql通用语法:
可以单行显示,也可以多行显示,以分号结尾
可以随意换行或者缩进,不影响sql语句的执行
关键字不区分大小写
注释类型
单行注释 -- # ctrl + /
多行注释/**/