目录
题目:
1. 什么是Linux?
- 是一个基于Unix的操作系统,基于Linux的内核,可以运行在不同厂商生产的硬件机器上
- Linux 另一个受欢迎的元素是它的吉祥物,一个名叫 Tux 的企鹅形象
2. 什么是内核?
控制计算机硬件的控制软件就是操作系统,也是linux术语中的内核。
包含:内存管理、进程管理、进程间通信、虚拟文件系统、网络接口 五大模块。
3. 平常工作都用过哪些linux命令?
添加系统用户:
ll/ls
pwd
whereis 及 locate 都是基于系统内建的数据库进行搜索,效率很高
find 遍历硬盘查找文件
which 查看执行文件位置
mkdir/touch/vim/chmod
tar -zxvf 抽取文件 -zcvf 打包文件并gz压缩 -ztvf 查看打包的文件内容
gzip/unzip/bzip2/
head/tail/more/less
wc -c 字节/ -m 字符/ -l 行数 / -w 词数
nl 内容列出并显示行号
sed 文本批量替换 https://www.runoob.com/linux/linux-comm-sed.html
ps/kill 一次性查看进程当前状态
ps -mp -o %mem
top 连续查看进程当前状态
sort
uniq -c 唯一化并统计
awk 格式化输入流,截取列/格式化字符
awk '{print int($1)}'
ping
iptables
telnet
netstat -lntp 端口占用情况及端口名
netstat -an 网络连接状况
vmstat 查看系统wa/si等
sysstat工具包
sar /var/log/sa/sar04
sar -n DEV -f /var/log/sa/sa22#查看指定日期的流量日志
iostat //看R/W的IO总量
top
uptime
grep
ps
alias/alias rmall = 'rm -rf'/unalias rmall
df 当前挂载文件系统的占用空间、剩余空间
du 当前目录空间使用情况
free 系统内存使用状况。物理内存、swap 内存和内核 cache 内存
mount/unmount
ln 硬连接。给文件在另外一个位置创建一个同步链接。软:类似路径快捷方式,可跨FS。硬:文件副本不可跨FS。
ln –s 软连接
date https://www.javanav.com/interview/c558fa10a8534864afe6127045e55179.html
cal 日历
tee
xargs 组合多个命令的工具
find /sbin -perm +700 |xargs ls -l
mutt 发送邮件
crontab
ssh/scp
tcpdump
pssh:批量 ssh 工具
salt、ansible:多线程工具
4. 统计访问量排名前10的IP
# awk '{print $1}' access.log |sort|uniq -c|sort -nr|head -10
linux初识
什么是Linux
- 是一个基于Unix的操作系统,基于Linux的内核,可以运行在不同厂商生产的硬件机器上
- Linux 另一个受欢迎的元素是它的吉祥物,一个名叫 Tux 的企鹅形象
Redhat Linux
Red Hat Enterprise Linux 是 Red Hat 公司的 Linux 发行版,面向商业市场,包括大型机。红帽公司从 Red Hat Enterprise Linux 5 开始对企业版 Linux 的每个版本提供 10 年的支持。而 Red Hat Enterprise Linux 常简称为 RHEL。
linux命令
添加新用户
- 以 root 身份登录 linux 系统,进入终端
- 增加一个新用户,useradd 用户名
- 设置密码,passwd 用户名
命令
- ps 一次性查看进程状态
有没有处理过线上问题?出现内存泄露,CPU利用率标高,应用无响应时如何处理的
- 大数据量批量导出excel文件:
- 方法:
top 查看CPU占有率最高的进程pid
Top -Hp 查看CPU占有率最高进程对应的CPU占有率最高的线程tid
printf ‘%x’ 转换tid为十六进制
jstack | grep 查看该线程日志
同时也可以打印进程堆转储快照、GC挥手日志辅助分析
jmap -dump:format=b,file=HeapDump.bin
jstat -gcutil 1000 20
命令集合:
grep
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
查看grep版本号的方法是
grep -V
vmstat:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xpr0gld0-1648658622857)(/Users/maxiaohang/Library/Application Support/typora-user-images/image-20200427235413378.png)]
物理CPU及核数
# cat /proc/cpuinfo|grep -c 'physical id'
4
# cat /proc/cpuinfo|grep -c 'processor'
4
系统负载
load average即系统负载,三个数值分别表示一分钟、五分钟、十五分钟内系统的平均负载,即平均任务数
以下两个命令查看负载:
//命令1
# w
10:57:38 up 14 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.147.1 18:44 0.00s 0.10s 0.00s w
//命令2
# uptime
10:57:47 up 14 min, 1 user, load average: 0.00, 0.00, 0.00
网卡流量查看
yum install -y sysstat#安装sysstat包,获得sar命令
sar -n DEV#查看网卡流量,默认10分钟更新一次
sar -n DEV 1 10#一秒显示一次,一共显示10次
sar -n DEV -f /var/log/sa/sa22#查看指定日期的流量日志
修改ip,生效网卡
编辑网卡配置文件/etc/sysconfig/network-scripts/ifcft-eth0(如果是eth1文件名为ifcft-eth1),内容如下:
---
DEVICE=eth0
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.130
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8
---
重启网卡:
ifdown eth0
ifup eth0
重启网络服务:
service network restart
网卡配置多个IP
https://zhuanlan.zhihu.com/p/32250942
主机名
修改主机名
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos6.5-1
hostname 查看主机名
设置DNS修改配置文件
(1)在文件 /etc/resolv.conf 中设置DNS
(2)在文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中设置DNS
iptables规则:把来源IP为192.168.1.101访问本机80端口的包直接拒绝
iptables -I INPUT -s 192.168.1.101 -p tcp --dport 80 -j REJECT
抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中
tcpdump -nn -s0 host 192.168.0.111 and port 80 -c 1000 -w 1.cap
自定义解析域名?是否可以一个ip对应多个域名?是否一个域名对应多个ip?
编辑 /etc/hosts ,可以一个ip对应多个域名,不可以一个域名对多个ip
历史负载
sar -q -f /var/log/sa/sa22 #查看22号的系统负载
指定dns服务器来解析域名
dig @8.8.8.8 www.baidu.com#使用谷歌DNS解析百度
//dig命令:dig @DNSip http://domain.com
free查看内存使用情况时,哪个数值表示真正可用的内存量?
答:free列第二行的值
linux进程通信
- 1、管道(pipe)、流管道(s_pipe)、有名管道(FIFO)。
- 2、信号(signal) 。
- 3、消息队列。
- 4、共享内存。
- 5、信号量。
- 6、套接字(socket) 。
文件类型
CGI脚本
shell是适合在任何相近的UNIX系统上运行并且容易学习, 但是处理复杂的情况就困难了. Perl是免费的, 这个语言特点是稳定和强大的,类似C,但它也是较难学习的.