1、文件系统的组成
- 文件和目录构成单根倒树状结构
- 文件系统从根目录开始,表示为一个单独的“/”字符
- 命名区分大小写
- 路径之间以“/”分隔
2、重要目录
- /root:超级用户root的家目录;
- /home/username:普通用户的家目录;
- /usr:安装的软件、共享库等目录;
- /usr/bin:用户命令,存放的路径;
- /usr/sbin:系统管理员命令;
- /usr/local:本地自定义软件安装目录;
- /etc:系统的配置文件;
- /var:系统服务的数据,例如数据库文件、日志文件和网站内容等;
- /tmp:系统临时文件目录;
- /boot:系统启动所需要的文件;
- /dev:包含一些特殊的设备文件,供系统用于访问硬件;
- /proc和/sys:反应当前系统运行状态;
3、文件和目录名
- 文件及目录的名字不能多于255个字符
- 所有字符都要求是有效的,不能使用“/”作为文件名
- 文件或目录名中不要使用特殊字符
- 如果文件名中含有特殊字符时应该使用单引号引起来
- 在Linux中命名区分大小写
4、绝对路径和相对路径
- 绝对路径
- 以根开头的路径
- 文件位置的全路径
- 在任何位置都可以引用
- 相对路径
- 不以斜线开头
- 当前工作目录的相对位置
- 在特定的位置才可以引用
5、基本操作
pwd:显示当前工作目录
[erik@localhost ~]$ pwd
/home/erik
[erik@localhost ~]$
cd:改变到一个绝对或相对目录
- cd ..:回退到上一层目录
- cd -:回退到上一次所在的工作目录
- cd/cd ~:改变的哦啊当前用户的主目录
- cd ~username:改变到某个用户的主目录
[erik@localhost ~]$ cd /etc
[erik@localhost etc]$ cd ..
[erik@localhost /]$ cd ~
[erik@localhost ~]$
ls:列出当前目录或者指定目录下的内容
- ls -a:包含隐藏文件
- ls -l:显示扩展信息
- ls -R:递归所有目录
- ls -ld:显示目录和符号链接信息
<span class="hljs-string">[erik@localhost</span> <span class="hljs-string">~]$</span> <span class="hljs-string">ls</span>
<span class="hljs-string">Desktop</span> <span class="hljs-string">Documents</span> <span class="hljs-string">Downloads</span> <span class="hljs-string">Music</span> <span class="hljs-string">Pictures</span> <span class="hljs-string">Public</span> <span class="hljs-string">Templates</span> <span class="hljs-string">Videos</span>
<span class="hljs-string">[erik@localhost</span> <span class="hljs-string">~]$</span> <span class="hljs-string">ls</span> <span class="hljs-string">-a</span>
<span class="hljs-string">.</span> <span class="hljs-string">.bash_profile</span> <span class="hljs-string">Desktop</span> <span class="hljs-string">.ICEauthority</span> <span class="hljs-string">Pictures</span>
<span class="hljs-string">..</span> <span class="hljs-string">.bashrc</span> <span class="hljs-string">Documents</span> <span class="hljs-string">.local</span> <span class="hljs-string">Public</span>
<span class="hljs-string">.bash_history</span> <span class="hljs-string">.cache</span> <span class="hljs-string">Downloads</span> <span class="hljs-string">.mozilla</span> <span class="hljs-string">Templates</span>
<span class="hljs-string">.bash_logout</span> <span class="hljs-string">.config</span> <span class="hljs-string">.esd_auth</span> <span class="hljs-string">Music</span> <span class="hljs-string">Videos</span>
<span class="hljs-string">[erik@localhost</span> <span class="hljs-string">~]$</span> <span class="hljs-string">ls</span> <span class="hljs-string">-R</span>
<span class="hljs-string">.:</span>
<span class="hljs-string">Desktop</span> <span class="hljs-string">Documents</span> <span class="hljs-string">Downloads</span> <span class="hljs-string">Music</span> <span class="hljs-string">Pictures</span> <span class="hljs-string">Public</span> <span class="hljs-string">Templates</span> <span class="hljs-string">Videos</span>
<span class="hljs-string">./Desktop:</span>
<span class="hljs-string">./Documents:</span>
<span class="hljs-string">./Downloads:</span>
<span class="hljs-string">./Music:</span>
<span class="hljs-string">./Pictures:</span>
<span class="hljs-string">./Public:</span>
<span class="hljs-string">./Templates:</span>
<span class="hljs-string">./Videos:</span>
<span class="hljs-string">[erik@localhost</span> <span class="hljs-string">~]$</span> <span class="hljs-string">ls</span> <span class="hljs-string">-ld</span>
<span class="hljs-string">drwx------.</span> <span class="hljs-number">14</span> <span class="hljs-string">erik</span> <span class="hljs-string">erik</span> <span class="hljs-number">4096</span> <span class="hljs-string">Mar</span> <span class="hljs-number">26</span> <span class="hljs-number">06</span><span class="hljs-string">:23</span> <span class="hljs-string">.</span>
<span class="hljs-string">[erik@localhost</span> <span class="hljs-string">~]$</span> <span class="hljs-string">ll</span>
<span class="hljs-string">total</span> <span class="hljs-string">0</span>
<span class="hljs-string">drwxr-xr-x.</span> <span class="hljs-number">2</span> <span class="hljs-string">erik</span> <span class="hljs-string">erik</span> <span class="hljs-number">6</span> <span class="hljs-string">Mar</span> <span class="hljs-number">23</span> <span class="hljs-number">05</span><span class="hljs-string">:33</span> <span class="hljs-string">Desktop</span>
<span class="hljs-string">drwxr-xr-x.</span> <span class="hljs-number">2</span> <span class="hljs-string">erik</span> <span class="hljs-string">erik</span> <span class="hljs-number">6</span> <span class="hljs-string">Mar</span> <span class="hljs-number">23</span> <span class="hljs-number">05</span><span class="hljs-string">:33</span> <span class="hljs-string">Documents</span>
<span class="hljs-string">drwxr-xr-x.</span> <span class="hljs-number">2</span> <span class="hljs-string">erik</span> <span class="hljs-string">erik</span> <span class="hljs-number">6</span> <span class="hljs-string">Mar</span> <span class="hljs-number">23</span> <span class="hljs-number">05</span><span class="hljs-string">:33</span> <span class="hljs-string">Downloads</span>
<span class="hljs-string">drwxr-xr-x.</span> <span class="hljs-number">2</span> <span class="hljs-string">erik</span> <span class="hljs-string">erik</span> <span class="hljs-number">6</span> <span class="hljs-string">Mar</span> <span class="hljs-number">23</span> <span class="hljs-number">05</span><span class="hljs-string">:33</span> <span class="hljs-string">Music</span>
<span class="hljs-string">drwxr-xr-x.</span> <span class="hljs-number">2</span> <span class="hljs-string">erik</span> <span class="hljs-string">erik</span> <span class="hljs-number">6</span> <span class="hljs-string">Mar</span> <span class="hljs-number">23</span> <span class="hljs-number">05</span><span class="hljs-string">:33</span> <span class="hljs-string">Pictures</span>
<span class="hljs-string">drwxr-xr-x.</span> <span class="hljs-number">2</span> <span class="hljs-string">erik</span> <span class="hljs-string">erik</span> <span class="hljs-number">6</span> <span class="hljs-string">Mar</span> <span class="hljs-number">23</span> <span class="hljs-number">05</span><span class="hljs-string">:33</span> <span class="hljs-string">Public</span>
<span class="hljs-string">drwxr-xr-x.</span> <span class="hljs-number">2</span> <span class="hljs-string">erik</span> <span class="hljs-string">erik</span> <span class="hljs-number">6</span> <span class="hljs-string">Mar</span> <span class="hljs-number">23</span> <span class="hljs-number">05</span><span class="hljs-string">:33</span> <span class="hljs-string">Templates</span>
<span class="hljs-string">drwxr-xr-x.</span> <span class="hljs-number">2</span> <span class="hljs-string">erik</span> <span class="hljs-string">erik</span> <span class="hljs-number">6</span> <span class="hljs-string">Mar</span> <span class="hljs-number">23</span> <span class="hljs-number">05</span><span class="hljs-string">:33</span> <span class="hljs-string">Videos</span>
<span class="hljs-string">[erik@localhost</span> <span class="hljs-string">~]$</span>
touch:创建一个空文件或者更新一个文件的时间戳
- 如果文件不存在,则创建空文件
- 如果文件已存在,则更新文件的时间戳
- atime(access time):文件最后一次被访问的时间
- mtime(modify time):文件最后一次被修改的时间(文件内容发生变化)
- ctime(change time):文件最后一次被改变的时间(文件属性发生变化,例如文件的权限、大小)
- Birth:文件被创建的时间(红帽没有开启该时间)
cp:拷贝文件和目录
- 格式:cp [option] file destination
- 如果destination是一个目录,可以一次拷贝多个文件到这个目录,cp [option] file1 file2 destination
- destination说明:
- 如果目标是一个目录,该拷贝把文件放到该目录下
- 如果目标是一个文件,该拷贝覆盖目标文件
- 如果目标不存在,该拷贝被重命名
- 拷贝目录使用cp -r
<span class="hljs-selector-attr">[root@localhost erik]</span># <span class="hljs-selector-tag">touch</span> <span class="hljs-selector-tag">test</span><span class="hljs-selector-class">.txt</span>
<span class="hljs-selector-attr">[root@localhost erik]</span># <span class="hljs-selector-tag">ls</span>
<span class="hljs-selector-tag">Desktop</span> <span class="hljs-selector-tag">Downloads</span> <span class="hljs-selector-tag">Pictures</span> <span class="hljs-selector-tag">Templates</span> <span class="hljs-selector-tag">Videos</span>
<span class="hljs-selector-tag">Documents</span> <span class="hljs-selector-tag">Music</span> <span class="hljs-selector-tag">Public</span> <span class="hljs-selector-tag">test</span><span class="hljs-selector-class">.txt</span>
<span class="hljs-selector-attr">[root@localhost erik]</span># <span class="hljs-selector-tag">pwd</span>
/<span class="hljs-selector-tag">home</span>/<span class="hljs-selector-tag">erik</span>
<span class="hljs-selector-attr">[root@localhost erik]</span><span class="hljs-selector-id">#ls</span> /<span class="hljs-selector-tag">opt</span>
<span class="hljs-selector-tag">rh</span>
<span class="hljs-selector-attr">[root@localhost erik]</span># <span class="hljs-selector-tag">cp</span> <span class="hljs-selector-tag">test</span><span class="hljs-selector-class">.txt</span> /<span class="hljs-selector-tag">opt</span>/
<span class="hljs-selector-attr">[root@localhost erik]</span># <span class="hljs-selector-tag">ls</span> /<span class="hljs-selector-tag">opt</span>
<span class="hljs-selector-tag">rh</span> <span class="hljs-selector-tag">test</span><span class="hljs-selector-class">.txt</span>
<span class="hljs-selector-attr">[root@localhost erik]</span>#
mv:移动或者重命名文件和目录
- mv的源文件和目标文件在同一个目录就是重命名,不在同一个目录就是移动
- 格式:mv [option] file destination
- 如果目标是一个目录可以同时移动多个文件,mv [option] file1 file2 destination
[root@localhost erik]<span class="hljs-comment"># touch test1.txt</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> erik]# ls</span>
<span class="hljs-comment">Desktop Downloads Pictures Templates test.txt</span>
<span class="hljs-comment">Documents Music Public test1.txt Videos</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> erik]# mv test1.txt /opt</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> erik]# ls /opt/</span>
<span class="hljs-comment">rh test1.txt test.txt</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> erik]# </span>
rm:删除文件
- 格式:rm [option] <file…
- rm -i file:交互式删除,默认存在
- rm -r directory:递归删除
- rm -f file:强制删除
[root@localhost opt]<span class="hljs-comment"># rm test.txt </span>
<span class="hljs-comment">rm: remove regular empty file ‘test.txt’? yes</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> opt]# ls</span>
<span class="hljs-comment">rh test1.txt</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> opt]# </span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> /]# rm /opt/test1.txt </span>
<span class="hljs-comment">rm: remove regular empty file ‘/opt/test1.txt’? yes</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> /]# ls /opt</span>
<span class="hljs-comment">rh</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> /]# </span>
mkdir:创建空目录
- mkdir -p:递归创建目录
- rmdir:删除空目录
[root@localhost /]<span class="hljs-comment"># mkdir /opt/test1</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> /]# ls /opt/</span>
<span class="hljs-comment">rh test1</span>
<span class="hljs-comment">[root<span class="hljs-doctag">@localhost</span> /]# </span>
file:查看文件类型(Linux中没有文件后缀名)
[root@localhost <span class="hljs-regexp">/]# file /opt/test1/</span>
<span class="hljs-regexp">/opt/test1/</span>: directory
[root@localhost /]<span class="hljs-comment"># </span>