command
Linux 移动当前目录的前N个文件到指定文件夹
其中N表示需要移动的文件数目,subfolder1表示目标目录
Linux模糊匹配文件名-批量删除文件
首先,我们使用 find
命令,匹配我们要删除的文件,然后通过 -exec
执行批量删除:
命令含义:
.
表示查找的目录范围,也就是当前目录下
'info.log.2020-06*'
为查找的文件名,*
表示匹配任意字符串
支持以下通配符:
*
匹配任意字符串
?
匹配任意单个字符
[]
匹配 []
内字符,可以按,-
区分,也可无符号区分
!
匹配非 !
后的字符串中的每一个字符 一般配合[]
使用
-exec rm {}
表示使用前面 find
命令获取到的文件名,替换 {}
批量执行rm命令,可以根据自己的需要修改执行的命令
在执行上面的命令删除文件时,最好先单独执行 find
命令,检查下匹配到的文件,以免错删 :
统计文件/夹数量
1.统计当前目录下文件的个数,包括子文件夹里的
2.统计当前目录下文件的个数
3.统计当前目录下文件夹的个数
附言:
linux 下杀死所有python 进程
命令:ps aux|grep python|grep -v grep|cut -c 9-15|xargs kill -15
说明:
管道符|
用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的几个命令:
ps aux
是linux 里查看所有进程的命令。这时检索出的进程将作为下一条命令grep python
的输入。
grep python
的输出结果是,所有含有关键字python
的进程,这是python程序
grep -v grep
是在列出的进程中去除含有关键字grep
的进程。
cut -c 9-15
是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
xargs kill -15
中的xargs命令是用来把前面命令的输出结果(PID)作为kill -15
命令的参数,并执行该令。
kill -15
会正常退出指定进程,-9强行杀掉
免密上传
假如现在有两台机器A和B
我们要实现A免密登陆到B,需要做的操作有:
在A服务器上:
ssh-keygen -t rsa
,一路回车,会生成密钥把A服务器上的
id_rsa.pub
密钥scp到B服务器上
或者上传到服务器其指定位置,可以上传到root或者普通用户的.ssh文件夹下
在B服务器上:
在B服务器上:
修改权限:
chmod 700 /home/xs/.ssh
chmod 600 /home/xs/.ssh/authorized_keys
修改scp的目标目录 权限,给其文件夹 写的权限,如果该目录是root用户创建的,我们需要以root用户身份进行
chmod 777 /master_to_slave
测试
文件上传
scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 ... [[user@]host2:]file2
具体参数讲解:
本地 发送至 远程
复制单个文件
scp 本地文件路径 远程用户名@ip地址:远程路径
scp ./test.txt root@0.0.0.0:/home/me
复制文件夹
scp -r 本地文件夹路径 远程用户名@ip地址:远程路径
远程 拷贝至 本地
复制单个文件
scp 远程用户名@ip地址:远程路径 本地文件路径
复制文件夹
scp -r 远程用户名@ip地址:远程路径 本地文件夹路径
如果出现错误
文件夹复制
1、将一个文件夹下的所有内容复制到另一个文件夹下
cp -r /home/packageA/* /home/cp/packageB/
或cp -r /home/packageA/. /home/cp/packageB/
这两种方法效果是一样的。
2、将一个文件夹复制到另一个文件夹下
运行命令之后
packageB
文件夹下就有packageA
文件夹了。
3、删除一个文件夹及其下面的所有文件
-r
表示向下递归,不管有多少级目录,一并删除
-f
表示直接强行删除,不作任何提示的意思
解压、压缩
一、zip格式 zip可能是目前使用的最多的文档压缩格式。优点:可以在不同的操作系统平台上使用。缺点:支持的压缩率不是很高。而tar.gz和tar.bz2在压缩率方面做得非常好。
压缩一个zip文件(命令):zip -r newfilename.zip filename
(-r 为压缩 filename是指要压缩文件名称,如 *.c)
解压一个zip文件(命令):unzip filename.zip -d newdir
(解压缩至一个你指定的的目录,使用-d参数)
二、tar/tar.gz格式 tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,它仅仅只是一个打包工具,并不负责压缩。
打包一个目录:
tar -cvf newfilename.tar filename
压缩这个打包的目录:
gzip filename.tar
(filename.tar.gz压缩文件名称)按照顺序是先打包再压缩,那么对应的是先解压在解包。
解压一个XXXX.tar.gz文件
gzip -d filename.tar.gz
将打包文件解包:
tar -xvf filename.tar -C newdir
(注意此处解包的参数是大写C,不是小写c)
直接压缩为XXXX.tar.gz格式,还有简化的格式(GUN版本):(参数意义与上面大致相同)
压缩方式:tar -zcvf newfilename.tar.gz filename
解压缩方式: tar -zxvf filename.tar.gz
指定解包的路径:tar -zxvf filename.tar.gz -C newdir
最后再解释一下一些参数的定义:
-c:参数是建立新的存档 -f:参数指定存档或设备 -x:释放文件内存
-t:仅仅查看包中内容,而不释放 -v:参数详细显示处理的文件
三、tar.bz2格式 这种压缩格式是我们提到的所有方式中压缩率最好的。这也就意味着,它比前面的方式要占用更多的CPU与时间。
压缩方式: tar -jcvf newfilename.tar.bz2 filename
解压缩方式: tar -jxvf filename.tar.bz2
指定解包的路径:tar -jxvf filename.tar.bz2 -C newdir
Last updated