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

文件的其他操作命令

文章目录

  • wc命令 文本内容统计
  • 复制,移动文件
      • 复制文件或目录
      • 移动文件或目录
  • 查找文件路径
    • find命令
      • 按照文件名搜索
      • 按照文件大小搜索
      • 按照修改时间搜索
      • 按照权限搜索
      • 按照所有者和所属组搜索
      • 按照文件类型搜索
      • 逻辑运算符
  • 压缩和解压缩
    • zip命令和unzip命令
    • gzip命令和gunzip命令
    • bzip2命令和bunzip2命令
    • xz命令和unxz命令
  • tar归档命令
  • 文件上传下载
    • 案例
    • rz命令与sz命令
      • rz命令
      • sz命令

wc命令 文本内容统计

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

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

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

案例
统计当前系统用户数量
RHCSA教程文件的其他操作命令_第1张图片

复制,移动文件

复制文件或目录

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

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

移动文件或目录

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

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

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

案例

跟目下存在 Linux.txtWindows.txt 两个文件
RHCSA教程文件的其他操作命令_第2张图片

查找文件路径

命令 说明 示例
whereis 可以搜索系统命令的可执行文件路径和说明文档 # whereis ls
which which 是搜索系统命令的可执行文件 #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 号搜索
    RHCSA教程文件的其他操作命令_第3张图片

按照文件大小搜索

选项:-size [+|-]大小: 按照指定大小搜索文件,这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件
RHCSA教程文件的其他操作命令_第4张图片

按照修改时间搜索

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

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

描述:

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

按照权限搜索

选项:

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

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

RHCSA教程文件的其他操作命令_第5张图片

按照所有者和所属组搜索

选项:

  • -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. 准备文件素材:
    RHCSA教程文件的其他操作命令_第6张图片
  2. 使用zip压缩文件file1.txt

RHCSA教程文件的其他操作命令_第7张图片
压缩率为最高压缩file2.txt

RHCSA教程文件的其他操作命令_第8张图片

2.将当前目录dir1连同目录下文件一起压缩
RHCSA教程文件的其他操作命令_第9张图片

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

RHCSA教程文件的其他操作命令_第10张图片

4.删除压缩文件中的文件
RHCSA教程文件的其他操作命令_第11张图片

  1. 压缩文件时排除某个文件
    RHCSA教程文件的其他操作命令_第12张图片
  2. 解压文件file2.zip

RHCSA教程文件的其他操作命令_第13张图片

  1. 将压缩文件file.zip在指定目录dir1下解压缩
    RHCSA教程文件的其他操作命令_第14张图片
  2. 查看压缩文件目录,但不解压
    RHCSA教程文件的其他操作命令_第15张图片

gzip命令和gunzip命令

  1. 使用gzip压缩文件
    RHCSA教程文件的其他操作命令_第16张图片

  2. 使用gzip压缩目录下文件
    RHCSA教程文件的其他操作命令_第17张图片

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

  1. 压缩但保留原始文件
    RHCSA教程文件的其他操作命令_第18张图片

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
    RHCSA教程文件的其他操作命令_第19张图片
    RHCSA教程文件的其他操作命令_第20张图片

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

RHCSA教程文件的其他操作命令_第21张图片

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

RHCSA教程文件的其他操作命令_第22张图片

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

你可能感兴趣的:(RHCSA教程,服务器,linux,运维)