zoukankan      html  css  js  c++  java
  • [笔记]何为Linux及其文件系统(五)

    一、ls

    -a 全部的文件,连同隐藏的文件(开头为.的文件)

    -d 仅列出目录本身,而不是列出目录内的文件数据

    -l 长数据串列出,包含文件的属性和权限等数据

    -F 根据文件、目录等资讯,给予附加数据结构,例如:*:代表可运行档;/:代表目录;=:代表socket文件;|:代表FIFO文件

    -h 将文件容量以用户较易读的方式列出,例如GB、KB等

    -S 以文件大小顺序列出(默认以档名排序)

    -t 以时间顺序列出(默认以档名排序)

    -r 将排序结果以反向输出

    -R 连同子目录内容一并列出

    --full-time 以完整时间模式(包含年、月、日、时、分)输出

    --time={atime,ctime} 输出access时间或改变权限属性的时间。而非内容变更时间(mtime,modification time)

    --color=auto 让系统自动根据配置来判断是否给予颜色


    二、cp

    cp如果没有加任何属性,复制的就是原始文件,而非源文件的属性(注意和-d的区别)

    -a 想当于-pdr

    -p 连同文件的属性一并复制过去,而非使用默认属性(备份常用)

    -d 若来源档位连接档的属性(link file),则复制连接档属性而非文件本身

    -r 递归连续复制,用于目录的复制

    -i 互动模式,若目标档destination已经存在,在覆盖的时候询问动作的进行

    -f 强制,若目标文件已经存在且无法开启,则移除后再尝试

    -l 进行硬式连接(hard link)的连接档创建,而非复制文件本身

    -s 复制成为符号连接档(symbolic link),亦称快捷方式

    -u 若destination比source旧才升级destination,常用于备份。因为只有在目标文件和源文件由差异时才会复制。

    注意:

    ①不同身份运行cpui有不同的结果产生,尤其是-a

     ②-l和-s建立连接档的区别:-l是实体连接,-s是符号连接。例如

     bashrc_slink是一个捷径,该捷径连接到bashrc去,所以你可以看到该档名右侧有一个->的符号(ls -l)

     bashrc_hlink是与 bashrc的属性和权限完全一样,与尚未进行连接之前的差异是第二栏的link数由1变成2


    三、rm

    -f 忽略不存在的文件,不会出现警告信息

    -i 互动模式,在删除前询问使用者是否执行

     -r 递归删除,用于目录的删除(-rf)

    注意:

    ①假如要删除目录/temp/etc

    rm -r /temp/etc

    因为身份是root,默认已经加入-i,所以需要一直按y才能删除成功

    加入不想继续按y,可以按ctrl——c来结束rm的工作

    这是一种保护的动作,假如确定要删除掉此目录而不询问,则可以

    m -r /temp/etc

    在命令行前面加上可以忽略alias的指定选项(i、f、r)

    ②假如要删除一个带-开头的文件

    touch ./-aaa-  #先创建一个空文件

    rm -aaa-  #首先这样会导致系统误判

    rm ./-aaa-  #正确删除方式


    四、mv

    mv用于移动文件或目录,或者更名

    -f 如果目标文件已经存在,直接覆盖,不会询问

    -i 互动模式,在覆盖前询问使用者是否执行

     -u 若目标文件已经存在,且source比较新,才会升级update

    mv bashrc mvtest将文件bashrc移动到mvtest文档

    mv mvtest mvtest2修改目录mvtest的名称(更名操作)

    mv bashrc1 bashrc2 mvtest2如果有多个来源和目录,则最后一个参数一定是目录

    注意:

    其实对于更名,还有一个命令rename

    rename专门进行多个档名的同时更名,并非针对单一档名


    五、cat

    -n 列印出行号,连同空白行也会有行号,与-b的选项不同

    -b 列出行号,仅针对非空白行做行号显示,空白行不标行号

    -A 相当于-vET

    -v 列出一些看不出来的特殊字符

    -E 将结尾的断行字符$显示出来

    -T 将[tab]按键以^|显示出来

    例如:

    cat /etc/issue正常显示

    cat -n /etc/issue加印行号

    cat -b /etc/issue不想加印空白行号


     六、touch

    -a 仅修改access time访问时间

    -c 仅修改文件ctime当前时间,若该文件不存在则创建新文件

    -m 仅修改mtime创建时间

    -t 后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]

    -d 后面可以接欲修订的日期而不用目前的时间

    注意:

    常用来新建一个空的文件并观察时间

    在默认状态下,如果touch后面接了文件名,则该文件的三个时间(atime、ctime、mtime)都会升级为当前时间

    若该文件不存在,则会主动创建一个新的空的文件

    例如,对于某个文件,

    (1)可以使用命令:ll file; ll --time=atime file;ll --time=ctime file

    查看文件的mtime、atime、ctime

    (2)touch -d "2 days ago" file将日期修改为两天前

    此时再用(1)的命令查看发现,atime和mtime变成了两天前,而ctime没有改变

    (3)touch -t 0709150202  file将日期修改为2007/09/15 2.02

    此时再用(1)的命令查看发现,atime和mtime改变了,而ctime则是记录目前的时间

     常用的几个命令如上,下面我们将了解一下命令与文件的搜寻which、whereis、locate、find的区别

  • 相关阅读:
    Java-io流入门到精通详细总结
    Java网络编程总结
    递归--逆波兰表达式
    递归--N皇后问题
    递归--汉诺塔问题 (Hanoi)
    递归--求n!的阶乘结果
    枚举--熄灯问题
    枚举--假币问题
    枚举--生理周期
    枚举--完美立方Python算法实现
  • 原文地址:https://www.cnblogs.com/hoanfir/p/9121413.html
Copyright © 2011-2022 走看看