2024年5月8日发(作者:)

linux常用操作命令

1. 查看硬件信息

# uname -a # 查看内核/操作系统/CPU信息

# head -n 1 /etc/issue # 查看操作系统版本

# cat /proc/cpuinfo # 查看CPU信息

# hostname # 查看计算机名

# lspci -tv # 列出所有PCI设备

# lsusb -tv # 列出所有USB设备

# lsmod # 列出加载的内核模块

# env # 查看环境变量资源

# free -m # 查看内存使用量和交换区使用量

# df -h # 查看各分区使用情况

# du -sh # 查看指定目录的大小

# grep MemTotal /proc/meminfo # 查看内存总量

# grep MemFree /proc/meminfo # 查看空闲内存量

# uptime # 查看系统运行时间、用户数、负载

# cat /proc/loadavg

# mount | column -t

# fdisk -l

# swapon -s

# hdparm -i /dev/hda

# dmesg | grep IDE

# ifconfig

# iptables -L

# route -n

# netstat -lntp

# 查看系统负载磁盘和分区

# 查看挂接的分区状态

# 查看所有分区

# 查看所有交换分区

# 查看磁盘参数(仅适用于IDE设备)

# 查看启动时IDE设备检测状况网络

# 查看所有网络接口的属性

# 查看防火墙设置

# 查看路由表

# 查看所有监听端口

# netstat -antp # 查看所有已经建立的连接

# netstat -s # 查看网络统计信息进程

# ps -ef # 查看所有进程

# top # 实时显示进程状态用户

# w # 查看活动用户

# id # 查看指定用户信息

# last # 查看用户登录日志

# cut -d: -f1 /etc/passwd # 查看系统所有用户

# cut -d: -f1 /etc/group # 查看系统所有组

# crontab -l # 查看当前用户的计划任务服务

# chkconfig –list # 列出所有系统服务

# chkconfig –list | grep on # 列出所有启动的系统服务程序

# rpm -qa # 查看所有安装的软件包

cat /proc/cpuinfo :查看CPU相关参数

cat /proc/partitions :查看硬盘和分区

cat /proc/meminfo :查看内存信息

cat /proc/version :查看版本,类似uname -r

cat /proc/ioports :查看设备I/O端口

cat /proc/interrupts :查看中断

cat /proc/pci :查看pci设备的信息

cat /proc/swaps :查看所有swap分区的信息

2. 查看系统日志

/var/log

/var/log/dmesg /核心启动日志

/var/log/messages /系统报错日志

/var/log/maillog /邮件系统日志

/var/log/xferlog /FTP服务用日志

/var/log/secure /安全信息 系统登陆与网络连接的信息

/var/log/wtwp /登录记录

# tail -f /var/log/messages /查看最近发生的信息.

3. 系统开关机

切换虚拟工作台:

虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。

例如,用户登录后,按一下“Alt+F2”键,用户就可以看到上面出现的“login:”提

示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+ F1”键,就可以回到第一个

虚拟控制台。一个新安装的Linux系统允许用户使用“Alt+F1”到“Alt+F6”键来访问前

六个虚拟控制台。虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到

其它虚拟控制台工作,关闭这个程序。

关闭计算机

shutdown -h -t 30 30秒后安全地关机断电

shutdown -c 取消关机命令执行

重启计算机

reboot

4. 切换运行级别

运行级就是操作系统当前正在运行的功能级别。这个级别从1 到6 ,具有不同的功

能。这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运

行的服务是那些放在/etc/rc.d 目录下的文件。

大多数的linux 发行版本中,启动脚本位于 /etc/rc.d/init.d。这些脚本被ln 命令来

连接到 /etc/rc.d/rcn.d 目录。(这里的n 就是运行级0-6)例如/etc/rc.d/rc2.d 下面的

S10network 就是连接到/etc/rc.d/init.d下的network 脚本的。

文件开头的S 代表start 就是启动服务的意思,后面的数字10 就是启动的顺序。例

如,在同一个目录下,你还可以看到 S80postfix 这个文件,80 就是顺序在 10 以后,

因为没有启动网络的情况下,启动postfix是没有任何作用的。另外,在/etc/rc.d/rc2.d 还

可以看到那些K 开头的文件,例如/etc/rc.d/rc2.d/K45named,K 代表 kill ,表示停止

服务的意思。

标准的linux运行级为3 或者5 ,如果是3 的话,系统就在多用户状态。如果是5

的话,则是运行着X Window。

不同的运行级定义如下:(可以参考Red Hat linux 里面的/etc/inittab)

# 0 - 停机

# 1 - 单用户模式

# 2 - 多用户,但是没有 NFS

# 3 - 完全多用户模式

# 4 - 没有用到

# 5 - X11

# 6 - 重新启动 (千万不要把initdefault 设置为6 )

对各个运行级的详细解释:

0 为停机,机器关闭。

1 为单用户模式。

2 为多用户模式,但是没有NFS 支持。

3 为完整的多用户模式,是标准的运行级。

4 一般不用,在一些特殊情况下可以用它来做一些事情。

5 就是 X11 ,进到 X Window 系统了。

6 为重启,运行 init 6 机器就会重启。

5. 软件包管理

安装 RPM 包

# rpm -ivh

升级 RPM 包

# rpm -Uvh

卸载 RPM 包

# rpm -ev package

查询 RPM 包中包含的文件列表

# rpm -qlp package

查询 RPM 包中包含的文件列表

# rpm -qlp package

查询 RPM 包中包含的内容信息

# rpm -qip package

查询系统中所有已安装 RPM 包

# rpm -qa

6. 用户管理

who:查询当前在线的用户

groups:查询用户所属的组

id:显示当前用户信息

finger:查询用户信息

添加新的用户

useradd

username

更改用户密码

passwd

username

更改用户属性

usermod -d /home/

username username

改变用户家目录

usermod -e "2009-01-01"

username

给用户设置密码过期时间

usermod -G root(组)

username

(用户) 将一个用户添加到一个组里面

usermod -g root

username

更改用户的gid

usermod -s /bin/csh

username

更改用户的默认shell

usermod -u 504

username

更改用户的uid,改为504

usermod -L

username

锁定用户,锁定后用户不能登陆linux系统

usermod -U

username

解锁用户

passwd -s

username

看用户是否被锁定

删除用户

userdel 用户名 仅删除用户注册信息

userdel -r 用户名 删除属于该用户的的家目录和邮件

7. 存储管理

查看新的硬盘

# fdisk -l

创建pv

# pvcreate /dev/sdb

创建vg

# vgcreate datavg /dev/sdb /dev/sdc

注:在使用vgcreate 在创建卷组时,还可以指定PE的大小,需要加上-s参数来实现,

PE大小范围为8 KB 到 16GB,并且必须总是2的倍数。一个卷组里面最多允许65534

个PE存在。默认设置的PE大小为4 MB,这表示卷组上创建的所有逻辑卷都以 4 MB 为

增量单位来进行扩充或缩减,所以4 MB 的PE决定了单个逻辑卷最大容量为 256 GB,

若要创建更大的逻辑卷则创建卷组时需要指定更大的PE。

创建lv

# lvcreate -L 180M -n lvdata01 datavg

注:使用剩余的空间来创建逻辑卷时,应先通过“vgdisplay”命令可查看当前卷组剩

余的空间。

在创建逻辑卷的时候,还可以指定逻辑块与物理块映射的模式,逻辑卷的映射模式共

有如下两种:

线性模式――按照顺序把一定范围内的物理块与逻辑块映射,这也是默认的映射方式。

例如,把逻辑卷中1-25的LE映射到PV1,把26-50的LE映射到PV2上。

条带模式――将把逻辑块以条带的形式映射到不同的物理卷中,这种方式与前面讲到的

RAID 0有些类似,这种方式可以提高逻辑卷读写的性能。例如,将逻辑卷的LE 1映射为

PV1的PE1,LE 2映射为PV2的PE1,LE 3映射为PV3的PE1。

# lvcreate -i 3 -I 4 -L 180M -n lvtest1 vgtest

参数的说明如下:

-i:采用条带模式的映射方式创建逻辑卷,该参数的值用于指定所创建的逻辑卷将映

射在几个PV上。

-I:指定使用条带模式时所采用块的大小,单位为KB,其值必须是:2N(N≥2)。

-L:指定创建逻辑卷的大小,单位的可以用K、M、G、T表示KB、MB、GB及TB。

-n:用来指定所创建的逻辑卷名称,该名称可以根据需要随便定义。

-l:用于指定逻辑卷的PE数量,默认为4MB为单位计算总容量。

在使用“-i”参数指定PV的个数时,一定要确认所指定的这些PV是没有完全被分配

给任何逻辑卷的,否则将创建失败,其次若这些PV的大小不等,那么所创建的逻辑卷只

能取最小值。

创建文件系统

# 3 /dev/datavg/lvdata01

挂载文件系统

# mkdir /data01

# mount /dev/datavg/lvdata01 /data01

手动激活卷组

# vgchange -a y datavg

手动去激活卷组

# vgchange -a n datavg

注:卷组若不被激活,卷组和逻辑卷是不能被访问的,在LVM 2里创建的卷组默认是

激活的。

为卷组增加新的物理卷

当卷组空间不足时,可以加入新的物理卷来扩大卷组容量,这时可用“vgextend”命

令来实现。

# vgextend datavg /dev/sde

移除物理卷

要从一个卷组中移除一个物理卷,首先要确认要移除的物理卷没有被任何逻辑卷正在

使用,通过“pvdisplay”命令可查看到该物理卷信息,如下:

# pvdisplay /dev/sde

--- Physical volume ---

PV Name /dev/sde

VG Name vgtest

PV Size 100.00 MB / not usable 0

Allocatable yes

PE Size (KByte) 4096

Total PE 25

Free PE 25

Allocated PE 0

PV UUID ee2IFC-UHUq-Xg67-icwt-AhdJ-7kRz-JdDjiq

若其中的“Total PE”与“ Free PE”相等,表明该物理卷没有被使用,如果某个物

理卷正在被逻辑卷所使用,就需要将该物理卷的数据转移到其它地方,然后再移除。移除

物理卷的命令为“vgreduce”。

# vgreduce datavg /dev/sde

在物理卷间转移数据

当发现逻辑卷下的某个磁盘有错误,或有其它需求要转移其中物理卷的数据时(如,

更换大容量或更高速的物理设备),那么可通过“pvmove”来实现在物理卷之间转移数据。

# modprobe dm-mirror

在使用“pvmove ”前需要用 “modprobe dm-mirror”命令来加载dm-mirror

模块,因为“pvmove”在转移数据时需要用到该模块,而默认系统是不加载该模块的。

# pvmove /dev/sdd /dev/sde

扩展逻辑卷

# lvextend -L +300M /dev/datavg/lvdata01 在原有的基础上,增加300MB

空间大小

# lvextend -L 300M /dev/datavg/lvdata01 扩展到300MB空间大小

逻辑卷扩展后并不会马上生效,需要使用“resize2fs”命令重新加载逻辑卷的大小,

该命令只针对ext2/ext3的文件系统(若是reiserfs的文件系统,则使用“resize_reiserfs”

命令),如果该逻辑卷正在使用中,就应该先将该逻辑卷卸载后再执行“resize2fs”命令。

# umount lvdata01

# resize2fs /dev/datavg/lvdata01

# mount /dev/datavg/lvdata01 lvdata01

注:以上这些操作可以通过“ext2online”命令直接来实现,这样就不用做卸载逻辑

卷等操作了。

# ext2online /dev/datavg/lvdata01

删除逻辑卷

删除逻辑卷前首先需要将其卸载,再执行以下命令:

# lvremove /dev/datavg/lvdata01

移除卷组

在移除卷组前首先要确认该卷组中已没有任何的逻辑卷了,或者可使用“vgchange”

手工将卷组停止,移除卷组的具体操作如下:

# vgremove datavg

删除物理卷

在删除物理卷前,必须确认该物理卷已从卷组中移除了。

# pvremove /dev/sde

8. 网络配置

可以使用 system-config-network-tui (文本模式) 、system-config-network-gui

(图像模式),netconfig(文本模式)等网络配置工具。这些工具都会直接修改Linux系

统中关于网络接口的设置文件;这是 ifconfig 命令所不能比的;其中

redhat-config-network 和system-config-network工具不仅仅是设置网卡的工具,更

有设置ISDN和普通猫、ADSL的工具、网络硬件的添加、主机名字的设置、DNS各客户

端的设置等。例如:

# /usr/sbin/system-config-network-tui

# /usr/sbin/system-config-network-gui

netconfig 工具是个在文本模式比较好的工具。

# netconfig -d eth0 /设置eth0

# netconfig -d eth1 /设置eth1

设置网卡的DHCP模式自动获得IP

# netconfig -d eth0 --bootproto=dhcp

手动设置网卡的IP等

# netconfig -d eth0 -ip=192.168.1.33 -netmask=255.255.255.0

-gateway=192.168.1.1

(1) 配置eth0的IP地址, 同时激活该设备。

#ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up

(2) 配置eth0别名设备eth0:1的IP地址,并添加路由。

#ifconfig eth0:1 192.168.1.3

#route add –host 192.168.1.3 dev eth0:1

(3) 激活设备。

#ifconfig eth0:1 up

(4) 禁用设备。

#ifconfig eth0:down

(5) 查看指定的网络接口的配置。

#ifconfig eth0

(6) 查看所有的网络接口配置。

#ifconfig

(7) 查看网络接口的连接状态:

# ethtool eth0

(1) 添加到主机的路由。

#route add –host 192.168.1.2 dev eth0:0

#route add –host 10.20.30.148 gw 10.20.30.40

(2) 添加到网络的路由。

#route add –net 10.20.30.40 netmask 255.255.255.248 eth0

#route add –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

#route add –net 192.168.1.0/24 eth1

(3) 添加默认网关。

#route add default gw 192.168.1.1

(4) 查看内核路由表的配置。

#route

(5)删除路由。

#route del –host 192.168.1.2 dev eth0:0

#route del –host 10.20.30.148 gw 10.20.30.40

#route del –net 10.20.30.40 netmask 255.255.255.248 eth0

#route del –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

#route del –net 192.168.1.0/24 eth1

#route del default gw 192.168.1.1

对于1和2两点可使用下面的语句实现:

Ifconfig eth0 172.16.19.71 netmask 255.255.255.0

Route 0.0.0.0 gw 172.16.19.254

Service network restart

(1) 显示网络接口状态信息。

#netstat –i

(2) 显示所有监控中的服务器的Socket和正使用Socket的程序信息。

#netstat –lpe

(3) 显示内核路由表信息。

#netstat –r

#netstat –nr

(4) 显示TCP/UDP传输协议的连接状态。

#netstat –t

#netstat –u

hostname更改主机名

例如;

#hostname myhost