加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱资讯网 (https://www.52junxun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

文件与目录管理

发布时间:2022-12-10 11:10:53 所属栏目:Linux 来源:
导读:  linux学习笔记

  绝对路径:路径的写法“一定由根目录 / 写起”,例如: /usr/share/doc 这个目录。

  相对路径:路径的写法“不是由 / 写起”,例如由 /usr/share/doc 要到 /u
  linux学习笔记
 
  绝对路径:路径的写法“一定由根目录 / 写起”,例如: /usr/share/doc 这个目录。
 
  相对路径:路径的写法“不是由 / 写起”,例如由 /usr/share/doc 要到 /usr/share/man 下面时,可以写成: “cd …/man”,相对路径意指“相对于目前工作目录的路径!”
 
  注意:绝对路径的准确度好,在写程序 (shell scripts) 来管理系统的条件下,务必使用绝对路径的写法。
 
  目录管理
 
   .         代表此层目录
    ..        代表上一层目录
   - 代表前一个工作目录
   ~         代表“目前使用者身份”所在的主文件夹
  处理目录的指令
 
  cd ..
  # 表示回到上一层目录
  cd -
  # 表示回到上一个目录
  cd ~
  cd
  ## cd 和 cd ~都是回到主目录的意思
  cd ~accout
  pwd [-P]
 
  选项与参数:
 
  -P :显示出确实的路径,而非使用链接 (link) 路径。
 
   mkdir test  
   #  创建一个名为test的目录
   mkdir -p  test1/test2/test3/test4
   #同时创建多层目录
  rmdir [-p] 目录名称
 
  选项与参数:
 
  p :连同“上层”“空的”目录也一起删除
 
  注意只能删除空目录
 
  文件与目录的查看
 
  ls [-aAdfFhilnrRSt] 文件名或目录名称
 
  常用:
 
  ls -a #全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来
 
  ls -l #长数据串行出,包含文件的属性与权限等等数据
 
  ls -h #将文件大小以较易读的方式(例如 GB, KB 等等)列出来
 
  ls [–color={never,auto,always}] 文件名或目录名称
 
  颜色显示选项
 
  ls [–full-time] 文件名或目录名称
 
  以完整时间模式 (包含年、月、日、时、分) 输出
 
  文件的复制(cp)、删除(rm)和移动(mv)
 
  [[email protected] ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination)
 
  cp -a #将文件的所有特性都一起复制过来(文件的权限,特征,创建时间都不变)
 
  cp -i #若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行
 
  cp -r #递回持续复制,用于目录的复制;
 
  [[email protected] ~]# cp [options] source1 source2 source3 … directory
 
  同时将多个文件复制到同一个目录下
 
  rm [-fir] 文件或目录
 
  rm -f #就是 force 的意思,忽略不存在的文件,不会出现警告讯息;
 
  rm -i #互动模式,在删除前会询问使用者是否动作
 
  rm -r #递回删除,最常用在目录的删除了!这是非常危险的选项!!!
 
  mv [-fiu] source destination
 
  mv -f #force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
 
  mv -i #若目标文件 (destination) 已经存在时,就会询问是否覆盖!
 
  mv -u #若目标文件已经存在,且 source 比较新,才会更新 (update)
 
  mv [options] source1 source2 source3 … directory
 
  同时将多个文件复制到同一个目录下
 
  取得路径的文件名称与目录名称
 
  basename /etc/sysconfig/network
  #取得文件名
  dirname /etc/sysconfig/network
  #取得目录名
  文件内容查阅
 
  od [-t TYPE] 文件
 
  选项或参数:
 
  -t :后面可以接各种“类型 (TYPE)”的输出,例如:
 
  a :利用默认的字符来输出;
 
  c :使用 ASCII 字符来输出
 
  d[size] :利用十进制(decimal)来输出数据,每个整数占用 size Bytes ;
 
  f[size] :利用浮点数值(floating)来输出数据,每个数占用 size Bytes ;
 
  o[size] :利用八进位(octal)来输出数据,每个整数占用 size Bytes ;
 
  x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size Bytes ;
 
  echo password | od -t oCc echo 可以得到 ASCII code 对照
 
  补充:
 
  管道:|
 
  一个命令的输出可以通过管道做为另一个命令的输入。
 
  echo 可以输出任何信息,而这个信息不由屏幕输出,而是传给 od 去继续处理
 
  修改文件时间
 
  linux三个主要变动的时间参数
 
  修改文件时间–touch
 
  touch [-acdmt] 文件
 
  选项与参数:
 
  -a :仅修订 access time;
 
  -c :仅修改文件的时间,若该文件不存在则不创建新文件;
 
  -d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date=“日期或时间”
 
  -m :仅修改 mtime ;
 
  -t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]
 
  文件与目录权限与属性 默认权限
 
  unmask查看默认权限
 
  umask
  # 输出0022
  umask -S
  # 输出u=rwx,g=rx,o=rx
  所以0022意即拿掉user 和 group的 w权限
 
  更改unmask
 
  unmask 003
  # 即拿掉group的 w 和 x权限
  文件隐藏属性
 
  chattr [±=][ASacdistu] 文件或目录名称
 
  选项与参数:
 
  +:增加某一个特殊参数,其他原本存在参数则不动。
 
  -:移除某一个特殊参数,其他原本存在参数则不动。
 
  = :设置一定,且仅有后面接的参数
 
  a :当设置 a 之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root 才能设置这属性
 
  c :这个属性设置之后,将会自动的将此文件“压缩”,在读取的时候将会自动解压缩,
 
  i :这个 i 可就很厉害了!他可以让一个文件“不能被删除、改名、设置链接也无法写入或新增数据!”
 
  对于系统安全性有相当大的助益!只有 root 能设置此属性
 
  lsattr [-adR] 文件或目录
 
  选项与参数:
 
  -a :将隐藏文件的属性也秀出来;
 
  -d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
 
  -R :连同子目录的数据也一并列出来!
 
  文件特殊权限
 
  特点:
 
  SUID 权限仅对二进制程序(binary program)有效;执行者对于该程序需要具有 x 的可执行权限;本权限仅在执行该程序的过程中有效 (run-time);执行者将具有该程序拥有者 (owner) 的权限。
 
  举例说明:
 
  user对文件/usr/bin/passwd 没有w权限,但由于own拥有s权限,user在执行/usr/bin/passwd 时会短暂获得root的权限,也就是说短暂获得w权限,可以改密码啦!
 
  来自鸟哥的linux
 
  特点:
 
  SGID 对二进制程序有用;程序执行者对于该程序来说Linux 文件与目录管理,需具备 x 的权限;执行者在执行的过程中将会获得该程序群组的支持!
 
  特点:
 
  当使用者对于此目录具有 w, x 权限,亦即具有写入的权限时;当使用者在该目录下创建文件或目录时,仅有自己与 root 才有权力删除该文件
 
  举例来说,我们的 /tmp 本身的权限是“drwxrwxrwt”, 在这样的权限内容下,任何人都可以在 /tmp 内新增、修改文件,但仅有该文件/目录创建者与 root 能够删除自己的目录或文件。
 
  SUID/SGID/SBIT 权限设置
 
  数字法:
 
  查看文件类型
 
  file 文件
 
  指令与文件的搜寻 指令的搜寻
 
  which [-a] command
 
  选项或参数:
 
  -a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称
 
  注意:which 默认查找path路径内的目录,所以找不到history
 
  文件的搜寻
 
  whereis [-lbmsu] 文件或目录名
 
  选项与参数:
 
  -l :可以列出 whereis 会去查询的几个主要目录而已
 
  -b :只找 binary 格式的文件(可执行文件)
 
  -m :只找在说明文档 manual 路径下的文件
 
  -s :只找 source 来源文件
 
  -u :搜寻不在上述三个项目当中的其他特殊文件
 
  locate [-ir] keyword
 
  选项与参数:
 
  -i :忽略大小写的差异;
 
  -c :不输出文件名,仅计算找到的文件数量
 
  -l :仅输出几行的意思,例如输出五行则是 -l 5
 
  -S :输出 locate 所使用的数据库文件的相关信息,包括该数据库纪录的文件/目录数量等
 
  -r :后面可接正则表达式的显示方式
 
  locate是经由数据库来搜寻的,而数据库的创建默认是在每天执行一次 ,即数据库每天更新一次。
 
  所以新创建文件时,需要用updatedb更新数据库
 
  find [PATH] [option] [action]
 
  选项与参数:
 
  (1)与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
 
  -mtime n :n 为数字,意义为在 n 天之前的“一天之内” 被更动过内容的文件;
 
  -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件文件名;
 
  -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件文件名。
 
  -newer file :file 为一个存在的文件,列出比 file 还要新的文件文件名
 
  (2)与使用者或群组名称有关的参数:
 
  -uid n :n 为数字,这个数字是使用者的帐号 ID,亦即 UID
 
  -gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID
 
  -user name :name 为使用者帐号名称
 
  -group name:name 为群组名称
 
  -nouser :寻找文件的拥有者不存在 /etc/passwd 的人!
 
  -nogroup :寻找文件的拥有群组不存在于 /etc/group 的文件!
 
  当你自行安装软件时,很可能该软件的属性当中并没有文件拥有者,
 
  这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻。
 
  (3) 与文件权限及名称有关的参数: -name filename:搜寻文件名称为 filename 的文件; -size
 
  [±]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件 -type TYPE :搜寻文件的类型为 TYPE 的。
 
  -perm mode :搜寻文件权限**“刚好等于**” mode 的文件,这个 mode 为类似 chmod的属性值,举例来说, -rwsr-xr-x 的属性为 4755 ! -perm -mode :搜寻文件权限“必须要全部囊括 mode 的权限”的文件,举例来说,
 
  我们要搜寻 -rwxr–r-- ,亦即 0744 的文件,使用 -perm -0744,
 
  当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,
 
  因为 -rwsr-xr-x 的属性已经囊括了 -rwxr–r-- 的属性了。 -perm /mode :搜寻文件权限“包含任一 mode 的权限”的文件,举例来说,我们搜寻-rwxr-xr-x ,亦即 -perm /755
 
  时,但一个文件属性为 -rw-------也会被列出来,因为他有 -rw… 的属性存在! (4). 额外可进行的动作:
 
  -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。 -print :将结果打印到屏幕上,这个动作是默认动作!
 
  总结:
 
  一、让使用者能进入某目录成为“可工作目录”的基本权限为何:
 
  可使用的指令:例如 cd 等变换工作目录的指令;
 
  目录所需权限:使用者对这个目录至少需要具有 x 的权限
 
  额外需求:如果使用者想要在这个目录内利用 ls 查阅文件名,则使用者对此目录还需要 r 的权限。
 
  二、使用者在某个目录内读取一个文件的基本权限为何?
 
  可使用的指令:例如本章谈到的 cat, more, less等等
 
  目录所需权限:使用者对这个目录至少需要具有 x 权限;
 
  文件所需权限:使用者对文件至少需要具有 r 的权限才行!
 
  三、让使用者可以修改一个文件的基本权限为何?
 
  可使用的指令:例如 nano 或未来要介绍的 vi 编辑器等;
 
  目录所需权限:使用者在该文件所在的目录至少要有 x 权限;
 
  文件所需权限:使用者对该文件至少要有 r, w 权限
 
  四、让一个使用者可以创建一个文件的基本权限为何?
 
  目录所需权限:使用者在该目录要具有 w,x 的权限,重点在 w 啦!
 
  五、让使用者进入某目录并执行该目录下的某个指令之基本权限为何?
 
  目录所需权限:使用者在该目录至少要有 x 的权限;
 
  文件所需权限:使用者在该文件至少需要有 x 的权限
 

(编辑:我爱资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!