Linux 基础操作 shell脚本编程基础 网络基础 及Mysql数据库基础

时间:2021-07-15 04:42:25
Linux基础命令(一)
命令后都要有空格
1.who 谁在操作,返回用户名
2.pwd 当前路径
3.ll ( list all )当前路径包含的东西
4.ls( list )仅列出文件或文件夹的名称
5. 文件权限 1.d:directory 目录 2.w:writeable可写 3.r:readable 可读 4.x:excutable可执行
文件名颜色的含义:蓝:目录 绿:可执行文件 黑:普通文本 红:压缩包
6.cd (acess directory) 访问目录
cd . 表示当前目录
cd..表示当前目录的上层目录
cd / 根目录 或者用来表示当前目录的下一层目录
7.clear 清屏
8.mkdir (make directory)创建目录
9.touch 创建文件 或者直接用 vim 文件
10.rm (remove)删除文件
11.rm -rvf 删除目录 r :级联 v:可视化 f:强制
12.man : 解释命令 man cp
13.q(quit)退出
14.cp(copy) 复制文件 cp 文件 目录
15.cp -rvf 复制目录 cp 目录 目录
16.mv (move)移动、剪切、重命名 mv 文件 目录(文件名)
17.chmod (change mod)改变模式 chmod +权限 文件/目录
18.tab 补齐文件名
19.rebot:重启
20.su 进入超级用户

Linux基础操作(二)
1.创建文件 vim 120.sh
2.文本编辑器下的三种模式 :1.一般模式 可查看内、删除、查找(只需要输入/后接查找内容)
2.编辑模式 输入I进入编辑模式、可进行任何操作
3.命令模式 ESC键 wq! 强制保存退出
3. ./120.sh执行当前文件
4.shell脚本命令属于解析型一条一条去执行
5.* 通配符
6.tar -xvf 压缩文件 解压文件 其中的x代表extract tar -cvf tar包名称 被打包目录文件 压包
7.cat 文件名:打开文件 后台进程 就可以直接在terminal中查看到文件内容
8.more 文件名 终端显示文件 支持分页显示 前台进程
9.vim 文件名 在文本编辑器中打开
10.查找 which bash 返回bash的路径 which命令只能查找环境变量中的东西,寻找内置命令
11.find / -name bash 在/目录下查找名字含有bash的位置 全局寻找,根据指定位置寻找
12.在一个shell脚本编程的开头 都会指定解析器
#!/bin/bash 解析器

Linux与进程管理(一)
1.ps (process status)查看进程状态 ;ps (process snapshot)查看进程快照
2.PID (process identify)进程号
3.PPID(parent PID)父进程号
4.top 查看动态进程状态 类似于任务管理器 ctrl+c跳出前台进程
5.pr (process priority)进程优先级
6. > 定向符 top > 1.txt把top的信息写入到11.txt中
7.| 管道符 进程与进程之间通讯通过管道符或信号
8.grep(GM regular expression) GM组织提出的正则表达式
9.kill -9 3282 强制杀死进程 把正在运行的进程变成孤儿进程,杀掉其父进程,就可以成为孤儿
10.find /home -name test 在home目录下查找test的文件 也是前台进程
11.find / -name init & 把前台进程转化成后台进程
12.ps el | grep httpd 寻找包含httpd的进程
13.ifconfig 查找IP地址 (windows下)ipconfig msconfig
14.source 更新 source /etc/profile 更新配置文件


Linux与进程管理(二) 服务器
1.pgrep 服务器名称 查找服务器进程号 (把进程号过滤出来,显示服务器名称的进程号)
2.启动httpd service httpd start
3.xkill 骷髅头???
4.nice 指定运行优先级,nice值越小,优先级越高,优先级取值 [-20,19] nice -n 数字 程序名
5.renice 改变一个正在运行进程的优先级 renice 数字 进程号 先运行再指定

Linux与shell脚本编程 (一)
1.vim `which startx` 反引号 内为表达式 其中会计算
2.#开头的是注释 但不包括多行注释
3.shell脚本变量 1.普通变量 2.环境变量 3.只读变量 用set查找系统中所有变量 用env查找所有环境变量
4.普通变量 赋值: a=200 取值:echo $a $ 取值符 bash一下之后 普通变量的值取不到而环境变量的值能够取到
5.环境变量 声明 export a=100
6.只读变量 声明 readonly a
写一个shell脚本之后,首先要chmod之后才能够执行
7.变量拼接要用花括号 :{skill}script
8.输出 echo 'xxx'原样输出 echo "xxx" 字符串原样输出,该计算取值即计算取值 echo `xxx`计算表达式的值
9.运算符 1.$$取当前命令的PID,当前所在进程的进程号
2.!!再次执行上次命令
3.![]再次执行上次命令
4.-eq 等于 -ne 不等于
-gt 大于 -lt 小于
-ge 大于等于 -le小于等于
5.-z 为空 -n不为空
10. [ ]表判断 括号内前后都要有空格 [ $a -eq $b ]
11.echo $ 查看上一次运行结果真假 0为真 1为假
12.必考: [ -d /home/zhujin ] && echo hello 判断是否为目录 是则输出
13.必考: [ -z "`pgrep httpd`"]判断httpd是否启动起来了
14.以树型结构查看当前进程树 pstree pstree | grep vim -A2 -B2查看vim的前两行两列
15.用户进程的优先级默认 nice:0 pri:80
16.变量永远保存 vim /etc/profile 写入配置文档 可被兄弟继承资源共享

Linux与shell脚本编程(二)

1.运算符 -a:与 -o:或
2.[ -USER = zhujin ] 用“ = ”判断两个值是否相等时前后要用括号,否则系统默认赋值
3.‘=’ ‘!=’用于字符串的表达 " -eq " " -ge " " ne "等用于纯数字判断
4.if 和 else 的条件格式
1)
#! /bin/bash
if(){
...
}
else{
...
}
2)
if 条件
then
...
...
fi

3)
if 条件
then
...
else
...
fi

4)
if 条件1
then
...
elif 条件2 ,then
...
fi


5. ./110.sh 执行当前目录下的110.sh脚本
bash 110.sh 执行110.sh (可以不设置解析器)
bash -vx 110.sh v可视 x操作过程 设置断点
6.$1 获取第一个参数 可用于传参
7.case $canshu in
xxx)
...
;;
xxx)
...
;;
esac

8.计算
Z = `expr $x + $y`
Z = `expr $x \* $y` 转义字符\
Z = `expr $x / $y` 除号取整
9.((z = x+y))

Linux与shell脚本编程(三)
1.
for var in 1 2 3 4
do
echo $var
done
2.计时器
#!/bin/bash
for x in `seq 1 10`
do
echo -n "$x "
sleep 1s 每隔1s打印 可不用s 系统默认单位为s
done
3.判断当前apach服务器是否运行,若运行则停止,否则打印语句并退出shell
#! /bin/bash
x=`pgrep apache`
if [ -z "$x"]
then
echo "apache is not running "
else
for y in $x
do
kill -9 $y
done
fi
练几个Linux的编程题

Linux网络基础(一)
1. IPV4 :点分十进制 192.168.10.10 32位 可服务 2³² - 2台机器
IPV6:128位 的机器更多
IP : 网络号 + 主机号
2. ping 命令(域名或者地址) ping www.baidu.com 测试主机可不可达,服务器可用不可用
ping包默认大小为56个字节
ICMP (Internet Control Message Protocal )Internet控制报文协议
ping命令基于ICMP协议 telnet命令基于ICMP (ICMP包大小8字节)
TTL ( Time to live ) 存活周期 以防数据包不能到达主机无限漫游 ttl=128 单位:hop
time :信息往返时间

Linux网络基础(二)
1.telnet 命令 远程登陆 可测试应用前
2.ab 命令 测试web服务器性能 ab -c 100 -n 500 www.jxnu.edu.cn/模拟100个人在线 每个发起500个链接请求。
3.trace route 跟踪路径
4.route 获取Linux fedora 内核信息
5.httpd默认端口:80

Linux数据库基础(一)
1.查看数据库是否启动
1)查看相关进程是否启动 ps -el | grep mysqld
2)查看mysql端口3306 程序起起来,系统必定分配唯一端口 netstart -anp | grep 3306
3)查看mysql的进程号 pgrep mysqld
2.把mysql起起来
1.cd/home/mysql
2.bin/mysql_safe --user=mysql &
3.bin/mysql -u root -p (切换到mysql交互页面)默认无密码
3.sql语句 (结尾必有分号)
1.show databases; 展示数据库(按字母排序)
2.use test(库名)拿到这个数据库的环境,之后的操作都对此数据库进行
3.show tables; 查看当前数据库里的表
4.create database 新建库名;
5.drop database if exists 库名;
6.建表 create table users(username varchar(8),userID varchar(8));
7.插入数据 insert into users values('jxnu','001')
8.查看表结构 desc users
9. select * from users where userID = '002' 查询
模糊查询 select * from users where username LIKE '%0%'
10.更新数据 update users set username='zhujin' where userID='002'
11.删除数据 delete from users where userID='003'
12.删除表、数据库 drop table 表明/database 数据库名
13.查询当前数据库的版本 show variable like 'version'
14.Mysql表操作
1.修改数据库表明 alter table 旧表名 rename 新表名;
2.在表中增加字段
1.alter table users
add userAge varchar(8) first;
2.alter table users
add userQQ varchar(8) after username;
3.alter table users
add userAddress varchar(8);默认加到最后
3.删除字段 alter table users
drop userAddress;
4.清空表中记录 (表名还在 但为空集)
delete from 表名;
15.Mysql数据库设置密码
1.mysql(交互界面写sql语句) set password for not = password("新密码")
密码设置成功后 重新进入 bin/mysql -u root -p新密码
2.在bash底下改 进入/home/mysql/bin 再lmysqladmin -u 用户名 -p 旧密码
16.退出Mysql:exit
17.停止mysql数据库:bin/mysqladmin -u 用户名 -p密码 shutdown

Linux数据库基础(二)
1.备份 (先把Mysql服务启动 进入/home/mysql/bin)
mysqldump -u root -p密码 数据库名 > data.bak(默认备份到当前目录下)
2.用vim data.bak 可以查看备份内容
3.备份的是Mysql语句,不是数据
4.恢复 mysql -u root -p密码 数据库名 < data.bak