上一次的内容告诉了我们使用Linux系统时的一些简单技巧。接下来我们学习linux系统中的文件管理。
在Linux系统中,不同于常用的windows系统。windows中的文件夹在Linux系统中叫做目录,windows中一般有文本内容的文档,在Linux中叫做文件。
一、文件的建立
在shell面板中可以使用touch命令来建立文件
touch file file1 ... ##建立文件在当前环境下,可以同时建立多个,建立的多个文件名用空格隔开即可。
touch -t 202107181843(合理时间) 文件名称 ##修改文件的时间戳
二、目录的建立
在shell面板中可以用mkdir命令来建立目录
mkdir dir1 dir2 ... ##建立目录在当前环境下,可以同时建立多个,建立的多个目录名用空格隔开即可
mkdir -p ##逐级建立目录
mkdir -p westosdir/linux/xyz ##建立目录westosdir时,在它的下面建立linux目录,同时在linux目录下建立目录xyz。
三、目录和文件的删除管理
rm file filel... ##删除文件有提示
rm -f ##强制删除目录不提示
rm -r dir dirl ##删除目录
rm -rf dir ##删除目录中的所有东西
rm -rf * ##删除当前环境下的文件和目录(*表示所有)
rm -rf /* ##删除根目录下的所有文件和目录,会导致系统崩盘可以在虚拟机尝试。
四、文件的编辑方法
1.gedit图形文本编辑##系统中有图形时才可以使用
gedit 文件名##可以直接编辑(没有这个文件时,会自动建立这个文件)
2.vim #文本编辑器
当系统中没有图形编辑器时可以用[westos@westos_student35 Desktop]$ vim 文件名 ##出现编辑板
输入<i>时进入插入模式,
按<esc>键后退出插入模式,
<:wq>退出编辑,
光标的移动只可以用上下左右键,
<:q>未进行操作退出,
<:q!>强制退出不保存。
vim模式下是浏览模式鼠标是没有用的,只有进行上边的操作才可以进行操作。
3.处理vim的异常退出
当vim编写文件时在未保存更改内容时被强制关闭
###vim出现异常
#[0] 只读打开文件
#(E)继续编辑
#(R)恢复为保存内容
#(D)删除.swp文件进入编辑
#(Q)退出当前文件编辑
#(A)退出vim编辑
值得注意的是vim异常退出,一般不会出现多次,这些处理指令也只针对于刚才打开的vim编辑面板。
4.vim同时打开多个文件
vim - o file file2 ##上下模式打开两个文件
vim -p flie file1 ##左右打开两个文件
5.cat指令的用法
cat fle1 ##查看文件中的数据
cat -b file1 ##查看文件中的数据有多少行
cat -n file1 ##查看文件中数据显示空行时有多少行
6.less分页浏览
less 文件名 ##进入less模式浏览文件
less模式中<上><下>键逐行查看文件内容
<pgup><pgdn>逐页查看文件
/+关键字 搜索关键字n向下查看,N向上查看
<V>less模式中按v进入vim编辑,编辑完成后:wq退出编辑,返回less
<q>退出less
7.head 文件名 ###默认现实文件的前10行
head -n 文件名 ###显示文件前n行(n代表数字)
tail 文件名 ###默认显示文件的后10行
tail -n 文件名 ###显示文件后n行(n代表数字)
tail -f 文件名 ###监控文件的数据变化
ctrl+c退出监控
8.cp复制指令
cp 文件 文件目的地 ###复制文件到目的地
cp 文件1 文件2 目的目录/
cp -r 目录1 目录2/ ####将目录1的内容复制到目录2(如果没有第二个目录的情况下,第二个目录会直接建立)
cp -r 目录1/ 目录2 ####将目录一复制到目录二中
复制原理:按照源文件建立新文件
9.文件和目录的移动
mv指令
mv 文件1 文件2 ####将文件1重命名为文件2
mv文件 目录 / ####将文件移动到目录中
mv 目录1 目录2 ####将目录1重新命名为目录2
mv 目录1/ 目录2 ####将目录1移动到目录2中
移动原理:相同设备分区的文件移动是重命名的过程,不同分区的文件移动是建立删除过程,ls -i 文件 查看文件节点号。
10.file +文件名 ###查看文件类型(文件中存储的内容不同,文件类型也会不同)
11.wc指令
wc -l 文件 ##文件的行数
wc -w 文件 ##文件的字数
wc -c 文件 ##文件的字节数
wc -m 文件 ##文件的字符数
12.####linux系统的层级结构#####
#FHS(Filesystem Hierarchy Standard) linux 层级结构标准3
#Linux中一切都是文件
/ #Linux顶级目录 rm -rf /* 此命令不可在服务器上运行
#系统二级目录
bin ##系统常规命令
sbin ##系统管理命名
dev ##设备文件
home##普通用户家目录集合,此目录中的子目录为普通用户家目录
root ##超级家用户目录
lib64##64位函数库
lib ##系统函数库
proc ##进程信息,系统识别的硬件信息
run ##当前的硬件和系统模块
srv ##系统数据(常量)
var ##系统数据(变化)
tmp ##系统临时文件存放目录
mnt ##临时设备挂载点
media ##cdrom临时挂载点
etc ##系统大多数程序的配置目录
opt ##第三方如阿年安装位置
boot##系统启动分区,系统启动赛时读取的文件都在此目录中
sys##关于内核设定目录
usr## uniux system resource 仅次于/重要 多数系统资源都在此目录中
五、linux中的文件寻址
1.绝对路径:绝对路径名字的简写,省略了用户当前所在的系统位置,此名称只有在管理当前系统目录中的子文件时才能使用,系统中不以/开头的文件都是先后对路径操作时会自动识别当前路径信息并关联操作目标
绝对路径: 文件在系统中的真实位置,在任何场景下都可以使用,通常以/开头,不会考虑当前系统位置。
pwd ##显示当前在系统的位置。(绝对路径)
2.文件寻址的指令
cd /文件路径/ ##切换当前工作目录到目标目录
cd - = cd ~- ##返回上一个工作目录
cd .. ##到当前目录的上级目录
ls ####显示当前目录文件名称
ls file ####显示指定文件名称
ls dir ####显示指定目录中内容的名称
ls -d dir ####显示目录本身名称
ls -l dir ####显示目录中内容的属性
ls -ld dir ####显示本身的属性
ls -a dir ####显示目录中所有文件名称包括隐藏文件
ls -s #####显示文件大小
ls -R dir ####递归显示目录中的内容
3.文件的批量处理
* ##匹配0~任意字符
? ##匹配单个字符
[[:alpha:]] ##匹配单个字母
[[:lower:]] ##匹配小写字母
[[:upper:]] ##匹配大写字母
[[:digit:]] ##匹配单个数字
[[:alnum:]] ##匹配单个字母或数字
[[:pinct:]] ##匹配单个符号
[[:space:]] ##匹配单个空格
举个例子: