文件的创建 touch

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

文件的查看

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

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

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

在一个目录下面 mv 其实就是重命名
cd ~
mv 1.txt 666.jpg #1.txt 被重命名成 666.jpg 将文件移动到其它目录
mv 666.jpg /tmp/ #这样到tmp目录下面 文件名保持不变 mv 666.jpg /tmp/kangbazi.jpg #这样移动 文件名发生变化 内容不变

文件的拷贝 cp

cp kangbazi.jpg 888.rmvb #复制一个新的文件 

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

文件查找 find

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

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

更改拥有者 拥有者必须在 /etc/passwd 列表里边 

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

修改用户组 chgrp

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

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

+
-
i 给文件增加 或者去除 只读属性 不能删除 不能改权限 不能写入 不能修改链接
a 只能追加数据 不能修改和删除 chattr +i 文件名 给文件增加保护属性
这时候不能修改权限 不能删除 不能写入 这个写入指的是 echo 'adf' >> 不是 vi/vim chattr -i 文件名 取消文件保护属性 chattr +a 文件名 给文件名增加保护的属性 只能 echo ‘阿道夫’>> 文件名 不能删除 不能修改权限 chattr -a 文件名 取消保护 一般 +a 用来 保护日志文件

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

  • which
  • which chmod
  • whereis
  • whereis chmod

Linux基础第四课——文件操作的更多相关文章

  1. python基础(四)文件操作和集合

    一.文件操作 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 1.文件基本操作: f = open('file.txt','r') # ...

  2. 『学了就忘』Linux基础命令 — 20、文件操作的相关命令

    目录 1.touch 命令 2.stat命令 3.cat命令 4.more命令 5.less命令 6.head命令 7.tail命令 1.touch 命令 touch命令用于创建空文件或修改文件时间, ...

  3. Linux基础篇五:文件操作篇(三剑客)

    cut截取字段: -d  指定分割符 -f   指定第几列 例题1: echo "i am dusonglin ,my qq is  380343680 " >dusongl ...

  4. Linux系统调用和ANSI C文件操作的区别

    一.在Linux下对文件操作有两种方式:Linux系统调用和ANSI C文件操作. 1.Linux系统调用调用常用于I/O文件操作,系统调用常用的函数有open.close.read.write.ls ...

  5. Html5 学习系列(四)文件操作API

    原文:Html5 学习系列(四)文件操作API 引言 在之前我们操作本地文件都是使用flash.silverlight或者第三方的activeX插件等技术,由于使用了这些技术后就很难进行跨平台.或者跨 ...

  6. Python之路:Python 基础(三)-文件操作

    操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') # 还有一种方法open 例1.创建文件  f = file('myfile. ...

  7. (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理

    用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...

  8. python语法(四)— 文件操作

    前面几天学习了一写python的基础语法,也学习了分支if,循环while和for.由于之前已经做过几年的开发了,所以我们知道,许多数据来源并不是靠键盘输入到程序中去的,而是通过数据库和文件来获取到的 ...

  9. python基础(三)-- 文件操作

    一. 文件操作: 对文件操作流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 现有文件如下 : Somehow, it seems the love I kn ...

随机推荐

  1. Asp.net Webform 使用Repository模式实现CRUD操作代码生成工具

    Asp.net Webform 使用Repository模式实现CRUD操作代码生成工具 介绍 该工具是通过一个github上的开源项目修改的原始作者https://github.com/Supere ...

  2. Sublime Text3 远程 Linux

    ctrl+shift+p快捷键 ,打开命令面板 搜索命令 Install Packages,选中,Enter 稍等几秒,重新出现了面板,搜索sftp插件,选中 Enter 显示安装成功,提示你如何使用 ...

  3. 流程控制<二>

    上一篇:Numbers.Strings.Lists 笔记<一>下一篇:数据结构-Python3.7<三> 如果需要修改迭代中的数据,建议先赋值一个副本(e.g:序列,切片复制的 ...

  4. C Looooops(poj2115+扩展欧几里德)

    C Looooops Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Pr ...

  5. Linux常用基本命令:三剑客命令之-awk输入输出分隔符

    输入分隔符,英文原文为field separator,此处简称为FS,默认是空白字符(即空格),awk默认以空白字符为分隔符对每一行进行分割. 输出分割符,英文原文为output field sepa ...

  6. OAuth2.0的refresh token

    最近看人人网的OAuth认证,发现他是OAuth2.0,之前一直看的是新浪的OAuth,是OAuth1.0. 二者还是有很多不同的,主要的不同点在access token的获取方式. OAuth1.0 ...

  7. c++中的this指针和c#中的this引用

    先总结一下: 在c++中this为指针,使用"->"操作符来获取当前实例中的成员 在c#中this为引用,使用"."操作符来获取当前实例中的成员 下面内容 ...

  8. PHP7.27: connect mysql 5.7 using new mysqli

    <!doctype html> <html> <head> <meta name="viewport" content="wid ...

  9. JS中的数学方法

    1 . Math.ceil()      向上取整 2.  Math.floor()     向下取整 3. Math.round()    四舍五入取整 4.  Math.random()   生成 ...

  10. HTML的语义化和一些简单优化

    1.什么是语义化? 必应网典的解释 语义化是指用合理HTML标记以及其特有的属性去格式化文档内容.通俗地讲,语义化就是对数据和信息进行处理,使得机器可以理解. 语义化的(X)HTML文档有助于提升你的 ...