Linux 常用指令
Linux tips
养成良好的操作习惯,尽量不要使用 root 直接登陆系统,应使用一般帐号登陆系统,有需要再转换身份
系统需正确的关机比较不容易损坏,可使用shutdown, poweroff等指令关机。
了解服务器
- free -m //查看内存
- fdisk -l //查看硬盘使用情况
- df -h //查看磁盘空间占用情况
- iostat -d -x -kl 10 //查看硬盘io性能
- iostat -d -x -k l 5
- du -sh //查看目录文件大小
- w //查看系统负载
- uptime //实时负载
- uname -a //查看版本参数
- uname -r
- lsb_release -a //查看系统内核版本
网络连接情况
-
route -n
-
netstat -r
-
traceroute www.163.com //查询IP地址或域名
-
ifconfig //查看网络连接
-
ping -c 5 www.163.com //ping5次连接
-
netstat //显示网络连接、路由表和接口信息
-
dig sina.com.cn直接查询信息
-
finger 查询用户信息
-
lsof查看端口占用
进程信息
- ps //查看进程
- ps aux //所有进程信息
- top //动态查看
- pgrep Nginx //找出匹配条件进程的PID
- kill // 杀死进程
- last //记录登陆者数据
防火墙相关
- service iptables status 查看防火墙状态
service iptables start 开启防火墙
service iptables stop 关闭防火墙
service iptables restart 重启防火墙 - serivce iptables save //保存设置
- iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP 禁止某IP访问
tcpdump
tcpdump ip host 210.27.48.1 and !210.27.48.2 获得主机210.27.48.1和非。。。通信的ip包
tcpdump tcp port 25 and host 210.27.48.1 获取主机210.27.48.1接受或发出的smtp包
tcpmdump icmp -n -i eth0 查看是否受到dos攻击,截获所有ICMP 包
tcpdump tcp port 25 and host 211.21.211.1 > awstst.txt 生成详细报告
nmap -sS 192.12.12.1-255 -p 21,80 -v 命令行扫描工具,可以记录半连接 TCP SYN 扫描,但要提前告知他人扫描(隐私)
openssh的服务端:sshd
openssh的客户端:ssh
作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的。
ssh -uroot -p -h
SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。
ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提供加密的程序)
ssh -p 50022 my@127.0.0.1 //p后面接端口
pssh --help
可以查看命令参数选项:
-h --hosts hosts file (each line "host[:port] [user]")-l 远程机器的用户名
-p 一次最大允许多少连接
-o 输出内容重定向到一个文件
-e 执行错误重定向到一个文件
-t 设置命令执行的超时时间
-A 提示输入密码并且把密码传递给ssh(注意这个参数添加后只是提示作用,随便输入或者不输入直接回车都可以,可以结合sshpass -p password使用)
-O 设置ssh参数的具体配置,参照ssh_config配置文件
-x 传递多个SSH 命令,多个命令用空格分开,用引号括起来
-X 同-x 但是一次只能传递一个命令
-i 显示标准输出和标准错误在每台host执行完毕后
-I 读取每个输入命令,并传递给ssh进程 允许命令脚本传送到标准输入
shell
echo 打印输出
type 判断命令的来源
Bash 一共提供八种扩展。
- 波浪线扩展
-
?
字符扩展 -
*
字符扩展 - 方括号扩展
- 大括号扩展
- 变量扩展
- 子命令扩展
- 算术扩展