文件类型
在Linux系统下面,文件类型:
- 文件
- 目录 (文件夹)
- 连接 (快捷方式)
文件权限
- 可读 ==r==
- 可写 ==w==
- 可执行 ==x== 一般为shell脚本
ps: 除了用rwx表示外,还可以用数组的方式表示权限:
第一位表示为 2^2 = 4
第二位表示为 2^1 = 2
第三位表示为 2^0 = 1
例如:
rw- = 6
r-- = 4
rwx = 7
-rw-r--r-- = 644
文件归属
- 拥有者 ==owner==
- 数组哪个用户组 ==group==
- 其他人 ==other==
文件
文件1
drwxrwxr-x. 2 caoxiaozhu caoxiaozhu 4096 May 27 23:08 hello文件2
-rw-r--r--. 1 caoxiaozhu caoxiaozhu 168299520 May 27 18:57 jdk-8u251-fcs-bin-b08-linux-arm64-vfp-hflt-11_mar_2020.tar
文件3
-rw-rw-r--. 1 caoxiaozhu caoxiaozhu 54 May 27 19:14 readme.txt
每次我们输入ll可以看到这样一个列表类型,第一部分-rw-rw-r--
表示文件类型。一共为10
个字符,第一个为单独一个表示文件类型,-
表示单个文件,d
表示文件夹,后面9
个每3个为一组,表示每个用户的权限。
==第一组是拥有者,第二组为用户组,第三组是其他人==
结合上面的文件归属,文件权限的知识我们可以知道:
-rw-rw-r--
表示一个普通文件,文件的拥有者是可读可写,文件的归属组也是可读可写,但是其他人则是只读属性。
改变文件权限
chmod(change model)
第一种:用字符形式
举个例子:对同组的用户来说,仅仅可读,对其他用户来说,既不可读也不可写
chmod g-w 文件名 (g表示group)
chmod o-w 文件名 (o表示other)
第二种:用数字形式
chmod 664
第三种:如果要改变文件夹里及里面所有文件的权限
chmod -R
目录名
(R表示recrusive递归,就是重复执行目录里的)
改变一个文件的拥有者和用户名
针对单个目录
chown
用户名
文件全路径
chgrp用户名
文件全路径
针对目录
chown -R
用户名
文件全路径
chgrp -R用户名
文件全路径
用一条命令完成
chown
用户名
:组名
文件全路径
创建文件
touch
文件名
ps:用vim
/vi
命令也是可以创建新文件的
创建文件夹
创建一层目录
mkdir 目录名
创建多层目录
mkdir -p /hello/nice/dame
编辑文件
vi 文件名
或者
vim 文件名
在vi查看模式下的快捷键:
- dd:表示删除光标行所在的内容
- ZZ:表示保存文件内容
- x:表示将光标处的字符删除
- o:表示在光标的下一行插入内容
对文件内容进行追加
用>>
进行内容追加
echo "内容" >> 文件名
查看文件内容的方式
第一种:文件内容少用cat
cat 文件
第二种:文件内容比较多用more
more 文件
第三种:查看文件末尾内容,通常于-f参数连用,适用于查看服务日志实时信息
tail 文件
举例:
tail -f xxxx.log
tail -200f xxxx.log
第四种:查看文件开头的文件,文件格式,内容模板样式
head 文件
文件的拷贝
拷贝一个文件到一个文件夹中
cp
文件名
文件夹
/文件夹路径
拷贝一个文件内容到另一个文件中(新文件)
cp
文件名
文件名
拷贝一个文件夹(文件夹中的内容)至另一个文件夹
cp -r
目录名
目录名
将一个文件夹下的所有内容复制到另一个文件夹下
cp -r /home/packageA/* /home/cp/packageB/
或
cp -r /home/packageA/. /home/cp/packageB/
这两种方法效果是一样的。
文件的移动
移动: (不在同一个目录下)
mv
文件
目的地
重命名: (同一个目录下)
mv
文件名
修改的名字
eg: mv hello\ hello1
文件的删除
删除文件
rm
删除一个目录(删除的目录必须要是空目录)
rmdir
暴力删除
rm -rf (递归强制删除,文件/文件夹中内容所有删除)
连接
- 软连接 soft link
- 硬连接 hard link
==区别:在删除连接时,是否删除源文件==
创建一个软连接
ln -s
连接文件
被连接文件
搜索
find
find
目录名称
-name文件名称
模糊搜索
find
目录名称
-name文件名称\*
find ~\ -name 'readme*'
grep
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
例如:查找某文件在第几行
ls | grep -n test
网友评论