MV命令 - 移动或改名文件
mv命令来自英文单词move的缩写,中文译为“移动”,其功能与英文含义相同,能够对文件进行剪切和重命名操作。这是一个被高频使用的文件管理命令,需要留意它与复制命令的区别。cp命令是用于文件的复制操作,文件个数是增加的,而mv则为剪切操作,也就是对文件进行移动(搬家)操作,文件位置发生变化,但总个数并无增加。
在同一个目录内对文件进行剪切的操作,实际上应理解成重命名操作。
语法格式
mv 参数 源文件名 目标文件名
常用参数:
- -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
- -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
- -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
- -n: 不要覆盖任何已存在的文件或目录。
- -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
实例
将文件 aaa 改名为 bbb :
mv aaa bbb
将 info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs。
mv info/ logs
将 /usr/runoob 下的所有文件和目录移到当前目录下:
mv /usr/runoob/* .
ls命令 - 显示目录中文件及其属性信息
ls命令来自英文单词list的缩写,中文译为“列出”,其功能是显示目录中的文件及其属性信息,是最常使用的Linux命令之一。
默认不添加任何参数的情况下,ls命令会列出当前工作目录中的文件信息,常与cd或pwd命令搭配使用,十分方便。带上参数后,我们可以做更多的事情。作为最基础、最频繁使用的命令,有必要仔细了解其常用功能。
语法格式
ls 参数 文件名
常用参数 :
- -a:显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -d :只列出目录(不递归列出目录内的文件)。
- -l :以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。
- -r :倒序显示文件和目录。
- -t :将按照修改时间排序,最新的文件在最前面。
- -A :同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
- -F :在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
- -R :递归显示目录中的所有文件和子目录。
实例
列出根目录()下的所有目录:
# ls /
bin dev lib media net root srv upload www
boot etc lib64 misc opt sbin sys usr
home lost+found mnt proc selinux tmp var
将 /bin 目录以下所有目录及文件详细资料列出:
ls -lR /bin
当文件名包含空格、特殊字符或者开始字符为破折号时,可以使用反斜杠(\)进行转义,或者使用引号将文件名括起来。例如:
ls "my file.txt" # 列出文件名为"my file.txt"的文件
ls my\ file.txt # 列出文件名为"my file.txt"的文件
ls -- -filename # 列出文件名为"-filename"的文件
ls 命令还可以使用通配符进行模式匹配,例如 * 表示匹配任意字符,? 表示匹配一个字符,[...] 表示匹配指定范围内的字符。例如:
ls *.txt # 列出所有扩展名为.txt的文件
ls file?.txt # 列出文件名为file?.txt的文件,其中?表示任意一个字符
ls [abc]*.txt # 列出以a、b或c开头、扩展名为.txt的文件
列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面:
ls -ltr s*
在使用 ls -l 命令时,第一列的字符表示文件或目录的类型和权限。其中第一个字符表示文件类型,例如:
- - 表示普通文件
- d 表示目录
- l 表示符号链接
- c 表示字符设备文件
- b 表示块设备文件
- s 表示套接字文件
- p 表示管道文件
在使用 ls -l 命令时,第一列的其余 9 个字符表示文件或目录的访问权限,分别对应三个字符一组的 rwx 权限。例如:
- r 表示读取权限
- w 表示写入权限
- x 表示执行权限
- - 表示没有对应权限
前三个字符表示所有者的权限,中间三个字符表示所属组的权限,后三个字符表示其他用户的权限。例如:
-rw-r--r-- 1 user group 4096 Feb 21 12:00 file.txt
表示文件名为file.txt的文件,所有者具有读写权限,所属组和其他用户只有读取权限。
cp命令 - 复制文件或目录
cp命令来自英文单词copy的缩写,中文译为“复制”,其功能是复制文件或目录。cp命令能够将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记添加则会直接报错;-f参数则用于当目标文件已存在时会直接覆盖而不再询问。这两个参数尤为常用。
语法格式:
cp 参数 源文件名 目标文件名
常用参数:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合。
- -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-r
或--recursive
:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。-i
或--interactive
:在复制前提示确认,如果目标文件已存在,则会询问是否覆盖,回答 y 时目标文件将被覆盖。。-u
或--update
:仅复制源文件中更新时间较新的文件。-v
或--verbose
:显示详细的复制过程。-p
或--preserve
:保留源文件的权限、所有者和时间戳信息。-f
或--force
:强制复制,即使目标文件已存在也会覆盖,而且不给出提示。- -l:不复制文件,只是生成链接文件。
实例
将文件 file.txt 复制到目录 /path/to/destination/ 中:
cp file.txt /path/to/destination/
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
cp –r test/ newtest
注意:用户使用该指令复制目录时,必须使用参数 -r 或者 -R 。
复制文件,并在目标文件已存在时进行确认:
cp -i file.txt /path/to/destination/
以上只是 cp 命令的一些常见用法,可以通过运行 man cp 命令查看更多选项和用法。
mkdir命令 - 创建目录文件
mkdir命令来自英文词组make directories的缩写,其功能是创建目录文件。该命令的使用简单,但需要注意,若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。若目录不存在,但具有嵌套的依赖关系时,例如/Dir1/Dir2/Dir3/Dir4/Dir5,要想一次性创建则需要加入-p参数,进行递归操作。
语法格式
mkdir 参数 目录名
常用参数:
- -p :确保目录名称存在,不存在的就建一个。
实例
在工作目录下,建立一个名为 runoob 的子目录 :
mkdir runoob
在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误。)
mkdir -p runoob2/test
pwd命令 - 显示当前工作目录的路径
pwd命令来自英文词组print working directory的缩写,其功能是显示当前工作目录的路径,即显示所在位置的绝对路径。
在实际工作中,我们经常会在不同目录之间进行切换,为了防止“迷路”,可以使用pwd命令快速查看当前所处的工作目录路径,方便开展后续工作。
语法格式
pwd 参数
常用参数
- --help :在线帮助。
- --version :显示版本信息。
实例
查看当前所在目录:
# pwd
/root/test #输出结果
tar命令 - 压缩和解压缩文件
tar命令的功能是压缩和解压缩文件,能够制作出Linux系统中常见的tar、tar.gz、tar.bz2等格式的压缩包文件。对于RHEL 7、CentOS 7版本及以后的系统,解压缩时不添加格式参数(如z或j),系统也能自动进行分析并解压。把要传输的文件先压缩再传输,能够很好地提高工作效率,方便分享。
语法格式
tar 参数 压缩包名 文件或目录名
常用参数:
- -A或--catenate :新增文件到已存在的备份文件。
- -b<区块数目>或--blocking-factor=<区块数目> :设置每笔记录的区块数目,每个区块大小为12Bytes。
- -B或--read-full-records :读取数据时重设区块大小。
- -c或--create :建立新的备份文件。
- -C<目的目录>或--directory=<目的目录> :切换到指定的目录。
- -d或--diff或--compare :对比备份文件内和文件系统上的文件的差异。
- -f<备份文件>或--file=<备份文件> :指定备份文件。
- -F