文件管理命令

一、复制命令CP

cp:copy该命令的功能是将给出的文件或目录拷贝到另外一个文件或目录中。

语法: cp [选项] 源文件或目录 目标文件或目录(默认只能拷贝文件)

选项:
    #-a:此参数的效果和同时指定"-dpR"参数相同;
    -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
    -f:强行复制文件或目录,不论目标文件或目录是否已存在;
   #-i:覆盖既有文件之前先询问用户;
    -l:对源文件建立硬连接,而非复制文件;
   #-p:保留源文件或目录的属性;
   #-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
    -s:对源文件建立符号连接,而非复制文件;
    -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
    -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
    -b:覆盖已存在的文件目标前将目标文件备份;
    #-v:详细显示命令执行的操作。
    #-t:语法变为:目标路径 源文件

用法:

    复制并改名:
  当cp目标文件已存在有以下两种情况:

  1)存在,并且是个目录:将复制文件放到目标目录下,并且不改名
  2)存在, 并且是个普通文件:询问是否要覆盖,输入Y则覆盖,N则不覆盖

  当cp目标文件不存在:

  1)复制到目标目录下,并且进行改名

ps:系统默认cp = cp -i.

当我们需要覆盖大量文件时如果一个一个提示是否覆盖会很麻烦。因此有以下两个办法可以解决:

 1.使用转义符\:让转义符后面的内容做它自己
   [root@localhost ~]# \cp -a /etc /tmp

 2.使用命令的绝对路径:
  [root@localhost ~]# /bin/cp -a /etc /tmp

    '如果不知道命令在哪 可以使用which+命令'

二、删除命令RM

​ 在Linux下删除文件用rm命令,具体用法如下:

语法:rm[选项] 文件(默认只能删除普通文件)

选项:
    -f    -force     忽略不存在的文件,强制删除,无任何提示    
    -i    --interactive  进行交互式地删除    
    -r | -R  --recursive  递归式地删除列出的目录下的所有目录和文件    
    -v      --verbose    详细显示进行的步骤

1.常规删除a.txt文件

[root]# rm a.txt

2.强行删除file.log文件

[root]# rm -f file.log

3、删除dirname目录下的所有东西

[root]# rm -R dir dirname

4.强制删除目录以及目录里的东西

[root]# rm -rf dirname

需要注意:

使用rm -rf要格外注意,linux中没有回收站,慎重删除

三、普通文件查看命令Cat:

cat命令用于查看内容较少的文本文件,一次性显示整个文件,内容多的话建议用more。

可以创建一个文件,创建的时候可以输入文件内容,不可以编辑已有的文件。(cat > a.txt)

可以向已存在的文件中追加内容(cat >> a.txt)

可以将多个文件合并成一个文件,文件内容叠加,源文件不会消失。(cat a.txt b.txt > c.txt)

可以将多个文件的内容追加到已存在的文件当中(cat a.txt b.txt >> c.txt)

符号:>创建,>>是追加

语法:cat 【选项】 【文件】

选项:
        #-n 显示行数(空行也编号)

        -s 显示行数(多个空行算一个编号)

        -b 显示行数(空行不编号)

        #-E 每行结束处显示$符号

        #-T 将TAB字符显示为 ^I符号

        -v 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

        -e 等价于”-vE”组合

        -t 等价于”-vT”组合

        #-A 等价于 -vET组合

1.#-n 显示行数(空行也编号)

[root@localhost ~]# cat -n a.txt
     1    123
     2
     3
     4    789
     5    abc
     6
     7    dfg

2.#-E 每行结束处显示$符号

root@localhost ~]# cat -E 1.txt
1           $
2       $
3   $
4       7$
5    2          0$
6             9$
7$

3.-T查看文件中的制表符

[root@localhost ~]# cat -T 1.txt
1^I^I        
2^I3
4^I^I7
5^I2^I^I^I0
6           9
7

4.创建文件a.txt,并输入内容。如果文件a.txt不存在,直接创建;如果文件a.txt存在,会直接覆盖,不会提示。

[root@localhost ~]# cat > a.txt
abc
123
dfe
^C       (Ctrl + C 退出输入)
[root@localhost ~]# ls
a.txt
[root@localhost ~]# cat a.txt
abc
123
dfe

或者 cat > a.txt << EOF,创建a.txt文件,输入内容,以EOF退出输入。(EOF只是标识,不是固定的)

[root@localhost ~]# cat > a.txt << EOF
> abc
> 123
> EOF     注:以EOF退出输入
[root@localhost ~]# cat a.txt
abc
123

4.2可以向已存在的文件中追加内容(cat >> a.txt)

[root@localhost ~]# cat a.txt
abc
123
[root@localhost ~]# cat >> a.txt
ghj
rfg
^C
[root@localhost ~]# cat a.txt
abc
123
ghj
rfg

或者cat >> a.txt << EOF

[root@localhost ~]# cat a.txt
abc
123
[root@localhost ~]# cat >> a.txt << EOF
> rfv
> tgb
> EOF     注:以EOF退出输入
[root@localhost ~]# cat a.txt
abc
123
rfv
tgb

拓展内容

# moremore 文件名
     按回车,一行一行向下显示
     按空格,一页一页向下显示
     Ctrl + b:向上查看
     Ctrl + f:向下查看

# lessless 文件名
     Ctrl + b:向上查看
     Ctrl + f:向下查看
     按回车,一行一行向下显示
     按空格,一页一页向下显示
     输入/关键字,高亮显示,所有匹配到的内容
     按n,查找下一个关键字
     Shift + n 查找上一个关键字 

# headhead 
     文件名默认显示一个文件的前10行内容
     选项-n:
     指定查看文件开头的前N行,n可以省略

#tail 文件名
     默认显示一个文件的后十行内容
     选项
     -n:指定查看文件末尾的后N行,n可以省略
     -f:follow,跟踪,动态跟踪一个文件的末尾

山林不向四季起誓 荣枯随缘