zoukankan      html  css  js  c++  java
  • 鸟哥的Linux私房菜:基础学习篇 —— 第六章笔记

    1、下面这些就是比较特殊的目录,得要用力的记下来才行:

    . 代表此层目录 
    .. 代表上一层目录
    - 代表前一个工作目录
    ~ 代表“目前使用者身份”所在的主文件夹
    ~account 代表 account 这个使用者的主文件夹(account是个帐号名称)

    2、下面我们就来谈一谈几个常见的处理目录的指令吧:

    cd:变换目录
    pwd:显示目前的目录,是Print Working Directory的缩写
    mkdir:创建一个新的目录
    rmdir:删除一个空的目录
    cd (change directory, 变换目录)

    如果 仅输入 cd 时,代表的就是“ cd ~ ”的意思喔~ 亦即是会回到自己的主文件夹啦!而那个“ cd - ”比较难以理解,请自行多做几次练习,就会比较明白了。

    [root@study ~]# mkdir [-mp] 目录名称
    选项与参数:
    -m :设置文件的权限喔!直接设置,不需要看默认权限 (umask) 的脸色~
    -p :帮助你直接将所需要的目录(包含上层目录)递回创建起来!
    范例:请到/tmp下面尝试创建数个新目录看看:
    [root@study ~]# cd /tmp
    [root@study tmp]# mkdir test <==创建一名为 test 的新目录
    [root@study tmp]# mkdir test1/test2/test3/test4
    mkdir: cannot create directory ‘test1/test2/test3/test4’: No such file or directory
    # 话说,系统告诉我们,没可能创建这个目录啊!就是没有目录才要创建的!见鬼嘛?
    [root@study tmp]# mkdir -p test1/test2/test3/test4
    # 原来是要建 test4 上层没先建 test3 之故!加了这个 -p 的选项,可以自行帮你创建多层目录!
    范例:创建权限为rwx--x--x的目录
    [root@study tmp]# mkdir -m 711 test2
    [root@study tmp]# ls -ld test*
    drwxr-xr-x. 2 root root 6 Jun 4 19:03 test
    drwxr-xr-x. 3 root root 18 Jun 4 19:04 test1
    drwx--x--x. 2 root root 6 Jun 4 19:05 test2
    # 仔细看上面的权限部分,如果没有加上 -m 来强制设置属性,系统会使用默认属性。
    # 那么你的默认属性为何?这要通过下面介绍的 [umask](../Text/index.html#umask) 才能了解喔! ^_^

    4、文件内容查阅中各个指令的用 途

    • cat 由第一行开始显示文件内容

    • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

    • nl 显示的时候,顺道输出行号!

    • more 一页一页的显示文件内容

    • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

    • head 只看头几行

    • tail 只看尾巴几行

    • od 以二进制的方式读取文件内容!

    5、观察文件类型:file

    如果你想要知道某个文件的基本数据,例如是属于 ASCII 或者是 data 文件,或者是 binary , 且其中有没有使用到动态函数库 (share library) 等等的信息,就可以利用 file 这个指令 来检阅喔!

    6、文件文件名的搜寻

    再来谈一谈怎么搜寻文件吧!在 Linux 下面也有相当优异的搜寻指令呦!通常 find 不很常用 的!因为速度慢之外, 也很操硬盘!一般我们都是先使用 whereis 或者是 locate 来检查,如 果真的找不到了,才以 find 来搜寻呦! 为什么呢?因为 whereis 只找系统中某些特定目录下 面的文件而已,locate 则是利用数据库来搜寻文件名,当然两者就相当的快速, 并且没有实 际的搜寻硬盘内的文件系统状态,比较省时间啦!

    whereis 主要是针对 /bin /sbin 下面的可执行文件, 以及 /usr/share/man 下面的 man page 文 件,跟几个比较特定的目录来处理而已。

    whereis (由一些特定的目录中寻找文件文件名)
    [root@study ~]# whereis [-bmsu] 文件或目录名
    选项与参数:
    -l :可以列出 whereis 会去查询的几个主要目录而已
    -b :只找 binary 格式的文件
    -m :只找在说明文档 manual 路径下的文件
    -s :只找 source 来源文件
    -u :搜寻不在上述三个项目当中的其他特殊文件
    范例一:请找出 ifconfig 这个文件名
    [root@study ~]# whereis ifconfig
    ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
    范例二:只找出跟 passwd 有关的“说明文档”文件名(man page)
    [root@study ~]# whereis passwd # 全部的文件名通通列出来!
    passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
    [root@study ~]# whereis -m passwd # 只有在 man 里面的文件名才抓出来!
    passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
    举例来说,你想要找出 /etc 下面文件名包含 httpd 的文件, 那么你就
    可以这样做:
    [root@study ~]# find /etc -name '*httpd*'

    重点回顾

    1. 绝对路径:“一定由根目录 / 写起”;

    2. 相对路径:“不由 / 写起,而是由相对当前目录写起”

    3. 特殊目录有:., .., -, ~, ~account需要注意;

    4. 与目录相关的指令有:cd, mkdir, rmdir, pwd 等重要指令;

    5. rmdir 仅能删除空目录,要删除非空目录需使用“ rm -r ”指令;

    6. 使用者能使用的指令是依据 PATH 变量所规定的目录去搜寻的;

    7. ls 可以检视文件的属性,尤其 -d, -a, -l 等选项特别重要!

    8. 文件的复制、删除、移动可以分别使用:cp, rm , mv等指令来操作;

    9. 检查文件的内容(读档)可使用的指令包括有:cat, tac, nl, more, less, head, tail, od 等 cat -n 与 nl 均可显示行号,但默认的情况下,空白行会不会编号并不相同;

    10. touch 的目的在修改文件的时间参数,但亦可用来创建空文件;

    11. 一个文件记录的时间参数有三种,分别是 access time(atime), status time (ctime), modification time(mtime),ls 默认显示的是 mtime。

    12. 除了传统的rwx权限之外,在Ext2/Ext3/Ext4/xfs文件系统中,还可以使用chattr与lsattr设 置及观察隐藏属性。 常见的包括只能新增数据的 +a 与完全不能更动文件的 +i 属性。

    13. 新建文件/目录时,新文件的默认权限使用 umask 来规范。默认目录完全权限为 drwxrwxrwx, 文件则为-rw-rw-rw-。

    14. 文件具有SUID的特殊权限时,代表当使用者执行此一binary程序时,在执行过程中使用 者会暂时具有程序拥有者的权限

    15. 目录具有SGID的特殊权限时,代表使用者在这个目录下面新建的文件之群组都会与该目 录的群组名称相同。

    16. 目录具有SBIT的特殊权限时,代表在该目录下使用者创建的文件只有自己与root能够删 除!

    17. 观察文件的类型可以使用 file 指令来观察; 搜寻指令的完整文件名可用 which 或 type ,这两个指令都是通过 PATH 变量来搜寻文件 名;

    18. 搜寻文件的完整文件名可以使用 whereis 找特定目录或 locate 到数据库去搜寻,而不实 际搜寻文件系统;

    19. 利用 find 可以加入许多选项来直接查询文件系统,以获得自己想要知道的文件名。

  • 相关阅读:
    如何使用idea创建一个java项目
    IntelliJ IDEA 下载安装配置教程
    使用cmd命令输出Hello word
    用js引入css,减少http请求次数,提高响应速度,
    mysql order by limit出现数据丢失问题
    被ASP.NET GridView checkbox选择逼疯的朋友们,请放下你手中的割腕刀
    分发计数器
    mysql 操作
    code site 例子
    kjj
  • 原文地址:https://www.cnblogs.com/huansky/p/9064597.html
Copyright © 2011-2022 走看看