一、目录操作命令

  ls命令

    — 功能说明:显示文件和目录列表。

    — 命令格式:ls [参数] [<文件或目录> …]

    — 常用参数:

      -a : 不隐藏任何以“.”字符开始的条目。

      -b : 用八进制形式显示非打印字符。

      -R : 递归列出所有子目录。

      -d : 当遇到目录时,列出目录本身而非目录内的文件,并且不跟随符号链接。

      -F : 在条目后加上文件类型的指示符号(*, /, =, @, |,其中的一个)。

      -l : 使用较长格式列出信息。

      -L : 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息。

      -x : 逐行列出项目而不是逐栏列出。

      -1 : 每行只列出一个文件。

      -r : 依相反次序排列。

      -S : 根据文件大小排序。

      -X : 根据扩展名排序。

      -c : 根据状态改变时间(ctime)排序。

      -t : 根据最后修改时间(mtime)排序。

      -u : 根据最后访问时间(atime)排序。

---

    — 使用示例:

      ls

      ls -a

      ls -F

      ls -l

      ls -R

      ls -Sl

      ls -rl

      ls -cl

      ls -tl

      ls -ul

      ls some/dir/file

      ls some/dir/

      ls -d some/dir/

  tree命令

    — 功能说明:显示文件和目录树。

    — 命令格式:tree [参数] [<目录>]

    — 常用参数:

      -a : 不隐藏任何以“.”字符开始的条目。

      -d : 只显示目录不显示文件。

      -f : 每个文件都显示路径。

      -F : 在条目后加上文件类型的指示符号(*,/,=,@,|,其中的一个)。

      -r : 依相反次序排列。

      -t : 根据最后修改时间(mtime)排序。

      -L n : 只显示n层目录(n为数字)。

      –dirsfirst : 目录显示在前文件显示在后。

    — 使用示例:

      tree

      tree -d

      tree -F

      tree -L 3

      tree /some/dir/

  pwd命令

    — 功能说明:显示当前工作目录。

    — 命令格式:pwd [参数]

    — 常用参数:

	      -P : 若目录是一个符号链接,将显示物理路径而非符号链接。

    — 使用示例:

      pwd

      pwd -P

  cd命令

    — 功能说明:切换目录。

    — 命令格式:cd [参数] [<目录>]

    — 常用参数:

      -P : 若目录是一个符号链接,将显示物理路径而非符号链接。

    — 使用示例:

      cd /some/dir/

      cd -P Examples

      cd

      cd ~

      cd ..

      cd ../..

      cd -

  mkdir命令

    — 功能说明:创建目录。

    — 命令格式:mkdir [参数] <目录>

    — 常用参数:

      -p : 创建目录树,需要时创建上层目录,如目录已存在也不视作错误。

    — 使用示例:

      mkdir somedir/、

      mkdir -p some/path/dir/

  rmdir命令

    — 功能说明:删除空目录。

    — 命令格式: rmdir [参数] <目录>

    — 常用参数:

      -p : 删除目录,然后尝试删除指定路径中的所有上层目录。例如:rmdir -p a/b/c 的效果等于rmdir a/b/c a/b a。

    — 使用示例:

      rmdir somedir/

      rmdir -p some/path/dir/

二、文件操作命令

  touch命令

    — 功能说明:生成新的空文件或更改现有文件的时间戳。

    — 命令格式:touch [参数] <文件> …

    — 常用参数:

      -a : 只更改访问时间。

      -m : 只更改修改时间。

      -t : 使用[[CC]YY]MMDDhhmm[.ss]格式的时间而非当前时间。

      -r <参考文件或目录> : 使用指定文件的时间属性而非当前时间。

    — 使用示例:

      touch newfile

      touch file

      touch -a file

      touch -m file

      touch -t 200701311200 file

    — GNU/Linux的文件有3种类型的时间戳:

      mtime: 最后修改时间(ls –lt)

      ctime: 状态改变时间(ls –lc)

      atime: 最后访问时间(ls –lu)

    注意:

      1.ctime并非文件创建时间。

      2.覆盖一个文件会改变所有三类时间:mtime、ctime和atime。

      3.改变文件的访问权限或拥有者会改变文件的ctime和atime。

      4.读文件会改变文件的atime。

  cp命令

    — 功能说明:复制文件或目录。

    — 命令格式:cp [参数] <源> <目标>

    — 常用参数:

      -a : 等价于 –dpR。

      -d : 当复制符号链接的源文件时,目标文件也将创建符号链接且指向源文件所链接的原始文件。

      -f : 强制复制,不管目标是否存在。

      -i : 交互式复制,覆盖文件前需要确认。

      -p : 在复制文件过程中保留文件属性,包括属主、组、权限与时间戳。

      -R,-r : 递归地复制目录及目录内的所有项目。

      -l : 对源文件创建硬链接,而非复制文件,也可以使用ln命令进行。

      -s : 对源文件创建符号链接,而非复制文件,也可以使用ln -s命令进行。

      -u : 只有当源文件的修改时间(ctime)比目标文件更新时或目标尚不存在时才进行复制。

    — 使用示例:

      cp file1 file2

      cp some/dir/file1 someother/dir/

      cp some/dir/file1 someother/dir/file2

      cp some/dir/file .

      cp some/dir/files someother/dir/

      cp some/dir/file1 some/dir/file2 some/dir/file3 someother/dir/

      cp -r some/dir/ someother/dir/

      cp -au some/dir/ someother/dir/

  mv命令

    — 功能说明:移动文件或目录、文件或目录改名。

    — 命令格式:mv [参数] <源> <目标>

    — 常用参数:

      -f : 强制移动,不管目标是否存在。

      -i : 交互式移动,覆盖文件前需要确认。

      -u : 只有当源文件的修改时间(ctime)比目标文件更新时或目标尚不存在时才进行移动。

    — 使用示例:

      mv /some/dir/file1 /someother/dir/

      mv /some/dir/file1 /someother/dir/file2

      mv /some/dir/files /someother/dir/

      mv file newname_file

      mv dir newname_dir

  rm命令

    — 功能说明:删除文件或目录。

    — 命令格式:rm [参数] <文件> …

    — 常用参数:

      -f : 略过不存在的文件,不显示任何信息。

      -i : 进行任何删除操作前必须先确认。

      -r,-R : 递归删除该目录下的所有目录层。

    — 使用示例:

      rm /some/dir/file1

      rm -i /some/dir/file1

      rm -f /some/dir/file1

      rm -rf /some/dir/

    注意

      1.默认时,rm不会删除目录。使用-recursive(-r或–R)选项可删除每个给定的目录,以及其下所有的内容。

      2.要删除第一个字符为“-”的文件(例如“-foo”),请使用以下其中一种方法:

       rm — -foo

       rm ./-f

  ln命令

    — 功能说明:创建链接文件。

    — 命令格式:ln [参数] <被链接的文件> <链接文件名>

    — 常用参数:

      -s : 创建符号链接,而非硬链接。

      -f : 强行创建链接,不论其是否存在。

      -i : 覆盖原有文件之前先询问用户。

    — 使用示例:

      ln somefile hardlinkfile

      ln -s somefile softlinkfile

      ln -s somedir softlinkfile

  symlinks命令

    — 功能说明:检查目录中的符号链接,并显示符号链接类型。

    — 命令格式:symlinks [参数] <目录> [<目录>…]

    — 链接类型:

      absolute : 使用绝对路径的符号链接。

      dangling : 原始文件已经不存在的符号链接。

      lengthy : 符号链接的路径中包含了多余的“../”。

      messy : 符号链接的路径中包含了多余的“/”。

      other_fs : 原始文件位于其他文件系统中。

      relative : 使用相对路径的符号链接。

    — 常用参数:

      -c : 将 absolute/messy类型的符号链接转换为relative类型。

      -d : 删除dangling类型的符号链接。

      -r : 检查目录下所有子目录中的符号链接。

      -s : 缩短lengthy类型的符号链接。

      -v : 显示所有类型的符号链接。

    — 使用示例:

      symlinks -v -r .

      symlinks -v /usr/bin

      symlinks -c somedir

      symlinks -s -d somedir

	  

三、文件打包压缩命令

  gzip命令

    — 功能说明:.gz文件的压缩和解压缩程序。

    — 命令格式:gzip [参数] <文件> …

    — 常用参数:

      -a: 使用ASCII文字模式。

      -c: 把压缩后的文件输出到标准输出设备,不改动原始文件。

      -d: 解开压缩文件。

      -f: 强行压缩文件,不理会文件名称或硬链接是否存在以及该文件是否为符号链接。

      -l: 列出压缩文件的相关信息。

      -L: 显示版本与版权信息。

      -n: 压缩文件时,不保存原来的文件名称及时间戳。

      -N : 压缩文件时,保存原来的文件名称及时间戳,这是默认的。

      -q : 不显示警告信息。

      -r : 递归处理,将指定目录下的所有文件及子目录一同处理。

      -t : 测试压缩文件是否正确无误。

      -v : 显示指令执行过程。

      -V : 显示gzip版本信息。

    — <压缩率> : 压缩率是一个介于1~9的数值,默认值为“6”,数值越大压缩率越高。

      –best : 此参数的效果和指定“-9”参数相同。

      –fast : 此参数的效果和指定“-1”参数相同。

    — 使用示例:

      gzip filename

      gzip -v file1 file2

      gzip -c file1 file2 > foo.gz

      gzip -l *.gz

      gzip -d filename.gz

  bzip2命令

    — 功能说明:.bz2文件的压缩和解压缩程序。

    — 命令格式:bzip2 [参数] <文件> …

    — 常用参数:

      -c : 把压缩后的文件输出到标准输出设备,不改动原始文件。

      -d : 解开压缩文件。

      -f : 强行压缩文件。

      -k : 保留原始文件,默认在压缩或解压缩后会删除原始的文件。

      -s : 降低程序执行时内存的使用量,但会加长执行时间。

      -t : 测试压缩文件是否正确无误。

      -v : 显示指令执行过程。

      -V : 显示bzip2版本信息。

    — <压缩等级> : 压缩等级是一个介于1~9的数值,指定压缩时的区块大小。

      –repetitive-best : 若文件中有重复出现的资料时,可利用此参数提高压缩效果。

      –repetitive-fast : 若文件中有重复出现的资料时,可利用此参数加快执行速度。

    — 使用示例:

      bzip2 filename

      bzip2 -vk file1 file2

      bzip2 -c file1 file2 > foo.bz2

      bzip2 -t *.bz2

      bzip2 -d filename.bz2

    — 提示:bzip2以区块的方式来压缩文件,每个区块视为独立的单位。因此,当某一区块损坏时,便可利用bzip2recover命令试着将文件中的区块分隔开来,以便

           解缩正常的区块。通常只适用于压缩文件很大的情况。

  tar命令

    — 功能说明:文件打包和解包。

    — 命令格式:tar [参数] <目录> …

    — 常用参数:

      -f name : 使用name指定存档文件名或设备名。

      -v : 列出处理的详细信息。

      -c : 用于创建一个新的存档文件。

      -x : 从归档文件中恢复备份文件。

      -t : 用于列出一个存档文件中的文件名。

      -z : 用GNU的gzip压缩文件或解压。

      -Z : 用compress压缩文件或解压。

      -j : 用bzip2压缩文件或解压。

    — 使用示例:

      tar -cvf myball.tar somedirname

      tar -tf myball.tar

      tar -xvf myball.tar

      tar -zcvf myball.tar.gz somedirname

      tar -ztf myball.tar.gz

      tar -zxvf myball.tar.gz

      tar -jcvf myball.tar.bz2 somedirname

      tar -jtf myball.tar.bz2

      tar -jxvf myball.tar.bz2

      (cd /source/directory && tar cpf – . ) | (cd /dest/directory && tar xvfp -)

    — 提示:

      压缩文件(compressed file)和归档文件(archive file)的异同

      — 相同:都是文件和目录的一个集合。

      — 不同:

       归档文件所占用的磁盘空间是其中所有文件和目录的总和。

      一般情况下,压缩文件所占用的磁盘空间比其中所有文件和目录的总和要少。

       归档文件不是压缩文件,但是压缩文件可以是归档文件。