GIT
echo "# 1" >> README.md
git init
git add README.md // git add .
git commit -m "first commit"
git remote add origin https://github.com/zhoule1505320506/1.git
git push -u origin master
ssh-keygen -t rsa -C "GitHub账号" 之后回车 回车 回车 把id_rsa.pub添加到github ssh 里面
$ git config --global user.name 用户名
$ git config --global user.email 邮箱
git clone [url http] 克隆
git branch [branch name]创建一个分支
git branch -d [branch name]该命令将删除指定的分支
git checkout [branch name]你可以通过该命令切换分支。
git checkout -b [branch name]创建一个分支,并切换到新分支上
git merge [branch name]该命令可以将指定分支的历史记录合并到当前分支
Linux
lsof -i:端口号 查看linux中某个端口(port)是否被占用
文件
cd 指定目的 ~home目录 ..上级目录
pwd显示当前路径 rwx(executable)可读写执行 c (char)字符设备鼠标,l(link)链接文件,b(block)块设备硬盘d(directory)目录文件 .和.. 当前目录(directory)和上级目录
ls : 列出指定路径中目录以及文件, -a 所有文件-l 详细信息,包括大小字节数,可读可写可执行的权限等
mkdir 1/2/3/4 -p递归创建文件夹
ln -s 目标 快捷方式 软链接(link)(快捷方式)
ln 目标 链接文件 硬链接(同一文件)inode相同,删除不会音响源文件(只是硬链接数-1)
rm文件和文件目录 -rf无法恢复
cp 源文件,目标文件 backups(备份)
find和grep 查找 默认-name按名称查找,-type按类型 (f普通文件,b,d,c)、-user按是否属于用户,-size对大小进行查找,+、-超过、小于
find和grep
find:用于查找符合的文件或者文件夹,
grep:是一种功能强大的文本文件查询工具,还可以使用正则表达式。
vim esc 命令模式 i 在当前插入 a在后面插入 o换行 k、j光标上下行。h、l,左右行
ls : 列出指定路径中目录以及文件, -a 所有文件-l 详细信息,包括大小字节数,可读可写可执行的权限等
内存
top:命令经常用来监控linux的系统状况,比如cpu、内存的使用。查看占用率
free 查看内存
vmstat,查看CPU和内存占用情况:
du显示目录或文件的大小
df -h 查看磁盘使用空间
后台端口
job :专门用来查看后台任务
netstat -anp | grep 3366 查看端口占用
Ipconfig 查看 ip 地址及接口信息
ifconfig用于查看和配置Linux系统的网络接口
终端 /dev/tty
黑洞文件 /dev/null
查看系统当前时间 date
su -username 切换用户
sudo 获得超级用户权限
du显示目录或文件的大小
head 查看文件头10行 :head -n 10
tail -f 实时查看日志
查看各类环境变量 env
which 只能查可执行文件
whereis 只能查二进制文件、说明文档,源文件等
ctrl+z 挂起 ctrl+c 退出 exit退出进程 终止进程用什么命令 kill -9
磁盘分区
引导信息:ntler
inode区:inode编号,标识文件,文件的大小,块(block)4kb4096Byte
数据区
压缩文件
tar -czf test.tar.gz /test1 /test2
14.列出压缩文件列表
tar -tzf test.tar.gz
kill -9 13571
实例
恢复删除的文件 通过lsof来恢复 日志,数据库的活动事务日志等文件
例如:/var/logmessages文件被意外删除
首先使用lsof来查看当前是否有进程打开/var/logmessages文件,如下:
# lsof | grep /var/log/messages
获取进程号 PID 1283
head -n 10 /proc/1283/fd/2
I/O 重定向将其复制到文件中
cat /proc/1283/fd/2 > /var/log/messages
Linux下查找/data/test 目录下3天前的文件,从中挑选出大小超过10M的删除掉。
find "/data/test" -mtime +3 -size +10M -exec rm {}
在linux下的安装及使用
1:安装apt-get install nginx
2.配置:修改的cd/etc/nginx/nginx.conf配置文件
3.启动nginx :/etc/init.d/nginx start /stop/restart
uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议
删除后磁盘空间没减小
今天文件系统/tmp目录下空间用满了,但用du命令统计/tmp目录中所有文件的时候却很小。听到这个现象,第一感觉就是应该有大文件被删除,但可能依然被其他程序打开,导致没被彻底清除
- df -h 查看磁盘使用空间
- sudo lsof | grep /tmp 查看tem被那些进程占用
- ps -ef|grep 13571 查找某个进程得到它的进程号 用PID看看是哪个程序占用这个文件
- sudo kill -9 13571 进程KILL掉后,就OK
Mysql数据库
#增:insert into 表名(例1,例2,.......)values (v1,v2,.......);
#删:delete from 表名 where 条件;
#改:update 表名 set 字段=‘值’【where 条件】;
#查:select */字段列表 from 表名 【where 条件】;
字段操作:
#增:alter table 表名 add 字段名 数据类型 【位置】;
#删:alter table 表名 drop 字段名;
#改:alter table 表名 change旧字段 新字段 数据类型 【位置】;
库操作:
(1)新增数据库:create database 名 charset utf8;
(2)查看所有数据库:show databases;
(3)查看某一数据库:use 名;show tables;
(4)查看某一类似“A”数据库:show databases like 'A';
(5)删除:drop databases 名;
表操作:
(1)新增表:create table 名 (字段名,类型,......)charset utf8;
(2)查看所有表:show tables;
(3)查看部分表:show tables like ' ';
(4)查看表结构: desc 表名;
(5)修改表名:rename table oldname to newname;
(6)删除表:drop table 表1,表2,......;
select sex FROM employee GROUP BY sex;
Where
在结果返回之前起作用,且where后面不能使用聚合函数
Having
在结果返回之后起作用,并且having后面可以使用聚合函数。
所谓聚合函数,sum---求和,count---计数,max---最大值,avg---平均值等
多表联合查询
内连接
格式1:显式内连接(推荐使用)
语法:
(*代表查所有字段)select a.*,b.* from a[inner] join b on ab链接条件
格式2:隐式内连接
语法:select a.*,b.* from a,b where ab链接条件
外链接
格式1:左外连接
select a.*,b.* from a left [outer] join b on 链接条件
意思:先展示join左边表的全部数据,根据条件关联查询join右边的表,符合条件展示出来,不符合 条件以null展示。以左边列数为准 也有为空的 此时用 右连接
格式2:右外连接
select a.*,b.* from b right join orders on user.id=orders.id;
意思:先展示join右面边表的全部数据,根据条件关联查询join左边的表,符合条件展示出来,不符合条件以null展示。
子查询 当一个查询是另一个查询的条件时,称之为子查询 select(select)
git rm -r --cached target # 删除target文件夹
git commit -m '删除了target' # 提交,添加操作说明
git push -u origin master # 将本次更改更新到github项目上去