Linux的 文件 和 目录 管理
包括了文件和目录的创建、删除、修改,权限、压缩、搜索、分区、挂载
简单的一些命令:
【 pwd 】查看当前所在目录
【 cd .. 】上级目录
【 cd ~ 】当前用户的家目录
【cd -】上次打开目录(回看)
【 rmdir 目录名】删除空目录
【du -sh 文件或目录】查看文件或目录的大小,耗费资源大
【echo 内容 >>文件名】追加内容
【wc 文件名】统计文件行数(-l)、文件单词数(-w)、文件字节数(-c)
创建目录( mkdir ):
【 mkdir 目录名 】在存在的目录下创建下一级目录
【 mkdir -p 目录1.1/目录1.2/目录1.3 】在存在的目录下创建多个连续目录
【 mkdir 目录1 目录2 】在存在的目录下创建多个目录
查看( ls )命令:
【 ls 】 查看当前目录下所有文件
【 ls -a 】查看当前目录下所有文件,包括隐藏文件,如(.filex)
【 ls -l 】查看当前目录下所有文件详细信息/ L /
【 ls -lh 】l和h选项合用,加上h表示人性化显示,改变在于文件大小单位
【 ls -ld 】显示当前目录的详情信息
【 ls -i 】操控节点信息,int里的第一个字母
拷贝( cp )命令:
cp 选项 原 目标
选项有:( -p )携带原文件时间等属性
【 cp 原文件 目标文件 】复制或者文件重命名
【 cp 原文件1 原文件2 原文件3 目标目录 】复制多个文件到目录下
【 cp -rp 源目录 目标目录 】目录的复制,携带原文件时间等信息
移动( mv )命令:
mv 原 目标
【 mv 原文件 目标文件】文件重命名
【 mv 原目录/目录1 目标目录/目录2】移动目录,并把目录1改名为目录2
删除( rm )命令:
rm 选项 文件名
选项:(-r)表示目录
选项:(-f)强制删除,不询问
【 rm 文件名 】删除文件
【 rm -rf 目录名】强制删除目录
创建文件( vi 和 touch ):
【 touch 文件名1 文件名2 】创建文件,不打开编辑
【 touch “引号 解决空 格文件名问题”】创建带空格的文件名
touch 创建文件时如果文件存在则只会更新创建时间
【 vi 文件名 】创建文件并打开编辑
链接( ln )命令:
软链接:
ln -s 原地址 新地址
类似win快捷方式
操作与权限问题全靠原文件
删除软连接,可直接用rm,不影响原文件或目录
更新软连接:ln -is 原文件地址 新地址
选项:
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
硬链接:
ln 原地址 新地址
相当于文件的拷贝,但更新会是同步的
其中一个文件丢失,不影响另外一个
不可跨文件分区
权限介绍及chmod:
目录权限是:
W:创建和删除文件必须要写权限,
X:进入目录必须要执行权限,
R:查看目录内容必须要有读权限
用户类别(ugo): u为所有者,g为同组,o为其他人
文件权限(wrx): w为写,r为读,x为执行
+为添加权限,-为去掉权限
【 chmod ugo+w 文件名】添加写权限给所有人
【 chmod u+x,o+x 文件名】给所有者和其他用户添加执行权限
【 chmod u=--- 文件名】去掉所有者的全部权限,减号占位
【 chmod 777 文件名】添加所有权限给所有人
【 chmod -R 770 目录名】修改目录及目录下所有文件和目录的权限
【 chown 用户名 文件 】更改文件的所有者,chgrp更改所属组
文件搜索(find):
find 范围 条件
条件间的连接:(-a)前后条件满足,(-o)前后条件满足一个
类型:(-type)(f)文件 (d)目录 (l)软连接
【find . -name 文件名】在当前目录下查找文件名相同的文件
【find /home -name *文件名片段*】在家目录下查找有文件名片段的文件
其中(*)表示0或多个字符,(?)表示单个任意字符
【find . -iname D*】当前路径查找以D或者d开头的文件,-iname
【find /home -user 用户1】查看所有者为用户1的文件,所属组:-group
【find . -type f -exec ls -l {} \;】查找文件并列出详细信息
文件内容的增删改查:
【 cat -n 文件名 】查看文件内容,显示行号
【 cat -n 文件名 】查看文件内容,并显示行号
【 sort 文件名】默认进行数字到字母排序
【 less 文件名 】分页查看文件内容
下一页:page dn或者 空格
上一页:page up
下一行:下箭头
上一行:上箭头
搜索:直接输入【/内容】,n为查找下一个
退出:Q或q退出
【 head -n 3 文件名】查看文件前三行
【 tail -n 2 文件名 】查看文件后2行
【 tail -n 3 -F 文件名】实时显示后三行信息
注意:使用选项(-f)时,文件更改不可用vi,因为vi编辑器是将原文件删除并新建,其inode不一样,可以用【ls -I 文件名】查看。
【grep -n 字符串 文件】在文件中查找字符串所在行,字符串不用双引号,返回行号和当前行内容
【grep -in --color=auto 字符串 文件】不区分大小写查询,关键字高亮显示
【cut -d 分隔符 -f 字段 文件名】默认分隔符为tab(制表符),-d后只能跟随一个字符
如【cut -d ":" -f 1,3 文件名】以冒号为分隔符提取第一和第三列
【sed 选项 ‘动作’ 文件名】轻量级流编辑器,可进行数据的增删改查
选项:
(-n)只把经过sed处理的行输出到屏幕上
(-e)允许多条sed命令,多个条件在单引号内用分号隔开
(-I)修改的内容不仅仅是在输出数据上,在原文件内也会更改
动作:
(a \)追加,行后追加为新行,其中 \ 表示命令未输入完
如:在第三行后追加新行,使用 \ 会自带换行符:
(c \)替换,如替换第二行:【sed '2c 目标内容' 文件名】
(i \)插入,行前插入新行,如‘3i dong xiao’
(p)打印行,如‘3p’为第三行,如’3,5’为第三行到第五行
(d)删除,如‘3d’为删除第三行,也可为‘3,5d’
(s)字符串替换,如:【sed '行数s/查找/替换/g' 文件】,不加行则替换全部
如:
【sed -n '2p' 文件名】输出文件内容的第二行
【find . -type f -ok ls -l {} \;】上为不询问操作,此为每条询问是否操作
【find . -inum 33828570】通过节点查找
压缩管理:
tar 选项 目标文件 目录
特点:常用
选项:(-z)压缩,(-c)打包 /(-x)解包,(-v)显示详细信息,(-f)指定文件名
出现顺序必须如下
【tar -cvf dong.tar dong33】打包成(.tar)文件
【tar -xvf dong.tar】解压
【tar -zcvf dongx.tar.gz dong33】打包并压缩成(.tar.gz)或者(.tgz)文件
【tar -zxvf dongx.tar.gz】解压
bzip2 选项 原文件
选项:(-k)保留原文件
特点:压缩比高
【bzip2 -k 原文件】压缩,系统默认命名
【bunzip2 -k 压缩文件名.bz2】解压缩
gzip:
【gzip ww.txt】压缩后的文件:ww.txt.gz,不保留原文件
【gunzip ww.txt.gz】或者【gzip -d ww.txt.gz】解压缩
与win通用的 zip :
【zip 目标文件名.zip 原文件名】压缩文件,保留原文件
【zip -r 目标目录名.zip 原目录名】压缩目录,保留原
【unzip 压缩包名.zip】解压缩
挂载:
本质就是将设备文件名和挂载点联系,如果是桌面版,一切都简单,但….也要学习用命令操作
挂载光盘:
1、 创建空目录,创建挂载点
2、 插入光盘
3、 【mount /dev/sr0 挂载点】挂载
4、 查看内容直接进入挂载点
5、 离开光盘目录
6、 【umount /dev/sr0】卸载光盘
挂载U盘:
1、 创建空目录,创建挂载点
2、 直接插入U盘
3、 【 fdisk -l 】查看设备文件名(分区名)
4、 【mount -t vfat /dev/sdb1 挂载点绝对路径】
选项有:
-t 文件系统
FAT32文件系统则使用vfat ,
FAT 和FAT16文件系统则为fat
不支持NTFS(HPFS)文件系统,一般是硬盘,可下载NTFS-3G插件,文件系统为ntfs-3g
-o 特殊选项,可更改文件系统是否可以运行可执行脚本等
5、 进入挂载点访问数据
6、 【umount /dev/sdb1】卸载U盘
分区:
分区的挂载点是文件目录
主分区加扩展分区总共可有四个,其中扩展分区最多为1个,扩展分区不能存放数据,必须在其划分逻辑分区来存储数据。
【df -h】查看每个分区详细信息,统计大小会考虑运行占用的空间
【mount】查看系统已经挂载的分区
fdisk可对新硬盘进行分区
一般安装Liunx时,可以确定一下基本分区:
运行内存分区(小于2GB):swap分区
启动分区(200M):/boot
主(根,剩余空间)分区:/