linux常用命令

查找系列

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值