您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Linux日常维护常用命令

添加时间:2015-12-18 21:38:50  添加: 思海网络 
Linux日常维护常用命令

网络命令: 
# ifconfig# 显示网络信息,包括IP地址、数据包接收/发送情况 
# ifconfig eth0 up# 启动eth0 
# vi /etc/sysconfig/network-s/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 
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 如果远程文件和被传输的目录文件不同,则删除(谨慎使用) 

关键字:Linux、网络信息、服务器
分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站