more?仅能向前移动,却不能向后移动打开超大文件:
1. head -10000 slowquery.log > temp.log 将slowquery.log的前10000行日志写入到temp.log中
2. tail -10000 slowquery.log > temp.log 将slowquery.log的后10000行日志写入到temp.log中
3. sed -n '10,10000p' slowquery.log > temp.log 把slowquery.log第10到10000行的数据写入到temp.log中
4. cat catalina.log | grep? ?'2017-09-06 15:15:42' > test.log 根据查询条件导出
方法一:把ps的查询结果通过管道给grep查找包含特定字符串的进程, 管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。
例如: ps -ef | grep firefox 找到firefox进程的进程号
然后:kill -s 9 6496 杀死进程
方法二: 使用pgrep查询某个进程的进程号
例如:pgrep firefox
然后:kill -s 9 6496
方法三: 使用pkill, pkill无须 “s”,终止信号等级直接跟在 “-“ 后面
例如:pkill -9 firefox
操作系统中每个文件都拥有特定的权限、所属用户和所属组,Linux中权限一般分为读(readable)、写(writable)和执行(excutable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过?ls -l?命令我们可以 查看某个目录下的文件或目录的权限
文件的类型:
Linux中权限分为以下几种:
| 权限名称 | 可执行操作 |
|---|---|
| r | 可以使用cat查看文件的内容 |
| w | 可以修改文件的内容 |
| x | 可以将其运行为二进制文件 |
对于目录:
| 权限名称 | 可执行操作 |
|---|---|
| r | 可以查看目录下列表 |
| w | 可以创建和删除目录下文件 |
| x | 可以使用cd进入目录 |
超级用户可以无视普通用户的权限,即使文件目录权限是000,依旧可以访问。?在linux中的每个用户必须属于一个组,不能独立于组外
修改文件/目录的权限的命令:chmod
示例:
修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限, 其他用户只有读的权限:
chmod u=rwx,g=rw,o=r aaa.txt
上述示例还可以使用数字表示:chmod 764 aaa.txt
更多请看这里
显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
scp:
scp -p ./files/yum.log 192.168.214.187:/tmp/demo/ :表示将当前系统的files目录下的yum日志文件复制到IP为192.168.214.18的机器的/tmp/demo目录下
rsync:
rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。rsync可以实现scp的远程拷贝,cp的本地拷贝、rm删除和"ls -l"显示文件列表等功能
netstat:用于显示各种网络相关信息,如网络连接,路由表,接口状态,masquerade 连接,多播成员等。
查看当前系统的端口使用:netstat -an
列出所有端口: netstat -a
列出所有tcp端口: netstat -at
列出所有udp端口: netstat -au
只显示监听端口: netstat -l
只列出所有监听tcp端口: netstat -lt
只列出所有监听udp端口: netstat -lu
只列出所有监听UNIX端口: netstat -lx
显示所有端口的统计信息: netstat -s
netstat 将每隔2秒输出网络信息:netstat -t -c 2
显示核心路由信息:netstat -rn
找出程序运行的端口:netstat -apn | grep ssh
找出运行在指定端口的进程:netstat -an | grep ‘:22‘
查看6379端口占用情况: netstat -ntlp | grep 6379
ss 与 netstat对比:
ss命令是iproute工具集(CentOS 最小化安装带有);netstat命令是net-tools工具集;
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢;
ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux?内核中第一手的信息,这就确保了ss的快捷高效。
注意点:
linux连接超时,处理方案:
1. 测试网络是否通:ping 远程IP
2. 如果能ping通则表示与服务器网络连接是正常,接下来测试端口:telnet 远程ip 端口
3.如果telnet不上,要考虑服务器是否有防火墙拦截:
(1)CentOS7查看防火墙是否运行: firewall-cmd --state
(2) CentOS6查看防火墙是否运行:/sbin/service iptables status
4. 如果防火墙被拦截,需要放行端口。如果防火墙没有拦截,则要考虑服务内部是否配置限定IP访问。MySQL、MongoDB、Redis都有bind选项,用来限定客户端IP
5. 再检查服务内部是否有其它权限设置,例如MySQL有远程访问配置,Redis有protected-mode改为no
面试题:Linux查看cpu占用率高的进程(阿里面试题)
面试题:查看占用某端口的进程(阿里面试题)
面试题:查看某进程监听的端口(阿里面试题)
面试题:查看系统负载(今日头条面试题)
面试题:查看进程中线程的状态(蘑菇街面试题)
第一题:
可以使用以下命令查使用内存最多的K个进程:ps -aux | sort -k4nr | head -K
ps -aux中(a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分)
或者直接用命令:top
第一题:
可以使用以下命令查使用CPU最多的K个进程:ps -aux | sort -k3nr | head -K
第二题:
查看占用某端口的进程:
lsof -i:端口号
netstat -tunlp | grep 端口号
第三题:
查看某进程监听的端口:ps -aux | grep tomcat
第四题:
查看系统负载:
top命令查看linux负载:top
输入top,会输出top - 01:18:39 up 2 days, 18:54, 1 user, load average: 0.04, 0.03, 0.05
//01:18:39:系统当前时间
//up 2 days, 18:54 :系统开机到现在经过了2天
//1 users:当前1用户在线
//load average:0.04, 0.03, 0.05:系统1分钟、5分钟、15分钟的CPU负载信息.
第五题:
查看进程中线程的状态:top -H
查指定进程的状态:top -H -p <pid>原文:https://www.cnblogs.com/yzh-blog/p/11670289.html