文件管理基本命令
创建文件(touch命令)
touch有两个作用:
- 创建空文件
- 修改文件时间戳
创建空文件
touch westos
代表在当前目录下创建westos文件
touch /mnt/westos
在/mnt/目录下创建westos文件
修改文件时间戳
时间戳
1.atime:文件最近一次被访问的时间
2.ctime:文件内容或属性最近一次被修改的时间
3.mtime:文件内容最近一次被修改的时间
- touch -t 202109192311 westos
将westos这个文件的时间戳改为指定时间(202109192311指的是2021年9月19日23时11分)
创建目录(mkdir命令)
建立空目录:mkdir dir建立多级目录
当前父级目录不存在时,我们是不能直接创建多级目录的
mkdir -p dir1/file1 可以创建多级目录
删除文件或目录(rm命令)
rm westos 表示删除westos这个文件但是需要确认,删除多个文件时需要一个一个确认
rm -f westos 也是删除这个文件,但是着表示直接删除不确认
rm -r dir1 表示递归删除,即可以删除目录下的子目录以及文件
但是需要一个一个确认,可以直接rm -rf dir1
rmdir 此命令可以删除目录,但是只能是空目录
图形文本编辑器(gedit命令)
- gedit file 编辑file
- gedit 在使用时必须有图形
- file可以不存在
文本编辑器(vim编辑器)
- vim file 进入vim浏览模式
file存在时直接打开文件
不存在时退出编辑后自动保存文件
浏览模式不能进行编辑,并且不能用鼠标移动光标
进入浏览模式后按i进入插入模式
编辑完之后按Esc退出插入模式
- :wq 保存退出
- :q 对内容未作修改课直接退出
- :q! 修改内容但不想保存可强制退出
vim异常退出
异常退出是指不是通过 :wq :q或者**:q!**退出,而是直接关闭shell
- O 只读打开文件
- E 继续编辑
- R 恢复未保存内容编辑
- D 删除.swp文件进入编辑
- Q 退出当前文件编辑
- A 推出vim程序
其中,只有D命令是可以解决异常的
同时编辑多个文件
- vim -o file1 file2
上下模式,通过ctrl+w 来切换当前编辑窗口 - vim -p file1 file2
左右模式,通过tab+n切换下一个,tab+p切换上一个
查看文件内容
cat
- cat file 查看文件所有内容
- cat -b file 显示内容行号,但忽略空行
- cat -n file 显示内容行号,也显示空行行号
less
- less file 表示分页浏览,使用less浏览文件会进入到less程序开启的浏览器中
- 通过上下键可以一行一行浏览,Page Up和PageDown可以一页一页浏览
- “/关键字”进行搜索,关键字会高亮显示,n向下匹配关键字,N向上匹配关键字
- v进入vim编辑模式,退出vim时回到less模式
- q退出less
head
- head westos 显示文件头几行(默认前十行)
- 如果要指定行数
- head -n 3 westos 就可以显示前三行内容,数字可以改变
tail
- tail westos 显示文件后几行(默认后十行)
- 如果要指定行数
- tail -n 3 westos 就可以显示后三行内容,数字可以改变
tac
反向显示文件内容,即从最后一行开始显示
复制文件(cp命令)
- cp 文件 目的地文件
- cp 文件1 文件2 目的地目录
- cp -r 目录1 目录2
几个文件只能复制到目录当中,而不是文件中
移动文件(mv命令)
- mv file file1 dir 将file,file1文件移动到dir目录中
- mv dir dir1 dir 将dir,dir1目录移动到dir目录中
- mv file 不存在file 重命名
移动和复制的区别
复制是按照模板生成文件
移动
1.相同磁盘分区是重命名文件
2. 不同磁盘分区是复制再删除源文件
查看文件类型(file)
文件类型是由文件内容决定的
可以看到,当文件内容发生变化时,文件类型同样也发生了变化
文件容量统计(wc命令)
行数,字数,字符数,字节数
l, w, m, c
相对路径 绝对路径
相对路径:绝对路径名称的简写,省略了用户当前所在的系统位置
此名称只有在管理当前所在系统目录中子文件时才能使用
系统中不以/开有的文件名称都为相对路径在程序操作时
会自动识别当前路径的信息并关联操作目标
绝对路径 :
文件在系统中的真实位置,在任何场景下都可以使用
通常以/开头,不会考虑当前系统位置
文件寻址
- pwd 显示当前工作目录
- cd 切换当前的工作目录
cd ~- = cd - 切换到上次所在目录
- ~-适用于所有命令
- - 只适用于cd命令
- ls 显示当前目录中文件的名称
- ls 文件 显示指定文件名称
- ls 目录名 显示指定目录中内容的名称
- ls -d 目录名 显示目录本身的名称
- ls -l 文件名 显示文件属性
- ls -l 目录名 显示目录中内容的属性
- ls -ld 目录名 显示目录本身属性
- ls -a 目录名 显示目录中所有文件名称包括隐藏文件案
- ls -s 文件名 显示文件大小
- ls -R 目录名 递归显示目录中的内容
- ls -i 文件名 查看文件节点
文件批量处理
- * 匹配0~任意字符
- ? 匹配单个字符
- [[:alpha:]] 匹配单个字母
- [[:lower:]] 匹配单个小写字母
- [[:upper:]] 匹配单个大写字母
- [[:digit:]] 匹配单个数字
- [[:alnum:]] 匹配单个数字或字母
- [[:punct:]] 匹配单个符号
- [[:space:]] 匹配单个空格
测试:复制/etc/目录中文件名字有数字的并且以.conf结尾的文件到桌面上
字符集合表示方法
- [] 条件是或者关系是模糊匹配,对象和几个对比匹配就操作
- [1-10] 1到10 [!d-f]或者[ ^d-f ] 除了d-f以外
- {} 点名机制,经精确指定集合中的每一个元素
- {1…10} 1-10 {a…c} a-c
- ~ 默认代表当前用户家目录
- ~username 指定的用户家目录
- “~+” = “.” 当前目录
- ~- 当前目录之前所在目录