• Linux学习之三——操作档案与目录


    一. 目录文档操作指令

    1. pwd 显示目前所在目录

    如果加上-P 的选项,则取得正确的目录名称,而不是以链接文件的路径来显示。 例如CentOS下,刚刚好/var/mail是/var/spool/mail的连结档

    2. cd 变更工作路径

    可以使用绝对路径和相对路径。

    另外还有如下几种特别的路径代表方式:

    1) . 代表此层目录

    2) .. 代表上一层目录

    3) - 代表前一个工作目录

    4) ~ 代表『目前用户身份』所在的家目录

    5) ~account 代表 account 这个用户的家目录(account是个账号名称)

    3. ls 列出目录下的目录和档案

    选项与参数:

    -a :全部档案,包括隐藏档案一起列出

    -A :全部档案,包括隐藏档,但不包括 . 与 .. 这两个目录

    -d :仅列出目录

    -f :直接列出结果,而不进行排序 (默认会以档名排序!)

    -F :根据档案、目录等信息,给予附加数据结构,例如: *:代表可执行文件; /:代表目弽; =:代表 socket 档案; |:代表 FIFO 档案;

    -h :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出;

    -i :列出 inode 号码;

    -l :列表输出

    -n :列出 UID 与 GID 而非使用者与群组的名称 

    -r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;

    -R :连同子目录内容一起列出来;

    -S :以档案容量大小排序;

    -t :依时间排序。

    --color=never :不要依据档案特性给予颜色显示;

    --color=always :显示颜色

    --color=auto :让系统自行依据设定来判断是否给予颜色

    --full-time :以完整时间模式 (包括年、月、日、时、分) 输出

    --time={atime,ctime} :输出 access 时间或改变权限属性时间,而非内容变更时间。

    4. mkdir 建立新目录

    选项和参数:

    -m :配置文件夹权限,权限用三位0到7之间的数字组成。

    -p :直接建立多层目录,如: mkdir -p test1/test2/test3

    5. rmdir 删除空目录

    选项和参数:

    -p: 直接删除多层空目录,如: rmdir -p test1/test2/test3

    6. cp 复制档案或目录

    用法

    1) cp 选项 源文件 目标文件

    2) cp 选项 source1 source2 source3 .... directory

    选项与参数:

    -a :相当于 -pdr 的意思;

    -d :若源文件为链接文件,则复制链接文件而非档案本身,默认复制链接文件时会将链接到的源文件复制过来;

    -f :为强制复制,若目标档案已经存在无法复制,则移除后再尝试一次;

    -i :若目标文件已经存在,在覆盖时会先询问动作的进, CentOS7默认询问

    -l :进行硬式连结(hard link)的连结档建立,而非复制档案本身;

    -p :连同档案的属性一起复制过去,而非使用默认属性(备份常用);

    -r :递归复制,用于目录复制;

    -s :复制成为符号链接文件 (symbolic link快捷方式);

    -u :若 destination 比 source 旧才更新 destination。

    7. rm (移除档案或目录)

    可删除非空目录,删除时可使用通配符,例如b*代表b打头的所有文件.

    删除-打头的档案,因为-会被误解为选项,如rm -aaa,

    可以改为rm ./-aaa,或者rm -- -aaa

    选项与参数:

    -f :就是 force 的意思,忽略不存在的档案,不会出现警告讯息;

    -i :互动模式,在删除前会询问使用者是否动作。

    -r :递归删除

    8. mv (移动档案与目录,或更名)

    用法

    1) mv 选项 source destination

    2) mv 选项 source1 source2 source3 .... directory

    -f :force 强制的意思,如果目标档案已经存在,不会询问而直接覆盖;

    -i :互动模式,询问是否覆盖

    -u :若目标档案已经存在,且 source 比较新,才会更新 (update)

    9. basename 取得路径的文件名

    10. dirname 取得路径的目录名

    11. cat 由第一行开始显示档案内容

    选项与参数:

    -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;

    -b :列出行号,空白行不标行号!

    -n :列出行号,连同空白行也会有行号

    -E :将结尾的断行字符 $ 显示出来;

    -T :将 [tab] 按键以 ^I 显示;

    -v :列出一些看不出来的特殊字符


    12. tac 从最后一行开始倒着显示


    13. nl 显示的时候,输出行号

    选项与参数:

    -b :指定行号指定的方式,主要有两种:
    -b a :表示空行也同样列出行号(类似 cat -n);

    -b t :表示空行不列出行号(默认);

    -n :列出行号的表示方法,主要有三种:

    -n ln :行号在屏幕的最左方显示;

    -n rn :行号在自己字段的最右方显示,且不加 0 ;

    -n rz :行号在自己字段的最右方显示,且加 0 ;

    -w :行号字段占用的位数。


    14. more 用于浏览大文件,一页一页的显示档案内容

    在用该命令开始浏览时可用下面的按键进行互动:

    1) 空格键 (space):代表向下翻一页;
    2) Enter :代表向下翻一行;
    3) /字符串 :代表向下搜寻『字符串』这个关键词, CentOS7下不好用
    4) :f :立刻显示出文件名以及目前显示的行数;
    5) q :代表立刻离开 more ,丌再显示该档案内容。
    6) b 或 [ctrl]-b :代表往回翻页,不过只对档案有用,对管线无用。


    15. less 与 more 类似,但是功能更强大好用!

    在用该命令开始浏览时可用下面的按键进行互动:

    1) 空格键 :向下翻一页;
    2) [pagedown]:向下翻一页;
    3) [pageup] :向上翻一页;
    4) /字符串 :向下搜寻『字符串』的功能;
    5) ?字符串 :向上搜寻『字符串』的功能;
    6) n :重复前一个搜寻 (与 / 或 ? 有关!)
    7) N :反向重复前一个搜寻 (与 / 或 ? 有关!)
    8) q :离开 less 这个程序;


    16. head 只看头几行

    选项与参数:

    -n :后面接数字,代表显示几行的意思


    17. tail 只看尾巴几行

    选项与参数:

    -n :后面接数字,代表显示几行的意忠

    -f :表示持续侦测档案,当档案有数据写入时就立刻显示到屏幕上,直到按下[ctrl]-c结束tail的侦测

    18. od 以二进制的方式读取档案内容!

     选项与参数:

    -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 ;

    19. touch 修改档案时间

    选项与参数:

    -a :仅修订 access time;

    -c :仅修改档案的时间,若该档案不存在则不建立新档案;

    -d :后面可以接修订的日期而不用目前的日期,也可以使用 --date="日期或时间"

    -m :仅修改 mtime ;

    -t :后面可以接修订的时间而不用目前的时间,格式为[YYMMDDhhmm]

    二、目录和文档的搜寻

    1. which 寻找指令文件位置,只找PATH参数定义的位置。

    which [-a] command

    选项或参数:

    -a :列出所有指令,默认只列第一个被找到的指令位置。

    2. whereis 用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s),利用数据库搜

    whereis [-bmsu] 档案或目录名

    选项与参数:

    -b :只找 binary 格式的档案

    -m :只找在说明文件 manual 路径下的档案

    -s :只找 source 来源档案

    3. locate 根据档案的部分名称(路径部分包含也算)来搜寻,利用数据库搜,一般可能一天更新一次数据库,如果等不及可以直接用updatedb来更新数据库。

    locate [-ir] keyword

    选项与参数:

    -i :忽略大小写的差异;

    -r :后面可接正规表示法的显示方式

    4. find 在文件系统中查找文件

     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 为数字,这个数字是用户的UID

    -gid n :n 为数字,这个数字是组名的 GID

    -user name :name 为使用者账号名称

    -group name:name 为组名

    -nouser :寻找档案的拥有者不存在于 /etc/passwd 中的人!

    -nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!
    自行安装软件时可能存在没有档案拥有者的档案。

    3)与档案权限及名称有关的参数:

    -name filename:搜寻文件名为 filename 的档案;

    -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 癿规格有: c: 代表 byte, k: 代表 1024bytes。

    -type TYPE :搜寻档案的类型为 TYPE 的,类型主要有:一般正规档案 (f), 装置档案 (b, c), 目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。

    -perm mode :搜寻档案权限『刚好等于』 mode 的档案,这个 mode 为类似 chmod 的属性值

    -perm -mode :搜寻档案权限『必须要全部囊括 mode 的权限』的档案,比如, 我们要搜寻 -rwxr--r-- ,即0744 的档案,使用 -perm -0744, 当一个档案的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来, 因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。

    -perm +mode :搜寻档案权限『包含任一 mode 的权限』的档案,

    4) 额外可进行的动作:

    -exec command :command 为其他指令,用来处理搜寻到的结果。

    -print :将结果打印到屏幕上,这个动作是预设动作!

  • 相关阅读:
    LeetCode105. 从前序与中序遍历序列构造二叉树
    Flask 基础
    24个常用 Python 实现
    大佬的编码建议,让你的代码更pythonic
    rest-framework框架之序列化
    路飞学城项目之加入结算中心接口
    java异常与spring事务关系的知识点查漏补缺
    iserver-数据库型数据源导入后原dataset名称和数据库表名不一致的问题
    解决数据读取的负载均衡的问题
    Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
  • 原文地址:https://www.cnblogs.com/studynote/p/4789366.html
Copyright © 2020-2023  润新知