Linux一级目录及其作用
1.查看端口:
netstat命令参数:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp//查看当前所有tcp端口·
netstat -ntulp |grep80//查看所有80端口使用情况·
netstat -an | grep3306//查看所有3306端口使用情况·
查看一台服务器上面哪些服务及端口
netstat -lanp
查看一个服务有几个端口。比如要查看mysqld
ps -ef |grep mysqld
查看某一端口的连接数量,比如3306端口
netstat -pnt |grep :3306|wc
查看某一端口的连接客户端IP 比如3306端口
netstat -anp |grep3306
netstat -an 查看网络端口
lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。
nmap 端口扫描
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
netstat -anp 显示系统端口使用情况
2.tar命令:解压和压缩
例如:tar -cvf 123.tar file1 file2 dir1 该句命令实现一个tar压缩,它是将两个文件(file1和file2)和一个文件夹(dir1)压缩成一个123.tar文件。
tar -zxvf apache-tomcat-7.0.75.tar.gz 该命令在解压安装tomcat时使用,是将apache-tomcat.7.0.75.tar.gz直接解压到当前目录下。tar同时具有压缩的解压的功能,使用时根据参数和命令结构区分。
.tar.Z 解压:tar Zxvf FileName.tar.Z 压缩:tar Zcvf FileName.tar.Z DirName .zip 解压:unzip FileName.zip 压缩:zip FileName.zip DirName
3.防火墙操作与端口开放
开启端口
[root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
查询端口号80 是否开启:
[root@centos7 ~]# firewall-cmd --query-port=80/tcp
重启防火墙:
[root@centos7 ~]# firewall-cmd --reload
查询有哪些端口是开启的:
[root@centos7 ~]# firewall-cmd --list-port
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
4.查看磁盘空间命令
lsblk 查看分区和磁盘
df -h 查看空间使用情况
fdisk -l 分区工具查看分区信息
cfdisk /dev/sda 查看分区
blkid 查看硬盘label(别名)
du -sh ./* 统计当前目录各文件夹大小
free -h 查看内存大小
cat /proc/cpuinfo| grep "cpu cores"| uniq 查看cpu核心数
5.查看进程及删除
1.ps 命令用于查看当前正在运行的进程。
grep 是搜索
例如: ps -ef | grep java表示查看所有进程里 CMD 是 java 的进程信息
ps -aux | grep java
-aux 显示所有状态
ps [选项]
-e 显示所有进程,环境变量
-f 全格式
-h 不显示标题
-l 长格式
-w 宽输出
a
显示终端上地所有进程,包括其他用户地进程
r
只显示正在运行地进程
x
显示没有控制终端地进程2. kill 命令用于终止进程
例如: kill -9 [PID]
-9 表示强迫进程立即停止
通常用 ps 查看进程 PID ,用 kill 命令终止进程
6.查看系统版本号
$ cat /etc/os-release NAME="openEuler" VERSION="21.03" ID="openEuler" VERSION_ID="21.03" PRETTY_NAME="openEuler 21.03" ANSI_COLOR="0;31"
7.Linux安装rpm文件及deb文件
安装deb文件
$ sudo dpkg -i wkhtmltox_0.12.5-1.trusty_amd64.deb
安装rpm文件
$ rpm -ivh wkhtmltox-0.12.5-1.centos8.x86_64.rpm
8.查找文件或文件夹:find命令
find path -option [ -print ] [ -exec -ok command ] {} \;
path -路径
-mtime n : 在过去 n 天前修改过的文件
-ctime n : 在过去 n 天前创建的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c : 文件类型是 c 的文件。
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
f: 一般文件
l: 符号连结
s: socket
将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
# find . -name "*.c"
将当前目录及其子目录中的所有文件列出:
# find . -type f
将当前目录及其子目录下所有 20 天前创建的文件列出:
# find . -ctime 20
删除10天前创建的文件(-exec rm -rf {} \是固定写法,删除查询出来的数据)
find . -ctime 10 -name "*.sql" -exec rm -rf {} \
linux查找/var/www/目录下叫index.php的文件
find /var/www/ -name index.php
查找根目录下所有以".sh"结尾的文件
find / -name *.sh
9.定时执行shell脚本
常用命令:
crontab –e //修改 crontab 文件,如果文件不存在会自动创建。
crontab –l //显示 crontab 文件。
crontab -r //删除 crontab 文件。
crontab -ir //删除 crontab 文件前提醒用户。
service crond status //查看crontab服务状态
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置如果需要取消某个定时任务,就是可以删除在配置文件中的对应命令
/etc/crontab文件和crontab -e命令都可以添加定时任务,修改/etc/crontab这种方法只有root用户能用,这种方法更加方便与直接直接给其他用户设置计划任务,而且还可以指定执行shell等等, crontab -e这种所有用户都可以使用,普通用户也只能为自己设置计划任务。然后自动写入/var/spool/cron/usename,但是可能会因为权限导致执行失败
基本格式:
/etc/crontab文件和crontab -e命令区别 前者 # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 后者 #* * * * * command #分 时 日 月 周 命令
第1列表示分钟 00~59 每分钟用
*
或者*/1
表示第2列表示小时 00~23(0表示0点)
第3列表示日期 01~31
第4列表示月份 01~12
第5列标识号星期 0~6(0表示星期天)
第6列要运行的命令
例如:在凌晨00:10运行
10 0 * * * sh test.sh
定时任务不生效原因排查:
1、Linux的时间与互联网时间不一致,而crontab中写的互联网时间
2、定时执行的.sh文件无执行权限(粗心所致)
3、crontab进程未启动,crontab进程会每分钟去扫描/etc/crontab中的定时任务,故修改后无需重启该进程(重启只会让定时配置马上生效)。
4、crontab进程配置文件中未指定具体执行用户