LINUX第二天
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINUX第二天相关的知识,希望对你有一定的参考价值。
目录
1. | LINUX软件包 |
2. | 运维人员常用到的linux命令 |
3. | LINUX网络配置 |
4. | vmware虚拟机的高级特性 |
LINUX软件包
1.1linux 软件包的分类
linux的安装包的分类:
源码包 脚本安装包(这里的脚本安装包绝大部分都是c语言编写的)
二进制安装包(rpm包,系统默认安装包)
知识积累:中国linux最流行的两大发行版本 redhat和ubantu
cento是redhat的分支
两大版本的区别:就是在安装包
redhat 用的是RPM,乌班图用的是deb包
源码包的特点:
1.开源,就是如果你要是有足够的能力就可以修改源代码
2.可以自由选择所需要的功能
3.软甲是编译安装的,所以更加适合自己的系统,更加的稳定效率也就更高
4.卸载方便(直接删除安装文件夹)
源码包的缺点:
1.安装过程步组较多,尤其是安装较大软件集合的时候,容易出现错误
2.编译过程时间较长,安装比二进制安装包时间长很多
3.安装一个源码包比二进制包时间要长3到5倍
4.因为是编译安装,一旦中间出错新手不容易解决
二进制包的优点
1.包管理简单,之通过几个简单的命令就可以实现安装,升级,卸载
2.安装速度比源码包快得多
二级制包的缺点
1.经过编译,不能再看见源代码
2.功能选择没有源码包灵活
3.依赖性(简单来说:依赖性就是你现在安装软件假设我装A-B-C卸载就先卸载c-b-A)
1.2 挂载的知识(例子是把iso镜像文件,挂载到linux上)
1.2.1在 /mnt创建挂载文件cdrom(挂载点)
1.2.2 再在虚拟机vmare的菜单栏里找到 虚拟机-设置
1.2.3点击设置
1.2.4执行挂载命令mount /dev/sr0 /mnt/cdrom
表示挂载成功
1.3 安装rpm包
rpm 命令格式: rpm 选项参数 包全名
-i 安装
-v 显示详细信息
-h 显示进度
--nodeps 不检测依赖性
rpm包的升级 : rpm -Uvh 包全名
-U 升级 U必须大写
卸载 : rpm -e 包名
查询rpm包是否安装
rpm -q 包名
rpm -qa 查询所有的安装的rpm包
rpm -qi 包名
i查询软件信息
p 查询未安装的软件包信息
2.运维人员常用到的linux命令
netstat -na | grep 7651
查看本机7651端口在和谁通信
ps -aux | grep 7651
查看本机7651进程的相关信息
md5sum 文件名
用于查看文件的md5值,常用于检查文件是否一致
ps aux --sort -rss
显示各个进程对内存的使用情况,从大到小排序
netstat -ntpl
查看处于监听状态的TCP类型的端口
netstat -nupl
查看处于监听状态的UDP类型的端口
ps huH p 7651 | wc -l
查看进程7651所拥有的线程数
tcpdump -i any -vv -Xs 0 port 8080 -w temp.cap
TCP抓包命令,用于抓取传到该主机8080端口的http请求,存于文件temp.cap
抓下来的包可以用strings命令读取
netstat -nap | grep 7651
查看进程7651占用的端口
netstat -na | grep “2181” | wc -l
查看连接到本机2181端口上的连接数
lsof -i:2181
查看端口2181的运行情况
1、linux启动过程
开启电源 --> Bios开机自检 --> 引导程序lilo或grub--> 内核的引导(kernel boot)--> 执行init(rc.sysinit、rc)--> mingetty(建立终端) -->Shell
2、网卡绑定多ip
# ifconfig eth0:1 192.168.1.99 netmask 255.255.255.0
3、设置DNS、网关
# echo "nameserver 202.16.53.68" >> /etc/resolv.conf
# route add default gw 192.168.1.1
4、弹出、收回光驱
# eject
# eject -t
5、用date查询昨天的日期
# date --date=yesterday
6、查询file1里面空行的所在行号
# grep ^$ file
7、查询file1以abc结尾的行
# grep abc$ file1
8、打印出file1文件第1到第三行
# sed -n '1,3p' file1
# head -3 file1
9、清空文件
# true > 1.txt
# echo "" > 1.txt
# > 1.txt
# cat /dev/null > 1.txt
10、删除所有空目录
# find /data -type d -empty -exec rm -rf {} ;
11、linux下批量删除空文件(大小等于0的文件)的方法
# find /data -type f -size 0c -exec rm -rf {} ;
# find /data -type f -size 0c|xargs rm –f
12、删除五天前的文件
# find /data -mtime +5 -type f -exec rm -rf {} ;
13、删除两个文件重复的部份,打印其它
# cat 1.txt 3.txt |sort |uniq
14、攻取远程服务器主机名
# echo `ssh $IP cat /etc/sysconfig/network|awk -F = '/hostname/ {print $2}'`
15、实时监控网卡流量(安装iftop)
# /usr/local/iftop/sbin/iftop -i eth1 -n
16、查看系统版本
# lsb_release -a
17、强制踢出登陆用户
# pkill -kill -t pts/1
18、tar增理备份、还原
# tar -g king -zcvf kerry_full.tar.gz kerry
# tar -g king -zcvf kerry_diff_1.tar.gz kerry
# tar -g king -zcvf kerry_diff_2.tar.gz kerry
# tar -zxvf kerry_full.tar.gz
# tar -zxvf kerry_diff_1.tar.gz
# tar -zxvf kerry_diff_2.tar.gz
19、将本地80端口的请求转发到8080端口,当前主机外网IP为202.96.85.46
-A PREROUTING -d 202.96.85.46 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.9.10:8080
20、在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh
# crontab -e0 6-12/2 * 11 * /usr/bin/httpd.sh
21、查看占用端口8080的进程
# netstat -tnlp | grep 8080
lsof -i:8080
22、在Shell环境下,如何查看远程Linux系统运行了多少时间?
# ssh [email protected]被监控主机ip "uptime"
23、查看CPU使用情况的命令
每5秒刷新一次,最右侧有CPU的占用率的数据
# vmstat 5
top 然后按Shift+P,按照进程处理器占用率排序
# top
24、查看内存使用情况的命令
用free命令查看内存使用情况
# free -m
top 然后按Shift+M, 按照进程内存占用率排序
# top
25、查看磁盘i/o
用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次
# iostat -d -x /dev/sdc3 2
26、修复文件系统
# fsck –yt ext3 /
-t 指定文件系统
-y 对发现的问题自动回答yes
27、read命令5秒后自动退出
# read -t 5
28、grep -E -P 是什么意思
-E, --extended-regexp 采用扩展正规表达式。
-P,--perl-regexp 采用perl正规表达式
29、vi编辑器(涉及到修改,添加,查找)
插入(insert)模式
i 光标前插入
I 光标行首插入
a 光标后插入
A 光标行尾插入
o 光标所在行下插入一行,行首插入
O 光标所在行上插入一行,行首插入
G 移至最后一行行首
nG 移至第n行行首
n+ 下移n行,行首
n- 上移n行,行首
:/str/ 从当前往右移动到有str的地方
:?str? 从当前往左移动到有str的地方
:s/str1/str2/ 将找到的第一个str1替换为str2
:s/str2/str2/g 将当前行找到的所有str1替换为str2
:n1,n2s/str1/str2/g 将从n1行至n2行找到的所有的str1替换为str2
:1,.s/str1/str2/g 将从第1行至当前行的所有str1替换为str2
:.,$s/str1/str2/g 将从当前行至最后一行的所有str1替换为str2
30、linux服务器之间相互复制文件
copy 本地文件1.sh到远程192.168.9.10服务器的/data/目录下
# scp /etc/1.sh [email protected]:/data/
copy远程192.168.9.10服务器/data/2.sh文件到本地/data/目录
# scp [email protected].9.10:/data/2.sh /data/
31、使用sed命令把test.txt文件的第23行的TEST换成TSET.
# sed -i '23s/TEST/TSET/' test.txt
# sed -i '23 s/TEST/TSET/' test.txt
32、使history命令能显示时间
# export HISTTIMEFORMAT="%F %T "
33、如何查看目标主机192.168.0.1开放那些端口
# nmap -ps 192.168.0.1
34、如何查看网络连接
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
35、如何查看当前系统使用了那些库文件
# ldconfig -v
36、如何查看网卡的驱动版本
# ethtool -i eth0
37、使用tcpdump来监视主机192.168.0.1的tcp的80端口
# tcpdump tcp port 80 host 192.168.0.1
38、 如何看其它用户的邮件列表
# mial -u king
39、对大文件进行切割
按每个文件1000行来分割
# split -l 1000 httperr8007.log httperr
按照每个文件5m来分割
# split -b 5m httperr8007.log httperr
40、合并文件
取出两个文件的并集(重复的行只保留一份)
# cat file1 file2 | sort | uniq
取出两个文件的交集(只留下同时存在于两个文件中的文件)
# cat file1 file2 | sort | uniq -d
删除交集,留下其他的行
# cat file1 file2 | sort | uniq –u
41、打印文本模式下运行的服务
# chkconfig --list|awk '$5~/on/{print $1,$5}'
42、删除0字节文件
# find -type f -size 0 -exec rm -rf {} ;
43、查看进程,按内存从大到小排列
# ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
44、查看http的并发请求数及其TCP连接状态
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
45、获取IP地址
# ifconfig eth0|sed -n '2p'|awk '{print $2}'|cut -c 6-30
perl实现获取IP地址:
# ifconfig -a | perl -ne 'if ( m/^s*inet (?:addr:)?([d.]+).*?cast/ ) { print qq($1n); exit 0; }'
46、获取内存大小
# free -m |grep "Mem" | awk '{print $2}'
47、查看CPU核心数
# cat /proc/cpuinfo |grep -c processor
48、查看磁盘使用情况
# df -h
49、查看有多少个活动的php-cgi进程
# netstat -anp | grep php-cgi | grep ^tcp | wc -l
50、查看硬件制造商
# dmidecode -s system-product-name
3.虚拟机上网络设置及主机名设置
3.1 虚拟机上网络设置三部曲 路径(etc/sysconfig/network-scripts/ifcfg-eth0)
第一步:查看虚拟网络编辑器
在nat模式下记住自己所在的网段地址
第二步(网络配置):
在root用户下修改网络配置文件:
vi /etc/syscofig/network-script/ifcfg-eth0
第三步修改网络映射文件:
-->在Linux系统下 vi /etc/hosts
-->在windows系统里面
C:\Windows\System32\drivers\etc\hosts
第四步 重启网络:
service network restart
验证网络搭建是不是成功:
1.在nat模式下,用静态IP方式
2.ping www.baidu.com
3.2 主机名的设置:
查看主机名: hostname
临时设置:hostname (要修改的主机名称)
永久设置:vi /etc/sysconfig/network
HOSTNAME=#######
注意:ctrl+c 回到命令行
clear 清除当前操作命令行
4.vmware虚拟机的高级特性
4.1快照
记录当前的状态。可以多次做快照。
4.2克隆
复制一份当前虚拟机。
4.3网路三种工作模式
bridge(桥接模式)
NAT(模式)
host-only
以上是关于LINUX第二天的主要内容,如果未能解决你的问题,请参考以下文章