文件的其他操作命令

本文介绍了Linux系统中的一些基础命令,如wc用于统计文本文件信息,find命令用于查找文件,以及文件的复制、移动。还详细讲解了压缩和解压缩工具如zip、unzip、gzip、bzip2、xz的使用,以及tar命令在归档和压缩上的应用。此外,文章提到了shell命令解释器、命令别名设置和命令历史记录的管理。
摘要由CSDN通过智能技术生成
  • 一.文本内容统计wc
    • 1. wc命令用于统计指定文本文件的行数、字数或字节数,语法为: wc [选项] 文件名称

    • 在Linux系统中,/etc/passwd是用于保存系统账户信息的文件,要统计当前系统中有多少个用户,可以使用下面的命令来进行查询
      • [root@kongd ~]# wc -l /etc/passwd
  • 二.复制、移动文件
    • 1.复制文件或目录 语法: cp [选项] 源文件 目标文件

    • 2、移动文件或目录
      • mv命令用于剪切或重命名文件,语法为: mv [选项] 源文件名称 目标文件名称
      • 剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作。
      • [root@kongd ~]# mv x.log linux.log
      • [root@kongd ~]# ls
      • install.log linux.log
  • 三.查找文件的路径
    • find详解:find命令默认接的命令是-print,它默认以\n将找到的文件分隔。可以使用-print0来使用\0分隔,这样就不会分行了。但是一定要注意,-print0针对的是\n转\0,如果查找的文件名本身就含有空格,则find后-print0仍然会显示空格。
    • 1.按照文件名搜索
      • [root@localhost ~]# find 路径 [选项] 搜索内容
      • 选项:
      • -name: 按照文件名搜索
      • -iname: 按照文件名搜索,不区分文件名大小写
      • -inum: 按照 inode 号搜索
    • 2.按文件大小搜索
      • [root@localhost ~]# find 搜索路径 [选项] 搜索内容
      • 选项:
        • -size [+|-]大小: 按照指定大小搜索文件,这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件
        • 注意:-size 0可以查找大小为0的普通文件。如果要查找没有任何文件的目录或者空的普通文件可以使用-empty
        • [root@master ~]# find . -size +10M
    • 3.按照修改时间搜索
      • [root@localhost ~]# find 搜索路径 [选项] 搜索内容
      • 选项::
        • -atime [+|-]时间: 按照文件访问时间搜索
        • -mtime [+|-]时间: 按照文件数据修改时间搜索
        • -ctime [+|-]时间: 按照文件状态修改时间搜索
        • -newer file: 把比file修改时间更新的文件列出来
        • -newerXY:如果所考虑的文件的时间戳X比文件引用的时间戳Y新,则成功。字母X和Y可以是以下任意字
        • 母。
        • a文件引用的访问时间
        • B文件引用的出生时间
        • c索引节点状态更改参考时间
        • m文件引用的修改时间
        • t将所指定的参数理解为一个具体的时间值
        • 时间: -5:代表 5 天内修改的文件。
        • 5:代表前 5~6 天那一天修改的文件。
        • +5:代表 6 天前修改的文件。
    • 4.按权限搜索
      • [root@localhost ~]# find 搜索路径 [选项] 搜索内容
      • 选项:
        • -perm 权限模式: 查找文件权限刚好等于“权限模式”的文件
        • -perm -权限模式: 查找文件权限全部包含“权限模式”的文件
        • -perm +权限模式: 查找文件权限包含“权限模式”的任意一个权限的文件
    • 5.按所有者和所有组搜索
      • [root@localhost ~]# find 搜索路径 [选项] 搜索内容
      • 选项:
        • -uid 用户 ID: 按照用户 ID 查找所有者是指定 ID 的文件
        • -gid 组 ID: 按照用户组 ID 查找所属组是指定 ID 的文件
        • -user 用户名: 按照用户名查找所有者是指定用户的文件
        • -group 组名: 按照组名查找所属组是指定用户组的文件
        • -nouser: 查找没有所有者的文件
    • 6.按文件类型
      • [root@localhost ~]# find 搜索路径 [选项] 搜索内容
      • 选项:
        • -type d: 查找目录
        • -type f: 查找普通文件
        • -type l: 查找软链接文件
    • 7.逻辑运算符:优先级:与>或>非
      • [root@localhost ~]# find 搜索路径 [选项] 搜索内容
      • 选项:
        • -a: and 逻辑与
        • -o: or 逻辑或
        • -not: not 逻辑非
    • 8.其他选项

      • 该实验的重点是 -exec {} \; 参数,其中的{}表示find命令搜索出的每一个文件,并且命令的结尾必须是 \;
    • 四.压缩和解压缩(zip 和 unzip)
      • 1.只能用于压缩普通文件
        • 语法:zip file 或 unzip file
        • zip选项
          • 将当前目录dir1连同目录下文件一起压缩-r :[root@localhost test]# zip -r dir1.zip dir1/
          • 向压缩文件中test1.zip中添加test2. txt文件-m :[root@localhost test]# zip -m test1.zip test2.txt
          • 删除压缩文件中的文件-d :[root@localhost test]# zip -d test1.zip test2.txt
          • 压缩文件时排除某个文件-x :[root@localhost test]# zip test.zip *.txt -x test1.txt
        • unzip选项
          • 将压缩文件text.zip在指定目录dir1下解压缩 -d :[root@localhost test]# unzip test.zip -d dir1
          • 查看压缩文件目录,但不解压 -v:[root@localhost test]# unzip -v test.zip
      • 2. gzip语法 ---- 压缩之后的原始文件会没有了
        • A.若想保留原文件,用-c重定向于一个文件 ------- [root@xjf~]# gzip -c 压缩文件 > 新文件名
      • 3.bzip ,bunzip
        • 例如:[root@xjf~]# bzip /csa/yasuo/sshd
        • [root@xjf~]# bunzip -c /csa/yasuo/sshd > 新文件名 -------- 解压该文件并且重定向于这个新文件
      • 注:查看压缩过的文本文件内容: zcat、zless . zcat 文件名.gz
      • 4.bzip和bzip2
        • bzip2、bunzip2(=bzip2 -d)是更新的Linux压缩工具,比gzip有着更高的压缩率。
        • 注:查看压缩过的文件内容: bzcat、bzless 。 bzcat 文件名.bz2
      • 5.xz、unxz命令
        • 压缩文件:[root@localhost test]# xz test1.txt
        • 压缩dir1目录下文件:[root@localhost test]# xz dir1/*
        • 查看压缩文件内容:[root@localhost test]# xzcat test1.txt.xz
        • 解压缩(xz -d等价于unxz):[root@localhost test]# unxz test1.txt.xz
        • 解压缩目录dir1下文件:[root@localhost test]# xz -d dir1/*
    • 五.tar归档命令
      • 格式: tar [选项] [args]……
      • 选项
        • 额外的选项:
          • 1. 创建(非压缩的)打包文件,将指定的一个或多个文件或目录备份生成为一个指定的包文件:tar cvf/cfv/-cvf(加了短横线,f必须在后) 文件名 .tar
          • 2.列出包文件的文件列表:tar t[v]f 包文件名
          • 3.创建带压缩的包文件,为节省存储空间,通常需要压缩生成压缩格式的tar文件,tar命令支持三种不同的压缩方式:tar czf /-czf 文件名.tar.gz/bz2/xz
          • 4.提取包文件到指定目录:tar xf /-xf/-xzf 文件名.tar.gz/.bz2/.xz
      • 六.文件上传下载
        • 1.xftp工具

        • 2.xftp是一个交互式文件传输程式
          • a.它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。如果有服务器的端口不是默认的22,请在sftp后面加-P 端口号。
          • b. #sftproot@223.6.6.6
          • c.将223.6.6.6服务器文件下载到223.5.5.5的home目录: sftp>get/var/www/renwole.txt/home/
          • d.将223.5.5.5服务器文件上传到223.6.6.6服务器的mnt目录:sftp>put/home/renwole.txt/mnt/
          • C.如果不知道远程主机的目录是什么样, ls命令可以列出223.6.6.6服务器的当前目录列表:
            • sftp>ls//和查看本地操作命令一样
            • sftp>pwd//查询223.6.6.6的当前工作目录
          • e.如果想知道本地主机(223.5.5.5)的目录是什么样,可以使用下面的命令:
            • sftp>lls
            • sftp>lpwd
          • f.如果想退出:exit
      • 七.shell-命令解释器
        • shell:壳,命令解释器,负责解析用户输入的命令。
        • 命令分两类:
          • a.内置命令 (shell内置),shell为了完成自我管理和基本的管理,不同的shell内置不同的命令,但是大部分都差不多
          • b.外置命令,在文件系统的某个目录下,有个与命令名称相同的文件
        • type 命令查看命令是file、alias还是builtin
          • type -a 列出当前命令可以如何执行
          • type -t 仅列出命令按照哪种方式执行
          • 系统为了让用户在命令行快速方便地执行命令,将可执行文件的路径存储在环境变量PATH中。在众多环境变量里面有一个环境变量叫做PATH,当用户每次执行外部命令的时候都会去该变量所记录的路径下搜索和命令同名的二进制文件,如果有则执行该二进制文件,如果没有则提示命令找不到。
      • 八. Linux 中的特殊符号
        • 符号

    • 九.命令别名
      • 1.别名是命令的快捷方式。对于需要经常执行,并需要很长时间输入的长命令创建快捷方式很有用。
        • 语法:alias别名=’原命令[选项]……[参数]……’
      • 2.查看设置的别名:[root@xjf~]# alias
      • 3.删除别名:[root@xjf~]# unalias + 名字
      • 在命令行使用alias命令设置的别名仅在该次登入有效,如果重启一个shell,或重登系统,则这些alias将无法使用,在linux中提供alias永久化的方法:
        • 若要让某个用户使用该永久名:~/.bash_profile 或 ~/.bashrc 中。然后source ~/.bashrc 或 source ~/.bash_profile
        • 若要让每一位用户都使用该别名,则把别名加在:/etc/bashrc 或 /etc/profile中,然后source /etc /bashrc 或者 source/etc/profile
    • 十.命令历史
      • history命令可查询命令历史记录,也可在命令行利用向上或向下键来进行查询
      • 语法:history [选项] [参数]
      • 选项:
        • number:显示最近number条命令历史
        • -c:清空当前历史命令
        • -a [file]:后面没跟文件时,默认将缓冲区中历史命令写入~/.bash_history中
        • -r[file]:将历史命令文件中的命令读入当前历史命令缓冲区中
        • -w:将当前历史命令缓冲区命令写入历史命令文件中;
      • [root@node13~]#!1871 ----- 将1871条命令再执行一遍
      • [root@node13~]#!! ------ 执行上一条命令
      • 命令行中的其他快捷键
        • ctrl+d输入已结束;也可当做exit
        • ctrl+c键盘中断请求,终止当前的命令
        • Ctrl+a移动到当前行的开头
        • Ctrl+e移动到当前行的结尾
        • Ctrl+l清屏==clear
        • Ctrl+u剪切命令行中光标所在处之前的所有字符(不包括自身)
        • Ctrl+k剪切命令行中光标所在处之后的所有字符(包括自身)
        • ctrl+←/→ 光标在命令行中按照单词跳转
      • 引用上一条命令的最后一个参数
        • 方法1:!$
        • 方法2:先按Alt再输入.
        • 方法3:先按Esc在输入.
      • 生产环境中,history命令记录操作时间、操作用户、操作IP
        • 1./etc/profile文件中加入以下内容
          • USER_IP=`who-uami2>/dev/null|awk'{print$NF}'|sed-e's/[()]//g' `exportHISTTIMEFORMAT="[%F%T][`whoami`][${USER_IP}]"
        • 2.执行:source /etc/profile
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值