Linux 目录与文件的基本操作

1 目录与文件

1.1 文件

硬盘中的数据在操作系统中的体现为文件。

1.2 目录

目录的概念不是文件集合。目录和文件一样,目录也是文件。目录是找到文件的“踏板”。目录的本质是路径映射。

1.3 Linux目录结构

根目录

所有的文件都需要从根开始。Linux只要一个根。就像一颗树。Linux的根与内核直接关联。Linux的根用 / 表示。

一级子目录

/bin: 二进制,可执行的命令;

/sbin: 可执行命令,仅用于管理,通常管理员才有权限使用;

/boot: 引导,操作系统用于引导系统启动的文件,内核、grub;

/dev: 设备文件;硬件都已文件形式显示。体现了一切皆文件。

/etc: 配置文件;

/home: 普通用户的家目录,/home/USERNAME,例如jerry的家目录为:/home/jerry;

/root: 管理员的家目录;

/lib, /lib64: 库文件;

/media: 挂载点目录,通常用于挂载便携性设备;

/mnt:挂载点目录,挂载额外的文件系统;

/misc: 备份目录;

/opt: 可选目录,通常第三方软件偶尔安装于此路径下;

/proc: 伪文件系统;其实没有任何文件;内存中内核的映射;

/selinux: 安全加强的Linux;

/srv: 属于服务的中间数据的存储位置;

/sys: 伪文件系统,类似于/proc。通常用于访问硬件设备属性信息;

/tmp: 临时文件目录;

/usr: 存储只读文件;

/var: 经常会发生变化的文件;比如日志等;

2 Linux路径

/usr/share/doc

第一个/ 表示根目录。 之后的/ 表示路径分隔符。

2.1 基名

基名,路径的最右侧名称,/user/share/doc的基名 doc。

basename命令 取得路径基名。

dirname命令 除基名外的路径。

Linux 目录与文件的基本操作

2.2 相对路径,绝对路径

绝对路径:从根开始的路径;

相对路径:从当前位置开始的路径;

.:一个点,当前目录;

..:两个点,当前目录的上级目录;

3 文件基本命令

3.1 ls命令

注:可以通过man命令查看ls命令的帮助。

ls: 列出指定目录下的文件。

常用参数:

  1. ls [-aAdfFhilnrRSt] 目录名称
  2. -l  :以长格式显示文件的详细属性,包含档案的属性与权限等等数据;
  3. -a  :显示所有文件,包括隐藏文件。
  4. -A  :跟-a功能相同,但不显示.和..;
  5. -d  :仅列出目录本身,而不是列出目录内的文件数据;
  6. -f  :直接列出结果,而不进行排序 (ls 预设会以文件名排序!);
  7. -F  :根据档案、目录等信息,给予附加数据结构,例如:   *:代表可执行文件; /:代表目录;
  8. -n  :列出 UID 与 GID 而非使用者与群组的名称;
  9. -R  :连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来;
  10. -S  :按照文件容量大小排序,而不是用文件名称排序;
  11. -t  :按照时间排序,而不是用文件名。
  12. -h: 文件大小会自动进行单位换算;
  13. -r:文件名逆序显示;

例:显示当前目录下的文件。# ls

Linux 目录与文件的基本操作

例:显示根目录下所有文件

Linux 目录与文件的基本操作

例:显示文件的详细属性信息。# ls -l

Linux 目录与文件的基本操作

例:不一样的功能的文件有不一样的颜色被显示。这帮助我们快速确定文件功能。该功能不重要。

输入:ls /dev

Linux 目录与文件的基本操作

输入:ls /bin

Linux 目录与文件的基本操作

例:显示文件大小的单位

Linux 目录与文件的基本操作

例:当前路径为/usr/share。配合相对路径和绝对路径使用ls命令。

ls -l /usr/share/doc/lsof-2.1/README

ls -l doc/lsof-2.1/README

ls -l ./doc/lsof-2.1/README    当前路径

ls -l ../bin/passwd      父目录

3.2 ll命令 显示单个文件的信息

ll命令 等价于 ls -l 。

3.3 pwd命令 显示当前工作目录

例:

Linux 目录与文件的基本操作

3.4 cd命令 进入目录

例:

回家目录:cd ~

cd

cd ~USERNAME:切换至USERNAME的家目录;

cd -:在上个目录和当前目录之间切换;

例:进入/usr/share目录。 cd /usr/share

例:cd为内建命令;回到家目录的几个技巧。

Linux 目录与文件的基本操作

例:在某个目录与家目录之间来回切换。cd -

Linux 目录与文件的基本操作

3.5 mkdir命令 创建目录

mkdir:创建目录,默认情况下,指定目录的父目录必须存在。

mkdir 常用参数

-m, –mode:指定被创建目录的权限值。(不是 rwxrwxrwx 减 umask)

-p, --parents:创建目录的同时也会创建需要的父目录。

-v, --verbose:显示创建目录与父目录的过程。

--help:显示此帮助信息并退出。

--version:输出版本信息并退出。

例:mkdir /tmp/x1

例:x2文件不存在。则会报错。

mkdir /tmp/x2/hello

例: 使用p参数,mkdir -pv /tmp/x3/hello

Linux 目录与文件的基本操作

实例3:创建权限为777的目录

mkdir -m 777 test3

Linux 目录与文件的基本操作

3.6 rmdir命令 删除空目录

rmdir:仅能删除删除空目录;

rmdir -p m/n/o/p 删除当前目录下的m/n/o/p的一整条路径,要求路径下没有任何文件。

即需要先删空目录m/n/o/p,再删空目录m/n/o,再删m/n,再删空目录 m 。

3.7 cp命令 复制文件

cp 要复制的文件路径 ...  目标

常用参数

参数:
     -a,--archive:此参数的效果和同时指定"-dpR"参数相同。

-r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
     -R,--recursive:递归处理,将指定目录下的文件及子目录一并处理。-f,--force:强行复制文件或目录, 不论目的文件或目录是否已经存在。

-i,--interactive:覆盖文件之前先询问用户。

-u,--update:使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件。
     -v,--verbose:显示执行过程。

-l,--link:对源文件建立硬链接,而非复制文件。
     -b,--backup:删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录。
     -p,--preserve:保留源文件或目录的属性,包括所有者、所属组、权限与时间。
     -P,--parents:保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在。
     -s,--symbolic-link:对源文件建立符号链接,而非复制文件。
     -S <备份字尾字符串>,--suffix=<备份字尾字符串>:用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"

-V <备份方式>,--version-control=<备份方式>  指定当备份文件时,备份文件名的命名方式,有以下3种:
                         1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增。
                         2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定。
                         3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份。
     -x,--one-file-system:复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件。

--help:显示在线帮助。
     --sparse=<使用时机>:设置保存希疏文件的时机。
     --version:显示版本。

cp命令对单个文件的复制:

目标不存在:则复制并重命名指定的名称(指定的名称的父目录必须存在);

目标存在: 如果目标是文件:则覆盖;如果目标是目录:将文件复制到指定的目录中;

cp命令对多个文件的复制:

如果要复制的文件是多个,则目标必须要存在且是目录;默认情况下不cp命令会复制目录。目录下已经有该文件,再复制进来相同文件名的文件。则询问是否要覆盖。

Linux 目录与文件的基本操作

3.8 mv命令 移动文件

mv SRC DEST

规则与cp类似,但cp默认只能对文件操作,mv可以对文件目录均能操作。

-i:覆盖前提醒确认;

例:/etc目录下i开头的文件复制到/tmp ,并显示过程。

Linux 目录与文件的基本操作

3.9 rm命令 删除文件

rm 只能删除文件,不能删除目录。

常用参数:

-i:提醒。

-f:强行删除;管理员不会有确认提示,直接删掉。

-r:递归删除目录及其内部的所有文件;

rm -rf 文件   强行删除文件。 警示:一定要谨慎使用。

rm -rf / 警示:删除根下所有文件。“自杀”非常危险。

警告:尽量不要这样操作。误操作经常发生,非常危险。

上一篇:不知道哪里alert undefined 用下面的语句是js报错.F12能提示报错的地方window.alert=function(aa){ if (typeof (aa)"undefined"){ throw "就是这";}};


下一篇:maven项目检出后报错(包括编译报错和运行报错)的常见检查处理方式