Linux的文件和目录管理


更多源代码请参考我的GitHub

Linux的文件和目录管理

增加文件目录

创建文件

  • 语法:touch filename

不存在创建一个空文件

存在则更新该文件的修改访问时间

touch  rourou.txt  //在当前目录下创建一个rourou.tet文件

创建目录

  • 语法:mkdir [-p] directory_name
    • -p:目录不存在是可以创建目录
mikdir rourou  //创建一个肉肉目录

删除文件目录

删除文件

  • 语法: rm [-i/-f] filename
    • -i:询问是否删除
    • -f:强制删除
rm -i  rourou 
rm -f  rourou

删除目录

  • 语法:
    • rm [-r\i\fr] directory_name(s)
    • rmdir directory_name(s) 删除空目录
      • -r:删除非空目录,表示递归
      • -i:删除前询问是否删除
      • -fr:删除目录及其所有文件
rmdir rourou1  //删除rourou1这个空目录
rm  -r rourou2   

查看文件目录

1、pwd

  • 显示当前工作目录,不一定是用户的主目录

2、cd

  • 改变当前工作目录

  • 语法:cd (directory _name)

    • cd:不输入位置默认进入用户主目录
    • cd rourou:进入指定的用户主目录
    • cd ..:进入用户的上级目录

3、ls

  • 列出当前目录的文件和子目录
  • 语法:ls 可选项
    • ls -a:列出文件所有的目录、子目录、文件、隐藏目录
    • ls -R:累出文件目录开始的所有子目录、文件,并且一层层往下显示
    • ls -F:列出文件、目录并且显示出文件类型
    • ls -t:以修改时间为倒序来列出文件、子目录
    • ls -l:以长列表显示文件、目录的详细信息

显示文件内容

1、cat

  • 不分屏显示文本内容

  • 语法: cat filename(s)

  • 把小文件连接成大文件

2、mode

  • 查找文件的前多少行

  • 语法: head [-n] filename(s)

    head -5 /etc/passwd  //查看文件的前五行
    

3、head

  • 语法:more filename(s)
    • spacbebar 向下显示一屏
    • Enter 向下显示一行
    • b 向上一屏
    • f 向下一屏
    • h 显示帮助菜单
    • q 退出
    • /string 查找字符串string
    • n 查找下一个string

4、tail

  • 查找文件的末尾多少行
  • 语法:tail [-n] filename(s)
 tail -10 /etc/passwd  //查看文件的后10行

拷贝移动文件目录

1、cp

拷贝文件

  • 语法
    • cp [-i] source_file destination_file
    • cp [-i] source_file(s) destination_directory
      • -i:当目标文件存在,会询问是否覆盖,没有-i选项则直接覆盖

拷贝目录

  • 语法 :cp -r source_directory(s) destination_directory(s)
cp -r rourou1 rourou2 //拷贝rourou1到rourou2
cp -r rourou3 rourou4  rourou5  //拷贝rourou3、rourou4到rourou5目录下

2、mv

  • 移动文件目录或重命名文件目录
  • 语法
    • mv [-i] source_file target_file 重命名源文件为目标文件
    • mv [-i] source_file target_directory 移动文件到目标目录

文件目录权限

  • Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

权限分类

  • r:读写权,可以打开文件、目录读取查看
  • w :写权限,对文件、目录可以编写更改
  • x :执行权限,对文件可执行(可执行文件)、对目录可查找该目录下的内容
ls -l
rwxr-xr-x  //没有写权限

文件目录权限定义

权限所属对象:

1.拥有者
生成文件或目录时登陆的当前人,权限最高,用u表示。

2.同组人
系统管理员分配的同组的一个或几个人,用g表示。

3.其他人
除拥有着,同组人以外的人,用o表示。

4.所有人
包括拥有着、同组人及其他人,用a表示。


修改文件目录文件

chmod

1、使用字母表示权限
字母表示权限
2、使用数字表示权限

chmod语法
用户数字级别


编写文件

1、vim

  • 语法: vim filename //进入浏览模式
    • insert:进入插入模式,开始编辑字符
    • esc:退出插入模式
    • shift+: wq :保存退出

系统结构

  • (目录下的文件的内容)

/bin #常用系统命令

/sbin #系统管理命令

/boot #启动分区

/sys #内核参数调整

/dev #设备文件

/lib #32位库文件

/lib64 #64位库文件

/media/run/mnt #临时设备的挂载点

/opt #第三方软件安装位置

/proc #系统信息

/etc #系统配置目录

/home #普通用户家目录

/root #超级用户家目录

/var,/srv #系统数据

查找文件

find
file path expression [action] 查找文件和目录

前提条件:要对被查找的目录及其所有子目录有读权限才能查找。
查找选项:通过文件属性来查找

  • -name 按文件名
  • -user 按用户(文件属主)
  • -size按大小
  • -mtime 按最后一次修改时间
  • -atime按最后一次访问时间
  • -type 按文件类型 f:file d:directory
  • -perm 按权限

find / -name b*

  • //找根目录下面名字以b开头的所有文件

find . -mtime 10 -print

  • //查找当前目录下最后一次修改时间距离今天之前10天的那一天修改的文件和目录,并显示出来

find /etc -user 0 -size +400 -print

  • //查找根目录下的/etc下的子目录中由用户id=0,创建的文件大小要大于200k的,并把它显出来

find ~ -perm 777 > ~/holes

  • //在用户住目录下查找权限为777的,即拥有者,同组的,和其他人的的权限都具有读写权限的文件和子目录,并且将查找结果都放在用户主目录下的/holes文件中

find /export/home -type f -atime +365 -exec rm {};

  • //查找/export/home下的文件,最后一次访问时间是距离今天是大于365天的文件,再将找到的文件执行一个进程,并删除这些文件。;代表转义,即就代表分号本身。

Locate

  • 速度比find快
    locate [-d <数据库文件>][–help][–version][keywords]

tabase=<数据库文件> :设置locate指令使用的数据库。
locate指令预设的数据库位于/var/lib/slocate目录里,文件slocate.db,您可使用这个参数另行指定。

  • –help 在线帮助。

  • –version 显示版本信息。

  • 速度快很多,它是通过inode,文件索引来找,它会把文件索引维护在一个数据库里面,它在数据库去找;比较麻烦的是需要更新数据updatedb

locate -c b* //查看当前以bj开头的文件个数
locate --help  //查看帮助文档
locate -V  //查看版本

本文均属原创,如有错误欢迎指出1
今天的学习先到这里,内容不完整,后续会继续更新1

希望大家给我点个赞

原创文章 28 获赞 123 访问量 3445

猜你喜欢

转载自blog.csdn.net/Arouroua/article/details/105912058