查询进程信息
- ps -aux
- ps -le
- pstree 进程树
- pstree -p 显示进程PID
- pstree -u 显示进程所属用户
查看当前网络状态
- netstat -ntlp | grep httpd 查询httpd的端口信息
- netstat -atnp | grep httpd
- netstat -atnp | grep 80 查看端口
远程连接工具
- scp //安全拷贝
- scp filename/dir1 user@远程服务器ip:dir2 (冒号和IP之间没有空格)
- 如果需要拷贝目录的话可以加-r指令
SSH无密码登录和ssh常用命令
第一步:在本地机器上使用ssh-keygen产生公钥私钥对
- $ ssh-keygen
第二步:用ssh-copy-id将公钥复制到远程机器中
$ ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx
注意: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中
第三步: 登录到远程机器不用输入密码
- $ ssh 用户名字@192.168.x.xxx
- Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2
AWK 和 Sed
cut[选项] 文件名
选项:
-f 列号 : 提取的列的号码
-d分隔符:
eg:cut -f 2 examplr.txt
eg: cut -d ":" -f 1,3 /etc/passwd
awk是一种比较强大的文本处理工具
awk '{print $1," \t" ,$2 , "\t",$5}'
awk 'BEGIN{FS=":"}{print $1," \t" ,$2 , "\t",$5}' #从头开始 FS是一个内置变量
awk内置变量
$n | 当前记录的第n个字段,字段间由FS分隔 |
$0 | 完整的输入记录 |
ARGC | 命令行参数的数目 |
ARGIND | 命令行中当前文件的位置(从0开始算) |
ARGV | 包含命令行参数的数组 |
CONVFMT | 数字转换格式(默认值为%.6g)ENVIRON环境变量关联数组 |
ERRNO | 最后一个系统错误的描述 |
FIELDWIDTHS | 字段宽度列表(用空格键分隔) |
FILENAME | 当前文件名 |
FNR | 各文件分别计数的行号 |
FS | 字段分隔符(默认是任何空格) |
IGNORECASE | 如果为真,则进行忽略大小写的匹配 |
NF | 一条记录的字段的数目 |
NR | 已经读出的记录数,就是行号,从1开始 |
OFMT | 数字的输出格式(默认值是%.6g) |
OFS | 输出记录分隔符(输出换行符),输出时用指定的符号代替换行符 |
ORS | 输出记录分隔符(默认值是一个换行符) |
RLENGTH | 由match函数所匹配的字符串的长度 |
RS | 记录分隔符(默认是一个换行符) |
RSTART | 由match函数所匹配的字符串的第一个位置 |
SUBSEP | 数组下标分隔符(默认值是/034) |
sed的用法
语法:sed [选项] [动作]
常用选项
-n 使用安静模式,显示经过sed特殊处理的数据
-e 允许多点编辑
-i 直接修改读档的内容,而不是由屏幕输出
命令
a\ 新增,a后面可以接字符串,在下一行出现
c\ 替换
d 删除
p 打印
s 查找替换 s/old/new/g(全局的意思)
eg:
sed -n '2p' example.txt //显示第二行
sed -n '2i test ' example.txt //在第二行插入test字符串
sed -n '2a test' xx.txt //在第二行下面插入test
sed -n '2c cc 11' xx.txt //替换第二行为cc 11
正则匹配
^代表开始 $结尾