Linux⽬录结构
Linux⽬录结构
登录到Linux系统之后,我们需要先来熟悉⼀下Linux的⽬录结构。在Linux系统中,也是存在⽬录的概念的,但是Linux的⽬录结构和Windows的⽬录结构是存在⽐较多的差异的在Windows⽬录下,是⼀个⼀个的盘符(C盘、D盘、E盘),⽬录是归属于某⼀个盘符的。Linux 系统中的⽬录有以下特点:
A. / 是所有⽬录的顶点
B. ⽬录结构像⼀颗倒挂的树
Linux 和 Windows的⽬录结构对⽐:
Linux的⽬录结构,如下:
根⽬录/ 下各个⽬录的作⽤及含义说明:
编号⽬录含义
1/bin存放⼆进制可执⾏⽂件
2/boot存放系统引导时使⽤的各种⽂件
3/dev存放设备⽂件
什么品牌的笔记本好
4/etc存放系统配置⽂件
5/home存放系统⽤户的⽂件
6/lib存放程序运⾏所需的共享库和内核模块
7/opt额外安装的可选应⽤程序包所放置的位置
8/root超级⽤户⽬录
9/sbin存放⼆进制可执⾏⽂件,只有root⽤户才能访问
10/tmp存放临时⽂件
11/usr存放系统应⽤程序
12/var存放运⾏时需要改变数据的⽂件,例如⽇志⽂件
4. Linux常⽤命令
4.1 Linux命令初体验
4.1.1 常⽤命令演⽰
在这⼀部分中,我们主要介绍⼏个常⽤的命令,让⼤家快速感受以下Linux指令的操作⽅式。主要包含以下⼏个指令:
序号命令对应英⽂作⽤
1ls [⽬录名]list查看当前⽬录下的内容
2pwd print work directory查看当前所在⽬录
3cd [⽬录名]change directory切换⽬录
文件夹如何加密
4touch [⽂件名]touch如果⽂件不存在,创建⽂件
5mkdir [⽬录名]make directory创建⽬录
6rm [⽂件名]remove删除指定⽂件
接下来,我们快速的来演⽰⼀下这些常⽤的指令。
1). ls
指令解读:
ls 查看当前⽬录下的内容(⽂件及⽬录)
ls / 查看指定⽬录(/)下的内容
2). pwd
指令解读:
pwd 查看当前所在⽬录
3). cd
指令解读:
cd / 切换到根⽬录
cd /root 切换到/root⽬录
4). touch
指令解读:
创建⽂件a.txt
c.txt ⼀次性创建⽂件b.
5). mkdir
指令解读:
mkdir 01 创建⽂件夹01
6). rm
指令解读:
删除⽂件 (删除⽂件时,需要确认,输⼊y, 代表确定)
==注意:==
==在执⾏Linux命令时,提⽰信息如果显⽰为乱码,如上图所⽰。这是由于编码问题导致,只需要修改Linux的编码即可,命令如下:== echo 'LANG="en_US.UTF-8"' >> /etc/profile
source /etc/profile
4.1.2 Linux命令使⽤技巧
在我们使⽤Linux系统命令时,可以使⽤以下⼏个技巧:
1). Tab键⾃动补全
2). 连续两次Tab键,给出rm操作提⽰
3). 使⽤上下箭头快速调出曾经使⽤过的命令
4). 使⽤clear命令或者Ctrl+l快捷键实现清屏
操作⽰例:
A. 执⾏指令的时候,对于操作的⽂件/⽬录,按⼀下Tab会⾃动补全:
操作⽰例:
A. 执⾏指令的时候,对于操作的⽂件/⽬录,按⼀下Tab会⾃动补全:
B. 如果上述以 "1." 开头的⽂件有多个,可以按两下Tab键,给出操作提⽰:
C. 使⽤clear命令或者Ctrl+l快捷键实现清屏:
清屏之后,界⾯就变得⼲净了:
4.1.3 Linux命令格式
command [-options] [parameter]
说明:
command: 命令名
[-options]: 选项,可⽤来对命令进⾏控制,也可以省略
[parameter]: 传给命令的参数,可以是零个、⼀个或者多个
注意:
[] 代表可选
命令名、选项、参数之间有空格进⾏分隔
操作⽰例:
4.2 ⽂件⽬录操作命令
4.2.1 ls
作⽤: 显⽰指定⽬录下的内容
语法: ls [-al] [dir]
说明:
-a 显⽰所有⽂件及⽬录 (. 开头的隐藏⽂件也会列出)
-l 除⽂件名称外,同时将⽂件型态(d表⽰⽬录,-表⽰⽂件)、权限、拥有者、⽂件⼤⼩等信息详细列出
注意:
由于我们使⽤ls命令时经常需要加⼊-l选项,所以Linux为ls -l命令提供了⼀种简写⽅式,即ll
常见⽤法:
ls -al 查看当前⽬录的所有⽂件及⽬录详细信息
ls -al /etc 查看/etc⽬录下所有⽂件及⽬录详细信息
ll 查看当前⽬录⽂件及⽬录的详细信息
4.2.2 cd
作⽤: ⽤于切换当前⼯作⽬录,即进⼊指定⽬录
语法: cd [dirName]
特殊说明:
~ 表⽰⽤户的home⽬录
.
  表⽰⽬前所在的⽬录
..  表⽰⽬前⽬录位置的上级⽬录
举例:
cd .. 切换到当前⽬录的上级⽬录
cd ~ 切换到⽤户的home⽬录
cd /usr/local 切换到/usr/local⽬录
备注:
大s第一个丈夫是谁
⽤户的home⽬录
root⽤户 /root
其他⽤户 /home/xxx
操作⽰例:
cd .. 切换到当前⽬录位置的上级⽬录; 可以通过 cd ../.. 来切换到上级⽬录的上级⽬录。
4.2.3 cat
作⽤: ⽤于显⽰⽂件内容
语法: cat [-n] fileName
说明:
-n: 由1开始对所有输出的⾏数编号
举例:
cat /etc/profile 查看/etc⽬录下的profile⽂件内容
cat 指令会⼀次性查看⽂件的所有内容,如果⽂件内容⽐较多,这个时候查看起来就不是很⽅便了,这个时候我们可以通过⼀个新的指令more。
4.2.4 more
作⽤: 以分页的形式显⽰⽂件内容
语法: more fileName
操作说明:
回车键向下滚动⼀⾏
空格键向下滚动⼀屏
b 返回上⼀屏
q或者Ctrl+C 退出more
举例:
more /etc/profile 以分页⽅式显⽰/etc⽬录下的profile⽂件内容
当我们在查看⼀些⽐较⼤的⽂件时,我们可能需要经常查询⽂件尾部的数据信息,那这个时候如果⽂件很⼤,我们要⼀直向下翻页,直到最后⼀页,去看最新添加的数据,这种⽅式就⽐较繁琐了,此时,我们可以借助于tail指令。
4.2.5 tail
作⽤: 查看⽂件末尾的内容
语法: tail [-f] fileName
说明:
-f : 动态读取⽂件末尾内容并显⽰,通常⽤于⽇志⽂件的内容输出
举例:
tail /etc/profile 显⽰/etc⽬录下的profile⽂件末尾10⾏的内容
tail -20 /etc/profile 显⽰/etc⽬录下的profile⽂件末尾20⾏的内容
tail -f /itcast/my.log 动态读取/itcast⽬录下的my.log⽂件末尾内容并显⽰
操作⽰例:
A. 默认查询⽂件尾部10⾏记录
B. 可以通过指定参数设置查询尾部指定⾏数的数据
C. 动态读取⽂件尾部的数据
在窗⼝1中执⾏指令 tail - 动态查看⽂件尾部的数据。然后在顶部的标签中右键选择 "复制标签",打开新的窗⼝2 , 此时再新打开的窗⼝2中执⾏指令 echo 1 >> 1.txt , 往1.txt⽂件尾部追加内容,然后我们就可以在窗⼝1中看到最新的⽂件尾部的数据。
如果我们不想查看⽂件尾部的数据了,可以直接使⽤快捷键 Ctrl+C ,结束当前进程。
4.2.6 mkdir
作⽤: 创建⽬录
语法: mkdir [-p] dirName
说明:
-p: 确保⽬录名称存在,不存在的就创建⼀个。通过此选项,可以实现多层⽬录同时创建
举例:
mkdir itcast 在当前⽬录下,建⽴⼀个名为itcast的⼦⽬录
mkdir -p itcast/test 在⼯作⽬录下的itcast⽬录中建⽴⼀个名为test的⼦⽬录,若itcast⽬录不存在,则建⽴⼀个
操作演⽰:
4.2.7 rmdir
作⽤: 删除空⽬录
语法: rmdir [-p] dirName
说明:
-p: 当⼦⽬录被删除后使⽗⽬录为空⽬录的话,则⼀并删除
举例:
rmdir itcast 删除名为itcast的空⽬录
rmdir -p itcast/test 删除itcast⽬录中名为test的⼦⽬录,若test⽬录删除后itcast⽬录变为空⽬录,则也被删除
rmdir itcast* 删除名称以itcast开始的空⽬录
操作演⽰:
A. 删除空⽬录
B. 删除⾮空⽬录
C. 使⽤*通配符删除⽬录
*: 是⼀个通配符,代表任意字符;
rmdir itcast* : 删除以itcast开头的⽬录
rmdir *itcast : 删除以itcast结尾的⽬录
4.2.8 rm
作⽤: 删除⽂件或者⽬录
语法: rm [-rf] name
说明:
口红品牌排行榜
-r: 将⽬录及⽬录中所有⽂件(⽬录)逐⼀删除,即递归删除
-f: ⽆需确认,直接删除
举例:
rm -r itcast/ 删除名为itcast的⽬录和⽬录中所有⽂件,删除前需确认
rm -r itcast/ 删除名为itcast的⽬录和⽬录中所有⽂件,删除前需确认
rm -rf itcast/ ⽆需确认,直接删除名为itcast的⽬录和⽬录中所有⽂件
rm - ⽆需确认,直接删除⽂件
==注意: 对于 rm -rf xxx 这样的指令,在执⾏的时候,⼀定要慎重,确认⽆误后再进⾏删除,避免误删。==
4.3 拷贝移动命令
4.3.1 cp
作⽤: ⽤于复制⽂件或⽬录
语法: cp [-r] source dest
今日世界杯比赛时间表说明:
-r: 如果复制的是⽬录需要使⽤此选项,此时将复制该⽬录下所有的⼦⽬录和⽂件
罗慧娟个人资料照片举例:
itcast/ 将复制到itcast⽬录中
./hi.txt 将复制到当前⽬录,并改名为hi.txt
cp -r itcast/ ./itheima/ 将itcast⽬录和⽬录下所有⽂件复制到itheima⽬录下
cp -r itcast/* ./itheima/ 将itcast⽬录下所有⽂件复制到itheima⽬录下
操作⽰例:
如果拷贝的内容是⽬录,需要加上参数 -r
4.3.2 mv
作⽤: 为⽂件或⽬录改名、或将⽂件或⽬录移动到其它位置
语法: mv source dest
举例:
hi.txt 将改名为hi.txt
itheima/ 将⽂件hi.txt移动到itheima⽬录中
将hi.txt移动到itheima⽬录中,并改名为
mv itcast/ itheima/ 如果itheima⽬录不存在,将itcast⽬录改名为itheima
mv itcast/ itheima/ 如果itheima⽬录存在,将itcast⽬录移动到itheima⽬录中
操作⽰例:
mv 命令既能够改名,⼜可以移动,具体是改名还是移动,系统会根据我们输⼊的参数进⾏判定(如果第⼆个参数dest是⼀个已存在的⽬录,将执⾏移动操作,其他情况都是改名)
4.4 打包压缩命令
作⽤: 对⽂件进⾏打包、解包、压缩、解压
语法: tar [-zcxvf] fileName [files]
包⽂件后缀为.tar表⽰只是完成了打包,并没有压缩
包⽂件后缀为.表⽰打包的同时还进⾏了压缩
说明:
-z: z代表的是gzip,通过gzip命令处理⽂件,gzip可以对⽂件压缩或者解压
-c: c代表的是create,即创建新的包⽂件
-x: x代表的是extract,实现从包⽂件中还原⽂件
-v: v代表的是verbose,显⽰命令的执⾏过程
-f: f代表的是file,⽤于指定包⽂件的名称
举例:
打包
tar -cvf hello.tar ./* 将当前⽬录下所有⽂件打包,打包后的⽂件名为hello.tar
tar -zcvf ./* 将当前⽬录下所有⽂件打包并压缩,打包后的⽂件名为
解包
tar -xvf hello.tar 将hello.tar⽂件进⾏解包,并将解包后的⽂件放在当前⽬录
tar -zxvf 将⽂件进⾏解压,并将解压后的⽂件放在当前⽬录
tar -zxvf -C /usr/local 将⽂件进⾏解压,并将解压后的⽂件放在/usr/local⽬录
操作⽰例:
A. 打包
B. 打包并压缩
C. 解包
D. 解压
解压到指定⽬录,需要加上参数 -C
4.5 ⽂本编辑命令
⽂本编辑的命令,主要包含两个: vi 和 vim,两个命令的⽤法类似,我们课程中主要讲解vim的使⽤。
4.5.1 vi&vim介绍
作⽤: vi命令是Linux系统提供的⼀个⽂本编辑⼯具,可以对⽂件内容进⾏编辑,类似于Windows中的记事本
语法: vi fileName
说明: 1). vim是从vi发展来的⼀个功能更加强⼤的⽂本编辑⼯具,编辑⽂件时可以对⽂本内容进⾏着⾊,⽅便我们对⽂件进⾏编辑处理,所以实际⼯作中vim更加常⽤。 2). 要使⽤vim命令,需要我们⾃⼰完成安装。可以使⽤下⾯的命令来完成安装:yum install vim
4.5.2 vim安装
命令: yum install vim
命令: yum install vim
安装过程中,会有确认提⽰,此时输⼊ y,然后回车,继续安装:
4.5.3 vim使⽤
作⽤: 对⽂件内容进⾏编辑,vim其实就是⼀个⽂本编辑器语法: vim fileName说明: 1). 在使⽤vim命令编辑⽂件时,如果指定的⽂件存在则直接打开此⽂件。如果指定的⽂件不存在则新建⽂件。 2). vim在进⾏⽂本编辑时共分为三种模式,分别是命令模式(Command mode),插⼊模式(Insert mode)和底⾏模式(Last line mode)。这三种模式之间可以相互切换。我们在使⽤vim时⼀定要注意我们当前所处的是哪种模式。
三种模式: - 命令模式 A. 命令模式下可以查看⽂件内容、移动光标(上下左右箭头、gg、G) B. 通过vim命令打开⽂件后,默认进⼊命令模式 C. 另外两种模式需要⾸先进⼊命令模式,才能进⼊彼此
| 命令模式指令 | 含义                              |
| ------------ | --------------------------------- |
| gg          | 定位到⽂本内容的第⼀⾏            |
| G            | 定位到⽂本内容的最后⼀⾏          |
| dd          | 删除光标所在⾏的数据              |
| ndd          | 删除当前光标所在⾏及之后的n⾏数据 |
| u            | 撤销操作                          |
| shift+zz    | 保存并退出                        |
| i 或 a 或 o  | 进⼊插⼊模式                      |
插⼊模式A. 插⼊模式下可以对⽂件内容进⾏编辑B. 在命令模式下按下[i,a,o]任意⼀个,可以进⼊插⼊模式。进⼊插⼊模式后,下⽅会出现【insert】字样C. 在插⼊模式下按下ESC键,回到命令模式
底⾏模式A. 底⾏模式下可以通过命令对⽂件内容进⾏查、显⽰⾏号、退出等操作B. 在命令模式下按下[:,/]任意⼀个,可以进⼊底⾏模式C.通过/⽅式进⼊底⾏模式后,可以对⽂件内容进⾏查D. 通过:⽅
式进⼊底⾏模式后,可以输⼊wq(保存并退出)、q!(不保存退出)、set nu(显⽰⾏号)
底⾏模式命令含义
:wq保存并退出
:q!不保存退出
:set nu显⽰⾏号
:set nonu取消⾏号显⽰
:n定位到第n⾏, 如 :10 就是定位到第10⾏
操作⽰例:
4.6 查命令
4.6.1 find
作⽤: 在指定⽬录下查⽂件
语法: find dirName -option fileName
举例:
find . –name "*.java" 在当前⽬录及其⼦⽬录下查.java结尾⽂件
find /itcast -name "*.java" 在/itcast⽬录及其⼦⽬录下查.java结尾的⽂件
操作⽰例:
4.6.2 grep
作⽤: 从指定⽂件中查指定的⽂本内容
语法: grep word fileName
举例:
grep Hello HelloWorld.java 查HelloWorld.java⽂件中出现的Hello字符串的位置
grep hello *.java 查当前⽬录中所有.java结尾的⽂件中包含hello字符串的位置
操作⽰例: