0
点赞
收藏
分享

微信扫一扫

Linux 认识及常用命令

我是芄兰 2022-03-31 阅读 73
数据库

目录

题目:

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,但它也是较难学习的.

shell脚本

1. 删除mem大于75%的应用

在这里插入图片描述

举报

相关推荐

【Linux常用命令】

linux常用命令:

LINUX常用命令

Linux 常用命令

linux常用命令

【linux 常用命令】

Linux常用命令

LINUX 常用命令

0 条评论