Linux 命令四
---恢复内容开始---
Linux第四课
1、网络通信服务:
Windows 中ipconfig -a 查看所有网络信息
Linux中ifconfig -a 查看所有网络信息
2、修改静态IP地址:
(1)修改静态IP地址
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.113
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
(2)修改网关
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Aaron
GATEWAY=192.168.0.1
注:更改后需重启配置:service network restart
3、查看修改主机名:
(1)hostname 查看主机名称
(2)修改主机名
临时主机名修改,重启后失效
hostname 修改后的名字
永久性修改主机名
vi /etc/sysconfig/network
修改后重启
4、图形界面设置网络
netconfig 图形界面设置网络,类似setup命令,须在redhat中运行(其他终端可能会乱码,在redhat5中该命令会显示无效)
service network restart 重起网络服务使修改生效
Setup 回车 打开配置工具界面 tab键切换
5、网络状态
netstat在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告
-a 显示所有socket,包括正在监听的
-c 每隔1秒就重新显示一遍,直到用户中断它
-i 显示所有网络接口的信息
-t 显示TCP协议的连接情况
-u 显示UDP协议的连接情况
Proto :网络传输协议,主要为tcp和udp
Local Address :本地的ip:port
Foreign Address:远程主机的ip:port
State :连线状态,主要有监听( LISTEN )和建立(ESTABLISED)
PID :服务的进程编号
Program name:服务名称
补充:$ netstat -a列表所有端口(包括监听与未监听的)
(1)何为监听?服务器端等待客户端的连接
$ netstat -at列出所有tcp端口(包括监听与未监听的)
$ netstat -au列出所有udp端口(包括监听与未监听的
(2)显示PID和进程名称netstat -p
(3)不显示主机、端口和用户名
$netstat -an
(4)列出处于监听状态的sockets
$netstat-I只显示监听端口
$netstat -lt只列出所有监听tcp端口
$ netstat -nltp (显示tcp协议,正在监听的和程序及pid)
$ netstat -ntlp I grep xxx'
$netstat-ap(查看所有服务端口和对应的程序名称)
★$netstat-anp(-a显示所有监听与非监听的进程)
$ netstat -r (查看路由的信息)
占用端口号 :netstat -anp |grep 端口号
杀死进程 :kill -9 进程号
6、ping
ping命令一般用于检测网络通与不通或者网络连接速度的命令,也叫时延,其值越大,速度越慢
7、磁盘管理命令
df 用来检查linux服务器的文件系统的磁盘空间占用情况
du 对制定文件和目录磁盘使用的空间的查看统计文件夹的大小
8、系统资源查看
(1)top 能够实时显示系统中各个进程的资源占用状况
(2)ps 用来列出系统中当前运行的那些进程
(3)vmstat 展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况
vmstat
procs :
r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
cpu:
us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。
wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。
id 列显示了cpu处在空闲状态的时间百分比 system 显示采集间隔内发生的中断数
system:
in 列表示在某一时间间隔中观测到的每秒设备中断数
cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。
memory :
swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者
比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常
free 当前的空闲页面列表中内存数量(k表示)
buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。
cache作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好
swap :
si 由内存进入内存交换区数量。
so由内存交换区进入内存数量。
IO :
bi 从块设备读入数据的总量(读磁盘)(每秒kb)。
bo 块设备写入数据的总量(写磁盘)(每秒kb) 这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。
9、打包压缩命令
(1)gzip 参数 压缩文件名
参数:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
压缩文件的大小
未压缩文件的大小
压缩比
未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,
-1或--fast表示最快压缩方法(低压缩比),
-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
(2) gunzip 从.gz包中解压出某个文件
[root@localhost]# gunzip test.txt.gz
(3) Tar
参数说明:
c,建立新的备份文件;
x,将备份文件解开;
t,列出备份文件的内容;
r,将文件附加在一个备份文件的后面;
u,将备份文件里的文件以教新的版本更新;
d,比较备份文件里的文件与文件系统中的文件;
v,在处理文件时显示更多的信息;
k,在解开文件时保留已存在的文件,也就是在备份文件中的文件不能覆盖已存在的文件;
f,filename指定filename为读出或写人的备份文件的文件名
z,压缩文件。
文件打包语法:
# tar cvf目标文件名.tar 源文件
文件解包语法:
# tar xvf 目标文件名.tar
文件压缩语法:
# tar zcvf目标文件名.tar.gz 源文件
文件解压语法:
# tar zxvf目标文件名.tar.gz
(4) Zip
将文件打包为zip格式的压缩文件
zip filename.zip 源文件
-r递归压缩
zip -r filename.zip filesdir
unzip是从zip包中解压出某个文件
unzip filename.zip
10、加载外围设备(了解部分)
对于不同的外部设备,linux提供了不同的文件类型。常见的类型如下:
msdos DOS文件系统类型
vfat 支持长文件名的DOS分区文件系统类型,也可以理解为Windows文件系统类型
iso9660 光盘格式文件系统类型
ext2/ext3 linux下文件系统类型
linux下的挂载命令是mount,格式如下:
mount -t 文件系统类型 设备名 挂载点
比如:挂载U盘前首先确认U盘的设备,一般设备文件为/dev/sda1,然后建立挂载点
mkdir/mnt/usb,接着进行挂载:
mount -t vfat /dev/sa1 /mnt/usb这样就可以通过访问/mnt/usb目录来访问U盘的内容
了。
卸载外围设备用umount
10、了解shell脚本
Shell:是指“提供使用者使用界面”的软件(命令解析器),它接收用户命令,然后调用相应的应用程序。
#!/bin/bash <shell 脚本第一行>标记解释
./filename.sh
如何将文件里面的内容输出为空:
#echo
echo>test_1
(1)first.sh文件中输入helloworld
(2)secord.sh 引入外参
(3)使用shell语句判断一个文件是否存在: