首页 » 工作 » 正文

Linux 服务器维护相关常用命令集合(已收集40条)

发布者:某某人
2012/07/9 浏览数(6,774) 分类:工作 评论(2)

查看服务启动耗时

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都是大写)

找出/home/user下所有空子目录

find /home/user -maxdepth 1 -type d -empty

在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 ./ -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(极点五笔)
# 安装后需要注销,添加:设置-区域和语言

<完>

当前有2条留言

  1. if(window.localStorage){
    var 剩余空间 = 1024 * 1024 * 5 – unescape(encodeURIComponent(JSON.stringify(localStorage))).length;
    alert(剩余空间);
    }

    [回复]
  2. 北街博客到此一游~

    [回复]

发表评论

你好,有什么需要帮助吗?
  1. 需要留言?
  2. 联系方式?