linux下的命令和常见问题笔记
nginx的三大功能:
1、http服务 2、反向代理 3、负载均衡
2.当nginx重启报:
[root@localhost logs]# service nginx reload
Reloading nginx!nginx: [error] invalid PID number "" in "/mnt/server/nginx/logs/nginx.pid"
使用这个就ok了:
[root@localhost logs]# nginx -c /mnt/server/nginx-1.4.4/conf/nginx.conf
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加)。
QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29LoD19) QQ:1542385235
lsblk 列出所有的块设备,而且还能显示他们之间的依赖关系
参数:
-a, --all 显示所有设备
-b, --bytes 以bytes方式显示设备大小
-d, --nodeps 不显示 slaves 或 holders
-D, --discard print discard capabilities
-e, --exclude <list> 排除设备 (default: RAM disks)
-f, --fs 显示文件系统信息
-h, --help 显示帮助信息
-i, --ascii use ascii characters only
-m, --perms 显示权限信息
-l, --list 使用列表格式显示
-n, --noheadings 不显示标题
-o, --output <list> 输出列
-P, --pairs 使用key="value"格式显示
-r, --raw 使用原始格式显示
-t, --topology 显示拓扑结构信息
修改linux登录用户密码:[root@localhost logs]# passwd
nginx的三大功能:
1、http服务 2、反向代理 3、负载均衡
2.当nginx重启报:
[root@localhost logs]# service nginx reload
Reloading nginx!nginx: [error] invalid PID number "" in "/mnt/server/nginx/logs/nginx.pid"
使用这个就ok了:
[root@localhost logs]# nginx -c /mnt/server/nginx-1.4.4/conf/nginx.conf
一。linux下常用的快捷键
ctrl +a 把光标移动到命令行开头。
ctrl +e 把光标移动到命令行结尾。
ctrl +c 强制终止当前的名令。
ctrl +l 清屏,相当于clear命令。
ctrl +u 删除或剪切光标之前的命令,我输入一行很长的命令,不用使用退格键一个一个删除或剪切光
标之前的内容。
ctrl +k 删除或剪切光标之后的内容
ctrl +y 粘贴ctrl+u或ctrl+kde 内容
ctrl +r 在命令历史中搜索,按下ctrl+r之后会出现搜索界面,,只要输入搜索内容,就会从
历史命令中搜索
ctrl +d 退出当前终端。
ctrl +z 暂停,并放入后台,这个快捷键牵扯工作管理的内容。
ctrl +s 暂停屏幕输出。
ctrl +q 恢复屏幕输出。
1.rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm
2.一键安装lnmp环境(打开软件包的目录)然后如下:
chmod -R 777 . 然后install.sh 就可以了
3.查看mysql的版本:
rpm -qa|grep mysql
MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下;在Linux下叫my.cnf,该文件位
于/etc/my.cnf。
3.0 mysql创建一个用户:
insert into mysql.user(Host,User,Password) values("localhost","pwf",password("pwf123"));
3.1查看当前登录mysql用户root的权限信息:
mysql> SHOW GRANTS FOR 'root'@'localhost';
1、使用 service 启动:service mysqld start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:safe_mysqld&
二、停止
1、使用 service 启动:service mysqld stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
3、mysqladmin shutdown.
chkconfig --list 列出系统服务的运行
4.查看开机启动设置是否成功chkconfig --list | grep mysql*
5.使用mysql:
mysql -uroot -p
vim /etc/nginx/nginx.conf
6.ps -ef |grep 进程名 检查该进程是否存在 :
ps -ef | grep nginx
6.1 监测网卡eth1的实时信息:iftop -i eth1
6.2 限速命令: wondershaper eth0 5000 500 取消限速:wondershaper clear eth0
7、关闭防火墙:
查看防火墙状态:service iptables status
(1) 重启后永久性生效:
开启:chkconfig iptables on
关闭:chkconfig iptables off
(2) 即时生效,重启后失效:
开启:service iptables start
关闭:service iptables stop
8.重启nginx服务:
service nginx reload
9.用户组命令:
groups 查看当前登录用户的组内成员
groups gliethttp 查看gliethttp用户所在的组,以及组内成员
whoami 查看当前登录用户名
/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名es;
查看某个文件的详细信息:ll -d 文件名
10.设置任何用户都可以访问mysql;
mysql> -- UPDATE user SET Host='192.168.1.100' WHERE User='root' AND Host='localhost' LIMIT
1;
mysql> flush privileges;
11.查看端口的占用情况
ps -aux | grep tomcat
12.查看所有的进程端口
netstat –apn
13.统计linux下某个文件夹的大小
du -sh ./
14.查看mysql支持的存储引擎
mysql>show plugins;
15.df -h 查看空间占用量
16.显示plugin文件目录
mysql> show variables like 'plugin_dir';
17.查找所有超出10M的文件
find / -type f -size +10000k
18.查看某目录下的文件(从第一行到最后第十行)
tail -n 10 /var/spool/postfix/maildrop/592E2299CF
19.查看cron错误信息发邮件配置
vim /etc/crontab
修改后然后重启载入配置,不然没用
/sbin/service crond reload
20.启动cron写定时任务命令
crontab -e
21.在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,
其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。
每个域之间使用空格或者制表符分隔。格式如下:
minute hour day-of-month month-of-year day-of-week commands
合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday) commands(代表要执行的脚本)
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,
"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数
字。
22. 索引创建原则:
1)尽量再重复值不多的列建索引
2)要查询的条件字段(除了用不上索引的如in,like之类的),都要建索引;
3)用来排序的字段一定要建索引;
4)根据结果集大小来(5000,由实际情况测试确定该值)决定强制指定索引还是采用排序字段索引
5)拼接sql的where条件时,顺序很重要,一般where出来的范围越小并且能用上强制索引的条件,放后
面(为什么用强制索引是因为虽然建了索引,但是因为前面有其他条件会导致最优索引不会自动被使用
)
索引创建和使用原则,吃透了,基本大数据都没啥大问题了。
6)未知大数据量分页查询,不适用dbm类的自动计算总数功能,根据where条件计算大小并且缓存
mysql Myisam引擎表及锁
读锁,我正在读,你也能读,所有人都不能增删改操作
lock table t1 read;
写锁,我正在写,所有人都不能增删改查操作
lock table t1 write;
解锁:unlock tables;
23.检查Crontab服务是否安装
crontab -l
24.查看crontab 服务状态
service crond status
25.不断的显示某个文件的
tail -f
26.crontab 例子:
每晚的21:30重启apache
30 21 * * * service httpd restart
每月的1,10,22日的4:45重启apache
45 4 1,10,22 * * service httped restart
每月的1到10日的4:45重启apache
45 4 1-10 * * service httpd restart
每隔两分钟重启Apache 服务器
*/2 * * * * service httpd restart
晚上11点到早上7点之间,每隔一小时重启apche
0 23-7/1 * * * service httpd restart
每天18:00到23:00之间每隔30分钟重启apache
0,30 18-23 * * * service httpd restart
0-59/30 18-23 * * * service httpd restart
27.查看crontab的配置文件
ls etc/cron cron*
二.修改文件权限的方式:
1.1 给某个文件夹下所有文件赋予777权限:
先进入到该文件的目录:然后执行:chmod -R 777 *
1.2 给某个文件夹赋予777权限:
chmod -R 777 文件夹的绝对路径
1. 权限对文件的作用
r ---4 , w ---2 , x --- 1
r:读取文件的内容(cat more head tail)
w:编辑,新增,修改文件内容(vi echo)
---但是不包含删除文件
x:执行
chmod U+X test.av.(对test.av文件给拥有者加执行权限)
chmod u=rwx,g=wx,o=r test.av(对test.av文件给权限用'='号赋权限)
2.权限对目录的作用
r:可以查询 目录下文件名 (ls)
w: 具有修改目录结构的权限。 如新建文件和目录,删除此目录下文件和目录,
重命名此目录下的文件和目录,剪切(touch rm mv cp)
x:可以进入目录(cd)
2.创建文件命令:touch 文件名
三。修改所属组和所属用户
1. chown 用户 文件名
2. chgrp 组名 文件名
3. 查看用户所在组 groups 用户名
4. 查看当前用户所在组 groups
四。把进程放人后台
1.显示用户系统进程命令: top
2.显示后台进行所有进程命令: jobs
ctrl + c 强制终止 ctrl + z 放入后台执行
1.在你所在的命令后面加个 &
比如:tar zcvf etc.tar.gz /etc &
2.将后台暂停的工作恢复到前台执行 fg %工作号 (%可以省略)
3,将前台工作恢复到后台执行 bg %工作号 (%可以省略)
五.帮助命令:man
1.查看命令的介绍:man 命令 比如:man ls
2.查看配置文件的信息时不用写配置文件的绝对路径,只要用 man 配置文件名
3.得到命令所在的文件绝对路径和更多的信息命令:whereis 命令
4.得到命令的简介:whatis 命令
六。shell基础功能-别名与快捷键。(别名的优先级高于命令本身的。注意:定义的别名最好不好与
linux命令重名,重名后覆盖这个命令)
让别名永久生效要把别名定义在系统的 /root/.bashrc 文件中。
1.给命令设定别名:alias 命令别名='linux命令'.
七。shell基本功能-通配符和其他特殊符号(通配符是用来匹配文件名的)
1. ? 匹配一个任意字符
2. * 匹配0个或任意多个任意字符,也就是可以匹配任何内容
3. [] 匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,
或者是a,或者是b,或者是c.
4. [-] 匹配中括号中任意一个字符, - 代表一个范围。例如:[a-z]代表匹配一个小写字母
5. [^] 逻辑非,表示匹配不是中括号内的一个字符。例如:[^0-9]代表匹配不是数字的字符。
八。shell基本功能--位置参数变量
1.$n n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,
十以上的参数需要用大括号包含,如$[10].
2.$* 这个变量代表命令中所有的参数,$*把所有的参数看成一个整体。
3.$@ 这个变量也代表名利行中所有的参数,不过$@把每隔参数区分对待。
4.$# 这个变量代表命令行中所有的参数的个数
九。shell基础--环境变量配置文件-作用
1./etc/profile
/etc/profile.d/*.sh
十。shell基础--输入输出重定向
1. &>>
十一。shell基础--基本功能 --多命令顺序执行与管道符
1.
十二。shell基础-脚本执行方式
1.
十三 。yum命令
1.获取系统上可安装软件包列表命令:yum list
2.搜索服务器上所有和关键字相关的包
例如: yum search httped 获取和httped相关的软件包。
3.安装:install -y 自动问答yes
update 升级 (警告不要直接 yum -y update 这个是整个服务器升级包括服务器内核)
remove 卸载 (用yum -y remove 软件包名 这个最好别用,它会卸载该软件包的关联包)
例如: yum -y install gcc 安装gcc包
例如: yum -y update gcc 升级gcc
yum软件组管理命令:
1.列出所有可用的软件组列表:yum grouplist
2.安装指定软件组,组名可以由grouplist查询出来:yum groupinstall 软件组名
3.卸载指定软件组: yum groupremove 软件组名
mysql数据库优化
显示慢查询日志是否开启和日志文件所在的位置:mysql> show variables like 'slow%';
设置慢查询日志开启状态:mysql>set global slow_query_log=on;
1、mysqldumpslow
2. 分析慢查询日志中前3条命令:mysqldumpslow -t 3 /home/mysql/data/mysql-slow.log
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加)。
QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29LoD19) QQ:1542385235
我的淘宝店,可以进去逛逛噢:https://shop108912636.taobao.com/index.htm?spm=2013.1.w5001-7867000954.3.1d29318dPlLar7&scene=taobao_shop