目录
一.软链接 (符号链接) 和硬链接
符号链接又叫软链接,和原文件不是一个文件 例如 Windows 的快捷方式,如果原始文件被删除, 所有指向它的符号链接也就都被破坏了。软链接有自己的 node,是 linux 特殊文件的一种,作为一个 文件,它的数据是它所连接的文件的路径。符号链接可以跨越文件系统,也可以为目录建立。
创建软链接文件:ln -s 原文件 目标文件
硬链接 只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在件结构中的位置。
创建硬链接文件:ln 原文件 目标文件
[root@localhost ~]# ln -s /etc/hostname /root/hostname
[root@localhost ~]# ll -i /etc/hostname /root/hostname
8608116 -rw-r--r--. 1 root root 22 Apr 16 14:46 /etc/hostname
17538579 lrwxrwxrwx. 1 root root 13 Jun 9 15:41 /root/hostname -> /etc/hostname [root@localhost ~]# ln /etc/motd /root/motd
[root@localhost ~]# ll -i /etc/motd /root/motd
8608102 -rw-r--r--. 2 root root 0 Sep 10 2018 /etc/motd
8608102 -rw-r--r--. 2 root root 0 Sep 10 2018 /root/motd
二.linux的目录系统
文件名 | 描述 |
/ | Linux 文件系统的 上层根目录,其他所有目录均是该目录的子目录 |
/boot | 存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动 |
/root | 超级用户的个人目录,普通用户没有权限访问 |
/home | 存放一般用户的个人目录 |
/bin | Binary 的缩写,存放普通用户可执行的程序或命令 |
/sbin | 和/bin 类似,这些文件往往用来进行系统管理,只有 root 可使用 |
/lib | 是库(library)英文缩写,存放系统的各种库文件 |
/lib64 | 存放系统本身需要用到 64 位程序的共享函数库(library) |
/usr | 一般用户程序安装所在的目录,用于安装各种应用程序 |
/opt | 该目录通常提供给较大型的第三方应用程序使用,例如 Sun Staroffice、Corel WordPerfect,这可避免将文件分散至整个文件系统 |
/etc | 存放了系统管理时要用到的各种配置文件和子目录 |
/var | 通常各种系统日志文件放在这里 |
/run | 保存自系统启动以来描述系统信息的文件 |
/dev | dev 是设备(device)的英文缩写。包含所有的设备文件 |
/mnt 和 /media | 可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点 |
/tmp | 用来存放不同程序执行时产生的临时文件 |
/srv | srv 是服务(server)的简写,服务启动之后需要访问的数据目录 |
/sys | 本目录是将内核的一些信息映射文件,以供应用程序所用 |
/proc | 可以在这个目录下获取系统信息。这些信息是在内存中由系统自己产生的 |
1.路径
用“路径”来表示某个文件(或目录)在目录结构中所处的位置。顾名思义,路径是指从树型目录中的 某个目录层次到达某一文件或子目录的一条线路,路径由以“/”为分隔符的多个目录名构成。
路径可分为:
绝对路径:是指以根目录“/”为起点来表示系统中某个文件(或目录)的 位置的方式
相对路径:是以当前目录为起点,表示系统中某个文件或目录在目录结构中的 位置的方式。
2.工作目录
用户当前所处的位置,使用pwd 命令查看
更改当前的工作目录,即切换目录:cd 路径
cd - #切换到之前的目录
cd ~ #回到用户的家目录
三.目录操作命令
1.创建目录(make directory) 语法为: mkdir [-p] [/路径/]目录名
-p 可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
-v 显示创建目录的详细过程
2.统计目录及文件的空间占用情况——du 命令功能:查看某个目录中的各级子目录所占用的磁盘 空间数。
命令格式: du [选项] [目录名]
选项 | 功能 |
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。 |
-s | 只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小。 |
-h | 以 K,M,G 为单位显示磁盘使用情况,以提高信息的可读性。 |
3.删除目录文件
语法格式:rm -r [-f] 目录文件名
四.创建,删除普通文件
创建普通文件:touch [OPTION]... FILE...
touch 的两种用法:
1.如果文件已存在,更新文件的三个时间,stat可以查看文件的详细信息
2.如果文件不存在,则表示创建文件
创建多个普通文件:
方法1: touch 文件名1 文件名2 文件名3
方法2: touch {文件名1,文件名2,文件名3}
[root@master test]# touch {1,2}{3,4}
[root@master test]# touch abc{1..100}
五.通配符
*:代表所有字符,多个任意字符
?:代表单个所有字符
^:以什么开始
[abc]:代表一个集合,每次只匹配集合中的一个字符,a或b,或c
{1..6}:连续的
{1,6}:不连续的
六.copy命令
copy:cp(文件和目录)等效于cp -i
cp -a 文件 目标文件 # 拷贝过去的权限不会发生改变
cp 文件 目标文件
cp -r 目录 目标目录 #把整个目录copy过去,递归拷贝
cp 目录* 目标目录 #把目录中的所有文件copy过去
剪贴粘贴:
move:mv 文件 目标文件
在同一个目录里进行剪切操作,相当于给原文件重命名
五.数据流和重定向
1.数据流
标准输入(standard input,简称 stdin):默认情况下,标准输入指从键盘获取的输入
标准输出(standard output,简称 stdout):默认情况下,命令执行所回传正确的信息会输出到屏幕上
标准错误输出(standard error output,简称 stderr):默认情况下,标准错误输出可理解为命令 执行失败后,所回传的错误信息会输出到屏幕上
不管正确或错误的数据都是默认输出到屏幕上,所以屏幕是混乱的。所以就需要用数据流重定向将这 两条数据分开。数据流重定向可以将标准输出和标准错误输出分别传送到其他的文件或设备去,而分 别传送所用的特殊字符如下所示:
标准输入( ):代码为0
标准输出( ):代码为1
标准错误输出( ):代码为2
2.重定向操作符
重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。重定向操作符本身不是命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。
输出重定向操作符: > 、 >> >代表覆盖 >>代表追加
输入重定向操作符: < 、 <<