目录
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 管道符
如图:
command [-options] [parameter]
ls命令的作用就是列出目录下的内容,语法细节如下:
ls [-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
可以指定要查看的文件夹的内容,如果不给定参数,就查看当前工作目录的内容。
比如:ls /root/bin:以平铺的形式列出/root/bin目录下的内容.
-a:可以展示出隐藏的内容。以.开头的文件按或文件夹默认被隐藏,需要用-a才能显示出来。
-l:以列表的形式展示内容,并展示更多细节。
-h:需要和-l配合使用,以更加人性化的方式显示文件的大小单位。
命令的选项是可以组合使用的,比如: ls -lah。
当Linux终端打开的时候,会默认以用户的HOME目录作为当前的工作目录。
我们可以通过cd命令,更改当前所在的工作目录。
cd命令来自英文:Change Directory
语法:cd [Linux路径]
通过ls来验证当前的工作目录,其实是不恰当的。
我们可以通过pwd命令,来查看当前所在的工作目录。
pwd命令来自Print Work Directory
语法:pwd
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头。
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头。
特殊路径符:
通过mkdir命令可以创建新的目录。
mrdir来自英文 Make Directory
语法mkdir [-p] Linux路径
注意:创建文件夹需要修改权限,请确保操作均在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 桌面
可以通过touch命令创建文件。
语法:touch Linux路径
[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 桌面
有了文件以后,我们可以通过cat命令查看文件的内容。
不过,现在我们还未学习vi编译器,无法向文件内编辑内容,所以,暂时,我们先通过图形化。在图形化中,手动向文件添加内容,以测试cat命令。
准备好文件内容后,可以通过cat查看内容。
语法:cat Linux路径
[hexuan@localhost ~]$ vim hello.txt
[hexuan@localhost ~]$ cat hello.txt
heima and atguigu is very nb
more命令同样可以查看文件内容,同cat不同的是:
语法:more Linux路径
例子:
Linux系统内置有一个文件,路径为/etc/services,可以使用more命令查看more /etc/services;
cp命令可以用于复制文件或文件夹,cp命令来自英文copy。
语法:cp [-r] 参数1 参数2
[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
mv命令可以用于移动文件或文件夹,mv命令来自英文单词:move。
语法:mv 参数1 参数2
[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
rm命令可用于删除文件或文件夹。
rm命令来源于英文单词remove。
语法:rm [-r -f] 参数1 参数2 参数3...
[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命令支持通配符*,用来做模糊匹配
[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 桌面
我们在前面学习的Linux命令,其实它们的本体就是一个一个的二进制可执行程序。和windows系统的.exe文件类似。
我们可以通过which命令,查看锁使用的一系列命令的程序文件存放在哪里。
语法:which 要查找的命令。
[hexuan@localhost ~]$ which rm
/bin/rm
[hexuan@localhost ~]$ which pwd
/bin/pwd
在图形化界面中,我们可以方便的通过系统提供的搜索功能,搜索指定的文件。
同样,在Linux系统中,我们可以通过find命令去搜索指定的文件。
语法:find 起始路径 -name "被查找的文件名"
语法:find 起始路径 -size +|-n[kMG]
例子:
查找小于10kb的文件:find / -size -10k
查找大于100MB的文件:find / -size +100M
查找大于1GB的文件:find / -size +1G
可以使用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
使用tail命令,可以查看文件尾部的内容,跟踪文件的最新更改,语法如下:
tail [-f -num] Linux路径
我们再来学习两个特殊的符号,重定向符:>和>>
[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
可以通过grep命令,从文件中通过关键字过滤文件行。
语法:grep [-n] 关键字 文件路径
[hexuan@localhost ~]$ grep -n "nb" /home/hexuan/hello.txt
1:I am very nb
2:i am not nb
可以通过wc命令统计文件的行数,单词数量等。
语法:wc [-c -m -l -w]文件路径
[hexuan@localhost ~]$ wc -l -w /home/hexuan/hello.txt
2 8 /home/hexuan/hello.txt
学习了grep命令后,我们来学习一个新的特殊符号,管道符:|
管道符的含义是:将管道符左边命令的结果,作为右边命令的输入。
[hexuan@localhost ~]$ cat hello.txt | wc -l -w
2 8