linux运维常用命令

0、vi文本中

   将鼠标移到最后一行 shift+g或G

0、查看系统版本

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

0、查看系统名字

   [root@localhost ~]# uname -r 

   2.6.18-194.el5PAE

1、修改语言

   查看当前语言

   [root@localhost ~]# echo $LANG

    en_US.UTF-8

   把中文换成英文

   [root@localhost ~]# LANG=en_US

   [root@localhost ~]# echo $LANG

    en_US

2、设置时间

   查看时间

   [root@localhost ~]# date

   Thu Feb 27 01:49:33 CST 2014

   设置时间

   [root@lizhanguo ~]# date -s 20140226  日期

   [root@lizhanguo ~]# date -s 17:43     时间

   同步时间服务器

   [root@localhost ~]# ntpdate 10.0.1.60

   写入定时任务

   [root@localhost ~]# crontab -e

    40 11 * * *   ntpdate 10.0.1.60

3、显示日历

   [root@localhost ~]# cal

   February 2014    

   Su Mo Tu We Th Fr Sa

                   1

    2  3  4  5  6  7  8

    9 10 11 12 13 14 15

    16 17 18 19 20 21 22

    23 24 25 26 27 28

   查看2014年2月的日历

   [root@localhost ~]# cal 2 2014

4、查看都有谁在线

   [root@localhost ~]# who

5、切换执行等级

   [root@localhost ~]# init 3

6、文件目录权限

   新建一个目录

   [root@localhost home]# mkdir test

   新建一个空文件

   [root@localhost home]# touch test/123

   修改一个目录的拥有者

   [root@localhost home]# chown ftp test/

   修改一个目录的拥有组

   [root@localhost home]# chgrp ftps test/

   修改一个目录的权限

   [root@localhost home]# chmod 750 test/

7、系统版本查看

   [root@localhost init.d]# uname -r

    2.6.18-194.el5PAE

   [root@localhost init.d]# lsb_release -a

    LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch

    Distributor ID: CentOS

    Description:    CentOS release 5.5 (Final)

    Release:        5.5

    Codename:       Final

8、查看目录及文件

   以时间顺序查看文件

   [root@localhost home]# ll -ta

   文件大小以GB、KB的形式显示

   [root@localhost home]# ll -ha

   以文件大小排序显示

   [root@localhost home]# ll -Sa

   按时间以默认值相反的方式显示

   [root@localhost home]# ll -rta

   连同子目录一起显示出来

   [root@localhost home]# ll -Ra

9、复制文件

   连同子目录及属性权限一起复制

   [root@localhost home]# cp -a /root .  #“.”表示当前目录

10、删除目录及文件

    [root@localhost home]# rm -r /root/

    rm: descend into directory `/root/'? 

     如果不想总是执行y确认

    [root@localhost home]# rm -rf /root/

11、查看文件

    以带行的形式显示

    [root@localhost home]# cat -n root/install.log

    或

    [root@localhost home]# more -n root/install.log  #这种方式可以显示比例及能向后翻页

    或

    [root@localhost home]# less -n root/install.log  #这种方式可以向前或向后翻页

12、查看文档数据选取

    选取一个文档的前20行

    [root@localhost home]# head -n 20 root/install.log

    选取一个文档的后20行

    [root@localhost home]# tail -nf 20 root/install.log

    如果一个实时变化的文档,查看新增的后几行数据

    [root@localhost home]# tail -f /var/log/messages

13、查看root目录内文件占用的inode号码时

    [root@localhost ~]# ll -i

14、显示目录(包括显示/proc等目录、还包括每个目录属于的文件系统)

    [root@localhost ~]# df -haT 

15、以M为单位显示/目录的容量

     [root@localhost ~]# du -sm /

     1216    /

16、查看三个目录的inode号码

    [root@localhost ~]# ll -id / /home /boot 

17、显示硬盘分区的信息

    [root@localhost ~]# fdisk -l 

18、盘分区

    fdisk /dev/hda   针对hda这块硬盘分区

    [root@localhost ~]# fdisk /dev/hda  回车 

     The number of cylinders for this disk is set to 7832.

    There is nothing wrong with that, but this is larger than 1024,

    and could in certain setups cause problems with:

   1) software that runs at boot time (e.g., old versions of LILO)

   2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)


   Command (m for help): m         # 输入m  显示所有的可选信息

   Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

   Command (m for help): n  #选择n  表示新建分区

   First cylinder (6631-7832, default 6631): 

   Using default value 6631

   Last cylinder or +size or +sizeM or +sizeK (6631-7832, default 7832): +1000M  #新建一个1G的分区          


   Command (m for help): P


   Disk /dev/hda: 64.4 GB, 64423526400 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         255     2048256   83  Linux

   /dev/hda2             256        2805    20482875   83  Linux

   /dev/hda3            2806        4080    10241437+  83  Linux

   /dev/hda4            4081        7832    30137940    5  Extended

   /dev/hda5            4081        6630    20482843+  83  Linux

   /dev/hda6            6631        6753      987966   83  Linux    #这个就是新建的分区

  Command (m for help): w  #保存退出

  The partition table has been altered!


  Calling ioctl() to re-read partition table.


  WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

  The kernel still uses the old table.

  The new table will be used at the next reboot. #正常新建立完分区下次重启才能生效 

  Syncing disks.

  [root@localhost ~]# partx -a /dev/vda   #为了不重启让新建的分区生效执行这条命令

  ( 如果要删除分区,在选择完m后,可以选择d,再选择要删除的分区的编号,就可以删除了。)

    对新建的硬盘分区格式化

    [root@localhost ~]# mkfs -t ext3 /dev/hda6

    把新建的分区挂载到一个目录下

    [root@host-10-49-120-1 ~]# mkdir /u01      建立要挂载到的目录

    [root@host-10-49-120-1 ~]# mount /dev/vda5 /u01   把新建的分区挂载到想要的目录

    为了保证机器在以后重启后挂载信息不丢失需要把挂载信息写到分区表了

    [root@host-10-49-120-1 ~]# vi /etc/fstab 

    /dev/vda5               /u01                    ext4    defaults        0 0   在分区表达的最后一行加入此条信息


20、检查文件系统是否有出错

    [root@localhost ~]# fsck -f  /dev/hda6   #-f 强化细分检查   -a  检查出问题并进行修复  这个命令不能在正常的分区执行

    容易发生系统紊乱。执行fsck时,被检查的分区务必不可挂载到系统上,即是需要在卸载的状态。

21、检查硬盘是否有坏道

    [root@localhost ~]# badblocks -sv /dev/hda6   #-s 在屏幕上列出进度  -v 在屏幕上看到进度

    Checking blocks 0 to 987966

    Checking for bad blocks (read-only test): done                                

    Pass completed, 0 bad blocks found.

22、挂载硬盘分区

    [root@localhost ~]# mount -a  #依照配置文件/etc/fstab的数据将所有未挂在的磁盘都挂在上来

    [root@localhost ~]# mount -l  #显示挂载的信息

    [root@localhost ~]# mkdir /zhanguo   建立一个目录

    [root@localhost ~]# mount /dev/hda6 /zhanguo   把/dev/hda6这个新建的分区挂载到/zhanguo这个目录下

23、挂载CD或DVD

    [root@localhost ~]# mkdir /media/cdrom   创建光盘媒介的目录

    [root@localhost ~]# mount /dev/cdrom /media/cdrom/    把CD光驱挂载到/media/cdrom/目录下

24、挂载U盘

    [root@localhost ~]# mkdir /mnt/flash   为U盘新建一个挂载目录

    [root@localhost ~]# mount -t vfat -o iocharset=cp950 /dev/sda1  /mnt/flash  把U盘挂载在新建的目录下 -t 是U盘的文件系统格式

    -o iocharset=cp950 改变语系支持中文。

25、查看文件

    不显示注释行

    [root@node-1 ~]# cat  /etc/nova/nova.conf |grep -v ^#   

    当连续有多行空白行时只显示一行

    [root@node-1 ~]#cat  -s 1.text


26、从普通用户进入root用户

   [root@localhost ~]#sudo -s


27、内网服务器出网

    第一步:route add -net  10.0.0.0/8 gw 10.40.30.254 

    第二步:route del default  gw 10.40.30.254  

    第三步:route add default gw 10.40.30.250 

    第四步:

       把上面三条加入到开机启动文件:

        vim /etc/sysconfig/network-scripts/eth0.route 

        ADDRESS0=10.0.0.0

        NETMASK0=255.0.0.0

        GATEWAY0=10.40.30.254



28、修改服务器ip地址:

    第一种修改 方法 

      vim /etc/sysconfig/network-scripts/ifcfg-eth0 

      DEVICE=eth0

      ONBOOT=yes

      BOOTPROTO=none

      HWADDR=78:2b:cb:3d:6d:5f

      TYPE=Ethernet

      NETMASK=255.255.255.0

      IPADDR=10.40.30.100

      GATEWAY=10.40.30.254



      其他修改网关方法:

      [root@10_0_3_112 ~]# cat /etc/sysconfig/network

      NETWORKING=yes

      NETWORKING_IPV6=yes

      GATEWAY=10.0.0.5

      HOSTNAME=10_0_3_112

29、跨机器间传输文件

   从本机拷到其他机器

   scp /home/lizhanguo/200M [email protected]:/var/

   再输入密码就可以了


   从其他机器拷到本机

   scp [email protected]:/var/lib/nova/instances/7a1710de-f691-43e6-832d-8298f73d7675/disk.local .  #“."表示的是本机的本目录


   带限速的传文件

   scp -l 400000 /home/lizhanguo/200M [email protected]:/var/ 

  (10 大约是1KB/S)


   RSYNC传输 方法

   rsync -avzPR --bwlimit=50000  /temp2/datamart/0_189fullbak_L0_BOSSCENT_20130701_7668_1.bak [email protected]::bak1/oracle/   

  (注:单位KB) 

30、通过IP挂载存储

    mount -t nfs -o timeo=10 10.101.11.212:/vx/0220test bbb


31、DD生成文件

    dd if=/dev/zero of=2000G bs=1M count=1000000

32、清空一个文本的内容

     echo "" >switch_list_lzg  (或者 >switch_list_lzg)

33、设置SSH 密码登陆方式

    1、本地设备(即SSH发起者)

     [root@localhost ~]# cd /root/.ssh/    #进入SSH登陆设置目录

     [root@localhost .ssh]# ls             #查看原有的目录内容

      id_dsa  id_dsa.pub  known_hosts

     [root@localhost .ssh]# rm -rf *      #为了设置方便把原来的内容都删除

     [root@localhost .ssh]# ls

     [root@localhost .ssh]# 

     [root@localhost .ssh]# ssh-

      ssh-add      ssh-agent    ssh-copy-id  ssh-keygen   ssh-keyscan  

     [root@localhost .ssh]# ssh-keygen -d    #自动生成本机的密钥

      Generating public/private dsa key pair.

      Enter file in which to save the key (/root/.ssh/id_dsa):   #密钥的放置目录,直接按回车就行

      Enter passphrase (empty for no passphrase):      #是否设置密钥密码,默认直接按回车

      Enter same passphrase again:                     #重新输入密码,默认直接回车

      Your identification has been saved in /root/.ssh/id_dsa.

      Your public key has been saved in /root/.ssh/id_dsa.pub.

      The key fingerprint is:

      10:b4:e9:15:34:7c:96:5a:f0:cc:f5:7c:0a:22:1d:25 [email protected]

     [root@localhost .ssh]# ls

       id_dsa  id_dsa.pub     #生成了公钥,把公钥的内容直接拷贝的要登录设备的ssh 密钥认证设置里就行

     [root@localhost .ssh]# ssh [email protected]   #登录服务器 

      The authenticity of host '10.40.200.28 (10.40.200.28)' can't be established.

      RSA key fingerprint is c8:49:9f:5b:d4:4d:a4:36:97:6e:be:ae:7d:3e:de:ea.

      Are you sure you want to continue connecting (yes/no)? yes

      Warning: Permanently added '10.40.200.28' (RSA) to the list of known hosts.

      Permission denied (publickey).   #有公钥,登录被拒绝

     [root@localhost .ssh]# ls

      id_dsa  id_dsa.pub  known_hosts

     [root@localhost .ssh]# cat id_dsa.pub   #查看密钥信息

      ssh-dss AAAAB3NzaC1kc3MAAACBAIFXNqQoEN+YEJEzg8L3vLg2z5eZn6DeKdPKWNKoo75ozSku9mK1FkTZEX0Ye2oO1GlPtGgelRpb4j8HyrIhUiDt+UOGJVbtgf/QF0f+/4i8w/14OFetyMxDQs13E+d5WWdeQR1lLbuOVPaNwnkeycnAG3GivP3Gt73nsz2d/PO5AAAAFQC+ReN07NgbTpsTL1mykOA7EAWteQAAAIBNhfqsA5irM35GiHPAvjVhajlPtUxsY7GSTLOVZzxH0xbS991gHoX3puWev5JbA3e7V7L2H/aDrdrNg+VIEF2V2CilAOZoJIhhSXETpW0zeVlDHLC2tTfertLytD+Xu6jr4R5Lc9hTR0dbmF5hhoSfNbf9ED3y5WixR6nXFgA27AAAAIBnJzr7TF//cd5ZgcgdYBtVLoH/Z+AI+HefS/XJiGuKhwje06IIefRbW+jISVlCAjYqjR2BNzobJHIThwkswKxr5LZzbby9s1wVdvOIg+pkImoU2ojgVbVIWPVF5+UhU7y83fAsyN5SYgX91X0tN/mOtboZg7h8ICF1EmNOEIP3UA== [email protected]

     [root@localhost .ssh]# 

    2、被登录的设备(远程设备)

       [root@node-7 .ssh]# vi authorized_keys  #把上面生成的密钥加入这个文件中


34、查看linux服务器的SN

    [root@node-7 ~]# dmidecode | more

35、时间同步

    先执行一下ntpdate 10.0.1.60,然后再执行crontab -e,进去后再输入*/5 * * * * ntpdate 10.0.1.60

36、显示文本行数

    vim 文件中

    :set nu  

   或直接跳到哪行

   :131   直接跳到131行


37、[root@localhost ~]# crontab -e 

    no crontab for root - using an empty one

    0-50 9-23 * * * /root/ping.sh        写入的内容

    0 22 * * * /root/tracert.sh   

38、修改DNS

   vim /etc/resolv.conf

   nameserver 10.0.0.43

   nameserver 10.0.0.58

39、多线程下载

   root@ubuntu:~# apt-get install lftp      #安装lftp这个软件

   root@ubuntu:~# lftp -c "pget -n 20 http://10.240.210.102/design/rhel_6.3-x86_64.iso "   # -n  指的是下载的线程数

40、文本内容替换

   sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf 


41、python环境下安装文件命令

   进入要安装软件的目录执行:python setup.py install

42、直接删除一个文件中的一行

    /home/lizhanguo/.ssh/known_hosts:1425  直接删除这个文件中的1425行

    sed -i 1425d /home/lizhanguo/.ssh/known_hosts

43、解压一个文件

    tar -zvxf linux-3.4.1.tar.gz 

44、查看镜像类型

   qemu-img info rhel63_x86_64.dsk 

45、挂载公网yum源

    rpm -ivh http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm


46、RHEL6.2配置本地yum源

      配置好yum并使用yum安装软件,系统的使用会变得很轻松。

   (1)通过U盘将rhel安装光盘拷贝到电脑上并挂载到/media/local目录下

        #mount -o loop rhel.iso /media/local

 (  2)配置yum文件

        #vi /etc/yum.repos.d/local.repo 

          加入如下内容:

         [Local]

         name=Local

         baseurl=file:///media/local

         enabled=1

         gpgcheck=0

47、查看rpm安装的包

    [root@localhost ~]# rpm -qa | grep bridge

48、修改DNS

    [root@localhost ~]# vim /etc/resolv.conf

    nameserver 10.240.210.98

49.redhat在本地建立yum源

   Centos是完全免费的,它的yum可以直接使用;而RedHat的yum则需要注册付费才能使用,如果不这样则有两种解决方案,也可以说是三种

  (1). 利用iso镜像做本地yum源

  (2). 利用光盘做本地yum源

  (3). 利用Centos的在线地址做本地yum源

   在这里用iso或者光盘做本地yum源的方法是差不多的,只是用光盘的话Linux系统会自动挂载,用iso镜像的或需要手动挂载,这里就说挂载iso的方法吧。

  【一】用本地文件创建本地yum源

  (1). 创建iso存放目录和挂载目录

    mkdir /mnt/iso 

    mkdir /mnt/cdrom

   (2). 将iso镜像文件上传到/mnt/iso文件夹下

   (3). 将/mnt/iso/下的iso文件挂载到/mnt/cdrom目录

    mount -o loop /mnt/iso/XXXXX.iso /mnt/cdrom   <注:挂载完之后对其操作会提示设备繁忙,此时需要umount解开挂载才行>

    查看是否挂载成功:  df -h <用来查看系统中所有挂载的,mount也可以>

   (4).<最关键的一步>如果/etc/yum.repos/下面有其它的*.repo文件,先创建个文件夹,将这些*.repo先转移到文件夹中,自己写一个.repo的文件

      mkdir /etc/yum.repos.d/bak    mv *.repo /etc/yum.repos.d/bak     然后创建自己的.repo文件

      vi myself.repo

       [base]

       name=RedHat

       baseurl=file:///mnt/cdrom    #注:这里的baseurl就是你挂载的目录,在这里是/mnt/cdrom

       enabled=1                             #注:这里的值enabled一定要为1   gpgckeck的值无所谓

       gpgckeck=0

       gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release     #注:这个你cd /mnt/cdrom/可以看到这个key,这里仅仅是个例子

   (5). 测试:

     yum clean all

     yum install vim*

 【二】用Centos的网址创建yum源

      只需要将/etc/yum.repos.d/下面的*.repo文件放在bak文件夹下,创建自己的.repo文件,如以下配置

      [base]

      name=RedHat

      baseurl=http://mirrors.163.com/centos/6/os/$basearch/

      enabled=1

      gpgcheck=0

      gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 

      浏览器中可以访问网址:http://mirrors.163.com/centos     后面的安装你需要的Centos的版本来配置

 【其它】

      yum grouplist   显示的结果为已经安装的组包,未安装的组包,语言包等。

     在安装openmeeting的时候在RedHat6.2上就是用的Centos6的yum在线源,而且成功安装了Office/Productivity组包

50、linux资源利用率查看

    top  #实时查看cpu memery的利用率

    vmstat  #查看系统状态、硬件和系统信息

    iostat  #查看cpu负载,硬盘状态

    sar    #综合工具,查看系统状态

    mpstat  #查看多处理器状况

    netstat    #查看网络状况

    iptraf     #实时网络状况监测

    tcpdump    #抓取网络数据包,详细分析

    tcptrace   #数据包分析工具

    netperf  #网络带宽工具

51、查看加载的模块

    [root@jiayuan ~]# lsmod | grep iptable_nat

52、加载模块

    modprobe iptable_nat

53、源代码安装

    (1)、make config   #配置  (如果源代码中有configure这个文件,直接执行./configure就可以)

    (2)、make all  -j 10   #编译 、用10个进程并行的方式进行编译,速度快

    (3)、make modules_install   #安装模块

    (4)、make install    #安装内核

54、查看系统CPU个数

    [lizhanguo@manager_network ~]$ ls /sys/devices/system/cpu/

    cpu0  cpu10  cpu12  cpu14  cpu2  cpu4  cpu6  cpu8  sched_mc_power_savings

    cpu1  cpu11  cpu13  cpu15  cpu3  cpu5  cpu7  cpu9  sched_smt_power_savings

55、查看CPU详细信息

    [lizhanguo@manager_network ~]$ cat /proc/cpuinfo 

56、查看宿主机中QEMU进程和线程数

    [root@jiayuan ~]# ps -efL | grep qemu

    root     27774 24753 27774  0    4 17:27 pts/1    00:00:01 qemu-system-x86_64 -m 1024 -smp 2 /home/kvm/rhel6u3.img

    root     27774 24753 27776  8    4 17:27 pts/1    00:00:16 qemu-system-x86_64 -m 1024 -smp 2 /home/kvm/rhel6u3.img

    root     27774 24753 27777  4    4 17:27 pts/1    00:00:08 qemu-system-x86_64 -m 1024 -smp 2 /home/kvm/rhel6u3.img

    root     27774 24753 27779  0    4 17:27 pts/1    00:00:00 qemu-system-x86_64 -m 1024 -smp 2 /home/kvm/rhel6u3.img

    root     27826 26256 27826  0    1 17:31 pts/7    00:00:00 grep qemu

    #27774的进程是客户机的进程,27776 27777 27779 是27774进程产生的线程

57、在后台运行一起一个云主机

    [root@jiayuan ~]# qemu-system-x86_64 -m 1024 -smp 2  /home/kvm/rhel6u3.img -daemonize   #-daemonize  在后台运行

58、ps 命令使用

    [root@jiayuan ~]# ps -e | grep qemu

     28355 ?        00:00:33 qemu-system-x86

    [root@jiayuan ~]# ps -eL | grep qemu

     28355 28355 ?        00:00:02 qemu-system-x86

     28355 28357 ?        00:00:18 qemu-system-x86

     28355 28358 ?        00:00:11 qemu-system-x86

     28355 28360 ?        00:00:00 qemu-system-x86

       # -e  显示所有进程,-L包括线程也显示出来

59、查看内存利用率

    [root@jiayuan ~]# free -m  #-m 是以M的形式显示内存的利用率,也可以加-g,以G的形式显示 


60、查看详细的内存信息

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

61、查看启动项 

    [root@jiayuan ~]# chkconfig | grep dhcpd

62、RPM安装软件包

    #rpm -ivh tftp-0.49-7.el6.x86_64.rpm

    RPM下载软件包

    #rpm -e tftp-0.49-7.el6.x86_64.rpm

63、查询一个RPM包的安装位置

    [root@localhost ~]# rpm -ql xinetd

64、关闭selinux (关闭后重启机器)

    vi /etc/selinux/config

    SELINUX=disabled  

65、安装cobbler yum源

    rpm -Uvh 'http://mirrors.ustc.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm'

66、跳过yum的依赖包

   [root@host-10-40-210-20 ~]# yum install python* --skip-broken


你可能感兴趣的:(Linux常用命令)