如果您有多台个人管理服务器,不想在每个客户端进行设置,只需在服务器的 /etc/ssh/sshd_config 中添加如下的配置:
ClientAliveInterval 60
ss -s
配合
watch -n 1 -d ss -s
可以实时显示tcp数量
netstat -alnp | grep 8080
watch -n 1 -d netstat -ant
命令解析:watch是关键字,-n 1 是1秒执行一次,-d是变化高亮, netstat -ant 是需要一秒执行一次的命令
top
df -h
进入tomcat/logs/文件夹下
tail -f catalina.out
只要清除老的公钥信息就可以了。
ssh-keygen -R 你远程服务器的IP
service iptable status # 防火墙状态
service iptables stop # 临时关闭防火墙
chkconfig iptables off # 永久关闭防火墙
即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
scp /mydata/jdk-8u271-linux-x64.rpm [email protected]:/mydata
ls -l
ls -a
mkdir xxx
cd xxx
touch xxx.txt
echo "text" > xxx.txt
cat xxx.txt
tac xxx.txt
rm xxx.txt
rm -f xxx.txt
find xxx.txt
find / -name xxx.txt
wc xxx.txt
grep "text" xxx.txt
rmdir x
tree
需要安装tree包,安装指令
sudo apt-get install tree
pwd
who
whoami
hostname
uname
top
ps
df
ping 127.0.0.1
clear
alias
如:
alias showmeit=”ps -aux”
另外解除使用
unaliax showmeit
kill id号
tar -cvf /home/xxx/xxx.tar /home/xxx/xxx.txt
tar -zcvf xxx.tar.gz /home/xxx/xxx.txt
tar -jcvf xxx.tar.bz2 /home/xxx/xxx.txt
tar -zxvf xxx.tar.gz -C /mydata
shutdown -r
shutdown -h
shutdown now
halt
reboot
logout
cd ..
cp file1 file2
zip file.zip file
unzip file.zip
shutdown -h 8:20
shutdown -h +10
last
cal
wget url
date
sync
mv file.zip xxx
su -
sudo passwd root
# 从第一个字节开始正向查看文件的内容
cat file1
# 查看一个文件的前两行
head -2 file1
# 查看一个长文件的内容
more file1
# 从最后一行开始反向查看一个文件的内容
tac file1
# 查看一个文件的最后三行
tail -3 file1
# 在文件 '/tmp/test' 中查找 "str"
grep str /tmp/test
# 在文件 '/tmp/test' 中查找以 "str" 开始的行
grep ^str /tmp/test
# 查找 '/tmp/test' 文件中所有包含数字的行(grep可匹配正则表达式)
grep [0-9] /tmp/test
# 在目录 '/tmp' 及其子目录中查找 "str"
grep str -r /tmp/*
# 找出两个文件的不同处
diff file1 file2
# 以对比的方式显示两个文件的不同
sdiff file1 file2
# 从 '/' 开始进入根文件系统查找文件和目录
find / -name file1
# 查找属于用户 'user1' 的文件和目录
find / -user user1
# 在目录 '/ home/user1' 中查找以 '.bin' 结尾的文件
find /home/user1 -name *.bin
# 查找在过去100天内未被使用过的执行文件
find /usr/bin -type f -atime +100
# 查找在10天内被创建或者修改过的文件
find /usr/bin -type f -mtime -10
# 寻找以 '.ps' 结尾的文件,先运行 'updatedb' 命令
locate *.ps
# 在当前目录及其子目录所有.c和.h文件中查找 'expr'
find -name '*.[ch]' | xargs grep -E 'expr'
# 在当前目录及其子目录的常规文件中查找 'expr'
find -type f -print0 | xargs -r0 grep -F 'expr'
# 在当前目录中查找 'expr'
find -maxdepth 1 -type f | xargs grep -F 'expr'
# 切换到root权限(与su有区别)
su -
# 关机
shutdown -h now
# 重启
shutdown -r now
# 罗列使用CPU资源最多的linux任务 (输入q退出)
top
# 以树状图显示程序
pstree
# 查看参考手册(例如ping 命令)
man ping
# 修改密码
passwd
# 显示磁盘的使用情况
df -h
# 显示前一个月,当前月以及下一个月的月历
cal -3
# 显示指定月,年的月历
cal 10 1988
# 更新当前系统中安装的所有rpm包
yum -y update
# 查看系统cpu的信息
cat /proc/cpuinfo
# 其中 cpu cores 即为cpu的核数
# 也可以用以下命令直接查看
cat /proc/cpuinfo | grep "cores"|uniq
vmstat 2 10 (每2秒监控一次 监控10次)
free -m #查看以M为单位的内存使用情况
有时候需要对 Linux 系统做审计,那为历史记录添加时间戳,显示非常有用。
export HISTTIMEFORMAT='%F %T '
history 3
46 2021-04-18 15:21:33 curl baidu.com
47 2021-04-18 15:21:35 pwd
48 2021-04-18 15:21:39 history 3
可以看到,历史记录已经显示了时间戳。
其实这些对于审计需求,还不够,可以加上更详细的信息。
export HISTTIMEFORMAT="%F %T `who -u am i 2>/dev/null| awk '{print $NF}'|sed \-e 's/[()]//g'` `whoami` "
6 2021-04-18 16:07:48 113.200.44.237 root ls
7 2021-04-18 16:07:59 113.200.44.237 root pwd
8 2021-04-18 16:08:14 113.200.44.237 root history
默认情况下,Linux 系统最多存储 1000 条历史记录,可以通过 HISTSIZE
环境变量查看
$ echo $HISTSIZE
1000
对于需要做审计的场景,1000 条历史记录可能会太少了,我们可以修改为合适的值
$ export HISTSIZE=10000
注意,HISTSIZE
变量只能控制缓冲区中的历史记录数量,如果需要控制 .bash_history
文件存储的最大记录数,可以通过 HISTFILESIZE
进行控制
上述命令行修改只在当前 Shell 环境生效,如果需要永久生效,需要写入配置文件
echo "export HISTSIZE=10000" >> ~/.bash_profile
$ echo "export HISTFILESIZE=200000" >> ~/.bash_profile
$ source ~/.bash_profile
有时,为了方便管理和备份,需要更改历史记录文件的路径和名称。简单,同样可以通过环境变量 HISTFILE
更改它的文件名称
$ echo "export HISTFILE=/data/backup/chopin.bash_history" >> ~/.bash_profile
$ souce ~/.bash_profile
处于某种特殊环境,我们需要禁用历史记录
$ echo "export HISTSIZE=0" >> ~/.bash_profile
$ echo "export HISTFILESIZE=0" >> ~/.bash_profile
$ source ~/.bash_profile
直接把上述两个变量的值设置为 0
,就实现了禁用历史记录的功能。
在命令前额外多加一个空格
,这样的命令是不会被记录到历史记录的,感觉是不是很酷
这个技巧如果在你的系统不管用,请查看下环境变量 HISTCONTROL
是否包含 ignorespace
,貌似 centos 系统默认没有设置这个值。
先执行
export HISTCONTROL=ignoresapce
然后再敲命令时在命令前面加一个空格。
在 Linux 系统,history
命令可以非常方便,帮助我们管理历史命令,平时我们命令都会先记录在缓存区
,在 Shell 退出时才会记录到文件中。
history 命令提供了很方便的管理功能,合理去配置和管理历史记录,可以让你的 Linux 系统更加健壮和安全。
还是来总结一下 history
命令常用方法
history n
:只显示最近的 n 条历史记录history -c
:清除缓存区中的历史记录history -w
:将缓存区的历史记录保存到文件history -d N
:删除第 N 条历史记录几种重复执行命令的方法:!!
、!-1
、!N
、!string
等
交互式历史命令搜索,请使用 Ctrl+R
快捷键
合适使用几个相关的环境变量,让你的 Linux 系统更安全:
HISTSIZE
:控制缓冲区历史记录的最大个数HISTFILESIZE
:控制历史记录文件中的最大个数HISTIGNORE
:设置哪些命令不记录到历史记录HISTTIMEFORMAT
:设置历史命令显示的时间格式HISTCONTROL
:扩展的控制选项如果在生产环境,这些环境变量需要持久化到配置文件 ~/.bash_profile
export HISTCONTROL=ignoreboth
# ignorespace: 忽略空格开头的命令
# ignoredups: 忽略连续重复命令
# ignoreboth: 表示上述两个参数都设置
# 设置追加而不是覆盖
shopt -s histappend
export HISTSIZE=1000
export HISTFILESIZE=200000
export HISTTIMEFORMAT="%F %T "
export HISTIGNORE="ls:history"