Linux的文件目录管理
一、文件和目录管理
1.cd命令与pwd命令 进入文件目录与现实当前文件目录
2.mkdir[-mp]命令:用于创建文件夹的命令
最常用的是mkdir -p ,创建多层文件夹
3.rmdir :删除文件夹,用处不大,只能删除空的文件夹,哪怕是rmdir -f,也只能删除一连串空的文件夹
3.rm 命令:删除命令,常用操作-r, -f
rm -r:删除目录用的选项,会询问是否删除
rm -f:强制删除
经常组合使用,rm -rf,表示删除文件或者文件夹不询问,所以常常有rm -rf / 的段子
4.环境变量PATH
4.1: which命令:查找某个命令的决定路径。如:
image.png
可以看到rm是rm -i的别名,在/usr/bin/rm目录下
4.2.ehco PATH可以查看哪些目录在环境变量中,是变量的前缀符号
5.cp命令 复制文件
cp -i :缩写就是cp,在复制的时候文件已经存在,就会询问是否覆盖
cp -r: 复制目录
6.mv命令(move简写):移动或者重命名
格式: mv [选项] [源文件] [目标文件]
命令有如下几种情况:
目标文件是目录,但该目录不存在:源目录重命名
目标文件是目录,目录存在:源文件或目录移动到该目录中去
目标文件是文件,文件不存在:源文件重命名
目标是文件,文件存在:询问是否覆盖
7.echo命令
echo $PATH:简单的打印
echo '111111' > file :把内容写过文件中,覆盖类型的写入
echo '22222' >> file:内容写入文件,追加的写入
7.与文档相关的命令(挺重要的,在查看日志的时候显得尤为重要)
7.1 cat命令(可以通过man查看,任何命令可以通过man查看帮助,通过which查看位置)
cat -n 文件名:查看文件的时候把行号显示
cat -A 文件名: 显示所有内容,包括隐藏的字符
7.2 tac命令(与cat反过来,就知道是从后往前看)
tac 文件名
7.3 more命令
文件内容过多的时候使用,按空格可以查看下一页
ctrl+D: 上一页
ctrl+F:向下翻屏
7.4 less命令(挺重要)
与more命令类似,但功能要多一些。命令后直接加文件名。
按j键向下,K键向上。
使用more和less的时候,可以使用搜索功能,按/在输入字符串,回车即可。按n查看下一个。
输入?来查找,是从下向上搜索
7.5 head命令
显示文件的前10行,加-n则指定显示前多少行
head -n file
7.6 tail命令
显示文件最后10行,-n可以指定行数
*tail -f 文件名:可以动态的查看
————————————————————————————————————————————
二、文件的所有者和所属组
简述:一个Linux的目录或者文件,都会有一个所有者和所属组。所有者是文件的拥有者,所属组是文件所属的用户组。
如果要两个用户可以查看同一个文件,就要在同一个组,并且该组有查看权限。
1.文件属性查看与解释
ls -l 文件名,可以查看该文件的详细熟悉,如图
image.png
可以看到,详细属性信息,文件有9列。
第1列:分为两部分,前1位和后9位。
前1位表示文件的类型,d表示文件目录,-表示普通文件,l表示链接文件。其他的还有b表示块设备,c表示船型端口设备文件,s表示套接字文件,这些我认为不是专业的运维都不怎么需要使用。
后9位,每3位一组,由rwx组合而成,分别是文件所有者、所属组、组外用户对该文件的权限。
r为可读,w可写,x可执行,不支持就用-代替,chmod的时候会详细说明。
第2列:文件占用的节点,目录的话,与目录下的子目录数有关。
第3列:文件的所有者
第4列:文件的所属组
第5列:文件的大小
第6、7、8列:最后一次修改的时间
第9列:文件名
2.更改文件的权限
2.1 命令chgrp(change group)
格式: chgrp [组名] [文件名]
更改文件的所属组。
groupadd 组名:创建一个组
这只是修改了文件夹的组名,可以修改他的子目录的的组别:
chgrp -R 组名 文件名
chgrp不常用,常用的是chown
image.png
2.2 命令chown(change owner)
格式:chown [-R] 账户名:组名 文件名
附:useradd test 添加用户
image.png
2.3命令chmod 改变文件的权限
使用数字代替rwx,r等于4, w等于2,x等于1,-等于0,合起来最多就是7
rwxrwx---就是770
格式:chmod [-R] xyz 文件名
例如:chmod 750 test
其他用法:chmod u=rwx, og=rx
chmod u-x 文件名
2.4 命令umask 改变文件的默认权限
默认情况下,目录是755,普通文件644.这是谁定义的?涉及到umask
格式: umask xxx(xxx是三个数字)
默认为022;
3.修改文件的特殊属性
3.1 命令chattr
格式:chattr [+-=] [Asaci]
A:文件或目录atime不可修改
s:数据同步写入磁盘
a:只能追加不能删除
c:自动压缩,读取自动解压
i:文件不能重命名、删除、设定链接
3.2 命令lsattr :读取文件或者目录的特殊权限
格式:lsattr [-aR]
a:全部列出
R:连同子目录列出
3.3 set uid、set gid、sticky bit
4.Linux下搜索文件
4.1 which 查询决定路径
4.2 whereis 查找文件
格式: whereis [-bms] 文件名
-b:二进制文件
-m:帮助文件
-s:源代码文件
4.3 locate查找文件
安装:yum install -y mlocate
4.4 find搜索文件(最常用)
格式:find [路径] [参数]
常用:
find -atime +n/-n 访问执行时间大于或小于n天的文件
find -ctime 写入或更改inode时间
find -mtime 写入时间
find -name 文件名: 查找文件名
例如:find . -name file 其中.表示在现在文件夹下
find -type filetype: 通过类型查找
包含了f,b,c,d,l,s等类型
5.常见文件类型
-:普通文件
d:目录
l:链接文件
d:设备文件
6.常用后缀名:
.sh:shell脚本
tar.gz:压缩文件
my.conf:配置文件
.zjp:压缩文件
7.linux的链接文件 ln(link)命令
链接分为硬链接和软链接。
硬链接是增加一个指向这个文件的inode,不能链接目录。
软链接是建立一个独立的文件,然后把读取的行为转发到该文件所链接的文件上。
格式:ln [-s] [来源文件] [目的文件]
加上-s就是建立软链接,否则是硬链接
例如:ln -s password passord-soft
网友评论