目录
1. Linux的目录结构
1.1 Linux的目录结构
1.2 /在Linux系统中的表示
2. linux命令基础
2.1 什么是命令和命令行
2.2 Linux命令的通用格式
2.3 ls命令
2.3.1 ls命令的参数的作用:
2.3.2 ls命令的选项
2.3.3 命令的选项组合使用
2.4 cd切换工作目录
2.5 pwd查看当前工作目录
2.6 相对路径和绝对路径
2.7 mkdir命令创建目录
2.8 touch命令创建文件
2.9 cat命令 查看文件内容
2.10 more命令查看文件内容
2.11 cp命令
2.12 mv移动文件或文件夹
2.13 rm删除文件或文件夹
2.14 which命令
2.15 find命令
按文件名查找
按文件的大小查找文件
2.16 echo命令
反引号:
2.17 tail命令
2.18 重定向符
2.19 grep命令
2.20 wc命令
2. 21 管道符
1. Linux的目录结构
1.1 Linux的目录结构
- Linux的目录结构是一个树型结构。
- Windows系统可以拥有多个盘符,如C盘,D盘。
- Linux没有盘符的概念,只有一个根目录/,所有的文件都在它下面。
如图:
1.2 /在Linux系统中的表示
- 出现在开头:表示根目录。
- 出现在后面的/:表示层级关系。
2. linux命令基础
2.1 什么是命令和命令行
- 命令行:即Linux终端,是一种命令提示符页面。以纯"字符"的形式操作系统,可以使用各种字符化命令对系统发出操作指令。
- 命令:即Linux程序。一个命令就是Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。
2.2 Linux命令的通用格式
command [-options] [parameter]
- 命令本身,即命令本身。
- 可选选项,控制命令的行为细节。
- 可选参数,控制命令的指向目标。
2.3 ls命令
ls命令的作用就是列出目录下的内容,语法细节如下:
ls [-a -l -h] [Linux路径]
- -a -l -h是可选的选项
- Linux路径是此命令可选的参数。
当不使用选项和参数,直接使用ls命令本体,表示以平铺的形式,列出当前工作目录下的内容.
Linux系统的命令行终端,在启动时会默认加载。
当前登录用户的HOME目录作为当前的工作目录,所以ls命令列出的是HOME目录的内容。
HOME目录:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名
如果是root超级管理员用户,则其HOME目录路径在/root。
如下:
[hexuan@localhost ~]$ pwd
/home/hexuan
[hexuan@localhost ~]$ su - root
密码:
上一次登录:四 8月 22 22:18:40 CST 2024从 192.168.154.1pts/1 上
[root@localhost ~]# pwd
/root
2.3.1 ls命令的参数的作用:
可以指定要查看的文件夹的内容,如果不给定参数,就查看当前工作目录的内容。
比如:ls /root/bin:以平铺的形式列出/root/bin目录下的内容.
2.3.2 ls命令的选项
-
-a:可以展示出隐藏的内容。以.开头的文件按或文件夹默认被隐藏,需要用-a才能显示出来。
-
-l:以列表的形式展示内容,并展示更多细节。
-
-h:需要和-l配合使用,以更加人性化的方式显示文件的大小单位。
2.3.3 命令的选项组合使用
命令的选项是可以组合使用的,比如: ls -lah。
2.4 cd切换工作目录
当Linux终端打开的时候,会默认以用户的HOME目录作为当前的工作目录。
我们可以通过cd命令,更改当前所在的工作目录。
cd命令来自英文:Change Directory
语法:cd [Linux路径]
- cd命令无需选项,只需参数,表示要切换到哪个目录下。
- cd命令直接执行,不写参数,表示回到用户的HOME目录。
2.5 pwd查看当前工作目录
通过ls来验证当前的工作目录,其实是不恰当的。
我们可以通过pwd命令,来查看当前所在的工作目录。
pwd命令来自Print Work Directory
语法:pwd
- pwd命令,无选项,无参数,直接输入pwd即可。
2.6 相对路径和绝对路径
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头。
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头。
特殊路径符:
- .表示当前目录,比如cd ./Desktop表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致。
- ..表示上一级目录,比如cd ../即可切换到上一级目录,cd ../..切换到上二级目录
- ~表示HOME目录,比如cd ~及可切换到HOME目录或cd ~/Desktop,切换到HOME目录内的Desktop目录。
2.7 mkdir命令创建目录
通过mkdir命令可以创建新的目录。
mrdir来自英文 Make Directory
语法mkdir [-p] Linux路径
- 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径和绝对路径都可以。
- -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级目录。
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME目录外操作。涉及到权限问题,HOME外无法成功。
[hexuan@localhost ~]$ mkdir -p itheima/atguigu/666
[hexuan@localhost ~]$ ll
总用量 0
-rw-rw-r--. 1 hexuan hexuan 0 8月 23 01:36 hello.txt
drwxrwxr-x. 3 hexuan hexuan 21 8月 23 13:16 itheima
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 公共
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 模板
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 视频
drwxr-xr-x. 3 hexuan hexuan 263 8月 22 22:16 图片
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 文档
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 下载
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 音乐
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 桌面
2.8 touch命令创建文件
可以通过touch命令创建文件。
语法:touch Linux路径
- touch命令无选项,参数必填,表示要创建的文件路径,相对,绝对,特殊路径符均可以使用。
[hexuan@localhost ~]$ touch test.txt
[hexuan@localhost ~]$ ll
总用量 0
-rw-rw-r--. 1 hexuan hexuan 0 8月 23 01:36 hello.txt
drwxrwxr-x. 3 hexuan hexuan 21 8月 23 13:16 itheima
-rw-rw-r--. 1 hexuan hexuan 0 8月 23 13:30 test.txt
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 公共
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 模板
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 视频
drwxr-xr-x. 3 hexuan hexuan 263 8月 22 22:16 图片
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 文档
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 下载
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 音乐
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 桌面
2.9 cat命令 查看文件内容
有了文件以后,我们可以通过cat命令查看文件的内容。
不过,现在我们还未学习vi编译器,无法向文件内编辑内容,所以,暂时,我们先通过图形化。在图形化中,手动向文件添加内容,以测试cat命令。
准备好文件内容后,可以通过cat查看内容。
语法:cat Linux路径
- cat同样没有选项,只有必填参数,参数表示:被查看的文件的路径,相对,绝对,特殊路径符都可以使用。
[hexuan@localhost ~]$ vim hello.txt
[hexuan@localhost ~]$ cat hello.txt
heima and atguigu is very nb
2.10 more命令查看文件内容
more命令同样可以查看文件内容,同cat不同的是:
- cat是直接将内容全部显示出来。
- more是支持翻页,如果文件内容过多,可以一页一页的展示。
语法:more Linux路径
- 同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对,绝对,特殊路径符都可以使用。
例子:
Linux系统内置有一个文件,路径为/etc/services,可以使用more命令查看more /etc/services;
- 在查看的过程中,通过空格翻页。
- 通过q退出查看。
2.11 cp命令
cp命令可以用于复制文件或文件夹,cp命令来自英文copy。
语法:cp [-r] 参数1 参数2
- -r选项,可选,用于复制文件夹使用,表示递归。
- 参数1,Linux路径,表示被复制文件或文件夹。
- 参数2,Linux路径,表示要复制去的地方。
[hexuan@localhost ~]$ cat hello.txt
heima and atguigu is very nb
[hexuan@localhost ~]$ touch hellocopy.txt
[hexuan@localhost ~]$ cp hello.txt hellocopy.txt
[hexuan@localhost ~]$ cat hellocopy.txt
heima and atguigu is very nb
2.12 mv移动文件或文件夹
mv命令可以用于移动文件或文件夹,mv命令来自英文单词:move。
语法:mv 参数1 参数2
- 参数1:Linux路径,表示被移动的文件或文件夹。
- 参数2:Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。
[hexuan@localhost ~]$ mv hellocopy.txt hello1.txt
[hexuan@localhost ~]$ ll
总用量 8
-rw-rw-r--. 1 hexuan hexuan 29 8月 23 15:19 hello1.txt
-rw-rw-r--. 1 hexuan hexuan 29 8月 23 13:38 hello.txt
drwxrwxr-x. 3 hexuan hexuan 21 8月 23 13:16 itheima
-rw-rw-r--. 1 hexuan hexuan 0 8月 23 13:30 test.txt
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 公共
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 模板
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 视频
drwxr-xr-x. 3 hexuan hexuan 263 8月 22 22:16 图片
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 文档
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 下载
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 音乐
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 桌面
[hexuan@localhost ~]$ cat hello1.txt
heima and atguigu is very nb
2.13 rm删除文件或文件夹
rm命令可用于删除文件或文件夹。
rm命令来源于英文单词remove。
语法:rm [-r -f] 参数1 参数2 参数3...
- 同cp命令一样,-r用于删除文件夹。
- -f表示force,强制删除(不会弹出确认信息):普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示。所以普通用户用不到-f选项。
- 参数1 参数2...表示要删除的文件或文件夹路径,按照空格隔开。
[hexuan@localhost ~]$ rm hello1.txt
[hexuan@localhost ~]$ ll
总用量 4
-rw-rw-r--. 1 hexuan hexuan 29 8月 23 13:38 hello.txt
drwxrwxr-x. 3 hexuan hexuan 21 8月 23 13:16 itheima
-rw-rw-r--. 1 hexuan hexuan 0 8月 23 13:30 test.txt
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 公共
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 模板
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 视频
drwxr-xr-x. 3 hexuan hexuan 263 8月 22 22:16 图片
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 文档
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 下载
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 音乐
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 桌面
rm删除文件或文件夹时可以使用通配符。
em命令支持通配符*,用来做模糊匹配
- 符号*表示通配符,即匹配任意内容(包含空)
- test*,表示匹配任何以test开头的内容。
- *test,表示匹配任何以test结尾的内容。
- *test*,表示匹配任何包含test的内容。
[hexuan@localhost ~]$ touch test1.txt
[hexuan@localhost ~]$ touch test2.txt
[hexuan@localhost ~]$ ll
总用量 4
-rw-rw-r--. 1 hexuan hexuan 29 8月 23 13:38 hello.txt
drwxrwxr-x. 3 hexuan hexuan 21 8月 23 13:16 itheima
-rw-rw-r--. 1 hexuan hexuan 0 8月 23 15:47 test1.txt
-rw-rw-r--. 1 hexuan hexuan 0 8月 23 15:47 test2.txt
-rw-rw-r--. 1 hexuan hexuan 0 8月 23 13:30 test.txt
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 公共
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 模板
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 视频
drwxr-xr-x. 3 hexuan hexuan 263 8月 22 22:16 图片
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 文档
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 下载
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 音乐
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 桌面
[hexuan@localhost ~]$ rm test*.txt
[hexuan@localhost ~]$ ll
总用量 4
-rw-rw-r--. 1 hexuan hexuan 29 8月 23 13:38 hello.txt
drwxrwxr-x. 3 hexuan hexuan 21 8月 23 13:16 itheima
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 公共
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 模板
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 视频
drwxr-xr-x. 3 hexuan hexuan 263 8月 22 22:16 图片
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 文档
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 下载
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 音乐
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 桌面
删除文件夹:
[hexuan@localhost ~]$ mkdir hexu
[hexuan@localhost ~]$ ll
总用量 4
-rw-rw-r--. 1 hexuan hexuan 29 8月 23 13:38 hello.txt
drwxrwxr-x. 2 hexuan hexuan 6 8月 23 15:49 hexu
drwxrwxr-x. 3 hexuan hexuan 21 8月 23 13:16 itheima
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 公共
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 模板
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 视频
drwxr-xr-x. 3 hexuan hexuan 263 8月 22 22:16 图片
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 文档
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 下载
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 音乐
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 桌面
[hexuan@localhost ~]$ rm -r hexu
[hexuan@localhost ~]$ ll
总用量 4
-rw-rw-r--. 1 hexuan hexuan 29 8月 23 13:38 hello.txt
drwxrwxr-x. 3 hexuan hexuan 21 8月 23 13:16 itheima
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 公共
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 模板
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 视频
drwxr-xr-x. 3 hexuan hexuan 263 8月 22 22:16 图片
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 文档
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 下载
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 音乐
drwxr-xr-x. 2 hexuan hexuan 6 6月 17 20:11 桌面
2.14 which命令
我们在前面学习的Linux命令,其实它们的本体就是一个一个的二进制可执行程序。和windows系统的.exe文件类似。
我们可以通过which命令,查看锁使用的一系列命令的程序文件存放在哪里。
语法:which 要查找的命令。
[hexuan@localhost ~]$ which rm
/bin/rm
[hexuan@localhost ~]$ which pwd
/bin/pwd
2.15 find命令
按文件名查找
在图形化界面中,我们可以方便的通过系统提供的搜索功能,搜索指定的文件。
同样,在Linux系统中,我们可以通过find命令去搜索指定的文件。
语法:find 起始路径 -name "被查找的文件名"
- "被查找的文件名"此处可以使用通配符*。
按文件的大小查找文件
语法:find 起始路径 -size +|-n[kMG]
- +,-表示大于和小于。
- n表示大小数字。
- kMG表示大小单位,k表示kb,M表示MB,G表示GB。
例子:
查找小于10kb的文件:find / -size -10k
查找大于100MB的文件:find / -size +100M
查找大于1GB的文件:find / -size +1G
2.16 echo命令
可以使用echo命令在命令行输出指定内容。类似Java的System.out.println方法。
语法:echo 输出的内容
- 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围。
带有空格或\等特殊符号,建议使用双引号包围起来。
[hexuan@localhost ~]$ echo "hello i am very nb"
hello i am very nb
反引号:
看一下命令:
[hexuan@localhost ~]$ echo pwd
pwd
本意是想输出当前工作路径,但pwd被当做普通字符输出了。
我们可以通过将命令用反引号将其包围。
被包围起来的内容,被当做命令执行,而非普通字符。
[hexuan@localhost ~]$ echo `pwd`
/home/hexuan
2.17 tail命令
使用tail命令,可以查看文件尾部的内容,跟踪文件的最新更改,语法如下:
tail [-f -num] Linux路径
- 参数,Linux路径,表示被跟踪路径的文件路径。
- 选项,-f,表示持续跟踪。
- 选项,-num,表示查看尾部多少行,不填默认10行。
2.18 重定向符
我们再来学习两个特殊的符号,重定向符:>和>>
- >,将左侧的命令的结果,覆盖写入到符号右侧指定的文件中。
- >>,将左侧的命令的结果,追加写入到符号右侧的指定的文件中.
[hexuan@localhost ~]$ cat hello.txt
heima and atguigu is very nb
[hexuan@localhost ~]$ echo "I am very nb" > hello.txt
[hexuan@localhost ~]$ cat hello.txt
I am very nb
[hexuan@localhost ~]$ echo "i am not nb" >> hello.txt
[hexuan@localhost ~]$ cat hello.txt
I am very nb
i am not nb
2.19 grep命令
可以通过grep命令,从文件中通过关键字过滤文件行。
语法:grep [-n] 关键字 文件路径
- 选项-n,可选,表示在结果中显示匹配的行号。
- 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用""将关键字包围。
- 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容的输入端口。
[hexuan@localhost ~]$ grep -n "nb" /home/hexuan/hello.txt
1:I am very nb
2:i am not nb
2.20 wc命令
可以通过wc命令统计文件的行数,单词数量等。
语法:wc [-c -m -l -w]文件路径
- 选项,-c,统计bytes数量。
- 选项,-m,统计字符的数量。
- 选项,-l,统计行数。
- 选项,-w,统计单词数量。
- 参数,文件路径,被统计的文件,可作为内容输入端口。
[hexuan@localhost ~]$ wc -l -w /home/hexuan/hello.txt2 8 /home/hexuan/hello.txt
2. 21 管道符
学习了grep命令后,我们来学习一个新的特殊符号,管道符:|
管道符的含义是:将管道符左边命令的结果,作为右边命令的输入。
- cat hello.txt作为输出结果(文件内容)
- 作为右边grep命令的输入(被过滤文件)
[hexuan@localhost ~]$ cat hello.txt | wc -l -w2 8