给私钥设置密码
ssh-keygen -p -f ~/.ssh/id_rsa # 不输入新密码直接回车可清除密码
从私钥中导出公钥
openssl rsa -in mykey.pem -pubout > mykey.pub ssh-keygen -y -f mykey.pem > mykey.pub # 提取用于OpenSSH的公钥 ssh-keygen -y -f id_rsa > id_rsa.pub # -y This option will read a private OpenSSH format file and print an OpenSSH public key to stdout.
安装公钥到远程主机
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@upall.cn # 将 id_rsa.pub 的内容添加到远程主机的 ~/.ssh/authorized_keys 中 # 如需删除公钥请手动编辑远程主机的 authorized_keys 文件
统计代码行数
find ~/projects/ -type f -name "*[.js|.css|.vue|.less|.styl|.php]" | xargs cat | wc -l
查看服务启动耗时
systemd-analyze blame
10.493s network.service 3.565s mariadb.service 1.161s postfix.service 463ms firewalld.service 461ms tuned.service 319ms systemd-logind.service 295ms rhel-dmesg.service 295ms rc-local.service 294ms systemd-user-sessions.service 292ms rsyslog.service
查看开机启动项
systemctl list-unit-files --type=service | grep enabled
firewalld.service enabled mariadb.service enabled nginx.service enabled ntpd.service enabled php-fpm.service enabled sshd.service enabled tomcat.service enabled vsftpd.service enabled
将服务“放入回收站”
systemctl mask bluetooth.service
stop 和 disable 的服务会被重新启用,不想要这个服务而又不放心删除时可以如上操作。
查看 header 头信息
curl -I https://upall.cn/
HTTP/1.1 200 OK Server: nginx Date: Sat, 09 Sep 2017 08:54:57 GMT Content-Type: text/html Connection: keep-alive Vary: Accept-Encoding X-Powered-By: ASP.NET
分别单独压缩当前目录中的子目录,并以子目录的名字命名其压缩文件
for f in ./*;do if [ -d $f ]; then tar -zcvf $f.tgz $f; fi; done
更改MAC地址
#临时: ~$ sudo ip link set dev eth0 address 00:00:00:00:00:01 #永久: #file: /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 MACADDR=00:00:00:00:00:0
查看系统是32位还是64位的方法
[upall@svr ~]$ getconf LONG_BIT 32 [upall@svr ~]$ getconf LONG_BIT 64
显示剩余内存(MB)
free -m | grep cache | awk '/[0-9]/{ print $4" MB" }'
统计 php-fpm 进程总数
ps -e | grep php-fpm | wc -l # top工具按内容占用量排序按M键,按CPU排序按P键(M和P都是大写)
在bash历史记录里禁止记录最后一次会话
kill -9 $$
整站下载器
wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs
清屏
printf "\033c"
修改时区为东8区、上海
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改主机名称
#需要改下边这两个文件: vim /etc/hosts vim /etc/sysconfig/network
查看服务器每IP的连接数,用于检测DDOS
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 2 199.87.229.20 3 120.43.25.94 3 218.30.103.142 3 61.135.169.47 4 110.81.18.140 8 59.58.136.94 20 192.151.148.226 47 219.157.16.254
T人,把其他人从服务器中踢出去
w #查看谁在线 15:44:27 up 22 days, 7:16, 1 user, load average: 0.02, 0.09, 0.10 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.161.177.103 15:40 0.00s 0.03s 0.00s w pkill -KILL -t pts/0 #踢了这个终端(现在是T自己,^_^)
修改文件的时间戳
touch -c -t 0801010800 filename.c #将文件的时间戳设定为2008-01-01 8:00,格式为(YYMMDDhhmm)。
批量将 .conf 文件重命名为 .conf.bak
cd /etc/httpd/webSite/ for i in $(ls *.conf);do mv $i ${i/.conf/.conf.bak};done # 因使用了ls命令,注意当前目录问题
一键安装Apache+PHP+MySQL
yum -y install httpd php mysql mysql-server php-mysql httpd-manual \ mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring \ php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
一键安装 Nginx + PHP-FPM + PHP + MySQL
yum -y install nginx mysql-server php-fpm php-cli php-pdo php-mysql php-mbstring php-gd
安装 Mariadb
yum install mariadb mariadb-server systemctl start mariadb // 启动mariadb systemctl enable mariadb // 开机自启动 mysql_secure_installation // 初始化:设置root密码,删除test库,禁止root远程登录 等等 mysql -uroot -p123456 // 测试
/etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1
添加用户并设置密码
useradd -s /bin/nologin -m -d /var/www/website/new_user_name -g newUserGroupName newUserName echo `pwdBuilder newUserName`| passwd newUserName --stdin # 添加一个网站的用户,禁止登录,家目录为网站根目录,根据pwdBuilder计算密码
查看当前目录下的一级目录个数
ls -l |grep "^d"|wc -l
vi 删除空行
:g/^s*$/d # Dreamweaver可以将“\r\n\s*\r\n”以正则方式替换为“\r\n”
按文件名称查找文件
find ./ -type f | grep -sni "dragf.php" --color=always
按修改时间范围查找文件
find . -type f -newermt '2017-10-01 00:00:00' ! -newermt '2017-10-08 23:59:59'
找出/home/user下所有空子目录
find /home/user -maxdepth 1 -type d -empty
查找目录中的文件中所含有指定字符串的文件
find ./ -name '*.conf' | xargs grep -in "baidu.com.demo.upall.cn" --color=always # 注:“baidu.com.demo.upall.cn” 是要查找的字符串 # 这个命令用于在大批的配置文件中快速定位到某域名的配置文件名称,因为: # 因特殊原因导致该用户的配置文件名不符合规则或一个配置文件中有多个不相似的域名 # i:不区分大小写 # n:显示所在行号
将文件中的关键字替换为其它字符
find . -type f | xargs sed -i 's/oldString/newString/g'
查看单个文件(或文件夹)大小
du -sh /var/log/
查看文件夹中各文件夹、文件的大小(区分哪个文件夹最大)
du -h --max-depth=1 /var/log/
删除源码中的^M
:%s/^M$//g #注意:^M的输入方式,Ctrl+V+M
批量去除include及其下文件的写权限
find /var/www -type d -name "include" -print0 | xargs -0 chmod ugo-w -R # 去除执行权限可以看这篇文章:/?p=697
查找当前文件夹中包含字符串“fsockopen”的所有文件
其实查找“udp://$”的话会精准一些,当然也要看实际情况,^_^。
find ./ -type f | xargs grep -sni "fsockopen" --color=always # 或者(下边这行帮助理解“-sni”参数) find ./ -type f | xargs grep --silent --line-number --ignore-case "fsockopen" --color=always # 如果找出的文件全部可以删除的话,可以用下边这条命令来删除: find ./ -type f | xargs grep -lsi "fsockopen" | xargs rm # 查找WebShell时可以用下边这行: find ./ -iname "*.php" | xargs grep -H -n "eval(base64_decode" # 分享几个ddos脚本的“特征码”: #eval($_POST[ #eval($_GET[ #$_POST['port'] #$_GET['port']; #set_time_limit(0); #set_time_limit(999999); #65535 #while(1) #fsockopen("tcp:// #fsockopen("udp:// #packets/s ##日志: #Timeoit.php?port=53&time=20&host=183.001.002.129 #Timeois.php?port=53&time=10&host=122.001.0.222
查看域名的MX记录是否生效
[upall@linux ~]$ host -t mx upall.cn upall.cn mail is handled by 10 mx.upall.cn. # 如果 command not found 就 yum install bind-utils
列出所有网站文件夹中 zip 的文件,并显示其大小
经常会在服务器上下载一些源码包或者打包一些备份文件之后忘记删除,这个命令可以找出它们。
find /www/ -type f -name "*.zip" -print0 | xargs -0 du -h
删除用户及其文件(删除用户登入目录以及目录中所有文件)
userdel -r upall
查看指定端口运行的程序
# 查看3428端口运行的程序: lsof -i :3428 # 关闭进程可以(9是终止信号等级): killall -9 firefox
修改 /etc/aliases 后更新 /etc/aliases.db 数据库
newaliases
禁用停用锁定用户、恢复启用用户
passwd -l upall #禁用用户upall passwd -u upall #启用用户upall
清除UTF-8中的BOM头
grep -r $'\xEF\xBB\xBF' * |grep .php #或者直接配置vim:set nobomb
CentOS yum安装Apache + PHP + MySQL + Tomcat
#yum -y install httpd php mysql mysql-server php-mysql httpd-manual \ mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring \ php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
替换MySQL字段中的字符串
UPDATE `tableName` SET `fieldName` = replace (`fieldName`,'fromString','toString') WHERE `fieldName` LIKE '%fromString%'; - tableName 表的名字 - fieldName 字段名 - fromString 需要替换的字符串 - toString 替换成的字符串
将文件复制到符合规则的目录中(一个文件到多个目录)
# 复制文件到路径中包含“base/images”的目录中: find . -type d -print | grep "/base/images" | awk '{print $1}' | xargs -I % cp ./logo.gif % # 复制文件到所有目录中: find . -type d -exec cp ./logo.gif {} \; # 复制文件到路径中包含“images”的目录中(name参数值不能有“/”,若有则需要“grep来配合”): find . -type d -name "images" -exec cp ./logo.gif {} \;
Windwos命令提示符批量重命名
:: 改后缀 ren *.html *.php :: .目录中文件加前缀 for /f %i in ('dir /b *.psd') do ren %i 首页_%i :: .及子目录中文件加后缀 for /f %i in ('dir /a:-d /s /b') do ren %i %i.bak
CentOS 7.3 安装五笔输入法
sudo yum install ibus-table-wibi # 自带 ibus-pinyin,命令自动转换为 ibus-table-wibi-jidian(极点五笔) # 安装后需要注销,添加:设置-区域和语言
<完>
if(window.localStorage){
var 剩余空间 = 1024 * 1024 * 5 – unescape(encodeURIComponent(JSON.stringify(localStorage))).length;
alert(剩余空间);
}
北街博客到此一游~