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 即可

crontab -e
修改crontab
/etc/init.d/crond restart
需要root帐号

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

vncserver -geometry 1280x1024

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

37、远程启动firefox
such as: ssh -X [email protected] '/usr/bin/firefox'
详见:http://zhengzhuangjie.iteye.com/admin/blogs/1681389

如果启动时遇到以下错误:
[hdpusr@expedia-hdp1 bin]$ /usr/bin/firefox
Error: no display specified

编辑/etc/rc.local
添加如下内容

export DISPLAY=:0
su chester -c 'nohup java -jar /usr/local/bin/selenium-server.jar &' root

38、firefox安装flash plugin
yum install flash-plugin
rpm -ql flash-plugin

39、查看系统中现有的用户和用户组是否包含了mysql
grep -in mysql /etc/passwd /etc/group
其中/etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性。系统管理员经常会接触到这个文件的修改以完成对用户的管理工作。这个文件对所有用户都是可读的。
执行上述命令,-i参数不区分大小写,如果你没有看到包含mysql的信息,则说明你的系统当前可能没有配置mysql,下面我们需要为mysql运行创建用户及组。如果你看到结果返回 mysql 的字样,说明mysql运行的帐户信息己建立好了,那么可以跳过下面这一步。

40、查看linux系统默认分隔符
[checker@localhost shell]$ set | grep IFS
IFS=$' \t\n'

41、ulimit
[hdpusr@expedia-hdp2 bin]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30235
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
其中 "open files (-n) 1024 "是Linux操作系统对一个进程打开的文件句柄数量的限制(也包含打开的SOCKET数量,可影响MySQL的并发连接数目).
若要令修改CentOS ulimits的数值永久生效,则必须修改配置文档/etc/security/limits.conf,
比如
* soft nofile 32768
* hard nofile 65536
如果你使用squid的话,你要在/etc/init.d/squid的文件加入CentOS ulimit -HSn 65535.另外,在squid.conf中也要加入max_filedesc 16384
修改后,重新登录后就立刻生效

linux设置每天凌晨10分启动程序
crontab -e
10 0 * * * /data/mf/app/hive_import_gz/import_yesterday_data.sh

查找目录下所有包含有',105,'的普通文本文件中对应行的数据到指定文件
find ./* -type f | xargs grep ',105,' >> /data/mf/logfilebak/20131009/00_105

查找gz压缩文件中包含有指定字符串的行数据
zcat *2013100421* | grep '59689b556ff449dcc88246b7cfd82bd0'

你可能感兴趣的:(vmware,linux,centos)