CSA笔记3-文件管理命令(补充)+vim+打包解包压缩解压缩命令

grep(-i -n -v -w)

[root@xxx ~]# grep root anaconda-ks.cfg #匹配关键字所在的行

[root@xxx ~]# grep -i root anaconda-ks.cfg #-i 忽略大小写  

[root@xxx ~]# grep -n root anaconda-ks.cfg #显示匹配到的行号  

[root@xxx ~]# grep -v root anaconda-ks.cfg #-v 不匹配有root的行

[root@xxx ~]# grep root anaconda-ks.cfg -w #-w 完全匹配this root  

sort(-n 、-r、-t、-k):默认是ASCII排序

[root@xxx ~]# cat xiaohong.txt

this is xiaohong

SLDFJ

lskjdf

LSDK

aaaa

[root@xxx ~]# sort xiaohong.txt #默认是ASCII排序

aaaa

LSDK

lskjdf

SLDFJ

this is xiaohong

[root@xxx ~]# locale

LANG=en_GB.UTF-8

LC_CTYPE="en_GB.UTF-8"

LC_NUMERIC="en_GB.UTF-8"

LC_TIME="en_GB.UTF-8"

LC_COLLATE="en_GB.UTF-8"

LC_MONETARY="en_GB.UTF-8"

LC_MESSAGES="en_GB.UTF-8"

LC_PAPER="en_GB.UTF-8"

LC_NAME="en_GB.UTF-8"

LC_ADDRESS="en_GB.UTF-8"

LC_TELEPHONE="en_GB.UTF-8"

LC_MEASUREMENT="en_GB.UTF-8"

LC_IDENTIFICATION="en_GB.UTF-8"

LC_ALL=

[root@xxx ~]# export LC_ALL=C

[root@xxx ~]# locale

LANG=en_GB.UTF-8

LC_CTYPE="C"

LC_NUMERIC="C"

LC_TIME="C"

LC_COLLATE="C"

LC_MONETARY="C"

LC_MESSAGES="C"

LC_PAPER="C"

LC_NAME="C"

LC_ADDRESS="C"

LC_TELEPHONE="C"

LC_MEASUREMENT="C"

LC_IDENTIFICATION="C"

LC_ALL=C

[root@xxx ~]# sort xiaohong.txt

LSDK

SLDFJ

aaaalskjdf

this is xiaohong

[root@xxx ~]# cat xiaohong.txt

this is xiaohong

SLDFJ

lskjdf

LSDK

aaaa

[root@xxx ~]# cat xiaoming.txt

123

1

5555

33

[root@xxx ~]#

[root@xxx ~]# sort -n xiaoming.txt #-n 对数值进行排序

1

33

123

5555

[root@xxx ~]# sort -nr xiaoming.txt #-r反向排序,-nr按照数值从大到小排序

5555

123

33

1

[root@xxx ~]# cat xiaoming.txt

root:1:xxx

xxx:100:yyy

dfkj:22:lsdkjf

djf:333:lsdj

[root@xxx ~]# sort -t : -k 2 -n /root/xiaoming.txt #-t指定分隔符、-k指定某个字段

root:1:xxx

dfkj:22:lsdkjf

xxx:100:yyy

djf:333:lsdj  

uniq(-c) 

[root@xxx ~]# cat xiaoming.txt

root:1:xxx

root:1:xxx

xxx:100:yyy

dfkj:22:lsdkjf

djf:333:lsdj

root:1:xxx

[root@xxx ~]# uniq xiaoming.txt # 去除重复的行,不相邻的不认为是相同的

root:1:xxx

xxx:100:yyy

dfkj:22:lsdkjf

djf:333:lsdjroot:1:xxx

[root@xxx ~]# uniq -c xiaoming.txt #统计

2 root:1:xxx

1 xxx:100:yyy

1 dfkj:22:lsdkjf

1 djf:333:lsdj

1 root:1:xxx

[root@xxx ~]#

cut(-d、-f 、-f 1,2、 -f 1-4) 

[root@xxx ~]# cut -d : -f 1 xiaoming.txt # -d 指定分割符 -f 指定字段。-f 1 指定1

.

root

root

xxx

dfkj

djf

root

[root@xxx ~]# cut -d : -f 3 xiaoming.txt

xxx

xxx

yyy

lsdkjf

lsdj

xxx

[root@xxx ~]# cut -d : -f 1,3 xiaoming.txt # -f 1,3 指定第一列1和第三列

root:xxx

root:xxx

xxx:yyy

dfkj:lsdkjf

djf:lsdj

root:xxx

[root@xxx ~]# vim xiaoming.txt

[root@xxx ~]# cat xiaoming.txt

root:1:xxx:lllll:ksdjflsdj:lskdjf:lskdjfj

root:1:xxx:lllll:ksdjflsdj:lskdjf:lskdjfj

root:1:xxx:cccccl:ksdjflsdj:lskdjf:lskdjfj

root:1:xxx:aaaa:ksdjflsdj:lskdjf:lskdjfj

root:1:xxx:lllll:ksdjflsdj:lskdjf:lskdjfj

root:1:xxx:lllll:ksdjflsdj:lskdjf:lskdjfj

[root@xxx ~]# cut -d : -f 2-7 xiaoming.txt ## -f 2-7 指定第27

1:xxx:lllll:ksdjflsdj:lskdjf:lskdjfj

1:xxx:lllll:ksdjflsdj:lskdjf:lskdjfj

1:xxx:cccccl:ksdjflsdj:lskdjf:lskdjfj

1:xxx:aaaa:ksdjflsdj:lskdjf:lskdjfj

1:xxx:lllll:ksdjflsdj:lskdjf:lskdjfj

1:xxx:lllll:ksdjflsdj:lskdjf:lskdjfj

面试笔试】公司有网站日志记录,统计出访问该网站的访问次数最多的客户端ip地址是多少?[root@localhost ~]# cat ip.log

2022/12/01 12:00 10.0.0.1 Chrome

2022/12/11 12:00 192.168.1.2 Chrome

2022/12/12 12:00 10.0.0.2 Chrome

2023/01/01 13:00 192.168.1.2 firefox

2023/06/06 15:01 10.0.0.2 firefox

[root@xxx ~]# cut -d " " -f 3 ip.log | sort -nr | uniq -c |  head -2

cp

语法格式:cp  参数  源文件名  目标文件名

常用参数:

示例

使用这些命令之前,建议ls,查看文件是否存在,如果不存在则cp/mv会操作失败

cp  file.cfg  file2.cfg    复制指定的源文件,并定义新文件的名称,相当于文件备份

cp  -r  dir1  dir2      复制指定的源目录,并定义新目录的名称

cp  -a  file.cfg  file2.cfg  复制文件时,保留其原始权限及用户归属信息

cp  -f  file.cfg  /dir1    将指定文件复制到/dir1目录中,并覆盖已有文件,不进行询问

cp  file1.cfg  file2.cfg  /dir2  将多个文件一同复制到指定目录/dir2中

注意:拷贝操作,会有新的一份文件生成,所以源文件依旧存在

      如果只需要一份文件,只是移动了文件的位置则使用mv命令

cp  xxx.txt  yyy.txt  zzz.txt  ./dir1  拷贝文件到指定目录,源文件依旧存在

mv  xxx.txt  yyy.txt  zzz.txt  ./dir1  移动文件到指定目录,源文件不存在

共享文件拷贝:

从共享中拷贝文件到虚拟机的家目录:cp  /mnt/hgfs/share/xxx.txt  ~

从家目录拷贝文件到共享文件目录: cp  ~/xxx.txt   /mnt/hgfs/share

从u盘拷贝文件到家目录:  cp  /run/media/caoqb/TOOL/xxx.txt   ~

  1. 格式:fat32格式
  2. usb控制器的兼容性选3.1

ln

Linux系统中的链接文件有两种新式,一种是硬链接,另一种是软连接。

软连接相当于Windows系统中的快捷方式文件,原始文件被移动或删除后,软连接文件也将无法使用

硬链接则是将文件的inode 属性块进行复制,因此把原始文件移动或删除后,硬链接文件依然可以使用

语法格式:ln  参数  源文件名  目标链接文件名

常用参数:

示例:

ln  file1  file2    为指定的源文件创建硬连接

ln  -s  file1    file2  为指定的源文件创建软连接

ln  -v  file1  file2  为指定的源文件创建硬链接,并输出制作的过程信息

pwd

用于查看当前所处的工作目录路径,防止“迷路”

语法格式:pwd  参数

常用参数:

-L显示逻辑路径        --version显示版本信息

-P显示实际物理路径    --help显示帮助信息

示例:

pwd      查看当前工作目录路径

编辑器vim命令

终端下编辑文件的首选工具

基本上vim可以分为三种模式,分别是:

命令模式(command mode) ==>输入vim的命令和快捷键,默认打开文件时的模式

插入模式(insert mode) ==>进入编辑模式,可以编辑文件

底行模式(last line mode) ==>调整文件内容

在底行模式下:wq  写入并退出

              x  等效于wq

              q! 强制退出,不保存

             shift+z+z  等效于wq

             q  不保存退出

             wq!  强制保存退出

            wq /home/xxx.txt  指定位置保存文件

常规基本操作:

  1. vim file  vim后跟文件名打开文件,默认进入命令行模式,不能编辑文件
  2. 按下a i s o(不区分大小写)即可进入插入模式,注意文件左下角会出现提示
  3. 开始编辑文件
  4. 按下esc键,切换到命令行模式,再按上述操作选择保存或不保存退出

快捷操作:

移动到行首 0                 移动到行尾  $

屏幕滚动下 ctrl+f              屏幕滚动上 ctrl+b

zt 定位到屏幕顶端             zb 定位到屏幕底端

gg 定位到文件开头            G 定位到文件末尾

其他快捷键:

查找与替换命令:

其他常用操作:

压缩解压缩文件

打包解包指令: tar

压缩解压缩指令:  zip  xz  /了解即可

打包解包压缩解压缩:tar  /重点掌握

tar

语法格式: tar  (选项)  (参数)

选项:

操作案例:

打包:tar  -cvf  xxx.tar  xxx   将xxx文件/目录打包成为xxx.tar包文件

解包:tar  -xvf  xxx.tar  将xxx.tar包文件释放到当前目录中

     注意:如果要指定位置解包------- tar  -xvf  xxx.tar   -c path

压缩:

zip  xxx.zip xxx  将xxx文件压缩为xxx.zip的压缩文件

压缩目录加上-r

xz  -z xxx.tar  将xxx.tar压缩成xxx.tar.xz压缩文件,源文件直接压缩

解压缩:

unzip  xxx.zip   将xxx.zip压缩文件解压缩到当前目录

若要指定目录解压缩必须: unzip  xxx.zip  -d  path

xz  -d  xxx.tar.xz   可以将后缀是xz的文件解压成tar包

打包压缩命令:

tar  -zcvf  xxx.tar.gz  xxx  将文件/目录xxx打包压缩为xxx.tar.gz文件

tar  -jcvf  xxx.tar.bz2  xxx  将文件/目录xxx打包压缩为xxx.tar.bz2文件

解压缩解包命令:
tar  -zxvf  xxx.tar.gz  将xxx.tar.gz文件直接解压缩解包到当前目录,可以将文件用 -C参数指定解压缩解包到指定目录,比如 tar  -zxvf  xxx.tar.gz  -C  /home

tar  -jxvf  xxx.tar.bz2 将压缩文件直接解压缩解包到当前目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

甄选范文“论软件维护方法及其应用”软考高级论文,系统架构设计师论文

论文真题 软件维护是指在软件交付使用后,直至软件被淘汰的整个时间范围内,为了改正错误或满足 新的需求而修改软件的活动。在软件系统运行过程中,软件需要维护的原因是多种多样的, 根据维护的原因不同,可以将软件维护分为改正性维护、适应性维护、完善性维护和预防性 维护…

Linux 上 TTY 的起源

注:机翻,未校对。 What is a TTY on Linux? (and How to Use the tty Command) What does the tty command do? It prints the name of the terminal you’re using. TTY stands for “teletypewriter.” What’s the story behind the name of the co…

debian 实现离线批量安装软件包

前言 实现在线缓冲需要的软件和对应依赖的包,离线进行安装 ,用于软件封装。 测试下载一个gcc和依赖环境,关闭默认在线源,测试离线安装gcc和依赖环境 兼容 debian ubuntu/test 测试下载安装包到目录 vim /repo_download.sh #!…

【数据结构】算法复杂度

算法复杂度 数据结构算法复杂度 大o渐进表示法空间复杂度 数据结构 数据结构:是计算机存储和组织数据的方式。 比如打开一个网页,我们看到的文字就是数据,这些数据需要用一个结构来把他管理起来,我们称之为:数据结构 …

基于springboot3实现单点登录(一): 单点登录及其相关概念介绍

引言 应网友要求,从本文开始我们将实现一套基于springboot3springsecurity的单点登录认证系统。 单点登录的实现方式有多种,接下来我们会以oauth2为例来介绍和实现。 单点登录介绍 单点登录(Single Sign-On,简称SSO&#xff0…

nftables(7)集合(SETS)

简介 在nftables中,集合(sets)是一个非常有用的特性,它允许你以集合的形式管理IP地址、端口号等网络元素,从而简化规则的配置和管理。 nftables提供了两种类型的集合:匿名集合和命名集合。 匿名集合&…

使用base64通用文件上传

编写一个上传文件的组件 tuku,点击图片上传后使用FileReader异步读取文件的内容&#xff0c;读取完成后获得文件名和base64码&#xff0c;调用后端uploadApi,传入姓名和base64文件信息&#xff0c;后端存入nginx中&#xff0c;用于访问 tuku.ts组件代码&#xff1a; <templa…

系统测试-白盒测试学习

目录 1、语句覆盖法&#xff1a; 2、判定覆盖法&#xff1a; 3、条件覆盖法&#xff1a; 4、判定条件覆盖&#xff1a; 5、条件组合的覆盖&#xff1a; 6、路径覆盖&#xff1a; 黑盒&#xff1a;需求 白盒&#xff1a;主要用于单元测试 1、语句覆盖法&#xff1a; 程序…

OSU!题解(概率dp)

题目&#xff1a;OSU! - 洛谷 思路&#xff1a; 设E()表示截止到i所获得的分数&#xff1b; 对于到i点的每一个l&#xff0c;如果第i1点为1&#xff0c;那么会新增分数3*l^23*l1; 就有递推公式方程&#xff1a; E()E()p[i1]p*(3*l^23*l1);(p代表截止到i获得长度l的概率)&a…

怎样在 PostgreSQL 中优化对多表关联的连接条件选择?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 怎样在 PostgreSQL 中优化对多表关联的连接条件选择一、理解多表关联的基本概念二、选择合适的连接条件…

【C++】拷贝构造函数及析构函数

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

dbeaver连接mysql8异常

部署了mysql8&#xff0c;尝试用dbeaver 24.1.2连接它。结果配置完成后测试连接时报错&#xff1a;Public Key Retrieval is not allowed. 按照提示修改驱动属性&#xff1a; allowPublicKeyRetrievaltrue

【BUG】已解决:ValueError: Expected 2D array, got 1D array instead

已解决&#xff1a;ValueError: Expected 2D array, got 1D array instead 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉…

Python | Leetcode Python题解之第238题除自身以外数组的乘积

题目&#xff1a; 题解&#xff1a; class Solution:def productExceptSelf(self, nums: List[int]) -> List[int]:length len(nums)# L 和 R 分别表示左右两侧的乘积列表L, R, answer [0]*length, [0]*length, [0]*length# L[i] 为索引 i 左侧所有元素的乘积# 对于索引为…

人工智能 (AI) 应用:一个异常肺呼吸声辅助诊断系统

关键词&#xff1a;深度学习、肺癌、多标签、轻量级模型设计、异常肺音、音频分类 近年来&#xff0c;流感对人类的危害不断增加&#xff0c;COVID-19疾病的迅速传播加剧了这一问题&#xff0c;导致大多数患者因呼吸系统异常而死亡。在这次流行病爆发之前&#xff0c;呼吸系统…

SCI一区级 | Matlab实现GJO-CNN-LSTM-Multihead-Attention多变量时间序列预测

SCI一区级 | Matlab实现GJO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测 目录 SCI一区级 | Matlab实现GJO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现GJO-CNN-LSTM-Mutilhead-Attention金豺优化算…

MongoDB自学笔记(三)

一、前文回顾 上一篇文章中我们学习了更新操作&#xff0c;以及讲解了部分的更新操作符&#xff0c;今天我们继续学习剩余的更新操作符。 二、更新操作符 1、$rename 语法&#xff1a;{ $rename: { < field1 >: < newName1 >, < field2 >: < newName2…

力扣刷题之978.最长湍流子数组

题干要求&#xff1a; 给定一个整数数组 arr &#xff0c;返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元素对之间翻转&#xff0c;则该子数组是 湍流子数组 。 更正式地来说&#xff0c;当 arr 的子数组 A[i], A[i1], ..., A[j] 满足仅满足下列条…

FPGA笔试

半加器和全加器的区别&#xff1a; 1、半加器不考虑输入的进位&#xff0c;称之为半加。 2、全加器反之&#xff0c;考虑进位。 SRAM/DRAM优缺点对比_sram和dram的主要区别及优缺点-CSDN博客 消除竞争冒险的方法 ①滤波电容&#xff1a;因为尖峰脉冲很窄&#xff0c;用很小的…

棱镜七彩上榜《嘶吼2024网络安全产业图谱》两大领域

7月16日&#xff0c;嘶吼安全产业研究院正式发布《嘶吼2024网络安全产业图谱》&#xff0c;棱镜七彩凭借在软件供应链安全领域出色的技术能力和优异的市场表现&#xff0c;上榜软件成分分析&#xff08;SCA&#xff09;、源代码安全两项细分领域。 据悉&#xff0c;本次《嘶吼2…