第四课—–Linux目录结构及文件基本操作
标签(空格分隔): Linux实验报告
参考:实验楼
Linux目录结构
Linux与Windows的目录区别
- 目录与存储介质的关系上
以往的的Windows是以存储介质为主的,主要以盘符及分区来实现管理文件,然后才是目录,目录就显得不是那么重要了。通常在使用一段时间之后文件目会显得杂乱无章。Linux是以树形目录结构的形式来构建整个系统的,可以理解为一个用户可操作系统的骨架。虽然本质上都是存储在磁盘上的,但是从逻辑来说是挂载在目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统
FHS标准
FHS定义了两层规范,
第一层,/下面的各个目录应该要放什么文件数据
- /etc 应该要放置设置文件
- /bin 与 /sbin则应该要放置可执行文件等等
第二层 则是针对/usr与/var这两个目录的子目录来定义,
例如
- /var/log 放置登录文件
- /usr/share 放置共享数据等等
-
https://dn-anything-about-doc.qbox.me/linux_base/4-1.png/logoblackfont
目录路径
路径
路径就是你要去哪里的路线,如果想要进入某个具体的目录或者想要获得某个目录的文件(目录本身也是文件),就得用路径来找到了
使用cd
命令可以切换目录,.
表示当前目录,..
表示上一级目录(以.
开头的文件都是隐藏文件,所以这两个目录必然是隐藏的,可以使用ls -a
命令查看隐藏文件),-
表示上一次所在目录,~
通常表示当前用户的home目录,使用pwd
命令可以获取当前所在的路径(绝对路径)
进入上一级目录
cd ..
进入你的home目录
cd ~
使用pwd
获取当前路径
pwd
绝对路径
关于绝对路径,就是以根“/”为起点的完整路径,以要达到的目录为终点,表现形式:/usr/local/bin
表示根目录中的local目录中的bin目录
相对路径
就是相对于你当前的目录路径,相对路径是以当前的目录.
为起点,以要达到的目录为终点,表现形式usr/local/bin
(假设当前的目录为根目录),注意到,这里并没有加.
,因为这个usr
目录为/
目录下的子目录,是可以省略这个.
的,如果是当前目录的上一级目录,则需要使用..
,比如你当前的目录为home
,根目录就应该表示为../../
,表示上一级目录(“home”目录)的上一级目录(”/”目录)
下面就以“home”目录为起点,分别以绝对路径和相对路径的方式进入/usr/local/bin
目录:
# 绝对路径
cd /usr/local/bin
# 相对路径
cd ../../usr/local/bin
简单的说使用绝对路径就是/XX/XX从根目录开始的,使用相对路径就是..与/XX/XX的结合以当前目录为基准进行上上下下左左右右的
Linux文件的基本操作
新建
新建空白文件
使用touch
命令创建空白文件,其实这个命令主要是来更改已有文件的时间戳的(比如最近的访问时间,最近的修改时间)但在不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件(不会 覆盖已有的同名文件),当然也可以同时制定该文件的时间戳
创建名为test
的空白文件,因为在其他目录中没有权限(?)所以要先切换回用户的/home/shiyanlou 目录:
cd ~
touch test
新建目录
使用madir
(make directories)命令可以创建一个空目录,也可以同时制定创建目录的权限属性
创建名为mydir
的空目录:
mkdir mydir
使用-p
参数,同时创建父目录(如果不存在父目录),如下我们同时创建爱你一个多级目录(在有时候安装软件的时候,配置安装路径特别有用),居然还有这种黑命令
mkdir -p father/son/grandson
复制
复制文件
使用cp
(copy)命令复制一个文件或目录到指定目录,我们新建文件然后复制
mkdir -p father/son/grandson #都是使用的是相对路径,绝对路径是 mkidr -p /home/shiyanlou/father/son/grandson
复制目录
直接使用一个cp
命令复制一个目录的话。会出现错误
要成功复制需要加上-r或者-R参数,表示递归复制
,也就是有点株连九族的意思
cp -r father family
删除
删除文件
使用rm
(remove files or directories)命令,删除一个文件或者目录
rm test
有时候会遇到想要删除一些为只读权限的文件,直接使用rm
删除会显示一个提示
要想忽略这个提示,直接删除文件,可以使用-f
参数强制删除
rm -f test
删除目录
跟复制目录一样,要删除一个目录,也需要加上-r
或者-R
参数
rm -r family
移动文件与文件重命名
移动文件
使用mv
(move or rename files)命令,移动文件(剪切),将文件”file1”移动到”Documents”目录
形式为:mv 文件名 文件夹
mv 源目录文件 目的目录
:
mkdir Documents
mv file1 Documents
重命名文件
将文件”file”重命名为”myfile”
形式为:mv 旧的文件名 新的文件名
mv file myfile
批量重命名
要使用rename
这个命令,同时要用到正则表达式
查看文件
使用cat
,tac
,nl
命令查看文件
这些命令都是用来打印文件内容到标准输出(终端)q,其中cat
为正序显示,tac
倒序显示
加上-n
参数显示行号
使用more和less命令分页查看文件
使用more工具打开test.txt文件
more test.txt
打开后默认显示一屏的内容,终端底部显示当前的阅读进度(百分比),使用Enter
向下滚动一行,使用space
键向下滚动一页,按下h
显示帮助,q
退出
使用head
和tail
命令查看文件
只看头几行和后几行(默认10行)
tail test.txt # 快速查看test.txt的后10行内容,加上-n可以自定义行数,
查看文件类型
使用file
查看文件类型