美文网首页
2020-05-02 linux文件管理命令详解

2020-05-02 linux文件管理命令详解

作者: 梧唯 | 来源:发表于2020-05-01 23:32 被阅读0次

    一、linux中文件或文件目录的命名规则:

    1.长度不能超过255个字符;

    2.仅不能使用“/”当文件名;

    3.严格区分大小写;

    二、文件管理类命令

    (一)文件管理:touch  ;  stat  ;file ;文本编辑器nano  ;rm  ;cp  ;  mv  ;install  ;  uninstall  ;cat  ; tac  ;more ; less  ; head  ; tail  ; cut  ;  jion  ;  sed  ;  awk  ;  sort  ;uniq  ;  wc ;tr  ;

    (1)创建和删除文件:

    touch:用于修改文件时间戳(默认参数是同时修改访问/修改/改变三个时间戳为当前时间,选项中可改功能,其中改变时间是必会改成当前时间的,因为时间戳也属于文件属性,必定当下被改)

        touch PATH/XX.xxx:当PATH路径下XX文件不存在时创建xxx(文件类型)新的空文件XX(附带的功能)

    stat:显示一个文件或文件系统的状态信息

    file:查看文件内容类型

    ELF:可链接的文件格式(linux只能识别这种格式的文件执行)

    echo:“”内的内容打印到屏幕(有无双引号影响参数功能)      

        echo $变量:可获取变量值

    backslash escape:反斜杠转义/逃逸(使反斜杠有意义)

        如在echo命令中 echo -e "a \n b" (-e 使 \n 有换行意义,但注意 \* 只有在 “” 内才有意义) 如下例

    printf:按格式显示字符(同样 \* 需要在 “” 内才有意义)

    rm XX:删除XX文件

        -i:interactive 交互式(管理员默认rm = rm -i,rm是rm -i的别名,避免误操作)

        使用 \rm 可以使用 rm 本身的命令而不是 rm -i

        -f:强行删除

        -r:recursive 递归删除 可以用来删目录

    (2)文本编辑器:

        ASCII:美国国家标准信息交换代码 ,规定了基本的二进制位变化表示的不同的字符

        如128个不同的字符需要7位数字 2^7=128    0-127    从 000 0000 - 111 1111

        计算机最小储存单位是字节,1个字节是8位(二进制数字 0000 0000 - 1111 1111)

        ASCII码是纯文本,文本编辑器是编辑纯ASCII码的,区别于word,word是字处理器,除了文本内容外,还存储了诸如颜色,大小,下划线等很多属性信息

        汉字标准:GB18030,GBK,GB2312(国标)2^16=65536  转换器/转义集

        Unicode(全球统一标准)

        文本编辑器:如windows的Notepad++(可以识别仅$行结束符,其他windows文本编辑器如记事本可能识别出来仅一行,Notepad++可以正常识别),linux里的文本编辑器有 nano,也可以创建文件并能键入一些内容

        linux中 ^ 表示control键

    (3)复制和移动文件

    cp:copy 复制文件   复制一个文件到一个文件,或 多个文件到一个目录(默认不会复制目录)

        cp SRC(源)... DEST(目标)

        cp 1 2 3 (只有最后一个是目标,此前都是源)

        -r/R:recursive 递归复制,可以复制目录

        -f:强行复制

        在root权限下默认是cp -i命令的别名

        -p:保留原有文件的权限,属主和属组以及时间戳

        -a:archive,归档复制,保留原有文件所有属性,常用于备份

        -L:(dereference)如果复制的是一个符号链接文件,不复制链接,复制链接指向的文件

        -P:(no dereference)如果复制的是一个符号链接文件,保持链接

        -d:同为保持链接

    mv:move 移动文件,基本用法同 cp(但默认可以移动目录,不需要 -r)

        mv SRC... DEST

        mv a b:在当前目录下,将文件/目录a重命名为文件/目录b

        mv -t DEST SRC...

    install:复制文件并设置属性(默认不能复制目录,也不能通过 -r 实现)

        -d DIRECTORY...:创建目录,可以多个

        SRC DEST:复制文件并赋予使用权限

            -m:指定权限

        install -t DIRECTORY SRC...

    (4)查看文本

    cat:concatenate  将纯文本文件连接并逐个显示(全倾倒dump)文件显示为一行

        -n:显示行号

        -E:显示linux文本文件行结束符$(windows的文本文件行结束符是$+回车符,所以Linux的文本复制到windows中后全显示为一行,是因为linux的行结束符没有回车符windows不识别。同样windows的文本复制到Linux中来可能识别不了或者报错,是因为多了一个回车符)

    tac:逆序显示文本

    Ctrl+c键:终止/撤销命令

    Shift+Pageup/Pagedown键:在终端翻屏(翻屏数有限)

    more:从前向后分屏显示文本内容,翻到尾部自动退出

        space键向后翻屏  b键向前(前提是没翻到尾部)  enter键按行向后翻

    less:查看文本,用法同man

    head:查看文件前n行    tail:查看文件后n行(n默认是10)

        -n:显示的行数   head -n 3 FILE(显示前3行)与前面的显示行数区分开 = head -3 FILE

        tail -f:follow,查看文件尾部,并不退出,等待显示后续追加至此文件的新内容,起实时监控作用

    (5)文本处理

    cut:剪切文件按列显示,列与列之间由分隔符隔开

        -d:delimiter 指定字段分隔符,默认是一个空格或  -d' ' 

        -f:field 指定要显示的字段   -f 1 显示第一个字段    -f 1,3(离散表示法) 显示第一个和第三个字段  -f 1-3(连续表示法) 显示1到3段字符

    (6)文本排序

    sort:与cut一样,不影响原文件内容,只影响显示次序,默认按字符在ASCII码表中顺序升序进行

        -n:按数值大小升序

        -r:降序

        -t:指定字段分隔符

        -k:以哪个字段为关键字进行排序

        -u:排序后相同的行只显示一次

        -f:排序时忽略字符大小写

    uniq:排序后报告或忽略相同且相邻的行 

        -d:只显示重复的行(显示一次)

        -D:显示所有重复的行(重复几次显示几次)

        -c:显示文件中行重复的次数

    (7)文本统计

    wc:word count   统计文件中1.行数 2.单词数 3.字节数(包括空白)

        -l:只显示行数

        -w:只显示单词数

        -c:只显示字节数   -m:只显示字符数

        -L:显示最长的一行包含多少字符

    (8)字符处理命令

    tr:转换或删除字符

        -d:删除出现在字符集中的所有字符(按字符处理不是按单词处理)

    (二)目录管理:ls  ;  cd  ;  pwd  ;  mkdir  ;  rmdir  ; tree  ;

    pwd:查看现在所处的文件位置(printing working directory)

    ls:列出指定路径下的所有子目录(文件夹)/文件(list)  列出的蓝色显示为目录,绿色为具有执行权限

        -l :long  长格式,显示完整信息

               依次解释 -l 之后显示的信息含义:

               左1栏:10位:第1位.文件类型(不是内容类型而是文件本身属性类型),linux中有如下分类:

                               -:普通文件(f)file ;  d:目录文件 ; b:块设备文件(block); c:字符设备文件(character); l:符号链接文件(symbolic link file)/软连接文件(类似windows的快捷方式);p:命令管道文件(pipe);s:套接字文件(socket)

                            后9位:文件权限(mode),每3位一组,每一组:rwx(读,写,执行三种权限),-表示无相应权限,自左而右分别是属主,属组,其他用户

                左2栏:文件硬链接的次数

                左3栏:文件的属主(owner)(文件创建者)

                左4栏:文件的属组(group)

                左5栏:文件大小(size),单位是字节

                左6栏(6.7.8):时间戳(timestamp),每一个文件都有三个时间戳,最近一次被访问/修改/改变的时间,显示的是最近一次被修改的时间。访问:access;修改:modify(改变文件内容);改变:change(改变文件属性/metadata,元数据)。

                右1栏:文件名

        -h(human readable,人可读的):做单位转换,默认是b,转换成kb/Mb/Gb等

        -a(all):显示以“.”开头的隐藏文件

                   .:表示当前目录(ls .:显示当前目录)

                   ..:表示父目录(参考cd ..,返回上一级目录,ls ..:显示上一级目录)

        -A:显示所有隐藏文件但不包含“.”和“..”

        -d:显示目录自身属性

        -i:显示文件索引节点号index node(inode)    每一个文件对应一个索引节点——一个号码

        -r:逆序显示文件

        -R:递归(recursive)显示,显示当前目录,子目录,子子目录(依此类推)内容(内容多的时候很消耗资源)

    cd XX: 切换目录(change directory)  不能进入文件     

        家目录,主目录(home directory),在家目录中用户有所有操作权限,默认登录位置

        cd不接参数:回到用户家目录  = cd ~

        cd ~username:进入指定用户的家目录(只有管理员有权限进别的用户家目录,普通用户不可以)

        cd -:在当前目录和前一次所在的目录之间来回切换)

        cd ..:进入上层目录

    mkdir:创建空目录,创建的是路径上的最后一个目录

        mkdir /root/x/y/z:创建目录z,如果/x/y不存在则无法创建

        -p:parent 父目录

            mkdir -p x/y/z:如果z文件夹已存在则不创建,如果不存在则创建;如果/x/y不存在则创建

        -v:verbose 详细信息

    rmdir:删除目录(remove directory)只用于删除空目录

        rmdir -p /x/y/z:x下只有y,y下只有z,删除z后y变空目录被删除,然后x变空目录也被删除,实现全部删除,多分枝的目录删到不为空的目录停止

    tree:查看目录树

    (三)、日期时间: date  ;clock ;hwclock ;cal ;

    date:时间管理(显示系统时间/修改)

    date +%s:时间戳,显示格林威治时间自1970-01-01时起经过的秒数,意义是全球各地当地时间不同,但这个时间相同,用来计量全球统一时间,用来在数据库中记录精确时间而非当地时间

    clock:显示硬件时间

    hwclock:显示硬件时间(hardware clock)

    hwclock -w:将系统时间同步到硬件区(将硬件时间改为系统时间)

    hwclock -s:读取硬件时钟到系统(将系统时间改为硬件时间)

    linux的时间实现方式:电脑上计量时间的设备是一个晶体振荡器,需电,主板上有一个纽扣电池。这个时间叫硬件时钟,rtc(real time clock,实时时钟),每次操作系统开机时都是从硬件系统中读取的当前时间,然后设置为当前系统时钟,此后靠内核以软件的方式模拟晶体振荡器,不再使用硬件时钟。所以Linux开机后有两个时钟,硬件时间和系统时间,系统时钟在CPU非常繁忙的时候可能会出现误差。硬件时间和系统时间不一定是一致的,就算一开始一致,可能走着走着就不一致了。可以单独修改其中任意一个。

    ntp:时间服务器(network time protocol)主机时间走的非常准,客户机都可以以它的时间作为时钟,可以在本地时间不准的时候校准,需联网。

    cal:calendar显示日历,可以具体年月 

    bc:计算器

        scale=n 结果精度,结果保留几位小数(否则只显示整数位,非四舍五入)

        quit退出

    相关文章

      网友评论

          本文标题:2020-05-02 linux文件管理命令详解

          本文链接:https://www.haomeiwen.com/subject/yzacghtx.html