linux centos7添加ip黑名单禁止某个ip访问
centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny
格式 sshd:$IP:deny
vim /etc/hosts.deny 添加你要禁止的ip就可以了
sshd:192.168.1.147:deny
这是允许的 /etc/hosts.allow
sshd:19.16.18.1:allow
sshd:19.16.18.2:allow
//软链接
ln -s /opt/www/dcat-admin-demo/public/test2/* /opt/www/dcat-admin-demo/public/test1
//这个的意思就是把test2 下面所有的文件建立了软链接 到了 test1 目录下,也就是说 test2 下面的所有文件能在test1 下面能够访问
2、查看系统信息
uname -a 查看内核/操作系统/CPU信息
cat /etc/issue 这个命令能查看是否是centos 系统,比较好用。
cat /etc/redhat-release 查看操作系统版本,这个命令有时候在docker的linux环境中执行的时候不好用,不知道是不是因为在ubantu 系统中执行出现的问题。
cat /proc/cpuinfo 查看CPU信息
hostname 查看计算机名
lspci -tv 列出所有PCI设备
lsusb -tv 列出所有USB设备
lsmod 列出加载的内核模块
env 查看环境变量
1、cat
cat 命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令
例子:
可以用cat 命令来清空一个log 文件的内容
cat /dev/null > laravel.log
查询日志中的包含某个关键字的数据。
cat laravel.log | grep "伴梦"
查看 日志文件中包含的某个关键字出现的行数
cat access_log_20220614.log | grep 'market/getCityData2.php' |wc -l
查询apache日志文件中访问最靠前的几个ip地址
awk '{a[$1] += 1;} END {for (i in a) printf("%d %s\n", a[i], i);}' access_log_20220624.log | sort -n | tail
2、tail
tail命令 用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
常用参数:
-f<name/descriptor>或;
--follow<nameldescript>:显示文件最新追加的内容。
“name”表示以文件名的方式监视文件的变化。
“-f”与“-fdescriptor”等效;
-n<N>或——line=<N>:输出文件的尾部N(N位数字)行内容。
-s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;
1、日志文件说明
/var/log/message //系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure //与安全相关的日志信息
/var/log/maillog //与邮件相关的日志信息
/var/log/cron //与定时任务相关的日志信息
/var/log/spooler //与UUCP和news设备相关的日志信息
/var/log/boot.log //守护进程启动和停止相关的日志消息
3、查看系统运行资源
free -m 查看内存使用量和交换区使用量
df -h 查看各分区使用情况
df -hl 查看 各个文件系统 对磁盘空间的使用情况。-lh -hl 都可以
du -sh <目录名> 查看指定目录的大小
这个命令是查看当前目录下的文件大小,并且从大到小排序。
du -sh * | sort -nr
用这条命令查询根目录下 超过200M 的文件有哪些
find / -size +200M -exec ls -lh {} \;
比如曾经遇到的问题就是备份文件中的数据库宝塔备份文件过大,那个文件的路径是:/www/backup,
grep MemTotal /proc/meminfo 查看内存总量
grep MemFree /proc/meminfo 查看空闲内存量
grep test test* 查找前缀有“test”的文件包含“test”字符串的文件,Linux grep 命令用于查找文件里符合条件的字符串。
uptime 查看系统运行时间、用户数、负载
cat /proc/loadavg 查看系统负载
发现cache中占用大量内存,无free内存可用
使用如下命令清理:
sync
sysctl -w vm.drop_caches=1
4、查看系统磁盘和分区信息
mount | column -t 查看挂接的分区状态
fdisk -l 查看所有分区
swapon -s 查看所有交换分区
hdparm -i /dev/hda 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE 查看启动时IDE设备检测状况
5、查看网络信息
ifconfig 查看所有网络接口的属性
iptables -L 查看防火墙设置
route -n 查看路由表
netstat -lntp 查看所有监听端口
扔你tp
netstat -antp 查看所有已经建立的连接
netstat -s 查看网络统计信息
6、查看进程
ps -ef 查看所有进程
ps -aux 查看包含其他使用者的进程和pid,cpu占有率,记忆体使用情况,运行状态等可以输入 ps -aux
top 实时显示进程状态
比如查看redis 是否运行正常 使用ps查看或netstat
ps aux | grep redis-server
netstat -tunple | grep 6379
以下是更详细的解释
ps aux 和ps -aux和 ps -ef的选择
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
kill 命令用于杀死进程。
linux上进程有5种状态:
-
运行(正在运行或在运行队列中等待)
-
中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
-
不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
-
僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
-
停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
具体参数可以参考man ps或
这里重点讨论的是ps aux和ps –aux的区别,及ps aux和ps –ef的区别。
ps aux和ps –aux
man ps 之后得到的结果:
ps displays information about a selection of the active processes. If you want a repetitive update of the selection and the displayed information, use top(1) instead.
Note that “ps -aux” is distinct from “ps aux”. The POSIX and UNIX standards require that “ps -aux” print all processes owned by a user named “x”, as well as printing all processes that would be selected by the -a option. If the user named “x” does not exist, this ps may interpret the command as “ps aux” instead and print a warning.
This behavior is intended to aid in transitioning old scripts and habits. It is fragile, subject to change, and thus should not be relied upon.
意思是:
请注意"ps -aux"不同于"ps aux"。POSIX和UNIX的标准要求"ps -aux"打印用户名为"x"的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为"x"不存在,ps的将会解释为"ps aux",而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。
如果你运行ps -aux >/dev/null,那么你就会得到下面这行警告信息
Warning: bad ps syntax, perhaps a bogus ‘-’? See http://procps.sf.net/faq.html
综上:使用时两者之间直接选择ps aux
2. ps aux 和ps -ef
两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果。
综上:以上三个命令推荐使用:ps –ef
使用时两者之间直接选择ps aux
ps aux、ps -aux、ps -ef之间的区别
7、查看用户信息
w 查看活动用户
id <用户名> 查看指定用户信息
last 查看用户登录日志
cut -d: -f1 /etc/passwd 查看系统所有用户
cut -d: -f1 /etc/group 查看系统所有组
crontab -l 查看当前用户的计划任务
8、查看服务
chkconfig –list 列出所有系统服务
chkconfig –list | grep on 列出所有启动的系统服务
9、查看系统安装程序
rpm -qa 查看所有安装的软件包
10.远程连接
telnet 用于远程登录到网络中的计算机
为文件夹添加权限
chmod -R 777 文件夹名
Linux查找含有某字符串的所有文件
find -type f -name '*.php'|xargs grep 'GroupRecord'
解压命令:
tar -zxvf 压缩包名
zxvf分别表示含义
这些都是tar的参数。.tar.gz是一个压缩包,.tar只是打包而没有压缩,注意这点。
z:通过gzip支持压缩或解压缩。还有其他的压缩或解压缩方式,比如j表示bzip2的方式。
x:解压缩。c:是压缩。
v:在压缩或解压缩过程中显示正在处理的文件名
f:f后面必须跟上要处理的文件名。也就是说你不能写成这样 tar -zxfv zhcon-0.2.5.tar.gz
合在一起的意思就是,
解压并展开压缩包:“tar -xzvf 压缩包名.tar.gz”
记忆口诀:张秀v芙
linux下常用压缩和解压的命令
查看centos版本信息
cat /etc/centos-release
查看系统版本信息
lsb_release -a
网页生成pdf 需要安装插件
wkhtmltopdf -O landscape --no-stop-slow-scripts -T 12 -B 2 -L 2 -R 2 "http://网址/public/SiteSelView?order_sn=20220922223618574290861818309465&debug=0" /data2/siteselection/public/select_pdf/test.pdf
netstat -tunlp|grep 7002 可以监听7002 端口是否有服务在跑
参考连接:
[1] https://www.cnblogs.com/easonscx/p/10784281.html