1.掌握linux系统的目录结构
linux只有一个*目录,称之为:根目录。
windows系统有多个*目录,即各个盘符。
2.linux路径的描述方式
/在Linux中的表示:出现在开头表示根目录,出现在后面表示层级关系。
3.什么是命令、命令行
学习LINUX,本质是学习在命令行下熟练使用Linux的各类命令。
命令行:即linux终端,是一种命令提示符页面。以纯”字符“的形式操作系统,可以使用各种字符化命令行对系统发出操作命令。
命令:即linux程序。一个命令就是一个linux程序。命令没有图形化的界面,可以在命令行(终端中)提供字符画的反馈。
4.linux命令基础格式
格式:command [-options] [paramete]r
command : 命令本身
• -options : [ 可选,非必填 ] 命令的一些选项,可以通过选项控制命令的行为细节
• parameter : [ 可选,非必填 ] 命令的参数,多数用于命令的指向目标等
语法中的 [] ,表示可选的意思
5.ls命令
语法细节:ls [-a -l -h] [Linux路径]
-a.-l,-h是可选的选项,linux路径是此命令可选的参数
当不使用选项和参数,直接使用ls本体,表示:以平铺形式,列出当前工作目录下的内容。
由于linux系统的命令行终端在启动的时候,默认加载当前登入用户的home目录作为当前工作目录,所以ls命令列出的是home目录的内容。
home目录:每个Linux用户在linux系统的个人账户目录,路径在:/home/用户名。比如我d的home目录就是:/home/cai
-a 表示all,即列出全部文件(包含隐藏的文件和文件夹)
可以看出,ls -a比ls列出的内容更多,图中以为.开头的,表示的是Linux的隐藏文件/文件夹(只要以.开头,就能自动隐藏),而只有通过-a才能看见这些隐藏起来的文件夹/文件 。
-l 表示以列表(竖向排列)的形式展示内容,并展示更多信息。第一个字母是d表示是文件夹,第一个位置是-表示这是一个文件。
语法中的选项是可以组合使用的,比如学习-a, -l可以组合使用,ls -l -a, ls -la, ls -al,这三者是等价的,表示同时应用-a, -l的功能。
除了选项本身可以组合后,选项和参数也可以一起使用。
-h表示以易于阅读的形式,列出文件大小如k,m,g。而且-h选项必须搭配-l一起使用,以更人性化的方式显示文件的大小单位。
Ls命令指定要查看的文件夹(目录)的内容,如果不给定参数,就查看当前工作目录的内容。
6 cd切换工作目录
当linux中端打开的时候,会默认以用户的home目录作为当前的工作目录,我们可以通过cd命令,更改当前所在的工作目录。
语法:cd [linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下。
cd命令直接执行,不写参数,表示回到用户的home目录。
7 pwd查看当前工作目录
通过ls来验证当前的工作目录,其实是不恰当的。我们可以通过pwd命令,来查看当前所在工作目录。
语法:pwd
pwd命令无选项无参数,直接输入pwd即可。
8 相对路径和绝对路径
切换到指定的desktop的两种写法:
cd /home/cai/Desktop(绝对路径写法)
cd Desktop(相对路径写法)
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头。
相对路径:以当前目录为起点,描述路径的一种写法,路径无需/开头。
如果/home/cai/Desktop想要回退到上一级/home/cai,可以直接cd 即可回到home目录,也可以通过特殊路径符
特殊路径符:
. 表示当前目录,比如cd ./Desktop表示切换到当前目录下的Desktop目录内。
..表示上一级目录,比如cd ..即可切换到上一目录,cd ../..切换到上二级的目录
~表示home目录,比如cd ~即可切换到home目录;cd ~/Desktop,表示切换到home内的Desktop目录
9.通过 mkdir命令创建目录(文件夹)
语法:mkdir [-p] linux路径
参数必填,表示linux路径,即要创建文件夹的路径,相对路径或绝对路径即可。
-p选项选填,表示自动创建不存在的父目录,适用于创建连续多层级的目录。
如果想要一次性创建多个层级的目录,会报“没有那个文件或目录”的错,此时可以添加上-p,将一整个链条都创建完成。
注意:创建文件夹需要修改权限,请确保操作均在home目录内,不要在home外操作,涉及到权限问题,home外无法成功,会提示“权限不够”。
练习:创建it/linux/nice(需使用~)
mkdir -p ~/it/linux/nice
10 touch 命令创建文件
语法:touch linux路径
touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径均可使用。
11 cat查看文件内容
语法:cat linux路径
cat的参数表示被查看的文件路径,相对、绝对、特殊路径均可使用。
打开CentOS并登入,双击打开home目录下刚刚创建的test.txt文件,接着简单的写上一句话“it is easy”,然后点击save按钮保存文件。回到命令行使用cat命令查看文件内容。
12 more查看文件内容
语法:more linux路径
more的参数表示被查看的文件路径,相对、绝对、特殊路径均可使用。
与cat不同的是,cat是直接将内容全部显示出来,more接受翻页,如果文件内容过多,可以一页页的展示。
linux系统内置有一个文件,路径为:/etc/services,可以使用More命令查看。more/etc/services:在查看过程中,通过空格翻页,通过q退出查看。
使用cat,一股脑就全显示出来了。清屏操作可以是ctrl+l或者右击清除缓存。
使用more,会发现左下有个0%,这表示当前查看文件内容为0%,我们可以通过使用空格键翻页,通过q退出
13 cp复制文件或者文件夹
语法:cp [-r] 参数1 参数2
-r选项,可选,用于复制文件夹使用,表示递归。
参数1,linux路径,表示被复制的文件或文件夹。
参数2,linux路径,表示要复制去的地方。
14 mv移动文件或者文件夹
语法:mv 参数1 参数2
参数1,linux路径,表示被复制的文件或文件夹。
参数2,linux路径,表示要移动去的地方,如果目标不存在,则起到改名的效果。
移动文件夹
15 rm删除文件或者文件夹
语法 :rm [-r -f] 参数1 参数2 .....参数n
同cp命令一样,-r选项用于删除文件夹
-f表示force强制删除(不会弹出提示确认信息)。普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,所以一般普通用户用不到-f选项。
参数1、参数2.......参数n表示要删除的文件或文件夹路径,按照空格隔开。如果其中一个参数不存在,即使提示了['没有那么文件或目录'],其他存在的参数也会被正常删除。
rm命令支持通配符*,用来做模糊匹配。
符号*表示通配符,即用来匹配任意内容(包含空)。例如test*表示匹配任何以test开头的内容,*test表示匹配任何以test结尾的内容,*test*表示匹配任何包含test的内容。
为了使用-f,现在我们暂时切换到root用户体验。可以通过su - root,并输入密码123456(和普通用户默认一样,注意输入的时候不显示输入的内容,照常输入完回车就可以)临时切换到root用户进行体验,通过输入exit命令,退回普通用户(临时用root,用完记得退,不要一直用)
在提示句[rm:remove regular empty file 'test.txt']后输入y表示确定删除,输入n表示取消。
rm是一个危险的命令,特别是root(超级管理员)的时候,需要谨慎使用,如下命令请不要在root管理员下执行rm -rf/或者 rm -rf/*,效果等同与在windows上执行c盘格式化。
16 which查找命令的程序文件
我们在前面学习的linux命令,其实他们的本体就是一个个的二进制可执行程序,和windows系统中的.exe文件,是一个意思。我们可以通过which命令查看所使用的一系列命令的程序文件存放在哪里。
语法:which 要查找的命令。
17 find查找指定文件(文件名、文件大小)
语法:find 起始路径 -name “被查找文件名”
为了拥有最大的权限,可以在整个系统完成搜索,我们可以切换到root用户以获得管理员权限。
find命令也可以使用通配符。
find也可以按文件大小查找文件
语法:find 其实路径 -size +|-n[KMG]
+、-表示大于和小于
n表示大小数字
KMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
查找小于10KB的文件:find / -size -10k
查找大于100MB的文件:find / -size +100M
查找大于1GB的文件:find / -size +1G
(ls可以查看指定文件的大小:ls -lh 文件路径)
使用find命令查找处名称带有centos的文件:find / -name "*centos*"
使用find命令查找出:/user 目录大于100M的文件:find /user -size +100M
18 grep过滤文件内容
grep可以通过关键字过滤文件
语法:grep [-n] 关键字 文件路径
选项-n,可选,表示在结果中显示普配的行的行号
参数,关键字,必填,表示过滤的关键字,带有空格或者其他特殊符号,建议使用“ ”将关键字包围起来
参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
现在通过touch命令在home目录下创建cai.txt,并通过图形化界面编辑并保存以下内容:
now ,think a example to test "grep",
the part is created for "grep"
19 wc统计内容数量
可以通过wc命令统计文件的行数,单词数量等。
语法:wc [-c -m -l -w] 文件路径
选项,-c,统计bytes数量
选项,-m统计字符数量
选项,-l统计行数
选项,-w统计单词数量
参数,文件路径,被统计的文件,可作为内容输入端口。
3表示行数,13表示单词数量,71表示当前文件的字节数,cai.txt就是文件名。
20 管道符的概念和应用
管道符|表示将管道符左边命令的结果作为右边命令的输入。适用于输入内容过多的情况。
cat cai.txt的输出结果(文件内容) 作为 右边grep命令的输入(被过滤文件)
请使用cai.txt进行统计,请使用cat ,grep ,管道符 ,wc命令组合 ,进行统计
统计文件中带有think关键字的有几行:
cat cai.txt | grep think | wc -l
统计文件中带有think关键字的结果中有多少个单词:
cat cai.txt | grep think | wc -w
21 echo输出指定内容
语法:echo 输出的内容
无需选项,只有一个参数,表示要输出的内容,复杂内容可以用” “包围
在终端:hello linux
带有空格或\ 等特殊符号,建议使用双引号包围,因为不包围的话,空格后很容易被识别为参数2,尽管echo不受影响,但是要养成好习惯。
22 反引号
如果输入echo pwd,本意是想输出当前的工作路径,但是pwd被作为普通字符输出了,我们可以通过反引号(通常也称之为飘号) 将其包围,被包围的内容会作为命令执行,而非普通字符。
23 重定向的使用
重定向符:>和>>
>是将左侧命令的结果,覆盖写入到符号右侧指定文件中
>>是将左侧命令发结果,追加写入到符号右侧指定的文件中
24 tail跟踪文件更改
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改
语法:tail [-f -num] linux路径
参数,Linux路径,表示被跟踪的文件路径
选项,-f,表示持续跟踪,ctrl+c可以退出持续跟踪模式
选项,-num,表示查看尾部多少行,不填默认10行。
请使用echo并配合反引号,输出内容:我当前的工作目录是:’具体的工作目录路径‘,并结合重定向符,将输出结果覆写入work.txt文件
echo "我当前工作的目录是:’pwd' ">work.txt
请使用echo输出任意内容并追加到work.txt文件中,通过tail命令持续跟踪文件内容更改
echo "内容” >> work.txt
tail -f work.txt
25 使用vi/vim编辑器完成文件编辑工作
vi/vim是Linux中最经典的文本编译器
用图形化界面中的文本编辑器,vi是命令行下对文本文件进行编辑的绝佳选择
vim是vi的加强版本,兼容vi所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。
如需通过vi/vim编辑器编辑文件,可以通过【vi 文件路径 】或者 【vim 文件路径】,如果文件路径表示的文件不存在,那么此命令会用于编辑新文件,如果此文件路劲表示的文件存在,那么此命令会用于编辑已有文件。
步骤:使用vim hello.txt编辑一个新文件,执行后进入的是命令模式,在命令模式内,按键盘i进入输入模式,在输入模式输入 a and b,输入完成后 ,按esc退出命令模式,在命令模式内,按键盘:,会进入底线命令模式,在底线命令模式输入:eq,表示保存文件并退出vim编辑器,然后输入cat hello.txt查看内容。
命令模式快捷键:
【linux】01 :虚拟机,Linux系统,远程连接Linux系统-CSDN博客
【linux】03 :用户和权限-CSDN博客