网络命令:
# 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 don't print initial banner
3*4
12
3/4
0
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
5
每隔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
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:~/1205 # cat grep.txt | grep -C 1 4 //取当前行和所筛选值的上下行
3
4
5
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 如果远程文件和被传输的目录文件不同,则删除(谨慎使用)
后续继续更新,现在脑袋就先想到了这些,朋友们觉得好的,就留言给我,我一并整出来,一起进步!!!
Linux日常维护常用命令集合整理
2019-12-11 16:16Linux命令大全 Linux
Linux日常维护常用命令整理,想学习linux的可以参考参考下
延伸 · 阅读
- 2024-11-03晨报:《龙腾4》Steam“多半好评” 《Apex》不再支
- 2022-03-11在Linux下通过命令行打包Android应用的方法
- 2022-03-10这个 Linux 图形计算器让数学很有趣
- 2022-03-10Linux下部署springboot项目的方法步骤
- 2022-03-10linux中把.c的文件编译成.so文件
- 2022-03-10Linux服务器下安装配置Nginx的教程
- Linux
Linux折腾记(二十二):虚拟机体验之Xen篇——令人脑洞大开的
这篇文章主要介绍了Linux折腾记(二十二):虚拟机体验之Xen篇——令人脑洞大开的奇异架构,在虚拟机领域,Xen具有非常高的知名度,其名字经常在各类文章...
- Linux
Linux系统一些重要的学习方法及路线图详解
对于Linux系统来说;一些学习方法及路线图是非常值得学习的,今天小编就为大家分享一下Linux系统一些重要的学习方法及路线图详解;有需要的朋友一起去...
- Linux
Linux下semop等待信号时出现Interrupted System Call错误(EINTR)解决方法
本篇文章是对在Linux下semop等待信号时出现Interrupted System Call错误(EINTR)的解决方法进行了详细的分析介绍,需要的朋友参考下...
- Linux
利用Linux高级IO实现非阻塞和多路复用IO
高级IO(Advanced IO)是一种在Linux系统中进行非阻塞和多路复用IO操作的技术。这种技术可以提高系统的并发处理能力,提升IO性能,并减少资源的消耗。下面...
- Linux
linux命令大全之telnet命令详解(linux远程登录)
telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要...
- Linux
深入解析Linux下的磁盘缓存机制与SSD的写入放大问题
这篇文章主要介绍了深入解析Linux下的磁盘缓存机制与SSD的写入放大问题,设计到Linux的内核及线程等部分深度的知识,需要的朋友可以参考下...
- Linux
Linux系统中的访问控制:hosts.deny & hosts.allow
背景介绍 hosts.deny和hosts.allow是Linux系统中用于访问控制的重要工具,起源于TCP Wrapper软件,旨在提供对网络服务的访问控制。这两个文件在系统安全性方面...
- Linux
在 Linux 上使用 gImageReader 从图像和 PDF 中提取文本
gImageReader 是一个 GUI 工具,用于在 Linux 中利用 Tesseract OCR 引擎从图像和 PDF 文件中提取文本。...