Linux常用命令

2018-10-26 05:26:33来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

目录管理类命令
  mkdir  创建目录
?  -p? 先创建父目录(递归创建目录)
??-v? 显示创建目录的详细过程信息
??-m? 在创建目录时设定其权限
  rmdir?删除空目录
??-p ?只能删除一线单的目录
?Linux中同一路径下的文件名和文件夹名字不能同名

文本查看类命令
  more  只支持向后翻,翻到文件尾部后自动退出
?less?支持前后翻(man调用的less命令)
?head?显示文件首部10行内容
?  -n #  显示文件首部#行内容
??-c #?显示文件前#字节的内容
?tail?显示文件尾部10行内容
??-n #  显示文件尾部#行内容
??-c #?显示文件后#字节的内容
??-f??从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容

Linux文件时间戳
  访问时间:access time (atime):当读取文件或者执行文件时更改,任何对inode的访问都会使此处改变,就会更新这个读取时间 (access)。例如我们使用cat去读取 /etc/man.config ,就会更新该文件atime了。
  修改时间:modify time (mtime):当该文件的内容数据改变时,就会更新这个时间,“内容数据”指的是文件的内容,而不是文件的属性或权限
  改变时间:change time (ctime):当该文件的元数据信息改变时,就会更新这个时间,写入文件会改变文件大小、更改所有者、权限或链接设置时随 inode的内容更改而更改的。只要stat出来的内容发生改变就会发生改变。atime、mtime的改变必然导致ctime的改变,因为时间戳信息也是元数据信息
在默认情况下,ls显示出来的是该文件的mtime

stat   文件名?????????         可以查看文件的详细元数据信息如三个时间、inode号
ls -lc 文件名  或者是ls -l --time=ctime 列出文件的 ctime (Chang)
ls -lu 文件名?或者是ls -l --time=atime 列出文件的 atime (Access)
ls -l  文件名?列出文件的 mtime(Modify)

文件的时间戳:
  修改文件,如果是通过vi打开文件修改完在保存文件三个时间都会变化,mtime会变是因为改变了文件的内容,ctime会变是因为stat中的文件大小和mtime变化,atime会变是因为打开文件访问了inode信息
?如果vi只是打开文件不做任何改变退出只会改变atime因为只访问了inode信息
?如果是通过命令行将内容追加到文件中,mtime会变是因为改变了文件的内容,ctime会变是因为stat中的文件大小和mtime变化,但atime不会变化,因为你没有访问inode信息
?cat访问文件atime会变是因为访问了inode信息,ctime、mtime都不会变
?chown、chgrp、chmod、mv都会使ctime改变,atime 、mtime都不会变

文件夹的时间戳:
  atime 是在读取文件或者执行文件时更改的(我们只cd进入一个目录然后cd ..不会引起atime的改变,但ls会改变atime)
?mtime 是在文件夹中有文件的新建、删除才会改变(如果只是改变文件内容不会引起mtime的改变,换句话说如果ls -f <directory>的结果发生改变,mtime就会被刷新。这里可能有人要争论了:我进入某个文件夹vi了一个文件然后退出,前后ls -f <directory>的结果没有改变但是文件夹的mtime发生改变了、这点请主意vi命令在编辑文件时会在本文件夹下产生一 个".file.swp"临时文件,该文件随着vi的退出而被删除这就导致了mtime的改变 。
?ctime 基本同文件的ctime,其体现的是inode的change time。这里还要补充一点:mount -o noatime(mount -o remount,atime / 可以在线重新挂载根目录) 可以选择不记录文件的atime的改变,这意味着什么呢?当你创建了这个文件后这个文件的atime就定格了,除非你用touch或者touch -a强制刷新文件的atime。这样在可以在一定程度上提升文件系统的读写性能,特别是网站这种系统中在fstab里面加上noatime是个好主意

  touch  用来修改时间戳,创建空文件;不加任何参数修改已存在文件或目录的atime、mtime、ctime为当前系统时间
?  -a? 只修改atime,同时ctime也会修改,因为文件的元数据信息变化了;如果没指定-t参数时间会修改为系统当前时间
??-m? 只修改mtime,同时ctime也会修改,因为文件的元数据信息变化了;如果没指定-t参数时间会修改为系统当前时间
??-c ?同时修改文件的atime、mtime、ctime,若该文件不存在则不建立新的文件
??-d ?修改文件时间戳为指定时间戳[[CC]YY]MMDD;也可以使用 --date="年月日";默认改变atime、mtime为指定时间戳,ctime会改为当前系统时间
??-t? 修改文件时间戳为指定时间戳[[CC]YY]MMDDhhmm[.ss],默认改变atime、mtime为指定时间戳,ctime会改为当前系统时间
 -t、-d选项可以结合-m或-a使用修改mtime或atime为指定时间;格式必须先指定-m或-a,再加-t 指定时间[[CC]YY]MMDDhhmm[.ss]
注意:只要atime或mtime发生改变,一定会导致ctime发生改变;不能通过命令选项-d或-t修改ctime为指定的时间,只可能是元数据信息发生改变导致ctime的变化且ctime只会改变为当前系统时间

  stat  显示文件的元数据信息(own、group、inode、atime、mtime、ctime)

文件管理类命令
  cp SRC DEST
    假如SRC是一个文件:
      如果目标是一个文件且目标存在:覆盖
      如果目标文件不存在:创建新文件
      如果目标存在,且是个目录:复制源至目标目录中,并保持原名
  cp SRC ... DEST
    假如SRC有多个文件:
      如果目标存在,且是一个文件:复制无法进行
      如果目标存在,且是一个目录:复制各文件至目标目录中,并保持原名
      如果目标不存在:复制无法进行
    如果SRC只有一个且是目录:-r
    如果目标是一个文件且目标存在:失败
    如果目标文件不存在:创建新目录
    如果目标存在,且是个目录:复制源目录到目标目录中,并保持原名
  cp命令的常用选项:
  -r  递归复制目录及内部的所有内容
  -i?交互式复制,即覆盖之前提醒用户确认
  -f?强制覆盖目标文件
  -d?当源为链接文件时,复制链接文件本身,而非指向的源文件
????等同于--no-derefaerence --preserve=links
??-p  保持原有属性(权限、属主属组、时间戳)
????等同于--preserve=mode,ownership,timestamp
??-a?归档文件,保留文件的所有属性信息(也可以用-dpr)
????等同于-dr --preserve=all
????--preserve的参数有:mode(权限)、ownership(属主属组)、timestamp(时间戳)、links(链接属性)、xattr(扩展属性)、context(安全上下文)、all(所有属性)

  mv?移动、剪切、选项与cp相近;可以直接移动目录,不需要-r选项
  rm?删除,删除非空目录rm -rf

注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录(模拟回收站)

  mktemp命令:创建临时文件
    mktemp [OPTION]... [TEMPLATE]
      TEMPLATE: filename.XXX??(XXX至少要出现三个)
??  示例:mktemp link.XXX
      OPTION:
        -d: 创建临时目录
???  示例:mktemp -d /tmp/testdir
      --tmpdir=/PATH/TO/SOMEDIR:指明临时文件目录位置
???  示例:mktemp --tmpdir=/tmp/testdir/ test.XXXX
???  -u: 如果仅仅是想生成文件名,又不希望创建实际的文件或目录
???  示例:tmpfile=`mktemp -u`

??  默认不指定路径会在/tmp/目录下创建临时文件
??    mktemp?直接在/tmp/目录中创建一个临时文件
???  mktemp -d?直接在/tmp/目录中创建临时目录

  install命令:用于复制文件和创建目录
  install [OPTION]... [-T] SOURCE DEST
  install [OPTION]... SOURCE... DIRECTORY
  install [OPTION]... -t DIRECTORY SOURCE...
  install [OPTION]... -d DIRECTORY...
    选项:创建目录可以指定权限、属主、属组
    -m MODE
    -o OWNER
    -g GROUP
    示例:install -m 700 -d testdir

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Linux 文件查找

下一篇:scp传输提示bash: scp: command not found