文件与目录管理
发布时间:2022-12-10 11:10:53 所属栏目:Linux 来源:
导读: linux学习笔记
绝对路径:路径的写法“一定由根目录 / 写起”,例如: /usr/share/doc 这个目录。
相对路径:路径的写法“不是由 / 写起”,例如由 /usr/share/doc 要到 /u
绝对路径:路径的写法“一定由根目录 / 写起”,例如: /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 的权限 (编辑:我爱资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


