SSH (CentOS)常用命令集合

hykeda7年前服务器293

SSH (CentOS)

系统

功能 命令 --help 示例
关机 halt halt
重启 reboot reboot
系统监视器 top 系统时间, 运行天数, 当前登录用户数, 系统负载 总进程数, 运行中的, 睡眠的, 停止的, 未响应的 Cpu(s):us 用户, sy 系统, ni XX, id 空闲, wa 等待, hi XX, si XX Mem, 已使用, 空余, 缓冲 Swap, 已使用, 空余, 缓冲 快捷键: M 按占内存排序 P 按占Cpu排序 1 显示每个 Cpu k 杀死进程 q 退出 top
查看内存及 Swap 用量 free -b,-k,-m,-g 按单位显示 free -m
查看系统时间 date    显示 CST 时间 -R 显示时区 -u 显示 UTC 时间 date
查看硬件时间 clock clock
设置系统日期 date -s 月/日/年
设置系统时间 date -s 时:分:秒
将系统时间写入到硬件时间 clock -w
查看系统版本 cat /etc/*release
升级系统软件 yum update -y

文件

功能 命令 --help 示例
进入目录 cd cd .. # 上一层目录 cd /root # 根目录
列出目录 ls 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件 红色:表示压缩文件 浅蓝色:链接文件 红色闪烁:表示链接的文件有问题 黄色:表示设备文件 灰色:表示其他文件 ls
创建目录 mkdir mkdir XXX
删除目录 rm rm -rf XXX
删除文件 rm rm XXX
复制文件 cp cp XXX YYY
复制目录 cp -r 复制目录及目录内的所有项目 -v 详细显示进行的步骤 cp -rv XXX YYY
重命名文件 mv -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件; -f: 在mv操作要覆盖某已有的目标文件时不给任何指示; mv 源文件 目标文件
移动文件 mv mv 一个或多个文件 目标目录
下载文件 wget 下载到当前目录 wget http://XXX.tar.gz
计算文件/目录的磁盘用量 du -a 不仅显示目录,同时显示文件 -h 容易阅读方式显示 --max-depth=N 可指定计算深度 du -ah --max-depth=1 | sort -n
查找文件 find find /home -name *.apk

tar

功能 命令 --help 示例
tar tar -z 是否压缩 -c 打包 -x 解包 -v 详细地列出处理的文件 -f 打包:tar -cvf abc.tar abc 解包:tar -xvf abc.tar 压缩打包:tar -zcvf abc.tar.gz abc 解压解包:tar -zxvf abc.tar.gz

磁盘

功能 命令 --help 示例
查看所有磁盘及分区 fdisk -l fdisk -l
管理磁盘分区 fdisk /dev/*** 进入后的操作说明: m 显示命令菜单 d 删除一个分区 n 创建一个分区(e 扩展分区;p 主分区) t 改变分区ID q 不保存退出 w 保存退出 fdisk /dev/sda
格式化分区 mkfs.*** /dev/***N mkfs.ext4 /dev/sda1
挂载分区 mount /dev/***N /*** mount /dev/sda1 /home1
卸载分区 umount /dev/***N umount /dev/sda1
开机自动挂载 vi /etc/fstab 配置文档格式:设备 挂载点 文件系统类型 defaults 0 0 vi /etc/fstab
查看当前挂载 df -h 按可阅读的方式打印数值和单位 -T 显示文件系统类型 df -hT

网络

功能 命令 --help 示例
查看 IP 配置 ifconfig ifconfig
配置网卡 IP 配置文件目录:/etc/sysconfig/network-scripts/ 配置文件格式: DEVICE=eth0 / eth0:0 / ... # 在配置多线时若使用 cp 命令复制配置文件,必须修改此项以防止冲突 HWADDR=XX:XX:XX:XX:XX:XX # 网卡地址 TYPE=Ethernet # 以太网 UUID=******** ONBOOT=yes # 开机启动 NM_CONTROLLED=yes BOOTPROTO=static # 使用静态 IP IPADDR=192.168.1.2 # IP 地址 NETMASK=255.255.255.XXX # 子网掩码 GATEWAY=192.168.1.1 # 网关 DNS1=114.114.114.114 DNS2=8.8.8.8 vi ifcfg-XXXN(:N)
重启网卡 使配置生效 service network restart
注:虚拟机安装centos后无法上网解决方案:将ONBOOT=no改为ONBOOT=yes

防火墙

功能 命令 --help 示例
配置 iptables 添加需要允许的端口的方法同 22 端口 vi /etc/sysconfig/iptables
重启使配置生效 service iptables restart

用户/权限

功能 命令 --help 示例
添加用户组 groupadd groupadd 组名
添加用户 useradd -g 组名 # 加入到该组 -s /bin/false #不允用户直接登录系统 useradd –g 组名 用户名 -s /bin/false
修改密码 passwd passwd
更改文件/目录所有者 chown -R 递归处理所有的文件及子目录 chown -R 用户:组 ***
更改文件/目录权限 chmod -R 以递归方式更改所有的文件及子目录 chmod -R 777 ***

vi 编辑器

功能 命令 --help 示例
打开文件 vi vi XXX
进入编辑模式 按 a/i/o/Insert 等
进入末行模式/命令模式 按 Esc后: :w 保存不退出 :q 退出(提示是否保存) :wq 保存并退出 :w XXX 另存到文件 XXX :q! 不保存退出

计划任务

功能 命令 --help 示例
设置计划任务 crontab 详细步骤见本页底部 crontab -l # 查看计划任务 crontab -e # 编辑计划任务

网站

功能 命令 --help 示例
简单审查日志 cat | grep cat 日志文件 | grep 关键词1 | grep 关键词2 | more
日志分析 goaccess 见下文

goaccess

功能 命令 --help 示例
安装 yum install goaccess
日志格式 NCSA Commbined Log Format date_format %d/%b/%Y log_format %h %^[%d:%^] "%r" %s %b "%R" "%u"
参数 -f 需要解析的日志文件
参数 -e 指定 IP 地址统计
参数 -p 指定配置文件 可以将上面的日志格式内容保存到文件 ~/.goacessrc
参数 -H 显示 HTTP 协议信息
参数 -M 显示 HTTP 方法信息
生成文件 goaccess -f 日志文件 -p ~/.goaccessrc > 目标文件.htm

lnmp

功能 命令 --help 示例
重启 LNMP /root/lnmp restart
重启 MySQL /etc/init.d/mysql restart
重启 PureFTPd /root/pureftpd restart
安装 LNMP http://lnmp.org/install.html
常见问题 http://lnmp.org/faq.html
状态管理命令 http://lnmp.org/faq/lnmp-status-manager.html
相关软件目录及文件位置 http://lnmp.org/faq/lnmp-software-list.html
防跨站、跨目录安全设置(仅支持 PHP 5.3.3 以上版本) http://www.vpser.net/security/lnmp-cross-site-corss-dir-security.html
查看 Nginx 版本 nginx -V
查看 MySQL 版本 mysql -V
查看 PNP 版本 php -v
查看 Apache 版本 httpd -v
查内存 cat /proc/meminfo
php.ini vim /usr/local/php/etc/php.ini
MySQL 配置文件 vim /etc/my.cnf
添加网站 /root/vhost.sh
添加 ProFTPd 用户 /root/proftpd_vhost.sh

nginx

功能 命令 --help 示例
启动/停止/重启 service nginx 或 /etc/rc.d/init.d/nginx service nginx start service nginx stop service nginx restart
伪静态 在 .conf 文件中配置 rewrite ^(.*)/read-htm-(.*)\.html(.*)$ $1/read.php?$2.html? last; rewrite ^(.*)/thread-htm-(.*)\.html(.*)$ $1/thread.php?$2.html? last; rewrite ^(.*)-htm-(.*)$ $1.php?$2 last; rewrite ^(.*)/simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2 last; rewrite ^(.*)/data/(.*)\.(htm|php)$ 404.html last; rewrite ^(.*)/attachment/(.*)\.(htm|php)$ 404.html last; rewrite ^(.*)/html/(.*)\.(htm|php)$ 404.html last;
防盗链 在 .conf 文件中配置 HttpRefererModule location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked *.0574bbs.com *.eyuyao.com 0574bbs.com eyuyao.com; if ($invalid_referer) { rewrite ^/ http://web1.eyuyao.com/yyad/src/3122.jpg; # return 404; } }
浏览器缓存 在 .conf 文件中配置 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; }

vsftpd

功能 命令 --help 示例
安装 yum install vsftpd
查看是否已安装 rpm -q vsftpd
启动/停止/重启 service vsftpd service vsftpd start service vsftpd stop service vsftpd restart
配置文件 vi /etc/vsftpd/vsftpd.conf

MySQL

功能 命令 --help 示例
登录 mysql mysql -u username -p
登出 exit
查看信息 status;
查询当前正在执行的 SQL 语句 show processlist;
删除指定时间之前的日志 PURGE PURGE MASTER LOGS BEFORE '2015-1-1 0:00:00';

scp 远程文件/目录传输命令 (yum install openssh-clients) 用法

功能 命令 --help 示例
若远程服务器 SSH 端口非默认 scp -P 端口号
下载远程服务器上的文件到本地 scp scp 远程用户@远程服务器:远程文件 本地文件
下载远程服务器上的目录到本地 scp
示例 最终目录结构
scp -r root@x.x.x.x:/home/wwwroot/ /home/ /home/wwwroot/
scp -r root@x.x.x.x:/home/wwwroot/ /home/wwwroot/ /home/wwwroot/wwwroot/
scp -r root@x.x.x.x:/home/wwwroot/www.*.com/ /home/wwwroot/ /home/wwwroot/www.*.com/
scp -r 远程用户@远程服务器:远程目录 本地目录
本地文件上传到远程服务器 scp scp 本地文件 远程用户@远程服务器:远程文件
本地目录上传到远程服务器 scp 最终目录结构参:远程->本地 scp -r 本地目录 远程用户@远程服务器:远程目录

ftp 客户端 (yum install ftp)

功能 命令 --help 示例
登录 ftp ftp 目标服务器
列出远程当前路径目录/文件 ls ls
创建远程目录 mkdir mkdir 目录名
删除远程目录(空) rmrmdir mkdir 目录名
进入远程目录 cd cd 目录名
显示远程当前路径 pwd pwd
重命名远程文件 rename rename 原文件名 新文件名
上传文件 put put 本地文件名
下载文件 get get 远程文件名
批量下载文件 mget 需要单个确认
批量下载文件【lftp】 mirror 参数有很多 mirror
返回 shell(不退出) ! !
返回 ftp(接上步) exit ftp exit ftp
结束 bye quit bye quit

iftop

流量监控工具 教程

GoAccess

实时网站日志分析工具 官网

Cacti

网络流量监测图形分析工具 官网 百科

常见问题笔记

加硬盘

  • 插入新硬盘
  • 若有 RAID,则先设置,使操作系统能认到硬盘
  • 使用 fdisk 命令对新设备进行分区
  • 使用 mkfs 命令对新分区进行格式化
  • 使用 mount 命令进行挂载
  • 设置开机自动挂载(vi /etc/fstab)

更改 MySQL 数据库目录位置

  • 停止 MySQL 服务
  • 将原数据目录转移或复制到新位置(若是复制,则修改所有者使原来一致)
  • 找到 my.cnf 配置文件(一般在 /etc/),修改 datadir 值为新路径
  • 启动 MySQL 服务

502 Bad Gateway 问题排查

  • 查看 PHP 日志,路径:/usr/local/php/var/log
  • 一般为“server reached pm.max_children setting (10), consider raising it”连接数问题,在“/usr/local/php/etc”下的所有配置文件中查找并修改相关设置即可(如改成 1000)。

计划任务(实例:定时备份数据库并通过 FTP 同步至其它服务器)

  • 创建可执行文件:vi dotask.sh
  • dotask.sh 的内容示例:
    DATE_TIME=`date +%Y_%m_%d_%H%M%S`; FILE_NAME=数据库名_backup_$DATE_TIME.sql; cd /home/mysqlbackup/; mysqldump -u数据库用户名 -p数据库密码 数据库名>$FILE_NAME; tar -zcf $FILE_NAME.tar.gz $FILE_NAME; rm $FILE_NAME;ftp -v -n FTP地址 << END user FTP用户名 FTP密码 bin put 本地目录文件 目标路径文件 bye END
    文件名乱码问题可以在行末加“;”来解决
  • 赋予执行权限:chmod 777 dotask.sh (ls 命令时呈绿色)
  • 编辑计划任务:crontab -e
  • crontab 书写规则:
    # 分 时 日 月 周 文件路径 0 3 * * * /home/dotask.sh 30 4 * * * /home/dotask2.sh
    更多帮助
  • 重启 crond:/etc/init.d/crond restart

netstat

  • netstat -an | grep xxx.xxx.xxx.xxx 可查看此 IP 的 TCP 请求及端
本文转载自 :xoyozo.net
标签: centoslamp

相关文章

git抓去远程仓库报错can’t be established.

个人在码云(git一样)上面创建了仓库,通过本地的git拉取远程仓库到本地报错 The authenticity of host ‘github.com (13.229.188.59)’ can’t...

AB压力测试工具安装及测试

AB压力测试工具安装及测试

ab全称为:apache bench ab是Apache超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个...

shell脚本初学者注意点

我是shell脚本初学者,在试着写脚本的时候各种不适应。出现摸不着头脑的错误。现在写一些小经验: 首先shell脚本中不要出现空行,不然终端会提示: command not found 使...

Linux 挂载硬盘

检查目前硬盘状态:fdisk -l 关机并插入新硬盘 对新硬盘分区:fdisk /dev/sdb (假设新硬盘为sdb) m    显示命令菜单 d    删除一个分区 n    创...

如何部署自己的HTTPS网站

如何部署自己的HTTPS网站

根据苹果相关通知,从2017年1月1日起,所有上架AppStore的应用必须支持https协议。 仍然采用HTTP传输的站点APP,将无法在AppStore被用户下载使用,也无法进行升级更新等工作。...

apache、nginx禁止网站某个目录下面执行php文件

apache: 在网站根目录的.htaccess文件中加入最后一句: <IfModule mod_rewrite.c> Options +FollowSy...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。