linux ubuntu16 命令及知识更新补充

linux ubuntu16 命令及知识更新补充

linux命令

netstat -apn|grep 3306

查询3306端口的占用情况

a代表列出所有,包括监听的和未监听的
p查询端口
n禁用域名解析,加快查询速度
其中grep是一个强大的文本查找命令,grep 3306会返回包括3306的文本行, |代表,注意和||区分,||具有短路功能

netstat其他常用参数

  • -t 筛选出tcp协议
  • -u 筛选出udp协议
  • -c持续输出信息

find . -name ‘www

查找本目录下文件名包括www的文件或目录

find其他常用的信息

  • -iname 和 -name效果一致,不过会忽略大小写

whereis yarn

查找yarn命令位置

whereis同样是搜索文件,但和find比起来,恩恩,快了许多。这是因为whereis不是漫无目的的查找,而是在一个数据库中(/var/lib/mlocal)查询,so,同样也是这个原因,精确度不是实时的。

source /etc/profile

立即执行etc/profileshell脚本。
主要用在修改配置文件时,使配置文件立刻生效而不用重新登录或注销

linux 文件系统

linux一切皆文件

linux重要文件举例

/etc/profile

linux是一款多用户操作系统,这里的profile文件定义的是所有用户所有shell都可一使用的环境变量.
比如: 为yarn全局获取的包制定系统变量.
首先执行yarn global bin获取yarn的全局安装路径
然后 sudo gedit /etc/profile,再path中加入上面获得的路径,用:分冒号隔开

/username/bashrc
上面说过linux是一款多用户操作系统,每个用户也可以配置属于自己的变量,同上。只不过,变量只能再指定user中生效

解压命令

经常会用到,在此总结

zip类
unzip XXX.zip 路径
zip -r XXX 路径
tar类
tar -zcvf log.tar.gz log2012.log   打包后,以 gzip 压缩 
tar -jcvf log.tar.bz2 log2012.log  打包后,以 bzip2 压缩 
tar -zxvf /opt/soft/test/log.tar.gz 解压
xz类
xz -d xxxx.xz

小结

-r 参数一般表示递归处理,如cp复制,rm删除,zip,tar等

MySql

登录数据库

mysql -h IP-address -Pport -uroot -p

创建数据库和表

drop database if exists testmy;
create database if not exists testmy;
use testmy;

create table if not exists tb_user(
    uuid varchar(20) not null primary key, # uuid
    nickname varchar(20) not null, #昵称姓名
    sex int, #性别<12女>
    birth date,#出生日期
    email varchar(20),#邮箱
    mobile varchar(20),#手机
    address varchar(20),#所在地址
    truename varchar(20),#真实姓名
);

新增约束

主键约束

alter table tb_users add primary key(primary_key_id);

外键约束

alter tables tb_user add foreign key (promary_table_id) references foreign_table (foreign_table_primary_id);

或者

alter tables tb_user add foreign key promary_table_id(name) references foreign_table (foreign_table_primary_id);

外键约束尽量使用第二种,因为如果需要删除外键,则需要外键约束名。如果新建时没有声明外键名,则会MySQL会为该外键约束命名为table_name_ibfk_n,其中table_name为子表的名字, n为整数,没有显示声明外键名,其阻力未知

外键约束删除语句

alter table table_name drop foreign key foreign_key_name;

查询表,数据库,字段

所有的SQL语句都需要分号结尾,没有分号,MYSQL则视为语句并未结束

查询所有的数据库

show databases;

查询当前数据库下的所有表

use db_shop; #先切换到db_shop数据库
show tables; 

显示表结构信息

desc tb_users;

显示注释信息

# 可以发现此为一条查询语句,如果是查询当前数据库下面的表注释,可以去掉table_name筛选条件
select column_name, column_comment from information_schema.columns where table_schema = 'db' and table_name = 'tb_name';

查询当前正在使用的数据库

select database();
#或者使用
status;

关闭MYSQL

使用ctrl+c是无法关闭的,再mysql shell中使用exit命令即可

错误及解决办法

4200 错误代码

使用了mysql预留的关键字作为了字段名或者表名

解决办法 :
- 最好替换掉和mysql预留的关键字,谁知道以后会发生什么
- 使用反引号区分

资料 : mysql预留关键字查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值