首页 > 代码库 > Linux-(ls,mv)

Linux-(ls,mv)

ls命令

ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单。如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 

通过ls命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。

1. 命令格式:

ls [选项] [目录名]

2. 命令功能: 

列出目标目录中所有的子目录和文件。 

3. 常用参数: 

-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件

-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。 

-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G) 

-H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地

-i, –inode 印出每个文件的 inode 号 

-k 即 –block-size=1K,以 k 字节的形式表示文件的大小。 

-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。 

-L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息

-m 所有项目以逗号分隔,并填满整行行宽

-R, –recursive 同时列出所有子目录层

-F,使得ls命令可以在显示子目录的时候在它的文件名之后加上一个斜线(“/”)字符,文件后面的星号(“*”)字符表示这是一个可执行程序

-s, –size 以块大小为单位列出所有文件的大小

-S 根据文件大小排序

-t 以文件修改时间排序

-u 配合 -lt:显示访问时间而且依访问时间排序;配合 -l:显示访问时间但根据名称排序

-c 配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间) ;配合 -l:显示 ctime 但根据名称排序 

-v 根据版本进行排序

-w, –width=COLS 自行指定屏幕宽度而不使用目前的数值

-x 逐行列出项目而不是逐栏列出

-X 根据扩展名排序

-1 每行只列出一个文件

–help 显示此帮助信息并离开

4. 常用范例:

在ls中列出文件的绝对路径

命令:ls | sed “s:^:pwd/:” 

输出:

[root@localhost opt]# ls | sed "s:^:`pwd`/:"
/opt/log
/opt/script
/opt/soft
/opt/src
/opt/svndata

列出当前目录下的所有文件(包括隐藏文件)的绝对路径, 对目录不做递归

命令:find $PWD -maxdepth 1 | xargs ls -ld

输出:

[root@localhost opt]# find $PWD -maxdepth 1 | xargs ls -ld
drwxr-xr-x 8 root root 4096 10-11 03:43 /opt
drwxr-xr-x 2 root root 4096 2012-03-08 /opt/log
drwxr-xr-x 2 root root 4096 2012-03-08 /opt/script
drwxr-xr-x 5 root root 4096 10-11 03:21 /opt/soft

扩展:

1. 显示彩色目录列表

打开/etc/bashrc, 加入如下一行:

alias ls=”ls –color”

下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:

    1. 蓝色–>目录

    2. 绿色–>可执行文件

    3. 红色–>压缩文件

    4. 浅蓝色–>链接文件

    5. 灰色–>其他文件

MV命令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

1.命令格式:

    mv [选项] 源文件或目录 目标文件或目录

2.命令功能:

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

3.命令参数:

-b:若需覆盖文件,则覆盖前先行备份。 

-f:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i:若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u:若目标文件已经存在,且 source 比较新,才会更新(update)

-t即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

 

Linux-(ls,mv)