RHCSA教程文件的其他操作命令

文件的其他操作命令

wc命令 文本内容统计

功能:用于统计指定文本文件的行数、字数或字节数。

语法:wc [选项] 文件名称

选项作用
-l只显示行数
-w只显示单词数
-c只显示字节数

案例
统计当前系统用户数量
在这里插入图片描述

复制,移动文件

复制文件或目录

语法:cp [选项] 源文件 目标文件

选项作用
-a通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝
-d拷贝时保留
-f在覆盖已经存在的目标文件时不提示
-i在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝
-p除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中
-r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名

移动文件或目录

功能:用于剪切或重命名文件

语法:mv [选项] 源文件名称 目标文件名称

剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作。

案例

跟目下存在 Linux.txtWindows.txt 两个文件
在这里插入图片描述

查找文件路径

命令说明示例
whereis可以搜索系统命令的可执行文件路径和说明文档# whereis ls
whichwhich 是搜索系统命令的可执行文件#which ls
locate按照数据库搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db, 可以使用updatedb 命令强制更新数据库。#locate ls
find可按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件find [path…] [expression]

find命令

参数作用
-name匹配名称
-size匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-mtime -n +n匹配修改内容的时间(-4指小于等于4天内的文件名;+4,大于等于5天前的文件名;4指前4~5那一天的文件)
-atime -n +n匹配访问文件的时间
-ctime -n +n匹配修改文件权限的时间
-newer f1 !f2匹配比文件f1新但比f2旧的文件
-perm匹配权限(mode为完全匹配,-mode为包含即可)
-user匹配所有者
-group匹配所有组
-nouser匹配无所有者的文件
-nogroup匹配无所属组的文件
-type b/d/c/p/l/f匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-prune忽略某个目录
-exec… {}\;后面可跟用于进一步处理搜索结果的命令

按照文件名搜索

语法:find 路径 [选项] 搜索内容
选项:

  • -name: 按照文件名搜索
  • -iname: 按照文件名搜索,不区分文件名大小写
  • -inum: 按照 inode 号搜索
    在这里插入图片描述

按照文件大小搜索

选项:-size [+|-]大小: 按照指定大小搜索文件,这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件
在这里插入图片描述

按照修改时间搜索

Linux 中的文件有访问时间(atime)、数据修改时间(mtime)、状态修改时间(ctime)这三个时间,我们可以按照时间来搜索文件。
选项:

  • -atime [+|-]时间: 按照文件访问时间搜索
  • -mtime [+|-]时间: 按照文件数据修改时间搜索
  • -ctime [+|-]时间: 按照文件状态修改时间搜索
  • -newer file: 把比file修改时间更新的文件列出来

描述:

  • -5:代表 5 天内修改的文件。
  • 5:代表前 5~6 天那一天修改的文件。
  • +5:代表 6 天前修改的文件

按照权限搜索

选项:

  • -perm 权限模式: 查找文件权限刚好等于“权限模式”的文件
  • -perm -权限模式: 查找文件权限全部包含“权限模式”的文件
  • -perm +权限模式: 查找文件权限包含“权限模式”的任意一个权限的文件

案例
如果要在整个系统中搜索权限中包括SUID权限的所有文件,只需使用-4000即可:

在这里插入图片描述

按照所有者和所属组搜索

选项:

  • -uid 用户 ID: 按照用户 ID 查找所有者是指定 ID 的文件
  • -gid 组 ID: 按照用户组 ID 查找所属组是指定 ID 的文件
  • -user 用户名: 按照用户名查找所有者是指定用户的文件
  • -group 组名: 按照组名查找所属组是指定用户组的文件
  • -nouser: 查找没有所有者的文件

按照文件类型搜索

选项:

  • -type d: 查找目录
  • -type f: 查找普通文件
  • -type l: 查找软链接文件

逻辑运算符

选项:

  • -a: and 逻辑与
  • -o: or 逻辑或
  • -not: not 逻辑非

压缩和解压缩

zip命令和unzip命令

功能:可以压缩文件和目录
语法:zip FILE
语法: unzip FILE
语法:unzip -d FILE +路径

  1. 准备文件素材:
    在这里插入图片描述
  2. 使用zip压缩文件file1.txt

在这里插入图片描述
压缩率为最高压缩file2.txt

在这里插入图片描述

2.将当前目录dir1连同目录下文件一起压缩
在这里插入图片描述

  1. 向压缩文件中file1.zip中添加file2. txt文件

在这里插入图片描述

4.删除压缩文件中的文件
在这里插入图片描述

  1. 压缩文件时排除某个文件
    在这里插入图片描述
  2. 解压文件file2.zip

在这里插入图片描述

  1. 将压缩文件file.zip在指定目录dir1下解压缩
    在这里插入图片描述
  2. 查看压缩文件目录,但不解压
    在这里插入图片描述

gzip命令和gunzip命令

  1. 使用gzip压缩文件
    在这里插入图片描述

  2. 使用gzip压缩目录下文件
    在这里插入图片描述

#注意: 以上压缩之后原始文件就没有了.

  1. 压缩但保留原始文件
    在这里插入图片描述

bzip2命令和bunzip2命令

bzip2、bunzip2是更新的Linux压缩工具,比gzip有着更高的压缩率。
1.bzip2命令
2.bunzip2命令
bzip2、bunzip2示例如下:
# bzip2 -z file1.txt //将file1.txt以bzip2压缩,此时file1.txt变成
file1.txt.bz2
# bzip2 -9 -c file1.txt > file1.txt.bz2 //将file1.txt用最佳的压缩比压缩,并
保留原本的档案
# bzip2 -d file1.txt.bz2 //将file1.txt.bz2解压缩,可用bunzip2取代bzip2 -d
# bunzip2 file1.txt.bz2 //将file1.txt.bz2解压缩

xz命令和unxz命令

  1. 压缩文件
[root@server ~]# xz file1.txt
[root@server ~]# ls file1.txt.xz
file1.txt.xz
  1. 压缩dir1目录下文件
[root@server ~]# xz dir1/*
[root@server ~]# ls dir1
fstab.xz file3.txt.xz file4.txt.xz file5.txt.xz
  1. 查看压缩文件内容
[root@server ~]# xzcat test1.txt.xz
file1
  1. 解压缩
[root@server ~]# unxz file1.txt.xz
  1. 解压缩目录dir1下文件
[root@server ~]# xz -d dir1/*
[root@server ~]# ls dir1
fstab file3.txt file4.txt file5.txt
  1. 不解压,显示压缩文件的内容:zcat、zless、bzcat、bzless。
  • zcat、zless**
[root@server ~]# zcat test2.txt.gz
file2
  • bzcat、bzless**
# bzcat file.txt.bz2  //在屏幕上显示file.txt.bz2解压缩之后的内容

tar归档命令

语法:tar [选项] 打包文件名 被打包的源文件或目录列表

语法:tar [选项] 打包文件名 [-C 目标文件夹]

选项功能
-c创建.tar格式的包文件
-x释放.tar格式的包文件
-t查看包中的文件列表

必选项:

选项功能
-f用于指定打包文件名。当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名当与-x选项一起使用时,则释放该选项指定的tar包文件

辅助选项:

选项功能
-v表示在命令执行时显示详细的提示信息
-p打包时保留文件及目录的权限
-z调用gzip程序,以gzip格式压缩或解压缩文件(.tar.gz)
-j调用bzip2程序,以bzip2格式压缩或解压缩文件(.tar.bz2)
-J使用xz压缩或解压缩文件(.tar.xz),xz的压缩率通常比bzip2更高
-C和-x选项一起使用,表示释放包时指定释放的目标路径
  1. 创建(非压缩的)包文件
    命令:tar cvf 包文件名 要打包的目录或文件名列表
    功能:将指定的一个或多个文件或目录备份生成为一个指定的包文件。

  2. 创建带压缩的包文件
    为节省存储空间,通常需要生成压缩格式的tar包文件,tar命令支持三种不同的压缩方式:
    命令:tar c[z j|J] f 压缩包文件名 要备份的目录或文件名

  3. 列出包文件中的文件列表
    命令:tar t[v]f 包文件名

  4. 提取包文件到指定目录
    格式:tar x [z j|J] [v]f 包文件名 [ -C 目标位置]

tar打包时排除:

  • --exclude=PATTERN 排除以 PATTERN 指定的文件
  • -X, --exclude-from=FILE 排除 FILE 中列出的模式串

文件上传下载

sftp是一个交互式文件传输命令
它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。
如果有服务器的端口不是默认的22,请在sftp后面加-P 端口号。

命令格式:# sftp 用户名@主机地址

案例

  1. 在Linux上的/root目录创建一个Linux.txt,在windows上创建windows.txt
    在这里插入图片描述
    在这里插入图片描述

  2. 通过sftp的 put命令,将windows上的windows.txt推送到linux上

在这里插入图片描述

  1. 通过sftp的 get命令,将linux上的linux.txt推送到windows上

在这里插入图片描述

scp具有和ssh一样的验证机制,从而可以实现2台机器安全的远程拷贝文件

命令格式:scp -P 端口 文件路径 用户名@主机地址:远程目录

rz命令与sz命令

rz命令

rz命令(Receive ZMODEM),使用ZMODEM协议,将本地文件批量上传到远程Linux/Unix服务器,注意不能上传文件夹。

当我们使用虚拟终端软件,如Xshell、SecureCRT或PuTTY来连接远程服务器后,使用rz命令可以上传本地文件到远程服务器。输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。

命令格式: rz [选项] [filelist]

sz命令

sz命令(Send ZMODEM)通过ZMODEM协议,可将多个文件从远程服务器下载到本地。注意不能下载
文件夹,如果下载文件夹,请先打包再下载。
下载多个文件: sz file1 file2 file3
注意:有的机器可能不能使用 rz/sz 命令,这个时候我们就需要安装 lrzsz 软件包
执行以下命令:

#yum install lrzsz -y
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CyberSecure

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值