文件相关的命令


复制命令:cp

cp [OPTION]... [-T] SOURCE DEST

        cp [OPTION]... SOURCE... DIRECTORY

        cp [OPTION]... -t DIRECTORY SOURCE...


        cp SRC DEST

        SRC是文件:

        如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;

        如果目录存在:

        如果DEST是文件:将SRC中的内容覆盖至DEST中;

        此时建议为cp命令使用-i选项;

        如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;


        cp SRC... DEST

        SRC...:多个文件

        DEST必须存在,且为目录,其它情形均会出错;


        cp SRC DEST

        SRC是目录:

        此时使用选项:-r


        如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;

        如果DEST存在:

        如果DEST是文件:报错

        如果DEST是目录:


        常用选项:

        -i:交互式

        -r, -R: 递归复制目录及内部的所有内容;

        -a: 归档,相当于-dR --preserv=all

        -d:--no-dereference --preserv=links

        --preserv[=ATTR_LIST]

        mode: 权限

        ownership: 属主属组

        timestamp: 

        links

        xattr

        context

        all

        -p: --preserv=mode,ownership,timestamp

        -v: --verbose

        -f: --force


    mv: move,移动文件

       mv [OPTION]... [-T] SOURCE DEST

       mv [OPTION]... SOURCE... DIRECTORY

       mv [OPTION]... -t DIRECTORY SOURCE...

       

       常用选项:

       -i: 交互式

       -f: 强制


    rm: remove,删除

    rm [OPTION]... FILE...


    常用选项:

    -i: 交互式

    -f: 强制删除

    -r: 递归


    rm -rf 



目录相关的命令:

当前目录或工作目录

主目录,家目录:HOME

root: /root

普通用户:/home/USERNAME

/home/tom


~:用户的主目录


cd: 

cd 或 cd ~: 回当前用户的主目录

cd ~USERNAME: 切换至指定用户的主目录

cd -: 在上一个目录和当前目录之间来回切换


.

..


相关的环境变量:

PWD:保存了当前目录路径;

OLDPWD:上一次所在目录路径;


pwd: 显示当前目录


ls: list

显示指定路径下的文件列表;


ls [OPTION]... [DIR]...

-a, --all: 显示所有文件,包括隐藏文件;

-l: 长格式

-rw-r--r-- 1 root root 44800 Aug 14 14:32 install.log

-rw-r--r--:

最左侧的第一位:文件类型

-, d, l, b, c, p, s

后面的9位:访问权限,perm

数字:文件被硬链接的次数;

左root: 文件的owner

右root: 文件的group

44800:文件的size

Aug 14 14:32 : 文件的最近一次被修改的时间

install.log: 文件名

-h, --human-readable:单位换算

-d: 显示目录自身的相关属性;通常要与-l一起使用;

-r, --reverse: 逆序显示

-R, --recursive: 递归




stat /PATH/TO/SOMEFILE:获取指定文件的元数据


文件查看命令:cat, tac

cat [OPTION]... [FILE]...

-E: 显示行结束符$

-n: 对显示出的每一行进行编号


文件内容类型查看命令:file

file /PATH/TO/SOMEWHERE


回显命令:echo

-n: 禁止自动添加换行符号;

-e: 允许使用转义符;

\n: 换行

\t: 制表符


echo "$VAR_NAME": 变量会替换,双引号表弱引用

echo '$VAR_NAME': 变量不会替换,强引用


which:显示命令对应的程序文件路径

which [OPTION] COMMAND

--skip-alias:禁止显示别名


whatis:

使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库;



压缩、解压缩及归档工具


compress/uncompress: .Z

gzip/gunzip: .gz

bzip2/bunzip2: .bz2

xz/unxz: .xz

zip/unzip

tar, cpio


1、gzip/gunzip


gzip [OPTION]... FILE ...

-d: 解压缩,相当于gunzip

-c: 将结果输出至标准输出;

-#:1-9,指定压缩比;


zcat:不显式展开的前提下查看文本文件内容;


2、bzip2/bunzip2/bzcat


bzip2 [OPTION]... FILE ...

-k: keep, 保留原文件;

-d:解压缩

-#:1-9,压缩比,默认为6;


bzcat:不显式展开的前提下查看文本文件内容;


3、xz/unxz/xzcat


bzip2 [OPTION]... FILE ...

-k: keep, 保留原文件;

-d:解压缩

-#:1-9,压缩比,默认为6;


xzcat: 不显式展开的前提下查看文本文件内容;


4、tar

tar [OPTION]... 


(1) 创建归档

tar -c -f /PATH/TO/SOMEFILE.tar FILE...


tar -cf /PATH/TO/SOMEFILE.tar FILE...


(2) 查看归档文件中的文件列表

tar -t -f /PATH/TO/SOMEFILE.tar


(3) 展开归档

tar -x -f /PATH/TO/SOMEFILE.tar


tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/TO/DIR


结合压缩工具实现:归档并压缩


-j: bzip2, -z: gzip, -J: xz