Linux文件与目录管理
. 代表此层目录
. . 代表上一层目录
- 代表前一个工作目录
~ 代表“目前用户身份”所在的中文件夹
~account 代表account这个用户的主文件夹(account是个账号名称)
cd:切换目录
cd ~vurtne 切换到vurtne这个用户的主文件夹,即/home/vurtne
cd ~ 表示回到自己的主文件夹,即/root. 等同于cd
cd . . 切换到上层目录
cd - 代表回到刚才的目录
pwd:显示当前目录
pwd -P 显示出实际的工作目录,而非链接文件本身的目录名
(如/var/mail)
mkdir:新建一个新的目录
mkdir -m 770 test 直接配置目录权限
mkdir -p test/test1/test2/test3/test4 创建递归目录
rmdir:删除一个空的目录
rmdir -p test/test1/test2/test3/test4 删除递归目录(空目录)
执行文件路径的变量:$PATH
PATH=”$PATH”:/root 将/root加入PATH当中
① 不同身份用户默认的PATH不同,默认能够随意执行的命令也不同(如root和一般用户);
② PAHT是可以修改的,所以一般用户还是可以通过修改PATH来执行某些位于/sbin或
/usr/sbin下的命令来查询;
③ 使用绝对路径或相对路径直接指定某个命令的文件名来执行,会比查询PATH来得正确;
④ 命令应该要放置到正确的目录下,执行才会比较方便;
⑤ 本目录(.)最好不要放到PATH当中。
cat:由第一行开始显示文件内容
tac:从最后一行开始显示
nl:显示的时候输出行号
more:一页一页显示文件内容
less:与more类似,可以向前翻页
head:只看头几行 head -n 3 /etc/passwd
tail:只看结尾几行
od:以二进制的方式读取文件内容
ls -al --full-time : 查阅完整时间格式
cp,rm,mv : 复制、删除、移动
由于cp有种种的文件属性与权限的特性,所以,在复制时应注意:
① 是否需要完整保留来源文件的信息
② 源文件是否为软连接文件
③ 源文件是否为特殊的文件
④ 源文件是否为目录
basename /etc/sysconfig/network 取得最后的文件名
dirname /etc/sysconfig/network 取得目录名
修改文件时间或创建新文件:touch
-a : 仅修改访问时间;
-c : 仅修改文件的时间,若该文件不存在则不创建新文件;
-d : 后面可以接欲修改的日期而不用目前的日期,也可以使用--date=”日期或时间”;
-m : 仅修改mtime;
-t : 后面可以接欲修改的时间而不用目前的时间,格式为[YYMMDDhhmm].
mtime(medify time):最后一次修改文件或目录的时间;
ctime(change time):最后一次改变文件或目录(改变的是原数据即属性)的时间;
atime(access time):最后一次访问文件或目录的时间。
文件默认权限:umask
umask:就是指定“目前用户在新建文件或目录时候的权限默认值”。
默认情况下:
★ 若用户创建“文件”则默认没有可执行(x)权限,即只有r、w权限,也就是最大为666,默认权限如下:
-rw-rw-rw-
★ 若用户新建“目录”,则由于x与是否可以进入此目录有关,因此默认为所有权限均开放,即为:drwxrwxrwx
umask对于新建文件与目录的默认权限是很有关系的。
例如:假设你的umask为003,请问该umask情况下,新建的文件与目录权限是什么?
答:umask为003,所以去掉的权限为--------wx,因此:
文件:(-rw-rw-rw-)-(--------wx)=-rw-rw-r--
目录:(drwxrwxrwx)-(--------wx)=drwxrwxr--
文件隐藏属性:chattr , lsattr
chattr(设置文件的隐藏属性)
[vurtne@localhost ~]$chattr [+-=] [ASacdistu] 文件或目录名称
参数:()
+:增加某一个特殊参数,其他原本存在参数则不动;
-:删除某一个特殊参数,其他原本存在参数则不动;
=:仅有后面接的参数。
注意:由于属性设置常见的是a与i的设置值,而且很多设置值必须要身为root才能设置,
所以现仅列出a与i两项。
a:当设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才
能设置这个属性。
i:它可以让一个文件“不能被删除、改名,设置链接也无法写入或添加数据。”对于系统安
全性有相当大的帮助。只有root能设置此属性。
lsattr:显示文件隐藏属性
[vurtne@localhost ~]$lsattr [-adR] 文件或目录
参数:
-a:将隐藏文件的属性显示出来;
-d:如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
-R:连同子目录的数据也一并列出来。
文件特殊权限:SUID,SGID,SBIT
s 与 t 这两个权限的意义与系统的帐号及系统的程序较为相关。
★ SetUID
① SUID 权限仅对二进位程序(binary program)有效;
② 运行者对於该程序需要具有 x 的可运行权限;
③ 本权限仅在运行该程序的过程中有效 (run-time);
④ 运行者将具有该程序拥有者 (owner) 的权限。
★ SetGID
SGID 有如下的功能:
① SGID 对二进位程序有用;
② 程序运行者对於该程序来说,需具备 x 的权限;
③ 运行者在运行的过程中将会获得该程序群组的支持!
当一个目录配置了 SGID 的权限后,他将具有如下的功能:
① 使用者若对於此目录具有 r 与 x 的权限时,该使用者能够进入此目录;
② 使用者在此目录下的有效群组(effective group)将会变成该目录的群组;
③ 用途:若使用者在此目录下具有 w 的权限(可以新建文件),则使用者所创建的新文件,
该新文件的群组与此目录的群组相同。
★ Sticky Bit
Sticky Bit, SBIT 目前只针对目录有效,对于文件已经没有效果了。 其对于目录的作用是:① 当使用者对於此目录具有 w, x 权限,亦即具有写入的权限时;
② 当使用者在该目录下创建文件或目录时,仅有自己与 root 才有权力删除该文件
查看文件类型:file
查询某个文件的基本数据,例如是属于ASCII或者是data文件,或者是 binary,且其中有没有使用到动态函式库 (share library) 等等的资讯,就可以利用 file来查阅。
命令和文件的查询:
★ which(寻找“执行文件”)
-a:将所有由PATH目录中可以找到的命令均列出,且不只第一个被找到的命令名称。
★ whereis(寻找特定文件)
-b:只找二进制格式的文件;
-m:只找在说明文件manual路径下的文件;
-s:只找source源文件;
-u:查找不在上述三个选项当中的其他特殊文件。
★ locate
-i:忽略大小写的差异;
-r:后面可接正则表达式的显示方式。
★ find
权限和命令之间的关系
一、让使用者能进入某目录成为『可工作目录』的基本权限为何?
① 可使用的命令:例如 cd 等变换工作目录的命令;
② 目录所需权限:使用者对这个目录至少需要具有 x 的权限
③ 如果使用者想要在这个目录内利用 ls 查阅档名,则使用者对此目录还需要 r 的权限。
二、使用者在某个目录内读取一个文件的基本权限为何?
① 可使用的命令:cat, more, less等等
② 目录所需权限:使用者对这个目录至少需要具有 x 权限;
③ 文件所需权限:使用者对文件至少需要具有 r 的权限才行!
三、让使用者可以修改一个文件的基本权限为何?
① 可使用的命令:nano 或未来要介绍的 vi/vim 编辑器等;
② 目录所需权限:使用者在该文件所在的目录至少要有 x 权限;
③ 文件所需权限:使用者对该文件至少要有 r, w 权限
四、让一个使用者可以创建一个文件的基本权限为何?
目录所需权限:使用者在该目录要具有 w,x 的权限,重点是w权限
五、让使用者进入某目录并运行该目录下的某个命令之基本权限为何?
① 目录所需权限:使用者在该目录至少要有 x 的权限;
② 文件所需权限:使用者在该文件至少需要有 x 的权限。
Linux文件与目录管理的更多相关文章
- Linux 文件与目录管理
Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是绝对 ...
- CentOS(十)--与Linux文件和目录管理相关的一些重要命令②
在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux.在上一篇随笔 Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令① 中,详细记录了与Lin ...
- CentOS(九)--与Linux文件和目录管理相关的一些重要命令①
接上一篇文章,实际生产过程中的目录管理一定要注意用户是root 还是其他用户. 一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 & ...
- linux文件与目录管理笔记
### Linux文件与目录管理 ---------- 绝对路径: / 相对路径:不以/开头的 当前目录 . 上一个工作目录 - 用户主目录 ~ root账户的主目录是/root 其他用户是/home ...
- Linux文件与目录管理(一)
一.Linux文件与目录管理 1.Linux的目录结构是树状结构,最顶级的目录是根目录/(用"/"表示) 2.Linux目录结构图: /bin:bin是Binary的缩写,这个目录 ...
- 【转】第七章、Linux 文件与目录管理
原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0220filemanager.php 第七章.Linux 文件与目录管理 最近升级日期:2009/08/26 ...
- 第七章、Linux 文件与目录管理
第七章.Linux 文件与目录管理 1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关於运行档路径的变量: $PATH ...
- Linux 文件与目录管理,Linux系统用户组的管理
一.Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什 ...
- 七、Linux 文件与目录管理
Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是绝对 ...
- Linux文件与目录管理(学习笔记)
本笔记为<鸟哥linux私房菜>第六章学习笔记 一.目录与路径 相对路径与绝对路径 绝对路径:一定由根目录 / 写起 正确度比较好 相对路径:不是由 / 写起 ...
随机推荐
- C#调用vbs脚本实现Windows版Siri
最近新加入,把自己一些有意思的小东西分享给大家,我是一个学生,代码写得少,哪里不规范,希望大家见谅. 这事我封装好的一个类,可以直接实例化对象之后,调用"对象.Talk()"方法, ...
- iOS学习-压缩图片(改变图片的宽高)
压缩图片,图片的大小与我们期望的宽高不一致时,我们可以将其处理为我们想要的宽高. 传入想要修改的图片,以及新的尺寸 -(UIImage*)imageWithImage:(UIImage*)image ...
- vue.js第七课
条件渲染 v-if template v-if v-show v-else v-if 与 v-show handlebars.js 1.v-if 如果我们想一次 控制 多个元素呢? 我们可以吧一个 ...
- Java并发_volatile实现可见性但不保证原子性
读后感 介绍了volatile实现可见性的基本原理 介绍了volatile不能实现原子性的示例,volatile复合操作不能实现原子性,读取值后在自增前改值可能被其它线程读取并修改,自增后刷新值可能会 ...
- Android Studio中的CmakeList NDK配置
Android Studio2.2之后直接可以在创建工程时添加NDK支持了,添加之后,main文件夹下会多出一个native-lib.cpp这个文件,如果只为了一个简单的NDK接口,貌似这就结束了.直 ...
- 【BZOJ-3779】重组病毒 LinkCutTree + 线段树 + DFS序
3779: 重组病毒 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 224 Solved: 95[Submit][Status][Discuss] ...
- Data Binding使用技巧
Data Binding 根据变量,自动赋值到各widget. How 1.编写layout文件,这里的layout为: act_data_bind_demo.xml 这里需要先准备变量 在具体的wi ...
- java重置定时器频率
public class BallUtil { public static Timer fisTimer ; public static void fisStartBall(){ long first ...
- Android之下拉刷新的ListView
不废话,代码里面注释很详细,直接上代码: 自定义的RefreshableListView代码: public class RefreshableListView extends ListView im ...
- repeater控件如何隐藏列?
.aspX文件里将要隐藏的"<td>修改</td>"放在Lable标签里,隐藏实现,如:<asp:lable id=lable1 run=server ...