1. Linux文件与目录结构

  • 普通文件、目录文件和特殊文件(符号链接文件,设备文件)。

  • Linux区分大小写。

  • 根据文件的文件头的内容来识别文件的类型,但其名称中.txt .exe只是为了保持可读性,在linux系统中不具有任何意义。

    -rw-r--r--  -开头 --->普通文件

    drwxr-xr-x  d开头 --->目录--->特殊文件

    crw-rw-rw-  c开头 --->字符设备文件

    brw-r-----  b开头 --->块设备文件(硬盘,光驱等)

    srwxrwxrwx  s开头 --->套接口文件

    lrwxrw-rw-  l开头 --->链接文件--->类似于windows中的桌面快捷方式

2.查看文件清单命令:ls

$ls -l

其中l --->long 列出详细信息

   wKiom1dYK8eD2ww_AABIPO4l_uo184.jpg

  • 硬链接--->同一个文件,一个文件两个文件名(两个指针指向同一个数据)

    软链接--->链接文件,类似于快捷方式,指针①--->指针②--->数据

  • ls -a <--->ls --all:列出所有文件(包含隐藏文件)

    .vnc--->.开头的文件是隐藏文件

    .   --->当前目录

    ..  --->父目录

  • ls -d <--->ls --directory : 目录本身信息

    任何目录的信息第二部分数值一定不小于2(当前目录,父目录)

3.浏览文件命令:cat more less head tail 

  • cat --->全显示

    more--->分页显示,回车->下一行 空格->下一页 <B>键->返回上一页 <Q>键->退出

    less <--->more

    head--->查看文件的开头部分,默认前10行,选项,参数:-n rownum--->用于显示前rownum行

$head -n 20 filename

tail--->与head相对应,显示文件最后10行内容(默认)

同样选项,参数:-n rownum--->用于显示最后rownum行

选项 -f 查看文件尾部内容增长或变化

4.文件统计命令:wc

  • wc -l--->行数

    wc -w--->单词数

    wc -c--->字节数

    wc -m--->字符数

5.改变当前工作目录命令:cd

  • cd--->change working directory

    cd - :回到刚才的目录

    cd :不带任何选项,参数--->进入当前账户的主目录

    cd <--->cd ~username<--->cd ~

6.创建目录命令:mkdir

  • mkdir--->make directory

    mkdir -p <--->mkdir --parents --->快速创建多层目录

$mkdir -p /home/zl/test/report

创建目录/home/zl/report,如果每层级目录都存在,则相当于做了一个空操作。

7.复制命令:cp 

  • cp--->copy

$cp a.txt /tmp/doc

当目录/tmp/doc存在时,将文件a.txt复制到目录/tmp/doc下;当目录/tmp/doc不存在(而/tmp肯定存在)时,a.txt被复制为/tmp目录下面的名字为doc的文件;当目录/tmp也不存在时,则执行该命令会报错,提示没有文件或目录:/tmp/doc

$cp /home/test/test.txt .
$cp /home/test/test.txt ./

复制文件test.txt到当前目录

   $cp a.txt b.txt c.txt /home/test

复制文件a.txt b.txt c.txt 到目录/home/test

  • cp -r dir1 dir2--->将目录dir1中的东西都复制到目录dir2

    -r ---> recursively 递归复制

    -r <---> -R <---> --recursive 这三个选项作用都相同

    cp -b a.txt b.txt --->如果执行该命令之前b.txt就存在的话,将会先备份b.txt文件。

$cp -b a.txt b.txt
$ls
a.txt b.txt b.txt~

8.重命名或移动命令: mv

$mv a.txt b.txt

将a.txt重命名为b.txt

$mv a.txt b.txt c.txt /tmp

将文件a.txt b.txt c.txt 都移入目录/tmp

  • mv dir1 dir2--->将目录dir1移入dir2,dir1为dir2的子目录,当dir2不存在时,则为dir1重命名为dir2

  • mv -b a.txt b.txt 类似于cp -b a.txt b.txt 重命名前如果两个文件都存在,则会先备份b.txt