Linux之文件管理
一、文件管理命令
touch 新建文件,修改文件时间戳
touch file1 file2 file3
建立空文件file1 file2 file3
touch file file已存在,把文件时间同步到当前时间
touch -t YYYYMMDDHHmm.ss file
touch -t MMDDHHmm file
touch -t MMDDHHmm.ss file
把文件时间更改到指定时间
mkdir (make directory)
mkdir dir1 dir2 dir3 建立空目录
mkdir -p test/redhat/linux 建立多层目录
rm 删除文件或者目录
rm file file1 file3删除文件有提示
rm -f file2 强制删除文件不提示
==rm -r dir2 dir1 ==删除目录
rm -rf dir 不提示下删除目录
gedit 图形的文本编辑器
==gedit file file1 == 编辑file file1
#gedit 在使用时必须有图形
#file file1可以不存在
vim 文本编辑器
=vim file= 进入到vim的浏览模式
浏览模式不能编辑文件
内部命令i 在浏览模式中按i进入插入模式
上下 在vim中鼠标不能控制光标用上下左右移动光标
ESC 按ESC退出插入模式
:wq 按:wq保存更改
vim异常退出
当vim编写文件时在未保存更改内容被强制关闭
再次vim打开文件,出现异常
[O] 只读打开文件
(E)继续编辑
®恢复未保存内容编辑
(D)删除.swp文件进入编辑
(Q)退出当前文件编辑
(A)退出vim程序
vim同时打开多个文件
vim -o westos1 westos2 上下模式打开两个文件
ctrl+w 上 下 来转换控制窗口
vim -p westos1 westos2 左右打开两个不同文件
:tabn 进入到下一个窗口
:tabp 进入到上一个窗口
cat 显示文件的全部内容
cat file
cat -b file显示文件内容并显示行号,不显示空行的行号
cat -n file 显示文件内容并显示行号
head 查看文件前多少行
实验素材
cp /etc/passwd . 把/etc/passwd复制到当前目录
head passwd默认显示文件前10行
head -n westos ##n 代表数字 显示文件的前n行
tail 查看文件的后多少
tail passwd 默认显示文件后10行
tail -n westos n 代表数字 显示文件的后n行
less 分页浏览
less passwd进入到less模式查看passwd
上下 less模式中 <上><下> 逐行查看文件内容
pgup pgdn 逐页查看文件内容
/关键字 搜索关键字
n/下 向下匹配 N/上 向上匹配
v 在less模式按v进入到vim
编辑完成:wq退出返回less
q 在less中按q 退出
cp 复制文件
复制原理:按照源文件建立新文件(抄作业)
cp 文件 目的地文件
cp 文件1 文件2 目的地目录
cp -r 目录1 目录2
mv 移动文件
移动原理:
相同设备分区中的文件移动是重命名过程
不同分区的文件移动是建立删除过程
mv file file1 dir
mv dir dir1 dir
mv file 不存在file 重命名
ls -i file 查看文件节点号(相当与文件身份证号)
file 文件类型的查看
file westos 查看westos的真实类型
wc 文件容量统计
wc -l 行数
wc -m 字符数
wc -w 单词数
wc -c 字节数
二、Linux中文件的寻址
Linux系统结构
FHS(Filesystem Hierarchy Standard)
Linux层级结构标准3
LINUX中一切都是文件
/ 根
Linux顶级目录 rm -fr /* 删库跑路
此命令千万不要在服务器上运行
系统二级目录
/bin 系统常规命令
/sbin 系统管理命令
/dev 设备文件
/home 普通用户家目录集合,此目录中的子目录为普通用户家目录
/root 超级用户家目录
/lib64 64位函数库
/lib 系统函数库
/proc 进程信息,系统识别的硬件信息
/run 当前运行的硬件和系统模块
/srv 系统数据(常量)
/var 系统数据(变化)
/tmp 系统临时文件存放目录
/mnt 临时设备挂载点
/media cdrom临时挂载点
/etc 系统大多数程序的配置目录
/opt 第三方软件安装位置
/boot 系统启动分区,系统启动时读取的文件都在此目录中
/sys 关于内核设定目录
/usr unix system resource 仅次于 重要 多数系统资源都在此目录中
相对路径:
绝对路径名称的简写,省略了用户当前所在的系统位置。
此名称只有在管理当前所在系统目录中子文件时才能使用。
系统中不以/开有的文件名称都为相对路径,在程序操作时会自动识别当前路径的信息并关联操作目标。
绝对路径 :
文件在系统中的真实位置,在任何场景下都可以使用.
通常以/开头,不会考虑当前系统位置.
三、关于文件寻址的命令
pwd显示当前的工作目录
cd 切换工作目录
“cd ~-”= "cd -"返回上个工作目录
ls 显示文件信息
ls 显示当前目录中文件的名称
ls file 显示指定文件名称
ls dir 显示指定目录中内容的名称
ls -d dir 显示目录本身的名称
ls -l file 显示文件属性
ls -l dir 显示目录中内容的属性
ls -ld dir 显示目录本身属性
ls -a dir 显示目录中所有文件名称包括隐藏文件案
ls -s 显示文件大小
ls -R dir
递归显示目录中的内容
补充:
ls -lh
按K M G 显示大小
[root@node123 mnt]# ls -lh
total 1.6G
-rw-r--r-- 1 root root 23 Mar 23 11:09 hostname
-rw-r--r-- 1 root root 88 Mar 23 14:25 hosts
-rw------- 1 root root 84 Mar 25 14:28 nohup.out
-rw-r--r-- 1 root root 3.2K Mar 25 14:02 passwd
-rw-r--r-- 1 root root 385 Mar 25 13:50 passwd_short
-rw------- 1 root root 1.6G Mar 25 15:17 rhel-8.2-x86_64-dvd.iso
[root@node123 mnt]#
四、文件批量处理
* 匹配0~任意字符
? 匹配单个字符
[[:alpha:]] 匹配单个字母
[[:lower:]] 匹配单个小写字母
[[:upper:]] 匹配单个大写字母
[[:digit:]] 匹配单个数字
[[:alnum:]] 匹配单个数字或字母
[[:punct:]] 匹配单个符号
[[:space:]] 匹配单个空格
[ ] 字符集合表示方法
条件是或者关系是模糊匹配,
对象和几个对比匹配就操作
[1-10] 1到10
[!d-f]|[^d-f] 除了d-f以外 ???
{ } 点名机制,经精确指定集合中的每一个元素
{1. .10} 1-10
{a. .c} a-c
~ 默认代表当前用户家目录
~username 指定的用户家目录
“~+” “.” 当前目录
~- 当前目录之前所在目录
. . 当前目录的上级目录