> CentOS > CentOS入门 >

【运维收藏】CentOS常用命令

1、查看系统使用端口并释放端口

[root@my_nn_01 WEB-INF]# lsof -w -n -i tcp:80

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

java 24065 root 34u IPv6 269149 TCP *:http (LISTEN)

[root@my_nn_01 WEB-INF]# kill -9 24065

 

2、以KB/MB形式显示文件列表

[root@cncloud iso]# ls -lh

总计 5.8G

-rw-r--r-- 1 root root 4.1G 2011-08-01 CentOS-5.5-x86_64-bin-DVD-1of2.iso

-rw-r--r-- 1 root root 413M 2011-08-01 CentOS-5.5-x86_64-bin-DVD-2of2.iso

-rw-r--r-- 1 root root 630M 2009-12-07 Win2003.iso

-rw-r--r-- 1 root root 618M 2010-09-08 Windows.Server.2003.R2.With.Sp2 X64.iso

 

3、查看CPU位数(32 or 64)

[root@cloud_test download]# getconf LONG_BIT

64

 

4、查看当前linux的版本

[root@cncloud ~]# cat /etc/redhat-release

CentOS release 5.4 (Final)

 

5、uname用于查看系统信息

[root@cncloud ~]# uname -r #打印发布的内核

2.6.18-164.el5xen

 

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

[root@cloud_test download]# uname -a

Linux cloud_test 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

 

6、查看系统默认语言

echo $LANG $LANGUAGE

cat /etc/sysconfig/i18n

 

7、查看所属时区和是否使用UTC时间

[root@cncloud ~]# cat /etc/sysconfig/clock

# The ZONE parameter is only evaluated by system-config-date.

# The timezone of the system is defined by the contents of /etc/localtime.

ZONE="Asia/Shanghai"

UTC=false

ARC=false

 

8、查看主机名

hostname

cat /etc/sysconfig/network

修改主机名就是修改这个文件,同时最好也把/etc/hosts文件也修改

 

9、查看开机运行时间

[root@cncloud ~]# uptime

13:56:21 up 97 days, 2:51, 2 users, load average: 0.08, 0.08, 0.05

 

10、查看操作系统版本

[root@cloud_test download]# head -n 1 /etc/issue

CentOS release 5.5 (Final)

 

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

# hostname # 查看计算机名

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

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

[root@cloud_test download]# lsusb -tv

Bus# 1

`-Dev# 1 Vendor 0x0000 Product 0x0000

`-Dev# 2 Vendor 0x0627 Product 0x0001

 

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

 

# env # 查看环境变量资源

 

11、cpu常用查看命令

more /proc/cpuinfo | grep "model name"

grep "model name" /proc/cpuinfo

[root@localhost /]# grep "CPU" /proc/cpuinfo

model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz

model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz

如果只想显示第二列内容:

grep "model name" /proc/cpuinfo | cut -f2 -d:

 

12、常用内存查看命令

grep MemTotal /proc/meminfo

grep MemTotal /proc/meminfo | cut -f2 -d:

free -m | grep "Mem" | awk '{print $2}'

awk '/MemTotal/ {printf( "%.2f\n", $2 / 1024 )}' /proc/meminfo

 

13、查看磁盘总大小:

[root@localhost ~]# fdisk -l |grep Disk | cut -f2 -d:

498.9 GB, 498999492608 bytes

1995.9 GB, 1995997970432 bytes

 

我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。

 

所以 空闲内存=free+buffers+cached=total-used

 

14、查看系统安装的时候装的软件包

cat -n /root/install.log

more /root/install.log | wc -l

查看现在已经安装了那些软件包

rpm -qa

rpm -qa | wc -l

yum list installed | wc -l

不过很奇怪,我通过rpm,和yum这两种方式查询的安装软件包,数量并不一样。没有找到原因。

 

15、查看键盘布局

cat /etc/sysconfig/keyboard

cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d=

 

 

16、查看selinux情况

sestatus

sestatus | cut -f2 -d:

cat /etc/sysconfig/selinux

 

关闭selinux

 

1.[root@linux ~]# vi /etc/selinux/config
# 將底下的設定值改成這樣:
SELINUX=disabled

2. 修改開機時 grub 的設定檔
[root@linux ~]# vi /boot/grub/menu.lst
.....省略.....
kernel /boot/vmlinuz-2.6.9 ro root=/dev/hda1 rhgb selinux=0
.....省略.....

3. 重新開機
[root@linux ~]# sync; reboot

 

17、资源

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

[root@cloud_test download]# free -m

total used free shared buffers cached

Mem: 2453 2402 50 0 272 799

-/+ buffers/cache: 1330 1123

Swap: 4094 0 4094

 

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

[root@cloud_test download]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/hda2 55G 11G 41G 21% /

/dev/hda1 99M 12M 82M 13% /boot

tmpfs 1.2G 0 1.2G 0% /dev/shm

 

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

[root@cloud_test download]# du -sh

2.7G

 

[root@cncloud ~]# du /etc -sh

126M /etc

 

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

[root@cloud_test download]# grep MemTotal /proc/meminfo

MemTotal: 2512164 kB

 

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

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

 

[root@cloud_test download]# uptime

20:25:06 up 9 days, 3:52, 3 users, load average: 0.00, 0.00, 0.00

 

# cat /proc/loadavg # 查看系统负载磁盘和分区

[root@cloud_test download]# cat /proc/loadavg

0.00 0.00 0.00 1/195 19443

 

[root@aca80a67 ~]# cat /proc/meminfo

 

MemTotal:内存总量

MemFree:空闲内存大小

Buffers:用于临时磁盘缓存

Cached:I/O读写缓存,不包括SwapCached

SwapCached:曾被换出,但被换回而仍留在swapfile的内存大小

其实,MemFree并不能代表系统内存空闲总量,系统用于I/O的缓存也应该纳入空闲内存的范围。内存空闲量:

MemFree+Buffers+Cached+SwapCached

[root@aca80a67 ~]# ll -h /proc/kcore

空闲内存=free+buffers+cached=total-used

[root@aca80a67 ~]# grep MemTotal /proc/meminfo

MemTotal: 2058016 kB

 

18、磁盘和分区

# mount | column -t # 查看挂接的分区状态

[root@cloud_test download]# cat /proc/loadavg

0.10 0.03 0.01 1/195 19445

[root@cloud_test download]# mount | column -t

/dev/hda2 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/hda1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

 

# fdisk -l # 查看所有分区

[root@cloud_test download]# fdisk -l

 

Disk /dev/hda: 64.4 GB, 64424509440 bytes

255 heads, 63 sectors/track, 7832 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Device Boot Start End Blocks Id System

/dev/hda1 * 1 13 104391 83 Linux

/dev/hda2 14 7309 58605120 83 Linux

/dev/hda3 7310 7831 4192965 82 Linux swap / Solaris

 

# swapon -s # 查看所有交换分区

[root@localhost ~]# swapon -s

Filename Type Size Used Priority

/dev/sda3 partition 2096472 0 -1

# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

[root@localhost ~]# hdparm -i /dev/hdc

 

/dev/hdc:

 

Model=VMware Virtual IDE CDROM Drive, FwRev=00000001, SerialNo=10000000000000000001

Config={ SoftSect Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }

RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0

BuffType=unknown, BuffSize=32kB, MaxMultSect=0

(maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0

IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

PIO modes: pio0 pio1 pio2 pio3 pio4

DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2

UDMA modes: udma0 udma1 *udma2

AdvancedPM=no

Drive conforms to: ATA/ATAPI-4 T13 1153D revision 17: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4

 

* signifies the current active mode

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

[root@localhost ~]# dmesg | grep IDE

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2

PIIX4: IDE controller at PCI slot 0000:00:07.1

Probing IDE interface ide0...

Probing IDE interface ide1...

hdc: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive

Probing IDE interface ide0...

target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)

 

19、网络

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

# iptables -L # 查看防火墙设置

 

关闭防火墙

#service iptables stop(临时关闭。下次重启系统就不管用了)

#chkconfig iptables off.(永久管用)

或者在system-config-firewall中把iptables的enabled选项取消

 

# route -n # 查看路由表

[root@localhost ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.171.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0

0.0.0.0 192.168.171.2 0.0.0.0 UG 0 0 0 eth0

# netstat -lntp # 查看所有监听端口

[root@localhost ~]# netstat -lntp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3517/portmap

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3038/cupsd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3791/sendmail: acce

tcp 0 0 0.0.0.0:763 0.0.0.0:* LISTEN 3549/rpc.statd

tcp 0 0 :::22 :::* LISTEN 3769/sshd

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

[root@localhost ~]# netstat -antp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3517/portmap

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3038/cupsd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3791/sendmail: acce

tcp 0 0 0.0.0.0:763 0.0.0.0:* LISTEN 3549/rpc.statd

tcp 0 0 :::22 :::* LISTEN 3769/sshd

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

 

ifconfig eth0 172.10.15.12

注意:使用ifconfig配置的ip地址在linux系统重新启动后就失效了

如果要想让地址永远生效,可以使用命令

system-config-network命令

 

可以为网卡设置第二个ip:ifconfig eth0:1 172.10.15.13

后面也可以加上netmask添加子网掩码

 

[root@cncloud ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR

IPADDR=172.10.15.3

[root@cncloud ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d=

172.10.15.3

[root@cncloud ~]# ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-

172.10.15.3

[root@cncloud ~]# ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'

172.10.15.3

192.168.122.1

 

20、查看网关

[root@cncloud ~]# cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=cncloud.com.cn

GATEWAY=172.10.15.254

 

21、查看dns

[root@cncloud ~]# cat /etc/resolv.conf

nameserver 172.10.15.3

nameserver 202.96.128.86

 

22、进程

# ps -ef # 查看所有进程

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

 

23、用户

# w # 查看活动用户

# id <用户名> # 查看指定用户信息

[root@localhost ~]# id root

uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh

# last # 查看用户登录日志

[root@localhost ~]# last

root pts/1 :0.0 Thu Mar 24 19:04 still logged in

root :0 Thu Mar 24 19:02 still logged in

root :0 Thu Mar 24 19:02 - 19:02 (00:00)

reboot system boot 2.6.18-164.el5 Fri Mar 25 03:00 (-7:-4)

root :0 Mon Mar 21 20:24 - crash (3+06:35)

root :0 Mon Mar 21 20:24 - 20:24 (00:00)

reboot system boot 2.6.18-164.el5 Tue Mar 22 03:33 (2+16:22)

 

wtmp begins Tue Mar 22 03:33:26 2011

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

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

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

时程表的格式如下 : f1 f2 f3 f4 f5 program

 

用VI编辑一个文件 cronfile,然后在这个文件中输入格式良好的时程表。编辑完成后,保存并退出。

  在命令行输入

  $: crontab cronfile

  这样就将cronfile文件提交给c r o n进程,同时,新创建cronfile的一个副本已经被放在/ v a r / s p o o l / c r o n目录中,文件名就是用户名。

当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

 

useradd user1

useradd user2

groupadd group1

gpasswd -a user1 group1

正在将用户"user1"加入到"group1"组中

 

24、服务

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

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

 

25、程序

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

 

26、中文乱码

下载中文支持包:

fonts-chinese-3.02-12.el5.noarch中文字体包

fonts-ISO8859-2-75dpi-1.0-17.1.noarch字体显示包

 

l 在安装时的“supported language”里面打钩 “Chinese ”, 即可。 要注意区分安装使用的语言和支持的语言是两回事。

或者

l 如果已经安装了, 可以 yum install fonts-chinese 来安装中文字体。这样, firefox, gedit就能正确显示中文了 。

locale -a查看系统支持的语言

vi /etc/sysconfig/i18n

改成LANG="zh_CN.UTF-8"重启即可

 

27、备份和恢复

恢复grub配置文件

先记住grub配置文件结构

title Red Hat Enterprise Linux Server (2.6.18-164.el5)

root(hd0,0)#表示要从系统中的第一块硬盘的第一个分区去找配置文件

kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet

#ro表示只读的意思

#LABEL=/表示在根目录下查找

initrd /initrd-2.6.18-164.el5.img

 

删除/boot/grub/grub.conf

系统启动不起来

启动时可以使用下面命令

grub> root (hd0,0)

Filesystem type is ext2fs, partition type 0x83

 

grub> kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/

[Linux-bzImage, setup=0x1e00, size=0x1c31d4]

 

grub> initrd /initrd-2.6.18-164.el5.img

[Linux-initrd @ 0x10c64000, 0x27b258 bytes]

 

28、系统启动

linux启动的时候,会在/boot目录先

加载vmlinuz*内核文件,然后加载initrd*内存磁盘文件

 

注销:logout

立即关机:shutdown –h now

5分钟后关机:shutdown +5

在10:30关机:shutdown 10:30

立即关闭系统并重启:shutdown –r now

指定在23:59重启:shutdown –r 23:59

reboot一般单独使用就可以重启系统,也可以加上参数

-f参数:不依正常的程序运行关机,直接关闭系统并重新启动计算机

-l参数:在重新启动之前关闭所有网络接口

 

29、换行符

dos2unix把"\r\n"转化成"\n",unixtodos把"\n"转化成"\r\n"。

命令dos2unix和unix2dos的使用非常简单,格式为:dos2unix filename

 

 

30、镜像制作:

dd if=/dev/zero of=./win2003.img bs=1 count=0 seek=50G

 

31、格式化日期

[root@localhost rc5.d]# date +%Y/%m/%d

2011/05/17

 

[root@localhost rc5.d]# date +%H:%M

10:31

 

显示指定年月的日历表

cal [month] [year]

 

一键安装ssh命令

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

 

32、自动启动

[root@expedia-cloud ~]# chkconfig --list vncserver
vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@expedia-cloud ~]# chkconfig --level 5 vncserver on
[root@expedia-cloud ~]# chkconfig --list vncserver
vncserver 0:off 1:off 2:off 3:off 4:off 5:on 6:off

 

33、创建用户及用户组

创建用户
useradd hdp

创建密码

passwd hdp

创建用户组
groupadd hadoop


添加用户到用户组
gpasswd -a hdp hadoop

 

或者


先创建用户组,然后直接把创建的用户添加到组
groupadd hadoop
mkdir /tmp/test
useradd -G hadoop -d /tmp/test -M hdp
G:用户所在的组 d:表示创建用户的自己目录的位置给予指定
M:不建立默认的自家目录,也就是说在/home下没有自己的目录

chown hdp.hadoop /tmp/test ----这表示把/tmp/test的属主定为hdp

chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有

 

 

34、安装GNOME

yum grouplist

yum groupinstall "GNOME Desktop Environment"

startx

 

35、拷贝指定目录下的某种类型文件到另一个目录

find /home/hdpusr/.ivy2/cache/ -name *.jar|xargs -I {} cp -r {} /tmp/jars/

 

36、删除一个目录下指定文件夹

find ./ -name .svn | xargs rm -rf

(责任编辑:IT)