index

cate

嫌 OSS 查询太慢?看我们如何将速度提升 10 倍

百分点大规模文件存储 OSS 技术与实践

如何搭建自己的gitlab服务


Introduction to Firewalld Basics

TCP协议中的三次握手和四次挥手(图解)

Socket 11种状态

Linux下配置Apache最大连接数

VPSer Linux Software Download Center

Linux下tmpfs介绍及使用

关闭在线用户
echo "I will kill yout" > /dev/pts/21
fuser -k /dev/pts/21

列出端口监听状态及进程
netstat -natp

当前主机监听端口
nmap localhost

探测目标主机操作系统
nmap -O 2.158.18.2
nmap -A 2.158.18.2

查看端口占用情况
lsof -i:8082

列表用户进程
ps -u www

启动文件:w
/etc/profile
/root/.bash profile
/etc/bashrc
/root/.bashrc
/etc/profile.d/*.sh
/etc/profile.d/lang.sh
/etc/sysconfig/i18n
/etc/rc.local (/etc/rc.d/rc.local)

lsof
列出打开了的文件。
> lsof rumenz.txt 显示开启文件rumenz.txt的进程
> lsof -c nginx 显示出以字母nginx开头进程现在打开的文件
> lsof -p 1234 列出进程号为1234的进程所打开的文件
> lsof -g gname/gid 显示归属gname或gid的进程情况
> lsof -u uname/uid 显示归属uname或uid的进程情况
> lsof +d /usr/local/ 显示目录下被进程开启的文件
> lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
> lsof -d 4 显示使用fd为4的进程
> lsof -i 用以显示符合条件的进程情况


查看所有进程启动状态
systemctl list-units --type=service
systemctl list-units --type=service --all

查看系统日志
journalctl 
journalctl -u nginx.service

查看启动脚本
ls /etc/init.d/
ls /etc/rc.d/

[[设置开机启动服务]]
systemctl enable tinyproxy
systemctl disable tinyproxy

防止关键文件被修改:
chattr +i authorized_keys

#清理日志,保留10M
journalctl --vacuum-size=10M
保留一周日志
journalctl --vacuum-time=1w

uname -a
cat /proc/version
netstat -lntp   查看监听端口
netstat -antp   查看网络连接
ps -ef          查看所有进程
iptables -L

cat /proc/cpuinfo
cat /proc/meminfo
free -m
清理缓存
sync
sleep 10
echo 3 > /proc/sys/vm/drop_caches
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
修改yum源站点配置:vi /etc/yum.repos.d/CentOS-Base.repo
注释mirrorlist, 修改
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/os/x86_64/

修改DNS置
vi /etc/resolv.conf
换成8.8.8.8和8.8.4.4
ps -ef | grep uwsgi
-e : envi
-f : full
kill -9 pid
注意ppid

find . -name '*.html' | xargs sed -i 's/leave_v.php/leave_v_place.php/'

Linux nohup用法

nohup

&
1.后台运行,输出默认到屏幕
2.免疫SIGINT信号,比如Ctrl+c不会杀死程序
3.响应SIGHUP信号,关闭session发送SIGHUP信号,程序关闭
4.通过jobs和fg重新转到前台运行

nohup
1.不挂断运行,输出默认到$HOME/nohup.out文件,忽略输入
2.免疫SIGHUP信号,比如关闭session后不会杀死程序
3.响应SIGINT信号,Ctrl+c可以关闭程序


ctrl_z: 进程进入后台运行
jobs : 查看进程
fg 3 : 后台进程转入前台

目录

2019-03-10

日常维护

du -sh * | sort -h

install -y net-tool  安装netstat

$ tmpwatch 24 /tmp/     #删除/tmp目录中超过一天未使用的文件

显示错误日志最后20行
tail /var/log/secure -n 20

mount /dev/sr0 /mnt/cdrom
umount /mnt/cdrom

不能创建新目录
centOS7 Read-only file system:
mount -o remount,rw /

lnmp安装

下载安装包:
wget http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz

安装:
1、解压tar -xvf lnmp1.2-full.tar.gz ;
2、进入 源码目录cd lnmp1.2-full/
3、执行./install.sh开始配置,
   配置完提示Press any key to install...or Press Ctrl+c to cancel,
   回车后自动编译安装,过程比较漫长,好好等待;
4、安装完成,等待了很久

2020-06-08

Fiddler的安装与使用

fiddler配置及使用教程

PC端安装https证书:
Tools > Options > HTTPS > Decrypt HTTPS traffic option.

手机监听:
Tools > Options >Connections > Allow remote computers to connect
设置手机wifi代理:
192.168.31.176 : 8888
手机浏览器安装证书,打开网址:192.168.31.176:8888

ctrl+x
set filter:
*.szdute.cn
*.dutenews.com

cls
?dutenews
>5000
=200
@news

linux面试题(英文版)

跟着动画学习TCP三次握手和四次挥手

使用wireshark抓包工具查看三次握手

用 Wireshark 图解:TCP 三次握手

使用wireshark抓取解密https包

破解SSL加密网络数据包的方法

使用wireshark常用的过滤命令

wireshark过滤命令

http.host contains alipay.com
tcp or udp
tcp and tcp.port==80
ip.src==191.168.1.1 and tcp contains "GET"
http.request.method=="POST" && http contains "Host"
tcp.port=1863 || tcp.port==80
http.request.uri matches ".gif$"
http.request.uri contains ".gif"
tcp contains ff:53:4d:42
tcp[24:4] = ff:53:4d:42             从TCP头部的位置开始匹配
eth.addr[0:3] = 00:1e:4f            搜索MAC地址前三个字符为00:1e:4f

安装fileinfo扩展

从lnmp安装包
cd lnmp1.4/src/php-5.6.31/ext/fileinfo
/usr/local/php/bin/phpize,得到数据
./configure -with-php-config=/usr/local/php/bin/php-config
make && make install 

vim /usr/local/php/etc/php.ini
添加上extension=fileinfo.so 
打开disable_functions=proc_open项
重启就可以了。

Linux下一个网卡如何绑定多个IP

网卡绑定多个IP

vim /etc/sysconfig/network-scripts/ifcfg-eth0

which命令

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

whereis命令只能用于程序名的搜索,如果省略参数,则返回所有信息。
-b : 只找二进制文件 
-m : 只找在说明文件manual路径下的文件 
-s : 只找source源文件 
-u : 没有说明文档的文件 

configure&make&make install

/configure --prefix  --with;其中--prefix指的是安装路径,--with指的是安装本文件所依赖的库文件

--with-apxs 是指定 apache 的配置程序路径,php编译程序会通过这个程序查找apache的相关路径

--with-libxml-dir 指向的是 libxml 的库路径

--with-gd 指静态编译gd库

--with-png-dir 指定 libpng 的路径

不指定prefix,则可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share。

linux监控

nmon下载

nmon使用方法

CentOS 7 开放防火墙80,3306等端口命令

CentOS7命令

hostnamectl set-hostname hkcd_av    更改主机名
reboot

last            会读取位于/var/log/wtmp的文件
lastb           读取位于/var/log/btmp的文件
last reboot
last -a         登入系统的主机ip显示在最后一行;
last -d         将IP地址转换成主机名称
last -x         显示系统关机,重新开机,以及执行等级的改变等信息

history 10      最近10条命令
history | more
cat /var/log/message | more

CentOS 7.2 yum安装LAMP环境

CentOS7.0安装Apache服务器httpd

crontab

#yum install crontabs
#systemctl restart crond.service
#systemctl enable crond.service
#chkconfig –-level 35 crond on

/etc/cron.deny   不允许使用crontab命令的用户
/etc/cron.allow  允许使用crontab命令的用户

/etc/crontab设置
minute hour day month dayofweek command

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
斜杠(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

* */1 * * * /etc/init.d/smb restart         每一小时重启smb
* 23-7/1 * * * /etc/init.d/smb restart      晚上11点到早上7点之间,每隔一小时重启smb 
0 4 1 jan * /etc/init.d/smb restart         一月一号的4点重启smb 
01 * * * * root run-parts /etc/cron.hourly  每小时执行/etc/cron.hourly目录内的脚本

centos7 常用命令

看所有网卡IP地址——ip addr

启动防火墙——systemctl start firewalld.service

停止防火墙——systemctl stop firewalld.service

查看firewalld防火墙状态——firewall-cmd --state

禁止防火墙开机启动——systemctl disable firewalld.service

列出正在运行的服务状态——systemctl

启动一个服务——systemctl start postfix.service

关闭一个服务——systemctl stop postfix.service

重启一个服务:——systemctl restart postfix.service

显示一个服务的状态——systemctl status postfix.service

在开机时启用一个服务——systemctl enable postfix.service

在开机时禁用一个服务——systemctl disable postfix.service

查看服务是否开机启动——systemctl is-enabled postfix.service;echo $?

查看已启动的服务列表——systemctl list-unit-files|grep enabled

设置系统默认启动运行级别3——ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

设置系统默认启动运行级别5——ln -sf/lib/systemd/system/graphical.target/etc/systemd/system/default.target

webssh

iOS和Android上的ssh客户端

iOS 上最好的 SSH 客戶端Prompt

webssh开源平台
WebSSH is a simple web project which support login linux server with explorer

1.终端展示
使用了github开源项目 term.js,这是个很赞的项目,因为在刚开始写的时候你会发现linux返回的很多内容带有特殊字符,需要穷举处理,而这里正好有一个框架帮你做了这些复杂的操作

2.长连接
这里使用了websocket,因为类似top这样的监控命令需要服务器定时推送

3.ssh登录
使用第三方paramiko库来支持server的加密登录

4.tornado框架
使用python的web框架tornado

linux各文件夹的作用

apache查看路径
httd -V

linux下的文件结构,看看每个文件夹都是干吗用的
/bin 二进制可执行命令 
/dev 设备特殊文件 
/etc 系统管理和配置文件 
/etc/rc.d 启动的配置文件和脚本 
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 
/tmp 公用的临时文件存储点 
/root 系统管理员的主目录(呵呵,特权阶级) 
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。 
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。 
/var 某些大文件的溢出区,比方说各种服务的日志文件 
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含: 
/usr/x11r6 存放x window的目录 
/usr/bin 众多的应用程序 
/usr/sbin 超级用户的一些管理程序 
/usr/doc linux文档 
/usr/include linux下开发和编译应用程序所需要的头文件 
/usr/lib 常用的动态链接库和软件包的配置文件 
/usr/man 帮助文档 
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 
/usr/local/bin 本地增加的命令 
/usr/local/lib 本地增加的库

2017-10-26

jhead处理jpg头信息(源码)

日常维护

Linux中&、jobs、fg、bg等命令的使用方法
.&			放到后台执行
ctrl + z	放到后台,并且暂停
jobs		查看后台运行的命令
fg %num		将后台中的命令调至前台继续运行
bg %num		后台暂停的命令,变成继续执行

检查错误日志情况,tail -f logs/error_log

空格目录 live555
cd \ live555

linux下可执行文件,如果是在/bin或者/usr/bin里头,就直接敲文件名就可以运行.
在其它目录,运行    ./time

ln命令:
软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,
硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,
无论是软链接还是硬链接,文件都保持同步变化。

source FileName		当前bash中执行
. FileName			等效
sh FileName			打开一个子shell执行
./FileName			打开一个子shell执行,需要执行权限
export s=/jboss/	当前bash中创建环境变量

查看硬盘大小及剩余空间命令 
df -h
查看当前文件夹大小
du -ch|grep total
查看大文件
find . -size +2000k
查看内存大小及缓存多少命令:
free -m
释放缓存,使用一组共三条命令:
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

ping ip  <http:ip>
telnet ip 443 <https:ip 443端口>
telnet 54.125.239.50 443

磁盘清理方法

配置文件路径

php -r "phpinfo();" | grep php.ini
service php-fpm restart

whereis nginx

linux中快速清空文件内容的几种方法

$ : > filename 
$ > filename 
$ echo "" > filename 
$ echo > filename 
$ cat /dev/null > filename

系统关机

shutdown -h now     立即关机
shutdown -r now     立即重启,now不能省略
shutdown -h +5      定时5分钟关机
shutdown -h 20:13   在20:13关闭计算机