文件目录管理
一、vim编辑器
1、介绍
- 修改文件内容
- 特性
- 模式化编辑器
- 命令模式、插入模式、末行模式
- 模式化编辑器
使用格式:
# vim 文件名称
[root@localhost ~]# cp /etc/passwd /tmp/
2、模式间的切换
- 命令模式 ----> 插入模式
- a, i, o, O
- 插入模式 ----> 命令模式
- ESC
- 命令模式 ----> 末行模式
- 冒号 :
3、末行模式
- 保存退出
- :wq
- 不保存
- :q!
- 显示行号
- set nu
4、命令模式
1) 快速移动光标
- h左 j下 k 上 l 右
- $ 移动到行尾
- ^ 移动到行首
- 68gg 跳转到68行
- shift + g 跳转到最后一行
- gg 跳转到第一行
2) 删除字符
- x 删除单个字符
- dw 删除词
- dd 删除整行
- 67dd
- d$ 删除到行尾
- d^ 删除到行首
- dG 删除到文件最后一行
3) 复制, 粘贴
- yy 复制整行
- p 粘贴
4) 剪切、粘贴
- dd
- p
5) 撤销
- u
6)搜索
- /内容
- n 向下查找
- N 向上查找
二、命令别名
1、配置vim编辑器
# vim /etc/vimrc
set nu
set tabstop=4
2、命令别名
# alias 别名='命令'
临时生效
[root@localhost ~]# alias ips='ifconfig ens33 | head -n 2 | tail -n 1'
永久生效 /etc/bashrc
[root@localhost ~]# vim /etc/bashrc
alias ips='ifconfig ens33 | head -n 2 | tail -n 1'
alias guanji='init 0'
//让系统重新读取bashrc文件内容
[root@localhost ~]# source /etc/bashrc
查看命令别名
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias guanji='init 0'
alias ips='ifconfig ens33 | head -n 2 | tail -n 1'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
删除别名
# unalias 别名
- 同时删除配置文件中别名的定义
3、关闭SELinux机制
1) 查看selinux的运行状态
[root@node01 ~]# getenforce
Enforcing
2) 修改SELinux为disabled状态
# vim /etc/sysconfig/selinux
SELINUX=disabled
# init 6
三、文件压缩、解压缩 / 归档文件
1、文件压缩、解压缩
1) gzip *.gz
压缩:
[root@localhost ~]# gzip /opt/a.txt
[root@localhost ~]# ls /opt/
0629 A a.txt.gz rh
[root@localhost ~]# file /opt/a.txt.gz
/opt/a.txt.gz: gzip compressed data, was "a.txt", from Unix, last modified: Thu Jul 7 13:39:53 2022
解压缩:
[root@localhost ~]# gzip -d /opt/a.txt.gz
2)bzip2 *.bz2
压缩:
[root@localhost ~]# bzip2 /opt/b.txt
[root@localhost ~]# ls /opt/
0629 A a.txt b.txt.bz2 rh
[root@localhost ~]#
[root@localhost ~]# file /opt/b.txt.bz2
/opt/b.txt.bz2: bzip2 compressed data, block size = 900k
解压缩:
[root@localhost ~]# bzip2 -d /opt/b.txt.bz2
3) xz *.xz
压缩:
[root@localhost ~]# xz /opt/c.txt
[root@localhost ~]# ls /opt/
0629 A a.txt b.txt c.txt.xz rh
[root@localhost ~]#
[root@localhost ~]# file /opt/c.txt.xz
/opt/c.txt.xz: XZ compressed data
解压缩:
[root@localhost ~]# xz -d /opt/c.txt.xz
2、归档文件管理
1) 创建归档文件 *.tar
# tar cf 归档文件名称 源文件
- c 创建
- f 指定归档文件名称
将/etc目录所有文件打包到/backup/data.tar
[root@localhost ~]# tar cf /backup/data.tar /etc/
2) 创建归档文件,同时调用gzip压缩 xxxxx.tar.gz
# tar czf 归档文件名称 源文件
- z 调用gzip压缩
将/etc目录下所有文件打包压缩到/backup/etc01.tar.gz
[root@localhost ~]# tar czf /backup/etc01.tar.gz /etc/
3) 创建归档文件,同时调用bzip2压缩 xxxx.tar.bz2
# tar cjf 归档文件名称 源文件
- j 调用bzip2压缩
将/etc目录下所有文件打包压缩到/backup/etc02.tar.bz2
[root@localhost ~]# tar cjf /backup/etc02.tar.bz2 /etc/
4)创建归档文件,同时调用xz压缩 xxxx.tar.xz
# tar cJf 归档文件名称 源文件
将/etc目录下所有文件打包压缩到/backup/etc03.tar.xz
[root@localhost ~]# tar cJf /backup/etc03.tar.xz /etc/
3、解压缩
# tar xf 归档文件名称 [-C 目录名称]
- x 解压缩
- -C 目录名称
- 指定解压位置
[root@localhost ~]# tar xf /backup/etc01.tar.gz
[root@localhost ~]# tar xf /backup/etc03.tar.xz -C /tmp/
四、查找文件 find
# find 目录名称 查找条件 [-exec 命令 \;]
- 默认是在所有子目录下查找
1、查找条件
- 按文件名称查找
- -name
- -iname 忽略大小写
[root@localhost ~]# find /opt/test/ -name "*.txt"
[root@localhost ~]# find /opt/test/ -name "*.txt" | wc -l
[root@localhost ~]# find /opt/test/ -iname "*.txt"
- 按文件大小查找
- -size
[root@localhost ~]# find /etc/ -size +2M
[root@localhost ~]# find /etc/ -size -2M
- 按文件类型查找
- -type {f|d|l}
[root@localhost ~]# find /etc/ -type l
- 按文件的创建时间
- -ctime
3天前
[root@localhost ~]# find /etc/ -ctime +3
最近3天
[root@localhost ~]# find /etc/ -ctime -3
- 按文件的修改时间
- -mtime
[root@localhost ~]# find /etc/ -mtime -2
[root@localhost ~]# find /etc/ -mtime +2
2、按多条件查找
- 并且 -a
[root@localhost ~]# find /etc/ -name "*.conf" -a -size +20k
[root@localhost ~]# find /etc/ -mtime -3 -a -size +10k -a -name "*.conf"
- 或者 -o
[root@localhost ~]# find /etc/ -name "*.conf" -o -size +1M
3、-exec 命令 \;
- 对查找的文件执行xxxxx操作
[root@localhost ~]# find /opt/test/ -name "*.mp3" -exec rm -rf {} \;
[root@localhost ~]# find /opt/test/ -name "*.jpg" -exec cp {} /tmp \;
[root@localhost ~]# find /etc/ -name "*.conf" -a -size +30k -exec ls -lh {} \;
4、-maxdepth 数字
- 指定目录的层次
[root@localhost ~]# find /etc/ -maxdepth 2 -name "*.conf"