linux常用命令总结

查看cpu和内存信息

ls命令查看

查看cpu信息:
lscpu
查看内存信息:
lsmem
free -m

从文档查看

查看cpu信息:
cat /proc/cpuinfo
查看内存信息:
cat /proc/meminfo

lrzsz常用:

rz上传(从客户端上传至当前设备)

  • 直接输入rz就会在客户端弹出窗口,选择文件即可
    sz下载(从当前设备发送文件到客户端)
  • sz RemoteFilename localFilePathAndName

查看磁盘IO:

top(木有磁盘相关的信息)
vmstat(-d和-s都有信息,缺点:累计的,不是实时更新的)
iotop(这个好用。每秒刷新,但需要安装yum install iotop)


iotop截图

iostat(需要安装yum install iostat,腾讯云的yum服务器好像没有这个安装包)

查看网络IO:(需要yum安装)

nload(推荐这个工具,每秒刷新很直观)
nload截图
iftop(本机跟目标IP主机的通信top流量展示)

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量


iftop截图
nethogs eth0

(没安装过,感觉上面的工具就可以满足日常使用了)

查看linux登录

(1)lastlog 列出用户最近一次登录信息
引用的是/var/log/lastlog文件中的信息,包括login-name、port、last login time
(2)last 列出成功登录的信息
列出当前和曾经登入系统的用户信息(已成功)它默认读取的是/var/log/wtmp文件的信息。输出的内容包括:用户名、终端位置、登录源信息、开始时间、结束时间、持续时间。注意最后一行输出的是wtmp文件起始记录的时间。当然也可以通过last -f参数指定读取文件,可以是/var/log/btmp、/var/run/utmp
语法:last [-R] [-num] [ -n num ] [-adiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name...] [tty...]
例子:last -x :显示系统关闭、用户登录和退出的历史
last -i:显示特定ip登录的情况
last -t 20181010120101: 显示20181010120101之前的登录信息
(3)lastb 列出失败尝试的登录信息
和last命令功能完全相同,只不过它默认读取的是/var/log/btmp文件的信息。当然也可以通过last -f参数指定读取文件,可以是/var/log/btmp、/var/run/utmp

lastb看到登录错误信息

(4)ll -h /var/log | grep btmp查看登录失败文件大小(230M我的天哪,这是被爆破了多久?)
image.png

(5)查看是否被爆破成功?
last|more查看是否登录成功过(根据ip和登录时间判断是否异常)
(6)查看安全日志 /var/log/secure
安全日志

(7)如何防范爆破?

  • 更改ssh默认端口(最后改成五位数,让黑客不好猜,但其实nmap还是可以扫出来的吧)
  • 使用强密码:16位以上,数字+字母+特殊字符
  • 禁用root账户远程登录,使用普通账户登录,这样黑客还得猜你的用户名(用户名取复杂点)

处理目录和文件的命令:

ls: 列出目录
cd:切换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录
cp: 复制文件或目录
rm: 移除文件或目录
mv: 移动文件与目录,或修改文件与目录的名称
touch: 建立一个空文件
vi/vim: 编辑文本

操作用户和组的命令:

useradd 添加
userdel 删除
usermod 修改
passwd 改密码
groupadd 同理
chmod 赋予文件读写执行权限
chown 更改文件所有者
find 【目录】【文件名】查找文件
which 【文件名】找出文件所在目录
cat /etc/passwd 查看用户
cat /etc/group 查看组

打包压缩命令

tar 【参数】 【压缩后文件】【压缩前文件】
-c 封装包
-x 解封装包
-z 采用gzip压缩
-v 显示过程
-f 备份文件
-t 列出压缩包中的文件名
tar -czvf test.tar.gz test.txt
tar -xzvf test.tar.gz /root/ 【不指名目录则解压到当前目录】

ZIP压缩包的相关操作
zip 目录或文件 xx.zip
unzip xx.zip 目录

tail 追踪文本更新

tail [参数] [文件]
-f 循环读取
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
tail -n 50 filename
tail -f filename

进程操作命令:

查看进程:
ps -ef |grep nginx
ps -A //显示所有进程信息(显示信息较少)
ps -ef //显示所有命令,连带命令行(可以看到进程所在目录)
ps -aux //显示所有包含其他使用者的行程(相对-ef多显示cpu、men占用)
ps -u root //显示root进程用户信息(筛选用户进行显示进程信息)
查看端口占用:
netstat -tnl |grep 80
杀死进程:
kill -9 PID
top查看进程排行(按ctrl + c终止)
netstat命令:
-a 显示端口状态的所有信息
-t 显示tcp端口
-n 不解析名称
-l 显示正在监听listening的端口(已开启)
-r 显示路由状态(netstat -route)
-i 查看接口状态(netstat -interfaces)
常用:netstat -tnl

磁盘操作:

fdisk 【参数】【磁盘名称】
df 【参数】【磁盘名称】对磁盘进行分区和格式化等操作
mount 挂载磁盘
umount 用于卸载文件系统。
mmount 用于挂入MS-DOS文件系统
cfdisk
sfdisk

关于centos6.x到7.x之间命令行的转变:
原本service 【服务名称】【操作】
改为systemctl 【操作】【服务名称】

网络操作:

ifconfig 【配置接口】
ifup 【接口名称】
ifdown 【接口名称】
vim /etc/resolv.conf 修改DNS
vim /etc/sysconfig/network-scripts/ifcfg-网口名称 修改网络配置

rpm 【参数】【安装包名称】
-U 升级或--upgrade
-i 安装或--install
-v显示详细信息
-h 显示hash值

shutdown -h now 关机
reboot 重启
clock 设置时间
clear 清屏
history 查看历史执行命令

shell脚本基础:

Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

Linux 的 Shell 种类众多,常见的有:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)
……
本教程关注的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。

在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像#!/bin/sh,它同样也可以改为 #!/bin/bash。
告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。

shell脚本举例:

使用vim编辑器新建并打开一个文件test.sh,并输入内容
#!/bin/bash
echo "Hello World !"
保存并退出后,赋予可执行权限chmod +x test.sh
然后执行该shell脚本,方式有两种:
(1)./test.sh
(2)sh test.sh
执行后会看到控制台输出Hello World !字样

实战:编写一个自动备份的shell脚本

步骤1:编写备份脚本
步骤2:使用crontab命令定时执行该脚本
脚本内容:

#!/bin/bash
filename=testbackup_\$(date +"%Y-%m-%d_%H:%M:%S").txt
echo $filename
cp /root/mikyFile.txt /root/backupDir/$filename
echo "执行于$(date +"%Y-%m-%d_%H:%M:%S")"

centos更换阿里云yum源

备份:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载:
下载新的CentOS-Base.repo 到/etc/yum.repos.d/
生成缓存并更新系统:

yum clear all
yum makecache
yum list updates
yum -y update(更新内核)
或
yum -y upgrade(不更新内核)

你可能感兴趣的:(linux常用命令总结)