查找系列
find命令
基本格式:find path expression。find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等
1 按文件名查找
在根目录下查找文件startAgent.sh,表示在整个硬盘查找
[root@test-xmg ~]# find / -name startAgent.sh
/data/ServerAgent-2.2.3/startAgent.sh
在/data目录下文件startAgent.sh
[root@test-xmg ~]# find /data -name startAgent.sh
/data/ServerAgent-2.2.3/startAgent.sh
使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘test’的文件
[root@test-xmg ~]# find /etc -name '*test*'
/etc/yum/pluginconf.d/fastestmirror.conf
当前目录下查找文件名开头是字符串‘test’的文件
[root@test-xmg data]# find . -name 'test*'
./test-xmg_201029_1731.nmon
[root@test-xmg data]#
2 按文件特征查找
查找在系统中最后10分钟访问的文件(access time)
[root@test-xmg data]# find / -amin -10
查找在系统中最后48小时访问的文件
find / -atime -2
查找在系统中为空的文件或者文件夹
find / -empty
查找在系统中属于 group为cat的文件
[root@test-xmg data]# find / -group cat
find: ‘cat’ is not the name of an existing group
查找在系统中最后5分钟里修改过的文件(modify time)
find / -mmin -5
查找在系统中最后24小时里修改过的文件
find / -mtime -1
查找在系统中属于fred这个用户的文件
find / -user fred
[root@test-xmg data]# find / -user fred
find: ‘fred’ is not the name of a known user
[root@test-xmg data]# find / -user admin
find: ‘/proc/6673/task/13991/fd/203’: No such file or directory
find: ‘/proc/27681/task/27681/fd/5’: No such file or directory
find: ‘/proc/27681/task/27681/fdinfo/5’: No such file or directory
find: ‘/proc/27681/fd/6’: No such file or directory
find: ‘/proc/27681/fdinfo/6’: No such file or directory
/var/spool/mail/admin
查找出大于 10000 字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
[root@test-xmg data]# find / -size +10000G
/proc/kcore
find: ‘/proc/27721/task/27721/fd/5’: No such file or directory
查找出小于1000KB的文件
find / -size -1000k
3.使用混合查找方式查找文件
参数有: !,-and(-a),-or(-o)。
在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
find /tmp -size +10000c -and -mtime +2
在/目录下查找用户是admin或者uat1的文件文件
find / -user admin -or -user uat1
在/data 目录中查找所有不属于admin用户的文件
find /data ! -user admin
grep命令
基本格式:find expression
[options]主要参数:
-c:只输出匹配行的计数。
-i:不区分大小写
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
<:从匹配正则表达 式的行开始。
>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的单个字符。
* :有字符,长度可以为0。
显示所有以n 开头的文件中包含 test的行
[root@test-xmg]# grep 'test' n*
显示在aa,bb,cc文件中包含test的行
[root@test-xmg test]# grep 'test' cc
test cc
显示所有包含每行字符串至少有5个连续小写字符的字符串的行
[root@test-xmg test]# grep '[a-z]\{5\}' cc
vtest cc
显示/usr/src目录下的文件(不含子目录)包含magic的行
grep magic /usr/src.
显示/usr/src目录下的文件(包含子目录)包含magic的行
grep -r magic /usr/src
只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep -w pattern files
创建系列
创建文件夹
[root@test-xmg ~]# mkdir test
创建文件
[root@test-xmg test]# touch aa.txt
备份文件
[root@test-xmg test]# mv cc.txt c1.txt
文件重命名
[root@test-xmg test]# mv aa.txt aa
[root@test-xmg test]# ll
total 12
-rw-r--r-- 1 root root 22 Nov 2 17:11 aa
-rw-r--r-- 1 root root 24 Nov 2 17:13 bb.txt
-rw-r--r-- 1 root root 0 Nov 2 17:08 c1.txt
-rw-r--r-- 1 root root 24 Nov 2 17:13 cc
删除系列
删除前确认
[root@test-xmg test]# rm aa
rm: remove regular file ‘aa’? n
[root@test-xmg test]# ll
total 8
-rw-r--r-- 1 root root 32 Nov 3 08:39 aa
-rw-r--r-- 1 root root 32 Nov 3 08:41 cc
直接删除文件
[root@test-xmg test]# rm -f c1.txt
编辑命令
vi编辑
[root@test-xmg test]# vi aa.txt
按insert键才可插入
esc 然后: 再q! 强制退出
esc 然后: 再wq 保存并退出
(中文模式下,不能退出)
解压缩系列
gzip和gunzip
- gzip 用于压缩文件
- gunzip用于解压缩文件
1)将文件压缩为gz包
[root@test-xmg test]# gzip aa
[root@test-xmg test]# ll
total 8
-rw-r--r-- 1 root root 42 Nov 3 08:39 aa.gz
-rw-r--r-- 1 root root 32 Nov 3 08:41 cc
2) 解压gz包
[root@test-xmg test]# gunzip aa.gz
[root@test-xmg test]# ll
total 8
-rw-r--r-- 1 root root 32 Nov 3 08:39 aa
zip和unzip
- zip [选项] 文件.zip 要压缩的文件或者目录,用于压缩。常用选项:zip -r 压缩后的包名 要压缩的文件,指令选项,递归压缩表示压缩目录.
- unzip [选项] 文件.zip,用于解压。常用选项:unzip -d 存放目录 压缩包名, 指令选项,将压缩包解压到的存放目录.
1)将test目录下的aa文件压缩为zip包
[root@test-xmg ~]# zip -r test/aa.zip test/aa
adding: test/aa (deflated 34%)
[root@test-xmg ~]# ll
total 4
-rwxrwxrwx 1 root root 100 Dec 28 2020 jstatd.all.policy
-rw-r--r-- 1 root root 0 Nov 11 2020 Message
drwxr-xr-x 2 root root 40 Nov 3 09:02 test
[root@test-xmg ~]# cd test/
[root@test-xmg test]# ll
total 12
-rw-r--r-- 1 root root 32 Nov 3 08:39 aa
-rw-r--r-- 1 root root 185 Nov 3 09:02 aa.zip
-rw-r--r-- 1 root root 32 Nov 3 08:41 cc
(将test目录的文件压缩到test目录)
2)将test目录下的aa文件压缩为zip包
[root@test-xmg ~]# zip -r aa.zip test/aa
adding: test/aa (deflated 34%)
[root@test-xmg ~]# ll
total 8
-rw-r--r-- 1 root root 185 Nov 3 09:04 aa.zip
(将test目录的文件压缩到目前目录)
3)unzip 解压
[root@test-xmg test]# unzip aa.zip
Archive: aa.zip
inflating: test/aa
[root@test-xmg test]# ll
total 12
-rw-r--r-- 1 root root 32 Nov 3 08:39 aa
tar命令
基本语法: tar [指令选项] 文件名.tar.gz 指定目录
效果: 该指令为打包指令,最后打包的文件是x.tar.gz文件(既可以压缩,也可以解压缩).
指令选项:
-c 产生.tar.gz文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包的同时压缩
-x 解压缩.tar.gz文件
1)将test目录下的aa 和 lulu目录下的luy文件一起压缩到当前目录,包名info.tar
[root@test-xmg test]# tar -zcvf info.tar test/aa lulu/luy
test/aa
lulu/luy
[root@test-xmg test]# ll
total 16
-rw-r--r-- 1 root root 32 Nov 3 08:39 aa
-rw-r--r-- 1 root root 185 Nov 3 09:02 aa.zip
-rw-r--r-- 1 root root 32 Nov 3 08:41 cc
-rw-r--r-- 1 root root 291 Nov 3 09:34 info.tar
drwxr-xr-x 2 root root 17 Nov 3 09:32 lulu
drwxr-xr-x 2 root root 16 Nov 3 09:06 test
2)将test目录下的aa 和 lulu目录下的luy文件一起压缩到当前目录,包名info.tar.gz
[root@test-xmg test]# tar -zcvf info.tar.gz test/aa lulu/luy
test/aa
lulu/luy
[root@test-xmg test]# ll
total 20
-rw-r--r-- 1 root root 32 Nov 3 08:39 aa
-rw-r--r-- 1 root root 185 Nov 3 09:02 aa.zip
-rw-r--r-- 1 root root 32 Nov 3 08:41 cc
-rw-r--r-- 1 root root 291 Nov 3 09:34 info.tar
-rw-r--r-- 1 root root 291 Nov 3 09:36 info.tar.gz
drwxr-xr-x 2 root root 17 Nov 3 09:32 lulu
drwxr-xr-x 2 root root 16 Nov 3 09:06 test
关于shell
如何Linux命令来检查一个shell脚本是否正在运行
[admin@dev-cdh-2 bin]$ ps aux |grep "start_data_toes.sh"
admin 9175 0.0 0.0 112808 940 pts/5 S+ 15:45 0:00 grep --color=auto start_data_toes.sh
或
ps aux | grep -i "start_data_es.sh" | grep -v "grep" | wc -l
结果大于等于1 就是在运行,否则不在运行
shell 中 if then语句中会跟着-ne -ge之类的语句是什么意思?
if [ 1 -ne 1 ];then
...
fi
这是指当1不等于1时执行then后的语句
-eq:等于
-ne:不等于
-le:小于等于
-ge:大于等于
-lt:小于
-gt:大于
文件传输
将文件test.txt从本服务器传输到另外一个服务器,需输入密码
scp data/test.txt root@localhhost:/data1/test
查询环境版本
查询redis版本
登陆redis服务器终端:
redis-server --version 或 redis-server -v
********更多参考 https://blog.csdn.net/ljianhui/article/details/11100625/
https://my.oschina.net/guiguketang/blog/1809293
注:
参考文章: https://blog.csdn.net/xxmonstor/article/details/80507769