linux常用操作命令
1、查询
1.1、查询文件路径
find、whereis、which
不论是在什么情况下,查询,找到文件的位置,是操作的第一前提
1、查找跟目录下,文件名为 nginx.conf的文件 /:表示根路径 -name: 表示查询名字
find / -name "nginx.conf"
2、模糊查询跟目录下 含有某个字符串的文件
find / -name "*x.conf"
3、查询当前目录下 (不过一般当前目录查询,直接使用 ls 或 ll 命令 ,除了文件实在很多的情况下)
find . -name "nginx.conf"、
4、模糊查询当前目录下
find . -name "*.conf"
5、查询 包含某个字符串的文件
结构: find 目录 -name ‘*特定字符串*’
find ./ -name '*2021-11-01*'
6、查询文件的位置
whereis aa.log 或 whcih aa.log
原文链接:linux中的find查询,有跟多详细的find操作
1.2、查询文件内容
找到文件后我们,一般都想要查看文件的内容,所以就会用到如下命令:
cat(常用:用于较小的文件) tail head grep fgrep sed
1、cat
cat /var/log/nginx/nginx.conf
(当前使用cat 也是可以配合其他命令查看大型文件,例如 cat filename | tail -n 1000,但是个人感觉不如以下命令简洁):
针对较大的文件建议使用以下命令:
2、head (如果想查询开始的文开头)
head /var/log/aa.log (默认查询文件 前 10 行内容)
head -n 1000 /var/log/aa.log (通过 -n 参数指定查询 前 1000 行 数据)
3、tail (如果想查询文件结尾)
tail /var/log/aa.log (默认查询文件 最后 10 行内容)
tail -n 1000 /var/log/aa.log (通过 -n 参数指定查询 最后 1000 行 数据)
4、sed (如果想查询文件中间的数据内容)
sed -n '1000,3000p' /var/log/aa.log (通过 -n 参数指定查询范围 1000 ~ 3000行 数据)
注意:‘p’ 不要忘了
以上查询都是针对大范围内容查询,如若想要查询 细致的内容,例如包含某个字符串,可以使用一下命令
5、grep
grep -n "*error" aa.log (使用参数 -n 可以输出匹配的字符串 以及当前字符串的 行数)
6、fgrep
fgrep -n "*error" aa.log (使用参数 -n 可以输出匹配的字符串 以及当前字符串的 行数)
原文链接:linux查询操作命令 tail 、head、head、grep、sed
原文链接:linux 细致查询命令 fgrep
1.3、查询文件属性
只知道文件内容有时远远不够,我们可能需要了解更细致的信息,例如,行数,字数,字节数
wc 、 awk 、 grep 、 send 、 du su
查询文件 行数
1、 wc
wc -l /root/aa.txt
2、 awk
awk 'END {print NR}' /var/log/aa.log
3、 grep
grep -c "." /var/log/aa.log
4、 sed
sed -n "$=" /var/log/aa.txt
5、 wc 获取单词数
wc -w app.log
6、 wc 获取字节数
wc -c app.log
注:wc 还可以配合其他参数 ,进行细致的文件信息查询操作
7、查看文件大小
du -sh /var/log/aa.log
8、du -sh 查看当前目录总大小
du -sh
9、当前目录下个文件及目录占用空间大小
du -sh *
原文链接:wc、awk、grep、send
原文链接:查看文件的行数,字数,字节数
原文连接:du -sh 命令查看文件大小信息
2、定时
在linux的操作过程中,我们有时会创建shell脚本,通过定时任务来操作脚本,例如数据定时备份、日志定时写入等 (默认已安装了 crontab 服务)
1、创建一个备份数据库的脚本
$ vi backup.sh
#!/bin/bash
Date=`date +%Y-%m-%d` # 时间格式
BACKUP_PATH=/data/backup # 路径
mkdir -p ${BACKUP_PATH}/${Date} # 创建文件夹
mysqldump -u${USERNAME} -pPWD 数据库名 > ${BACKUP_PATH}/${Date}/${Date}_数据库名.sql
2、添加定时
$ crontab -e
# m h dom mon dow command
0 0 * * * /u02/data/backup.sh #每天执行一次
3、查看定时
$ crontab -l
4、删除定时
crontab -e 进入, 删除设置的定时任务即可
原文链接:shell脚本定时任务
原文链接:Linux下使用crontab设置定时任务(包含详细的定时设置)
3、压缩与解压缩
有时我们希望通过压缩来降低文件的大小,同时方便移动文件出来
tar 、 zip 、 gzip 、 xz
1、 tar
压缩
tar -czvf xxx.tar.gz source_file (tar -czvf 包名.tar.gz 源文件)
解压缩
tar -xzvf xxx.tar.gz -C path (tar -xzvf xxx.tar.gz -C 目标路径)
2、 zip (没怎么用过,不太清楚)
zip XXX.zip 将要压缩到的文件 (描述:压缩文件)
zip -r XXX.zip 将要压缩到的文件 (描述:压缩目录)
zip -r one.zip /root
3、 gzip
gzip只能压缩文件,不能压缩目录,即使压缩后,只能压缩目录中的文件
gzip -c 源文件 > file.gz (保留源文件 带 参数 -c)
4、xz
xz test.txt (直接使用会删除源文件)
xz -k test.txt.xz (带参数 -k 保留源文件)
原文链接:tar 打包压缩命令
原文链接:压缩指令zip,tar,gzip (有命令的详细参数介绍)
原文链接:压缩文件格式介绍
原文链接:xz 命令操作
原文链接:tar.xz文件压缩与解压
4、安装
有时想在一些linux系统上安装一些应用
1、yum (连通网络的)
查询
yum list |grep 'httpd'
安装
yum install httpd
2、rpm
安装
rpm -ivh jdk-8u301-linux-x64.rpm
./configure (无脑操作,安装到默认位置,日志、配置文件会分散到 默认位置,零零散散)
./configure --prefix= 安装位置 (自定义,清楚明白,但建议指定安装到默认文件夹下,方便管理,日志,配置文件,会在统一文件夹下)
编译(拆分使用)
make && make install (如果之前安装了,会覆盖原文件夹内容)
如果想保留部分配置文件,建议分开始用
先用 make 编译到 obj文件夹下
再拷贝文件到指定文件夹下,具体操作,自己找,流程大概是这个样子的