1、linux启动过程
开启电源 --> BIOS开机自检 --> 引导程序lilo或grub--> 内核的引导(kernel boot)--> 执行init(rc.sysinit、rc)--> mingetty(建立终端) -->Shell
2、网卡绑定多ip
# ifconfig eth0:1 192.168.1.99 netmask 255.255.255.03、设置DNS、网关# echo "nameserver 202.16.53.68" >> /etc/resolv.conf# route add default gw 192.168.1.14、弹出、收回光驱# eject# eject -t5、用date查询昨天的日期# date --date=yesterday6、查询file1里面空行的所在行号# grep ^$ file7、查询file1以abc结尾的行# grep abc$ file18、打印出file1文件第1到第三行# sed -n '1,3p' file1# head -3 file19、清空文件# true > 1.txt# echo "" > 1.txt# > 1.txt# cat /dev/null > 1.txt10、删除所有空目录# find /data -type d -empty -exec rm -rf {} ;11、linux下批量删除空文件(大小等于0的文件)的方法# find /data -type f -size 0c -exec rm -rf {} ;# find /data -type f -size 0c|xargs rm –f12、删除五天前的文件# find /data -mtime +5 -type f -exec rm -rf {} ;13、删除两个文件重复的部份,打印其它# cat 1.txt 3.txt |sort |uniq14、攻取远程服务器主机名# echo `ssh $IP cat /etc/sysconfig/network|awk -F = '/hostname/ {print $2}'`15、实时监控网卡流量(安装iftop)# /usr/local/iftop/sbin/iftop -i eth1 -n16、查看系统版本# lsb_release -a17、强制踢出登陆用户# pkill -kill -t pts/118、tar增理备份、还原# tar -g king -zcvf kerry_full.tar.gz kerry# tar -g king -zcvf kerry_diff_1.tar.gz kerry# tar -g king -zcvf kerry_diff_2.tar.gz kerry# tar -zxvf kerry_full.tar.gz# tar -zxvf kerry_diff_1.tar.gz# tar -zxvf kerry_diff_2.tar.gz19、将本地80端口的请求转发到8080端口,当前主机外网IP为202.96.85.46-A PREROUTING -d 202.96.85.46 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.9.10:808020、在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh# crontab -e0 6-12/2 * 11 * /usr/bin/httpd.sh21、查看占用端口8080的进程# netstat -tnlp | grep 8080lsof -i:808022、在Shell环境下,如何查看远程Linux系统运行了多少时间?# ssh user@被监控主机ip "uptime"23、查看CPU使用情况的命令每5秒刷新一次,最右侧有CPU的占用率的数据# vmstat 5top 然后按Shift+P,按照进程处理器占用率排序# top24、查看内存使用情况的命令用free命令查看内存使用情况# free -mtop 然后按Shift+M, 按照进程内存占用率排序
# top25、查看磁盘i/o用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次# iostat -d -x /dev/sdc3 226、修复文件系统# fsck –yt ext3 /-t 指定文件系统-y 对发现的问题自动回答yes27、read命令5秒后自动退出# read -t 528、grep -E -P 是什么意思-E, --extended-regexp 采用扩展正规表达式。-P,--perl-regexp 采用perl正规表达式29、vi编辑器(涉及到修改,添加,查找)插入(insert)模式i 光标前插入I 光标行首插入a 光标后插入A 光标行尾插入o 光标所在行下插入一行,行首插入O 光标所在行上插入一行,行首插入G 移至最后一行行首nG 移至第n行行首n+ 下移n行,行首n- 上移n行,行首:/str/ 从当前往右移动到有str的地方:?str? 从当前往左移动到有str的地方:s/str1/str2/ 将找到的第一个str1替换为str2 :s/str2/str2/g 将当前行找到的所有str1替换为str2:n1,n2s/str1/str2/g 将从n1行至n2行找到的所有的str1替换为str2:1,.s/str1/str2/g 将从第1行至当前行的所有str1替换为str2:.,$s/str1/str2/g 将从当前行至最后一行的所有str1替换为str230、linux服务器之间相互复制文件copy 本地文件1.sh到远程192.168.9.10服务器的/data/目录下# scp /etc/1.sh king@192.168.9.10:/data/ copy远程192.168.9.10服务器/data/2.sh文件到本地/data/目录# scp king@192.168.9.10:/data/2.sh /data/31、使用sed命令把test.txt文件的第23行的TEST换成TSET.# sed -i '23s/TEST/TSET/' test.txt# sed -i '23 s/TEST/TSET/' test.txt32、使history命令能显示时间# export HISTTIMEFORMAT="%F %T "33、如何查看目标主机192.168.0.1开放那些端口# nmap -ps 192.168.0.134、如何查看网络连接# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'35、如何查看当前系统使用了那些库文件# ldconfig -v36、如何查看网卡的驱动版本# ethtool -i eth037、使用tcpdump来监视主机192.168.0.1的tcp的80端口# tcpdump tcp port 80 host 192.168.0.138、 如何看其它用户的邮件列表# mial -u king39、对大文件进行切割按每个文件1000行来分割# split -l 1000 httperr8007.log httperr按照每个文件5m来分割
# split -b 5m httperr8007.log httperr40、合并文件取出两个文件的并集(重复的行只保留一份)# cat file1 file2 | sort | uniq取出两个文件的交集(只留下同时存在于两个文件中的文件)
# cat file1 file2 | sort | uniq -d删除交集,留下其他的行
# cat file1 file2 | sort | uniq –u41、打印文本模式下运行的服务# chkconfig --list|awk '$5~/on/{print $1,$5}'42、删除0字节文件# find -type f -size 0 -exec rm -rf {} ;43、查看进程,按内存从大到小排列# ps -e -o "%C : %p : %z : %a"|sort -k5 -nr44、查看http的并发请求数及其TCP连接状态# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'45、获取IP地址# ifconfig eth0|sed -n '2p'|awk '{print $2}'|cut -c 6-30perl实现获取IP地址:
# ifconfig -a | perl -ne 'if ( m/^s*inet (?:addr:)?([d.]+).*?cast/ ) { print qq($1n); exit 0; }'46、获取内存大小# free -m |grep "Mem" | awk '{print $2}'47、查看CPU核心数# cat /proc/cpuinfo |grep -c processor48、查看磁盘使用情况# df -h49、查看有多少个活动的PHP-cgi进程# netstat -anp | grep php-cgi | grep ^tcp | wc -l50、查看硬件制造商# dmidecode -s system-product-name原文链接:https://www.douban.com/note/526768245/