前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux基础第四课——文件操作

Linux基础第四课——文件操作

作者头像
hankleo
发布2020-09-17 09:55:11
5500
发布2020-09-17 09:55:11
举报
文章被收录于专栏:Hank’s Blog

文件的创建 touch

代码语言:javascript
复制
sudo touch 文件1 文件2 文件3 #支持批量创建文件 
sudo rm -f 文件1 文件2 文件3 #支持批量创建 也支持批量删除
echo '谁动谁输,对不起我输了,我心动了' > 2.txt # 2.txt如果没有自动创建 root权限 
echo '告诉你一个坏消息,什么坏消息,我对你的想法已经不单纯了' > 2.txt 这样会将之前的内容覆盖掉 
echo '谁动谁输,对不起我输了,我心动了' >> 2.txt 将内容追加到指定的文件中

文件的查看

代码语言:javascript
复制
cat 文件名 #输出内容 从前往后 重点 
tac 文件名 #输出内容 从后往前 

head -n 3 2.txt # 3代表行数 查看前3行 默认显示前10行 重点

tail -n 3 2.txt #显示后三行 重点 
tail -f cat 2.txt #时时查看文件后面的内容 多用来查看日志 ctrl+c 终止 重点

watch -d -n 秒数 cat 文件名 # 时时显示 有高亮 ctrl+c 终止 重点 

sudo vim 文件名 

more 文件名 # 从前往后查看 空格 翻页 回车 换行 q退出 重点 
less 文件名 #g 首页 G尾页 b 向前翻页 空格 向后翻页 q退出 
stat 文件名 #显示文件的详细信息 


文件的三个时间 
atime accesstime 访问时间 
mtime modifytime 修改时间 
ctime changetime 修改状态时间 修改元数据

文件删除 rm

代码语言:javascript
复制
sudo rm 文件名 
sudo rm -i 文件名 #删除之前先确认 
sudo rm -f 文件名 #强制删除 
sudo rm -rf 目录名 # 强制并递归删除 
rm -rf 一定慎用 

文件的移动 mv Linux 没有扩展名区分

代码语言:javascript
复制
在一个目录下面 mv 其实就是重命名 
cd ~ 
mv 1.txt 666.jpg #1.txt 被重命名成 666.jpg 

将文件移动到其它目录 
mv 666.jpg /tmp/ #这样到tmp目录下面 文件名保持不变 

mv 666.jpg /tmp/kangbazi.jpg #这样移动 文件名发生变化 内容不变

文件的拷贝 cp

代码语言:javascript
复制
cp kangbazi.jpg 888.rmvb #复制一个新的文件 

复制目录:
cp -r 目录/ /tmp/ 将目录复制到tmp 
 
cp test/* /tmp/ #表示将目录下面所有的文件 复制到 tmp目录下 
cp -r test/* /tmp/ #表示将目录下 所有的文件及子目录复制到 tmp 下

文件查找 find

代码语言:javascript
复制
find [路径] [参数] [文件名]

 -name 按照文件名查找 
 -iname 按照文件名查找 不区分大小写 
 -mtime +/-n -n表示 n天以内 +n 表示超过多少天 
 -user 按照文件所属的用户查找 
 -size [+/-]n[c/k/m/g] + 大于 - 小于 c字节 
 -perm 数值比如755 #按照文件权限进行查找 
 -maxdepth #按照深度进行查找 
 -ls 以列表的形式展示 
 
 find / -name "111" 从根目录进行查找 
 find . -name "111" 从当前目录查找
 find -name "111" 从当前目录查找
 find /tmp -mtime -3 #tmp目录下面 修改时间在3天以内的 
 
 find / -perm 755 -maxdepth 1 -ls #根目录权限在 755并且 一级目录 并以列表的形式展示
 find / -size +10k -maxdepth 1 -ls #根目录 大于10k 的 一级 并且以列表的形式展示 

权限 chmod

代码语言:javascript
复制
rwxr-xrw- 
756 
拥有者 所属组 其它用户

r 4 读
w 2 写
x 1 执行


600 
644
755 

u #拥有着 user
g #所属用户组 group
o #其它用户 other
a #所有人 all 
+ #在原来的基础上 增加权限
- #在原来的技术上 减权限
= #重新赋权限 

chmod o+w 1.txt #给其它用户增加一个写入的权限 
chmod a=rwx 1.txt #给所有用户可读可写可执行的权限 
chmod g-w,o-x 1.txt #给所属组去掉写入的权限 给 其它用户去掉执行的权限 
chmod o=r 1.txt #给其他用户 赋予只读的权限 

sudo chmod 755 目录名 #只修改目录的权限 里边子目录及文件的权限 不被修改 
sudo chmod -R 755 目录名 #递归修改权限 里边的子目录及文件 权限也会跟着更改

修改文件的拥有者 chown

代码语言:javascript
复制
更改拥有者 拥有者必须在 /etc/passwd 列表里边 

chown 用户名 文件名/目录名 #只能更改拥有者 所属组没更改 
chown 用户名:组名 文件名或者目录名 #更改所属用户及所属的组 仅仅是改目录 里边的文件没改 
chown -R 用户名:组名 目录名 #递归修改所属用户及组 

修改用户组 chgrp

代码语言:javascript
复制
chgrp 组名 文件名 或者目录名 
chgrp -R 目录名 

chgrp -R 组名 tmp 

sudo chgrp -R yhq /tmp 将tmp目录下所有的子目录及文件所属组 改为 yhq

chattr /lsattr chmod后面的大boss 如果大boss 保护属性 那么我们没法 chmod

代码语言:javascript
复制
+ 
- 
i 给文件增加 或者去除 只读属性 不能删除 不能改权限 不能写入 不能修改链接 
a 只能追加数据 不能修改和删除 

chattr +i 文件名 给文件增加保护属性 
这时候不能修改权限 不能删除 不能写入 这个写入指的是 echo 'adf' >> 不是 vi/vim 

chattr -i 文件名 取消文件保护属性 


chattr +a 文件名 给文件名增加保护的属性 只能 echo ‘阿道夫’>> 文件名 不能删除 不能修改权限

chattr -a 文件名 取消保护 


一般 +a 用来 保护日志文件 

查找命令所在的位置 如果我们写脚本自动化运维 需要写命令的绝对路径 否则容易找不到

  • which
  • which chmod
  • whereis
  • whereis chmod
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件的创建 touch
  • 文件的查看
  • 文件删除 rm
  • 文件的移动 mv Linux 没有扩展名区分
  • 文件的拷贝 cp
  • 文件查找 find
  • 权限 chmod
  • 修改文件的拥有者 chown
  • 修改用户组 chgrp
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档