[笔记]何为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的工作

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

\rm -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的区别

posted @ 2018-06-01 14:14  hoanfir  阅读(178)  评论(0编辑  收藏  举报