当前位置 首页 >工作报告 > 调研报告 >

Linux日常维护常用命令

作者:jkyxc 浏览数:

 网络命令:

  # ifconfig# 显示网络信息,包括 P IP 地址、数据包接收/ / 发送情况

 # ifconfig eth0 up# 启动 eth0

  # vi /etc/sysconfig/network- - scripts/ifcfg- - eth0 # 改 更改 eth0配置文件

 # iwconfig # 显示无线网络信息

 # sudo /etc/init.d/network restart | start | stop# 重启网络| | 启动网络| | 停止网络

 # service network start| servic e networking restart# 同上

 # /etc/network/interfaces# 手动配置网络文件

 # ifup interface# 启用网络接口

 # ifdown interface# 禁用网络接口

 # wget http://xxx.com/xx.tar.gz # 下载

 # route - - n# 列举内核

 IP 路由表,用来解决相关问题

 # sudo dhclient# 从 从 P DHCP 服务器上获取 P IP 地址

 # sudo dhclient - - r# 从指定的网络接口获取 IP 地址

 # cat /etc/resolv.conf# 查看 DNS 服务器

 # iwlist scan# 显示区域内无线网络情况

 # lshw - - C network# 显示网卡和网络设备驱动信息(需以管理员权限运行)

 其他常用命令:

 # cat# 把档案串连接后传到基本输出( ( 屏幕 )

  # more# 类似 cat ,会以一页一页的显示, <space> 下一页, <b> 上一页, <h> 帮助

 # grep# 查找文件里符合条件的字符串,若包含则显示那一列

 # tar - - zxpf xx.tar.gz# 解压 缩

 # hostname | cat /etc/sysconfig/network# 查看主机名

 # lspci - - nn# 以数字和硬件名称方式显示连接到 I PCI 总线的 I PCI 供应商和设备代码

 # lsusb# 显示 B USB 设备

 # lshw - - C usb# 显示 B USB 相关的硬件上的附加信息(适用于 B USB 加密狗)

 m # yum install XX# yum 安装命令

 # yum list installed | wc - - l | rpm - - qa# 查看所有安装的软件包

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

 # grep on# 列出所有启动的系统服务

 # service XX (服务)

 restart | stop | start# 重启| | 停止| | 启动

 X XX 服务

 # echo $LANG $LANGUAGE | cat /etc/sysconfig/i18n# 查看系统默认语言

 硬盘挂载:

 # mount - - t 硬盘类型

 硬盘

 挂载点

 (硬盘类型:T FAT 则是 msdos ,2 FAT32 则是 vfat ,S NTFS 则是 ntfs )

 # fdisk - - l# 查看硬盘以及所有使用情况

 # mkdir /mnt/win_disk# 在t /mnt 目录下建立挂载点

 # mount - - t ntfs /dev/sda6 /mnt/win_disk# 挂 载 sda6 至/mnt/win_disk

  # unmount /mnt/win_disk# 卸载硬盘

 # mount - - t iso9660 /dev/cdrom /mnt/cdrom# 挂载光盘

 # mount /dev/fd0 /mnt/floppy# 挂载软盘

 常用命令归类:

 系统

  # uname - - a | uname - - r #

 查看内核/ / 操作系统U /CPU 信息

 # lsb_release - - a # 查看系统版本信息

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

 # cat /proc/cpuinfo | more /proc/cpuinfo | grep "model name" # 查看 U CPU 信息

 # hostname # 查看计算机名

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

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

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

 # env # 查看 环境变量

 # getconf LONG_BIT # 查看 u cpu 位数( 32 or 64 )

 # more /etc/redhat- - release | cat /etc/redhat- - release# 查看当前 x linux 的版本信息

 # passwd # 修改用户密码

 # reboot | Ctrl+Alt+Del | init 6# 重启

 # shutdown - - h now | halt | init 0# 关机

 资源

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

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

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

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

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

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

 # cat /proc/loadavg # 查看系统负载

 # pwd # 查看所在目录

 # ls - - l # 显示目录文件列表(- - a: 显示隐藏 )

  磁盘和分区

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

 # fdisk - - l | df - - h # 查看所有分区

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

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

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

 网络

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

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

 # route - - n # 查看路由表

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

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

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

 # cat /etc/sysconfig/network# 查看网关

 # cat /etc/resolv.conf # 查看 DNS

  进程

  # ps - - ef # 查看所有进程

 # top # 实时显示进程状态

 # ps - - auxw # 列举当前进程 ID

  X # kill XX 进程 ID # 终止单一进程

 # killall 程序名

 # 终止程序的所有进程

 # xkill # 终止 X X- -w Window 程序

 用户

  # w # 查看活动用户

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

 # last # 查看用户登录日志

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

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

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

 # startx # 启动 X X 桌面

 # switchdesk gnome|KDE|..# 切换桌面

 服务

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

 # chkcon fig -- list | grep on # 列出所有启动的系统服务

 程序

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

 # yum list installed # 同上

 # cat - - n /root/install.log# 查看系统安装时安装的软件包

 # more /root/install.log # 同上

 # /.configure # 配置

 # make # 编译

 # make install # 安装

 1、--df –hP 不管文件系统的名字多长,就不折行的输出,这在写监控磁盘使用率的时候很有用

 df – hP - - P, -- portability use the POSIX output format

  2、--在/var/log/messages 筛选昨天和今天的错误日志

 cat /var/log/messages | grep - - iE "warning | panic | error | exception | fail" | grep "$(date | awk "{print $2" "$3}")" >>$FILENAME

 cat /var/lo g/messages | grep - - iE "warning | panic | error | exception | fail" | grep "$(date - - d yesterday | awk "{print $2" "$3}")" >>$FILENAME

  3、-- sort 根据字段来排序,-t 后跟分隔符,-k n(n 代表数字)根据第几列来排序,-n 对字符串数字进行排序

 sort - - t ":" - - k 3 - - n /etc/passwd // 对d /etc/passwd 文件的 d uid 进行从小到大的排序 ,如下所示 :

  station90.example.com# sort - - n - - t ":" - - k 3 /etc/passwd | head - - n 3

  root:x:0:0:root:/root:/bin/bash

  bin:x:1:1:bin:/bin:/bin/bash

  daemon:x:2:2:Daemon:/sbin:/bin/bash

  4、--bc 数学运算

  station90.example.com# echo "scale=3;1/5" | bc // 精确到小数点几位,需要加 scale,e scale 默认值为 0

  .200

  station90.example.com# echo "1.2*8" | bc

  9.6

  [root@station90 ~]# bc - - q //- - q -- quiet don"t print initial banner

  3*4

  12

 3/4

  0

  scale=5

  3/4

  .75000

  [root@station90 ~]# var1=2

  c [root@station90 ~]# echo "scale=5;$var1/3" | bc //bc 支持变量

 .66666

  [root@station90 ~]# var1=3

  [root@station90 ~]# var2=$(echo "scale=3;$var1/3" | bc)

  [root@station90 ~]# echo $var2

  1.000

  5、--取出第二行第 2 列的数据 NR 取出第几行的数据

 oracle@Station90.example.com/1211> cat 1.txt

  1 4

  2 5

  3 6

  oracle@Station90.example.com/1211 > awk "NR==2 {print $2}" 1.txt

  5

 每隔 s 2s 执行一次 df – h

  watch – n 2 “ df –h h ”

 ls – ltrh 人性化的显示输出

 rm * 删除文件报错,可通过如下方式删除文件

 find ./ - - type f > /tmp/0110.txt

  for a in $(cat /tmp/0110.txt);do rm $a;done

  r tar 命令中,参数 — files- -m from 很好用,如:

 解压 r tar 中特定几个文件,同时使用- -C C , 指定解压路径, -- files- - fr om后面的文件 t 0110.txt 存放要解压的文件名,可进行模糊匹配

 tar - - zxvf xxxxx.tar.gz - - C xxxx/ -- files- - from 0110.txt

  在进行压缩文件的时候, -- files- -m from 也是很好用的,如 :

  对当前路径下的文件保留十天十天,其他的进行删除操作

 find ./ - - type f – name “ emcm* ”

 – mtime +10 > /tmp/0110.txt

  tar – zcvpf xxxxx.tar.gz – files- - from /tmp/0110.tx t

  for a in $(cat /tmp/0110.txt);do rm $a;done

  5、split 分割文件和合成文件

  split - - b 70m xxx.tar.gz xxx.tar.gz_

  因网络原因,将导出文件分割为 70M ,在您下载了所有文件后,执行如下命令进行合成文件:

 cat xxx.tar.gz_aa xxx.tar.gz_ab xxx.tar.gz_ac xxx.tar.gz_ad > xxx.tar.gz

 若您需要在 s windows 上合成,如您下载文件到 d d :

 盘,执行如下命令:

 C:\ \ Users\ \ Administrator>d:

  d:\ \ >copy /b "xxx.tar.gz_aa"+"xxx.tar.gz_ab"+"xxx.tar.gz_ac"+"xxx.tar.gz_ad" xxx.tar.gz

  6、查看进程打开了多少个文件句柄,取前 3

  [root@squid ~]# lsof - - n | awk "{print $2}" | sort| uniq - - c | sort - - nr | head - - n 3

  128 6618

  58 9945

  55 9883

  7、批量更改操作系统用户密码

  chpasswd < 1.txt

  cat 1.txt

  test1:$%uK83Re

  test2:$#rK8e78

  test3:#&rH9e3R

  8、当时同事正在做一些操作,可能导致存储有问题,只要能在存储上创建文件,则说明存储还是 OK 的,这时候的工作就是时不时的去多台服务器上去创建文件,简单重复但很累,就写下面的脚本代替:

  脚本作用:若不能创建文件则发出响声报警 echo $"\a"

  #!/bin/bash

 for i in {1..10000}

  do

  sleep 3

  e e cho "xxxxxxxxxxxxxxxxxxxxx"> lhf_$i.txt

  if [ $? - - eq 0 ];then

  echo "ok"

  else

  echo "failure"

  echo $"\ \ a"

  fi

  done

  9、tac 倒着看文本,如要看最新的 message 日志就挺方便的

 tac /var/log/message | less

  10、grep 参数-A,-B,-C

  - - A 1 取当前行和所筛选值的后一行

 - - B 1 取当前行和所筛选值的前一行

 - - C 1 取当前行和所筛选值的 上下行

 station90.example.com:~/1205 # cat grep.txt

  1

  2

  3

  4

 5

  6

  station90.example.com:~/1205 # cat grep.txt | grep - - B 1 4 //取当前行和所筛选值的前一行

 3

  4

  station90.example.com:~/1205 # cat grep.txt | grep - - A 1 4 //取当前行和所筛选值的后一行

 4

  5

  station90.example.com:~/12 05 # cat grep.txt | grep - - C 1 4 //取当前行和所筛选值的上下行

 3

  4

  5

  11、grep –l –r 参数

  有 搜索含有 d keyword 关键字文件,- -l l 只列出含有关键字的文件名, ,- -r r递归

 grep - - l - - r keyword ./

  12、grep 参数–x –w

  cat 1.txt | grep –1 x 192.168.1.1 匹配的是行,只有这一行只有1 192.168.1.1 的时候才进行匹配

 cat 1.txt | grep –1 w 192.168.1.1 匹配的词组,只 要这一行有1 192.168.1.1 就是匹配的

 13、grep –f 后跟文件名,如:

  Cat 1.txt | grep –t f 2.txt 2.txt 在 内容中的每一行都会在 1.txt进行匹配下,如果 t 1.txt 文件中有匹配的,则 t 1.txt 文件将显示匹配内容,如果 t 2.txt 和 和 t 1.txt 的文件都很大,是很消耗性能的

 14、更改用户的 uid 和组的 gid

  usermod – u uid 用户名

 groupmod – g gid 组名

 15、sed 用法

  1 1 、d sed 将号码前的 6 86 替换成空

 sed - - i "s/^8 6//g" 1.txt

  2 2 、将文本中的第 5 115 行上面插入 xxxxx

  sed - - i "115i\ \ xxxxx" 1.txt

  3 3 、在开头加上”, , 同时将空格替换成\ \+ + 空格

 sed - - i - - e "s/^/\ \ "/g" - - e "s/$/\ \ "/g" - - e "s/ /\ \\ \\ \

 /g" mdsp_filepath.txt

  4 4 、分步写,则为:

 sed - - i "s/^/\ \ "/g" 1.txt

  sed - - i "s/ /\ \\ \\ \

 /g" 1.txt

  5 5 、在文件内容的末尾加上”

 sed - - i "s/$/\ \ "/g" 1.tx t

 16、xargs 用法

  1 1 、批量重命名文件

 ls | xargs - - i mv {} {}.bak

  2 2 、在文件中,查询关键字的信息

 find . - - name "*.CDR"|xargs grep " 关键字 "

  17、awk 用法

  awk –F F 指定分隔符,默认的分隔符为空格,如

 以| | 作为分隔符, , 取第九列

 awk - - F "|" "{print $9}" 1.txt

  18、批量取文件所在的绝对路径 dirname,文件名须不带空格

 station90.example.com~ # cat 1.tx t

  /etc/ATAEV100R002C03SPC200/sles10sp2_x64.properties

  /etc/ATAEV100R002C03SPC200/1206/task.properties

  /etc/DIR_COLORS

  station90.example.com:~ # for i in $(cat 1.txt);do dirname $i;done

  /etc/ATAEV100R002C03SPC200

  /etc/ATAEV100R002C03SPC200/1206

  /etc

  19、批量取文件名 basename

  station90.example.com~# for i in $(cat 1.txt);do basename $i;done

 sles10sp2_x64.properties

  task.properties

  DIR_COLORS

  netcontrol_global_hooks

  20、rsync 传输文件

  rsync – avH – n – delete ./ oracle@192.168.15.28:/home/oracle/

  - - n 并不会真正的传输,只是 一种测试

 - -a a 示以递归方式传输文件,并保持所有文件属性

 -- delete 如果远程文件和被传输的目录文件不同,则删除(谨慎使用)

推荐访问:日常维护 常用命令 LINUX

相关文章:

Top