学透Linux知识体系

admin 2020-06-08 818 阅读 0评论

系统相关操作

fdisk -l 查看硬盘及分区情况
df -h 查看分区空间使用情况(磁盘)安文件大小排序查看:du -sh /* | sort -nr使用find:find ./ -size +1G -exec du -h {} \;
top -d 进程号 进程内存使用情况
top -c cpu资源占用说明Tasks : 115 total  进程总数1 running  正在运行进程数114  sleeping  睡眠进程数0  stopped  停止进程数0  zombie  僵尸进程数Cpu(s) : 16.1%  us  用户空间占用CPU百分比2.0%  sy  内核空间占用CPU百分比0.0%  ni  用户进程空间内改变过优先级的进程占用CPU百分比79.5%  id  空闲CPU百分比1.4%  wa  等待输入输出的CPU时间百分比0.0%  hi0.0%  si序号列名含义PID    进程idPPID    父进程idRUSER    RealusernameUID    进程所有者的用户idUSER    进程所有者的用户名GROUP    进程所有者的组名TTY    启动进程的终端名。不是从终端启动的进程则显示为?PR    优先级NInice     值。负值表示高优先级,正值表示低优先级P    最后使用的CPU,仅在多CPU环境下有意义%CPU    上次更新到现在的CPU时间占用百分比TIME    进程使用的CPU时间总计,单位秒TIME+    进程使用的CPU时间总计,单位1/100秒%MEM    进程使用的物理内存百分比VIRT    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESSWAP    进程使用的虚拟内存中,被换出的大小,单位kb。RES    进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATACODE    可执行代码占用的物理内存大小,单位kbDATA    可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kbSHR    共享内存大小,单位kbnFLT    页面错误次数nDRT    最后一次写入到现在,被修改过的页面数。S    进程状态。D=    不可中断的睡眠状态R=    运行S=    睡眠T=    跟踪/停止Z=    僵尸进程COMMAND    命令名/命令行WCHAN    若该进程在睡眠,则显示睡眠中的系统函数名Flags    任务标志,参考sched.h
free -h 内存使用情况1.作用free命令用来显示内存的使用情况,使用权限是所有用户。2.格式free [-b-k-m] [-o] [-s delay] [-t] [-V]3.主要参数-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。-s delay:显示每隔多少秒数来显示一次内存使用情况。-t:显示内存总和列。-o:不显示缓冲区调节列。
iostat -x 查看io的性能安装:  
Iostat 是 sysstat 工具集的一个工具,需要安装。  
Centos的安装方式是:yum install sysstat  
Ubuntu的安装方式是:  aptitude install sysstat  
使用:iostat -dx 
显示磁盘扩展信息说明:rrqm/s:
每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);
wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。
rsec/s:每秒读取的扇区数;
wsec/s:每秒写入的扇区数。
r/s 和 w/s 分别是每秒的读操作和写操作,
rKB/s 和wKB/s 列以每秒千字节为单位显示了读和写的数据量
await:每一个IO请求的处理的平均时间(单位是毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

网络相关操作

netstat -ntlp 查看网络连接情况-t 列出tcp协议端口-u 列出udp协议端口-n 不使用域名与服务名,使用IP和端口-l 列出监听状态的网络服务-a 列出所有的网络连接-r 路由信息-p 列出pid,进程id
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
iptables -A OUTPUT -p tcp --dport 端口号-j DROP 关闭端口
iptables -A INPUT -ptcp --dport 端口号-j ACCEPT 打开端口
nc -lp 23 &(打开23端口,即telnet)
netstat -an | grep 23 (查看是否打开23端口) 防火墙
iptables -L 查看防火墙
lsof -i:80 查看端口是否开发

常用命令

php a.php 1>/dev/null 2>&1 & 后台运行,不打印
du -m * |sort -r -n 降序排序日志文件
ps –ef | grep aio    查询名称中包含aio的进程
netstat -an | grep 3306    查询3306端口的占用情况
 ln  -s  [源文件或目录]  [目标文件或目录]  创建软件链接 例:ln –s  /var/www/test  test
 chmod -R 777 目录  修改权限
chattr -i /home/wwwroot/fuelcard-lxy/.user.ini  解除文件锁定无法修改权限
 tar -xvf [xxx.tar] | tar -xzf [xxx.tar.gz] 解压
 netstat -nlp | grep [端口号] 查看端口是否被使用
 rm -f [文件名] 删除文件不提示
 mv [原文件名] [新文件名] 重命名文件
 mv [原文件] [新的文件路径] 移动文件
 find -name file\* 寻找当前目录下,所有以file为前缀的文件或子目录
 find /home -mtime 2 列出目录下最近两天之内有变动的文件
 mkdir test 在当前目录下创建一个test目录
 cp test1.txt test2.txt     复制test1.txt并粘贴到当前目录下,然后重命名为test2.txt
 grep abc test.txt 在test.txt文件中查找abc
 grep abc test.txt --color 在test.txt文件中查找abc,并高亮显示
 pwd    显示当前所在目录
 wget http://nginx.org/download/nginx-1.9.12.tar.gz 下载资料
kill -9  进程号   杀死进程
ps -aux|grep xxx.php 查看进程 (在不同终端) a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分
netstat -nap|grep 7779 查看其占用的端口
yum install wget wget安装
cp -rf www.xx.com www.xx.con.bak 文件备份

日志文件操作

sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log 根据日期查询日志
 cat -n test.log |grep "debug"   查询关键字的日志tac是倒序查看,是cat单词反写
head -n 10  test.log   查询日志文件中的头10行日志;
 head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;
 tail -100f test.log   实时监控100行日志tail -n  10  test.log   查询日志尾部最后10行的日志; tail -n +10 test.log    查询10行之后的所有日志;
使用more和less命令, 如: cat -n test.log |grep "地形" |more     这样就分页打印了,通过点击空格键翻页
使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:cat -n test.log |grep "地形"  >xxx.txt
日志筛选
你可以使用下面方法去重:
awk -F"," '{print $6 $7}' versionUpgrade_msg.log | sort -n | uniq
下面方法得出数量:
awk -F"," '{print $6 $7}' versionUpgrade_msg.log | sort -n | uniq | wc -l
nginx
 nginx -s reload 重启配置
nginx -t 检测配置文件
nohup命令
nohup php server.php > ./server_log_`date "+%Y-%m-%d"`_.log 2>&1 &  //运行php脚本,输出nohup日志导log文件
jobs -l //查看运行的后台进程(只能在同一个终端)

ftp命令

配置流程:账号-密码-路径

./pureftpd.sh //安装ftp
lnmp ftp add //添加FTP
lnmp ftp list //显示FTP用户
lnmp ftp del //删除FTP
useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test
passwd test //为test用户设置密码
usermod -d /cbbtop //修改用户权限目录
虚拟主机管理(lnmp/lnmpa/lamp)
文件

LNMP默认网站配置文件:/usr/local/nginx/conf/nginx.conf
LNMPA默认网站配置文件:/usr/local/nginx/conf/nginx.conf 和 /usr/local/apache/conf/extra/httpd-vhosts.conf
LAMP默认网站配置文件:/usr/local/apache/conf/extra/httpd-vhosts.conf
命令

lnmp vhost del 删除虚拟主机
lnmp vhost list 查看列表
lnmp vhost add   添加虚拟主机
crontab定时任务
http://www.runoob.com/linux/linux-comm-crontab.html
crontab -l 列出crontab文件
crontab -e 定时任务编辑
crontab -r 删除crontab文件
183.6.116.151:23122 */5 * * * * /home/bcb/app/php7.2.6/bin/php sendTplMsg3.php
minute hour day month week command其中:
minute:表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
*/1 * * * * php /www/wwwroot/resource.daorating.org/curl.php

crontab使用实例


实例1:每1分钟执行一次command命令:* * * * * command
实例2:每小时的第3和第15分钟执行命令:3,15 * * * * command
实例3:在上午8点到11点的第3和第15分钟执行命令:3,15 8-11 * * * command
实例4:每隔两天的上午8点到11点的第3和第15分钟执行命令:3,15 8-11 */2 * * command
实例5:每个星期一的上午8点到11点的第3和第15分钟执行命令:3,15 8-11 * * 1 command
实例6:每晚的21:30重启smb 命令:30 21 * * * /etc/init.d/smb restart
实例7:每月1、10、22日的4 : 45重启smb 命令:45 4 1,10,22 * * /etc/init.d/smb restart
实例8:每周六、周日的1 : 10重启smb命令:10 1 * * 6,0 /etc/init.d/smb restart
实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb 命令:0,30 18-23 * * * /etc/init.d/smb restart
实例10:每星期六的晚上11 : 00 pm重启smb 命令:0 23 * * 6 /etc/init.d/smb restart
实例11:每一小时重启smb 命令:* */1 * * * /etc/init.d/smb restart
实例12:晚上11点到早上7点之间,每隔一小时重启smb 命令:* 23-7/1 * * * /etc/init.d/smb restart
实例13:每月的4号与每周一到周三的11点重启smb 命令:0 11 4 * mon-wed /etc/init.d/smb restart
实例14:一月一号的4点重启smb 命令:0 4 1 jan * /etc/init.d/smb restart实例15:每小时执行/etc/cron.hourly目录内的脚本命令:01 * * * * root run-parts /etc/cron.hourly

ssh使用与命令


安装:yum install ssh
启动:service sshd start
登陆:ssh -p 50022 my@127.0.0.1
修改系统变量(目的:shell脚本可以全局运行)
1.修改vim /etc/profile文件(指定你的脚本所在目录):export PATH=$PATH:/root/sh/shbat
2.重启source /etc/profile
3.执行脚本 xx.sh

php扩展安装


yaf:

https://segmentfault.com/a/1190000012006517
安装:pecl install yaf
检查:php --ri yaf
memcached

1.安装客户端
http://www.runoob.com/memcached/memcached-install.html
yum install memcached
/usr/bin/memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
2.安装扩展
https://blog.csdn.net/u011547570/article/details/78325556
yum install libmemcached libmemcached-devel
pecl install memcached
redis

1.安装redis扩展
http://www.runoob.com/redis/redis-php.html
源码编译安装
$ wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz$ cd phpredis-3.1.4 # 进入 phpredis 目录$ /usr/local/php/bin/phpize # php安装后的路径$ ./configure --with-php-config=/usr/local/php/bin/php-config$ make && make install
修改php.ini文件
vi /usr/local/php/lib/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626" extension=redis.so
2.安装redis服务
http://www.runoob.com/redis/redis-install.html
下载安装
$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz$ tar xzf redis-2.8.17.tar.gz$ cd redis-2.8.17$ make$cd src$make install
具体部请访问:https://www.cnblogs.com/wangchunniu1314/p/6339416.html

文件部署和目录转移:

mkdir -p/usr/local/redis/bin
mkdir -p/usr/local/redis/ect
mv /lamp/redis-3.0.7/redis.conf /usr/local/redis/etc
cd /lamp/redis-3.0.7/src
mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin

修改成后台运行服务

首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)

cd etc/
vi redis.conf
再次启动redis服务,并指定启动服务配置文件

redis-server /usr/local/redis/etc/redis.conf

检查

netstat -tumpl|grep 6379

开机自启动服务

https://blog.csdn.net/gorgeouschou/article/details/79841150
vi /etc/rc.local 
/usr/local/redis/bin/redis-server /usr/local/redis/ect/redis.conf
memcache
安装:https://www.cnblogs.com/flywind/p/6021568.html

喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 818人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表