linux 基础运维命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 基础运维命令相关的知识,希望对你有一定的参考价值。

Linux运维日常命令操作

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.0

 

3、设置DNS、网关

echo "nameserver 202.16.53.68" >> /etc/resolv.conf

route add default gw 192.168.1.1

 

4、弹出、收回光驱

eject

eject -t

 

5、用date查询昨天的日期

date --date=yesterday

 

6、查询file1里面空行的所在行号

grep ^$ file

 

7、查询file1以abc结尾的行

grep abc$ file1

 

8、打印出file1文件第1到第三行

sed -n ‘1,3p‘ file1

head -3 file1

 

9、清空文件

true > 1.txt

echo "" > 1.txt

> 1.txt

cat /dev/null > 1.txt

 

10、删除所有空目录

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 –f

 

12、删除五天前的文件

find /data -mtime +5 -type f -exec rm -rf {} \;

 

13、删除两个文件重复的部份,打印其它

cat 1.txt 3.txt |sort |uniq

 

14、攻取远程服务器主机名

echo `ssh $IP cat /etc/sysconfig/network|awk -F = ‘/HOSTNAME/ {print $2}‘`

 

15、实时监控网卡流量(安装iftop)

/usr/local/iftop/sbin/iftop -i eth1 -n

 

16、查看系统版本

lsb_release -a

 

17、强制踢出登陆用户

pkill -KILL -t pts/1

 

18、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.gz

 

19、将本地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:8080

 

20、在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh

crontab -e

0 6-12/2 * 11 * /usr/bin/httpd.sh

 

21、查看占用端口8080的进程

netstat -tnlp | grep 8080

lsof -i:8080

 

22、在Shell环境下,如何查看远程Linux系统运行了多少时间?

ssh [email protected]被监控主机ip "uptime"

 

23、查看CPU使用情况的命令

""每5秒刷新一次,最右侧有CPU的占用率的数据

vmstat 5

 

""top 然后按Shift+P,按照进程处理器占用率排序

top

 

24、查看内存使用情况的命令

""用free命令查看内存使用情况

free -m

""top 然后按Shift+M, 按照进程内存占用率排序

top

 

25、查看磁盘i/o

""用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次

iostat -d -x /dev/sdc3 2

 

26、修复文件系统

fsck –yt ext3 /

-t 指定文件系统

-y 对发现的问题自动回答yes

 

27、read 命令5秒后自动退出

read -t 5

 

28、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替换为str2

 

30、linux服务器之间相互复制文件

copy 本地文件1.sh到远程192.168.9.10服务器的/data/目录下

scp /etc/1.sh [email protected]:/data/

 

copy远程192.168.9.10服务器/data/2.sh文件到本地/data/目录

scp [email protected]:/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.txt

 

32、使history命令能显示时间

export HISTTIMEFORMAT="%F %T "

        

33、如何查看目标主机192.168.0.1开放那些端口

nmap -PS 192.168.0.1

 

34、如何查看网络连接

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘

 

35、如何查看当前系统使用了那些库文件

ldconfig -v

 

36、如何查看网卡的驱动版本

ethtool -i eth0

 

37、使用tcpdump来监视主机192.168.0.1的tcp的80端口

tcpdump tcp port 80 host 192.168.0.1                                               

 

38、 如何看其它用户的邮件列表

mial -u king

 

39、对大文件进行切割

按每个文件1000行来分割

split -l 1000 httperr8007.log httperr

 

按照每个文件5m来分割

split -b 5m httperr8007.log httperr

 

40、合并文件

取出两个文件的并集(重复的行只保留一份)
cat file1 file2 | sort | uniq
取出两个文件的交集(只留下同时存在于两个文件中的文件)
cat file1 file2 | sort | uniq -d
删除交集,留下其他的行
cat file1 file2 | sort | uniq –u

 

41、打印文本模式下运行的服务

chkconfig --list|awk ‘$5~/on/{print $1,$5}‘

 

 

 


以上是关于linux 基础运维命令的主要内容,如果未能解决你的问题,请参考以下文章

跟着老男孩学运维-基础篇-命令

Linux运维基础命令笔试题--看看你会多少?

Linux运维基础:Linux基础命令

Linux运维基础:Linux基础命令

运维基础--Linux基础命令

Linux运维之路 基础篇:Linux基础命令