从零开始的Linux#1命令入门
使用发行版:CentOS
学习视频:BV1n84y1i7td
使用FinalShell远程操作,后文看见的itheima指的是用户名
关于目录结构
Linux的目录和Windows一样是树形结构,但Linux没有盘符(即C盘、D盘),只有一个根目录/,所有文件都在它的下面
在Windows中路径之间的层次关系是(反斜杠):\,Linux的则是(正斜杠):/。
例:/test/hello.txt
命令的格式
command [-options] [parameter]
详解:
command:命令本身
-options:[可选,非必填]命令的选项
parameter:[可选,非必填]命令的参数
例:ls -l /home/itheima,ls是命令本身。-l是选项,/home/itheima是参数内容,意思是以列表的形式,显示/home/itheima的目录内容
Home目录
Linux 图形化桌面的Home 文件夹,和系统路径/home/用户名是同一个目录,里面存放的文件、内容完全一样
home是根目录下的一个目录,需要注意区分
ls列出
英文:list列出
作用:列出目录下的内容
语法:ls [-a -l -h] [Linux路径]
| 参数 | 记法 | 作用 |
| -a | all全部 | 列出全部文件(包含隐藏的文件/文件夹) |
| -l | long长的 | 以列表(竖向排列)的形式展示内容,显示更多信息 |
| -h | 以易于阅读的形式列出文件的大小 |
不使用参数
直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容
例:列出当前目录下的内容
选项-a(all)
列出所有文件,含隐藏文件/目录
图中以.开头的文件都是Linux隐藏文件/目录
只有使用-a选项才能看见这些隐藏文件/目录
选项-l(long)
以列表(竖向排列)的形式展示内容,显示更多信息
选项组合使用
选项可以组合使用
-al、-la、-a -l、-l -a这些效果都是一样的,即先后顺序或拆开使用不影响
列出所有隐藏文件并以列表形式展示出来
指定路径
指定根目录执行ls命令,-al选项,不写路径默认当前目录
选项-h
以易于阅读的形式列出文件的大小,如K、M、G
-h选项必须要搭配-l一起使用,不然会被忽略
cd切换目录
取自Change DIrectory改变目录,作用是切换当前目录
语法:cd [Linux路径]
cd命令不写参数直接执行,表示回到用户的Home目录(/home/用户名)
pwd查看当前目录位置
取自英文Print Work Directory打印工作目录,作用是查看当前目录位置
语法:pwd
绝对和相对路径
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头
例:cd打开Home目录,从根目录开始打开Home目录中的Desktop
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
例:打开当前目录下的Desktop
特殊路径符
| . | 表示当前目录 | cd ./Desktop和cd Desktop效果一致 |
| .. | 表示上一级目录 | cd ..切换到上一级目录,cd ../..切换到上两级目录 |
| ~ | 表示Home目录 | cd ~切换到Home目录 |
如图,打开Desktop,跳转到上两级目录到home
通配符
符号*表示通配符,即匹配任意内容(包括空),示例:
test*,表示匹配任何以test开头的内容
*test,表示匹配任何以test结尾的内容
*test*,表示匹配任何包含test的内容
管理员用户切换
su - root,并输入密码(同普通用户密码),切换到root用户体验,输入exit命令退回到普通用户。
后面的部分命令需要这个权限演示,这里只介绍开启方法,后续会做详细介绍。
mkdir创建目录
取自英文MakeDirectory,作用是创建目录,使用参数-p可自动创建不存在的父目录
语法:mkdir [-p] Linux路径
示例:
在Desktop目录下创建文件text2
在Home目录下创建一个study目录,并在该目录下创建文件text3
注意:创建命令涉及权限问题,需要在Home目录内操作,后续会讲解权限
touch创建文件与cat、more查看
作用是创建文件/查看全部文件/翻页查看文件,命令无选项,参数必填
语法:touch/cat/more Linux路径
示例:
touch创建文件,可以同时写多个参数,同时创建多个文件,每个参数用空格隔开
cat查看文件,先用图形化界面给text4.txt输入点内容,然后查看
more查看文件,与cat全部显示不同,more支持翻页,如果文件内容过多,可以一页一页显示,两张图中间内容省略。
使用左下角的More后面的数字表示看了这个文件的百分比,空格键翻页,Q键退出查看。
cp复制
取自英文cope,可用于复制文件/目录
语法:cp [-r] 参数1 参数2
详解:
-r可选,用于复制目录使用,表示递归
参数1,Linux路径,表示被复制的文件/目录
参数2,Linux路径,表示要复制去的地方
示例:
例:复制text4.txt命名为text5.txt,因为写没有路径默认复制到当前目录下
例:复制文件夹study,因为复制的是文件夹所以需要加-r
mv移动
取自英文move,可用于移动文件/目录
语法:mv 参数1 参数2
详解:
参数1:Linux路径,表示被移动的文件/目录
参数2:Linux路径,表示要移动去的地方,如果目标不存在则进行改名
示例:
移动text4.txt文件到Desktop目录下,并命名为text.txt
如果没有路径的话就是在当前目录下改名
rm删除
取自英文remove,可用于删除文件、文件夹
语法:rm [-r -f] 参数1 参数2 ...... 参数N
详解:
同cp命令,-r用于删除文件夹。
-f表示force,强制删除(不弹出对话框信息),只有root管理员用户删除内容才会有提示,普通用户用不到。
参数1、参数2、......、参数N表示要删除的文件或文件夹路径,按照空格隔开
注意:
rm是一个危险的命令,尤其是在处于root(超级管理员)用户的时候谨慎使用。
如rm -rf /和rm -rf /*效果等于在Windows上执行C盘格式化。
示例:
先利用之前的知识创建一个目录,并在文件夹中创建一些文件和目录
删除文件test2和test3
利用通配符删除以test开头的文件和目录,需要使用-r选项才能删除目录,否则会提示错误(其他文件正常删除)
切换到管理员用户,创建文件test再删除,会弹出对话,输入y(yes)代表同意删除,输入n(no)表示不同意删除。
若输入-f选项则不会弹出对话。
which查找命令位置
Linux命令它们的本体就是一个个二进制可执行程序,和Windows系统中的.exe文件是一个意思。我们可以通过which命令来查看这些命令的程序文件位置。
语法:which 要查找的命令
示例:
查找命令cd、ls、which的位置
find查找文件位置
按名称查找:
语法:find 起始路径 -name “被查找文件名”
按大小查找:
语法:find 起始路径 -size +|- n [kMG]
+、-表示大于和小于,n表示数字,k表示kb,M表示MB,G表示GB
示例:
先切换到管理员用户,以根目录为起始路径,查找名称为test的文件
利用通配符查找名称包含test的文件,内容过多图中仅展示一部分
使用-size选项来查找文件大小大于1GB的文件
echo输出内容
语法:echo 输出的内容
echo命令可以在命令行内输出指定内容。
输出的内容如果待遇空格或\等特殊符号,建议用双引号引起来,尽管echo不受影响,但可增加可读性和养成良好习惯。
示例:
反引号
被反引号``包围的内容会被当做指令执行。
重定向符
>,将左侧命令的结果,覆盖到右侧指定的文件中
>>,将左侧命令的结果,追加到右侧指定的文件中
示例:
将ls命令的结果覆盖到text5.txt文件中。
不写echo直接ls > text5.txt所有内容会自动换行
tail查看文件尾部内容
语法:tail [-f -num] Linux路径。
详解:
-f,英文follow,表示持续跟踪。
-num,在杠后面填写具体数值,不填默认最后十行。
示例:
查看文件text5.txt最后5行的内容
使用-f命令持续跟踪,图中-5f代表先读最后五行然后持续跟踪,一旦有新内容写入,终端会立刻刷新显示,不用重复命令。
按Ctrl +C结束监控。
grep关键词过滤
语法:grep [-n] 关键字 文件路径
作用是从文件中通过关键字哦过滤文件行。
详解:
-n,可选,英文是number,表示在结果中显示匹配行的行号。
关键字,必填,表示要过滤的关键字,带有空格或其他特殊符号,建议使用“”将关键字包围起来。
文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口(后续管道符可用)。
示例:
往文件中写入一些东西,然后使用grep命令查找包含“stu”的内容,使用-n选项可以显示该内容在文件中的行号。
wc统计文件的数据
取自英文Word Count,用途是统计文件的行数、单词数量等
语法:wc [-c -m -l -w] 文件路径
详解:
不写任何选项会依次显示行数、单词书、字节数
-c,统计bytes数量
-m,统计字符数量
-l,统计行数
-w,统计单词数量
文件路径,必填,表示要统计内容的文件路径,可作为内容输入端口(后续管道符可用)。
示例:
|管道符
管道符的作用是将左边命令的结果,作为右边命令的输入
只要能产生输出的命令都可以和管道符配合
示例:
左侧是以列表形式列出bin目录的内容,作为参数给到wc命令统计该目录有多少行,得出bin目录有1720个文件(-l列出的文件,每个文件一行)
管道符也是可以嵌套的,如图,把text1.txt的内容作为参数给到grep命令过滤包含study的关键字,得出三个文件,然后把这个结果给到下一个grep命令用于过滤包含Text的关键字,最后得出studyText文件
