六、Linux档案与目录管理

1、目录与路径

1.1、相对路径与绝对路径

  • 相对路径:路径的写法一定由根目录/写起,例如/usr/share/doc
  • 绝对路径:路径的写法不是由/写起;
    绝对路径的正确度比较好。

1.2、目录的相关操作:cd,pwd,mkdir,rmdir

  • . 代表此层目录
  • .. 代表上一层目录
  • - 代表前一个工作目录
  • ~ 代表目前用户身份所在的家目录
    -~ account 代表account这个用户的家目录(account是这个账号的名称)
    cd:变换目录
    pwd:显示目前所在的目录 pwd 【-P】
    mkdir:建立新目录 mkdir 【-mp】
    mkdir test1
    mkdir -m 711 testing
    rmdir:删除空的目录 mkdir 【-p】
    rmdir test1
    注意:rmdir只能删除空的目录

1.3、关于执行文件路径的变量:$PATH

1)当我们执行一个指令的时候,例如ls,系统会依照PATH的设定去每个PATH的定义的目录下搜寻文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先搜寻到的同名指令先被执行
2)echo $PATH 查看哪些目录被定义出来了,$表示后面接的是变量
3)将/root 加入到PATH目录:PATH="$PATH":/root

注意:

  • 不同身份使用者预设的PATH不同,默认能够随意执行的指令也不同;
  • PATH是可以修改的,所以一般使用者还是可以透过修改PATH来执行位于/sbin或/usr/sbin下的指令来查询;
  • 使用绝对路径或相对路径直接指定某个指令的文件名来执行,会比搜索PATH来的正确;
  • 指令应该放置到正确的目录下,执行才会比较方便;
  • 本目录(.)最好不要放置到PATH当中;

2、档案与目录管理

档案与目录的管理,主要包括显示属性、拷贝、删除档案以及移动档案或目录;

2.1、档案与目录的检视:ls

ls 【-aAdfFhilnrRSt】 目录名称
ls 【--color={never,auto,always}】 目录名称
ls 【--full-time】 目录名称

2.2、复制、删除与移动:cp,rm,mv

  • cp:复制档案或目录
    cp 【-adfilprsu】来源文件 目标文件
    cp ~/.bashrc /tmp/bashrc
  • rm:移除档案或目录
    rm 【fir】档案或目录
  • mv:移动档案与目录,或更名
    mv 【fiu】source destination
    注:mv还可以用于变更档名 mv mvtest mvtest2

2.3、取得路径的文件名与目录名称

用斜线"/"来分辨档案和目录;
basename /etc/sysconfig/network 获取到最后的档名
dirname /etc/sysconfig/network 取得目录名

3、档案内容查阅

最长使用的显示档案内容的指令可以说是cat,more和less了。此外,如果要查看一个很大型对的档案(好几百兆),但是我们只需要后端的几行字而已,用tail,才外tac这个指令也可以达到;

  • cat 由第一行开始显示档案内容;
  • tac 从最后一行开始显示,可以看出tac是cat的倒着写;
  • nl 显示的时候,顺道输出行号;
  • more 一页一页的显示档案内容;
  • less与more类似,但比more更好的是,可以往前翻页;
  • head 只看头几行;
  • tail 只看尾巴几行;
  • od 以二进制的方式读取档案内容

3.1、直接检视档案内容:cat,tac,nl

  • cat cat 【-AbEnTv】档案
  • nl:添加行号打印 nl 【-bnw】 档案

3.2、可翻页检视:more,less

  • more:一页一页翻动
    例如:more /etc/man.config
    空格键(space):代表向下翻一页
    Enter:代表向下翻一行
    /字符串:代表在这个现实的内容当中,向下搜寻字符串
    :f 立刻显示出文件名机目前显示的行数
    q:离开
    b:代表往回翻页,只对档案有用,对管线无用
  • less:一页一页翻动
    例如:less /etc/man.config
    空格键:向下翻动一页
    pagedown:向下翻动一页
    pageup:向上翻动一页
    /字符串:向下搜寻字符串的功能;
    ?字符串:向上搜寻字符串的功能;
    n:重复前一个搜寻
    N:反向的重复前一个搜寻
    q:离开

3.3、资料截取:head,tail

  • head:取出前面几行
    head 【-n number】 档案
    例如:head -n 20 /ect/man.config
  • tail:取出后面几行
    tail 【-n number】 档案
    例如:tail /etc/man.config

3.4、非纯文本:od

od 【-t TYPE】 档案
-t:后面可接各种类型的输出;
a:利用默认的字符来输出;
c:使用ASCII字符来输出;
d:利用十进制来输出数据;
f:利用浮点数来输出数据;
o:利用八进制来输出数据;
x:利用十六进制来输出数据;

3.5、修改档案时间与建制新档:touch

  • modification time (mtime):当改档案的内容数据变更时,就会更新这个时间,内容数据指的是档案的内容,而不是档案的属性或权限;
  • status time (ctime):当该档案状态改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间;
  • access time (atime)当该档案的内容被取用时,就会更显这个读取时间;
    touch 【acdmt】 档案
    功能:建立一个空的档案;将某个档案日期修订为目前(mtime与atime)

4、档案与目录的默认权限与隐藏权限

除了基本r,w,x权限外,在Linux的Ext2、Ext3文件系统下,我们还可以设定其他的系统隐藏属性,这部分可以使用chattr来设定,而以lsattr来查看,最重要的属性就是可以设定其不可修改的特性,让档案的拥有者都不能进行修改;

4.1、档案预设权限:umask

umask:就是指定用户在建立档案或目录时候的权限默认值;
umask
umask -S
umask的分数指的是该默认值需要减掉的权限;
预设情况:

  • 若使用者建立为档案,则预设没有可执行x权限,即只有rw这两个项目,也就是最大为666,预设权限:-rw-rw-rw
  • 若用户建立为目录,则由于x与是否可以进入此目录有关,因此默认所有权限均开启,即777分,预设权限:drwxrwxrwx
    例如:umask 002

4.2、档案隐藏权限:chattr,lsattr

  • chattr:配置文件案隐藏属性
    chattr 【+-=】【ASacdistu】档案或目录名称
  • lsattr:显示档案隐藏属性
    lsattr 【-adR】档案或目录

4.3、档案特殊权限:SUID,SGID,SBIT权限设定

  • SUID:Set UID
    当 s 这个标志出现在档案拥有者的 x 权限上时
    例如: -rwsr-xr-x
    SUID 权限仅对二进制程序(binary program)有效;
    执行者对于该程序需要具有 x 的可执行权限;
    本权限仅在执行该程序的过程中有效 (run-time);
    执行者将具有该程序拥有者 (owner) 的权限
  • Set GID
    当s标志在档案拥有者的x项目为SUID,那s在群组的x时则称为SGID
    例如:-rwx--s--x
    与 SUID 不同的是,SGID 可以针对档案或目录来设定!如果是对档案来说, SGID 有如下的功能:
    SGID 对二进制程序有用;
    程序执行者对于该程序来说,需具备 x 癿权限;
    执行者在执行的过程中将会获得该程序群组的支持!
    除了 binary program 之外,事实上 SGID 也能够用在目录上,这也是非常常见的一种用途! 当一个 目录设定了 SGID 的权限后,他将具有如下的功能:
    用户若对于此目录具有 r 不 x 的权限时,该用户能够进入此目录;
    用户在此目录下的有效群组(effective group)将会变成该目录的群组;
    用途:若用户在此目录下具有 w 的权限(可以新建档案),则使用者所建立的新档案,该新档案的群组与此目录的群组相同。
  • SBIT:只针对档案有效,对目录已经没有效果了
    当用户对于此目录具有 w, x 权限,亦卲具有写入的权限时;
    当用户在该目录下建立档案或目录时,仅有自己不 root 才有权力删除该档案
  • SUID/SGID/SBIT权限的设定
    在三个数字之前在加上一个数字的话,最前面的那个数字即代表这几个权限了
    SUID:4,SGID:2,SBIT:1
    例如:chmod 4755 filename
    另外还有大S和大T产生的

4.4、观察文件类型:file

如果想要知道某个档案的基本数据,例如是属于ASCII或者是data档案,或者是binary,且其中有没有用到动态函式库等信息,就可以用file这个指令来检阅;
例如:file ~/.bashrc

5、指令与档案的搜寻

5.1、脚本文件名的搜寻:which

which:寻找执行档
which 【a】 commod

5.2、档案档名的搜寻:whereis,locate,find

  • whereis:寻找特定档案
    whereis 【-bmsu】 档案或目录名
    Linux系统会将系统内的所有档案都记录在一个数据库档案里面,而当使用whereis或者locate时,都会以此数据库档案的内容为准;
  • locate
    locate 【-ir】keyword
    使用locate是有限制的:
    因为他是经由数据库来搜寻的,而数据库的建立默认是在每天执行一次 (每个 distribution 都不同,CentOS 5.x 是每天更新数据库一次!),所以当你新建立起来的档案, 即还在数 据库更新之前搜寻该档案,那么 locate 会告诉你『找不到!』呵呵!因为必须要更新数据库呀!
    更新数据库方法:updatedb
  • find
    find 【PATH】【option】【action】

6、权限与指令间的关系(极其重要)

  • 让用户能进入某目录称为可工作目录的基本权限
    可使用的指令:例如 cd 等变换工作目录指令;
    目录所需权限:用户对这个目录至少需要具有 x 的权限
    额外需求:如果用户想要在这个目录内利用 ls 查阅文件名,则用户对此目录还需要 r 的权限。
  • 用户在某个目录内读取一个档案的基本权限为何?
    可使用的指令:例如本章谈到的 cat, more, less 等等
    目录所需权限:用户对这个目录至少需要具有 x 权限;
    档案所需权限:使用者对档案至少需要具有 r 的权限才行!
  • 让使用者可以修改一个档案的基本权限为何?
    可使用的指令:例如 nano 或未来要介绍的 vi 编辑器等;
    目录所需权限:用户在该档案所在的目录至少要有 x 权限;
    档案所需权限:使用者对该档案至少要有 r, w 权限
  • 让一个使用者可以建立一个档案的基本权限为何?
    目录所需权限:用户在该目录要具有 w,x 的权限,重点在 w 啦!
  • 让用户进入某目录并执行该目录下的某个指令之基本权限为何?
    目录所需权限:用户在该目录至少要有 x 的权限;
    档案所需权限:使用者在该档案至少需要有 x 的权限
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容