小知识:Linux日常维护常用命令集合整理

网络命令:  # ifconfig# 显示网络信息,包括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| service networking restart# 同上  # /etc/network/interfaces# 手动配置网络文件  # ifup interface# 启用网络接口  # ifdown interface# 禁用网络接口  # wget http://xxx.com/xx.tar.gz # 下载  # route -n# 列举内核 IP 路由表,用来解决相关问题  # sudo dhclient# 从DHCP服务器上获取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# 以数字和硬件名称方式显示连接到PCI总线的PCI供应商和设备代码  # lsusb# 显示USB设备  # lshw -C usb# 显示USB相关的硬件上的附加信息(适用于USB加密狗)  # yum install XX# yum安装命令  # yum list installed | wc -l | rpm -qa# 查看所有安装的软件包  # chkconfig –list # 列出所有系统服务  # grep on# 列出所有启动的系统服务  # service XX(服务) restart | stop | start# 重启|停止|启动XX服务  # echo $LANG $LANGUAGE | cat /etc/sysconfig/i18n# 查看系统默认语言  硬盘挂载: # mount -t 硬盘类型 硬盘 挂载点  (硬盘类型:FAT则是msdos,FAT32则是vfat,NTFS则是ntfs)  # fdisk -l# 查看硬盘以及所有使用情况  # mkdir /mnt/win_disk# 在/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 # 查看内核/操作系统/CPU信息  # lsb_release -a # 查看系统版本信息  # head -n 1 /etc/issue # 查看操作系统版本  # cat /proc/cpuinfo | more /proc/cpuinfo | grep “model name” # 查看CPU信息  # hostname # 查看计算机名  # lspci -tv # 列出所有PCI设备  # lsusb -tv # 列出所有USB设备  # lsmod # 列出加载的内核模块  # env # 查看环境变量  # getconf LONG_BIT # 查看cpu位数(32 or 64)  # more /etc/redhat-release | cat /etc/redhat-release# 查看当前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 # 查看磁盘参数(仅适用于IDE设备)  # dmesg | grep IDE # 查看启动时IDE设备检测状况  网络  # ifconfig # 查看所有网络接口的属性  # iptables -L # 查看防火墙设置  # route -n # 查看路由表  # netstat -lntp # 查看所有监听端口  # netstat -antp # 查看所有已经建立的连接  # netstat -s # 查看网络统计信息  # cat /etc/sysconfig/network# 查看网关  # cat /etc/resolv.conf # 查看DNS  进程  # ps -ef # 查看所有进程  # top # 实时显示进程状态  # ps -auxw # 列举当前进程ID  # kill XX进程ID # 终止单一进程  # killall 程序名 # 终止程序的所有进程  # xkill # 终止X-Window程序  用户  # w # 查看活动用户  # id <用户名> # 查看指定用户信息  # last # 查看用户登录日志  # cut -d: -f1 /etc/passwd # 查看系统所有用户  # cut -d: -f1 /etc/group # 查看系统所有组  # crontab -l # 查看当前用户的计划任务  # startx # 启动X桌面  # switchdesk gnome|KDE|..# 切换桌面  服务 # chkconfig –list # 列出所有系统服务  # chkconfig –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/log/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 //对/etc/passwd文件的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,scale默认值为0  .200  station90.example.com# echo “1.2*8” | bc  9.6  [root@station90 ~]# bc -q //-q –quiet dont print initial banner  3*4  12  3/4  scale=5  3/4  .75000  [root@station90 ~]# var1=2  [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  每隔2s执行一次df –h  watch –n 2 “df –h”  ls –ltrh 人性化的显示输出  rm *删除文件报错,可通过如下方式删除文件  find ./ -type f > /tmp/0110.txt  for a in $(cat /tmp/0110.txt);do rm $a;done  tar命令中,参数—files-from很好用,如:  解压tar中特定几个文件,同时使用-C指定解压路径,–files-from后面的文件0110.txt存放要解压的文件名,可进行模糊匹配  tar -zxvf xxxxx.tar.gz -C xxxx/ –files-from 0110.txt  在进行压缩文件的时候,–files-from也是很好用的,如:  对当前路径下的文件保留十天十天,其他的进行删除操作  find ./ -type f –name “emcm*” –mtime +10 > /tmp/0110.txt  tar –zcvpf xxxxx.tar.gz –files-from /tmp/0110.txt  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  若您需要在windows上合成,如您下载文件到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  echo “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  station90.example.com:~/1205 # cat grep.txt | grep -B 1 4 //取当前行和所筛选值的前一行  station90.example.com:~/1205 # cat grep.txt | grep -A 1 4 //取当前行和所筛选值的后一行  station90.example.com:~/1205 # cat grep.txt | grep -C 1 4 //取当前行和所筛选值的上下行  11、grep –l –r参数  搜索含有keyword关键字文件,-l只列出含有关键字的文件名,-r递归  grep -l -r keyword ./  12、grep 参数–x –w  cat 1.txt | grep –x 192.168.1.1匹配的是行,只有这一行只有192.168.1.1的时候才进行匹配  cat 1.txt | grep –w 192.168.1.1匹配的词组,只要这一行有192.168.1.1就是匹配的  13、grep –f 后跟文件名,如:  Cat 1.txt | grep –f 2.txt 2.txt内容中的每一行都会在1.txt进行匹配下,如果1.txt文件中有匹配的,则1.txt文件将显示匹配内容,如果2.txt和1.txt的文件都很大,是很消耗性能的  14、更改用户的uid和组的gid  usermod –u uid 用户名  groupmod –g gid 组名  15、sed 用法  1、sed将号码前的86替换成空  sed -i s/^86//g 1.txt  2、将文本中的第115行上面插入xxxxx  sed -i “115i\xxxxx” 1.txt  3、在开头加上”,同时将空格替换成\+空格  sed -i -e “s/^/\”/g” -e “s/$/\”/g” -e “s/ /\\\ /g” mdsp_filepath.txt  4、分步写,则为:  sed -i “s/^/\”/g” 1.txt  sed -i “s/ /\\\ /g” 1.txt  5、在文件内容的末尾加上”  sed -i “s/$/\”/g” 1.txt  16、xargs用法  1、批量重命名文件  ls | xargs -i mv {} {}.bak  2、在文件中,查询关键字的信息  find . -name *.CDR|xargs grep 关键字  17、awk用法  awk –F指定分隔符,默认的分隔符为空格,如  以|作为分隔符,取第九列  awk -F | {print $9} 1.txt  18、批量取文件所在的绝对路径dirname,文件名须不带空格 station90.example.com~ # cat 1.txt  /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示以递归方式传输文件,并保持所有文件属性  –delete 如果远程文件和被传输的目录文件不同,则删除(谨慎使用)  后续继续更新,现在脑袋就先想到了这些,朋友们觉得好的,就留言给我,我一并整出来,一起进步!!!
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:selinux导致ftp上传失败 工作中的真实案例

2023-6-3 3:44:46

建站知识

小知识:史上最详细的mrtg(Multi Router Traffic Grapher)设置说明

2023-6-3 4:01:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索