Linux中的Shell就是Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。
命令是用户向系统内核发出控制请求,与之交互的文本流。
Shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,从而实现用户与操作系统的交互。同时,Shell为操作系统提供了内核之上的功能,直接用来管理和运行系统。
Shell脚本:当需要重复执行若干命令,可以将这些命令集合起来,加入一定的控制语句,编辑成为Shell脚本文件,交给Shell批量执行。
Shell命令的格式
1、shell提示符:
[email protected]:direction$
用户名 主机名 目录名
根目录显示为“/”,当在 用户主目录下显示为“~”
2、命令格式
包含3个要素:命令名称、选项、参数
提示符为“#”,其他用户的提示符为“$"
若将多个命令在一行书写,用分号(;)将各命令隔开;
如果一条不能在一行写完,在行尾使用反斜杠(\)标明该条命令未结束
Linux命令
1、用户系统相关命令
2、文件、目录相关命令
(1)cd 改变工作目录
pwd显示当前目录
cd -可以回到前次工作目录
./ 代表当前目录 ../代表上级目录
(2)ls 列出目录的内容
选项:-l 一行输出一个文件
-a,-all列出目录中所有文件,包括以”."开头的文件
-d将目录名和其他文件一样列出,而不是列出目录的内容
-f不排序目录内容,按他们在磁盘上存储的顺序列出
示例:ls -l
ls -a(显示出所有“.”开头的文件)
(3)mkdir创建一个目录
选项:-m对新建目录设置存取权限,当前可以用chmod命令设置
-p创建目录 若此路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
示例:
mkdir -p ./hello/new 创建了多级目录
mkdir -m 777 ./why 创建了相应权限的目录
(4)cat连接并显示指定的一个或多个文件的有关信息
选项:
-n 由第一行开始对所有输出的行数编号
-b对空白行不编号
示例:
cat -n hello1.c helloc2.c指定对hello1.c和hello2.c进行输出,并指定行号
(5)cp将给出的文件或目录复制到另一个文件或目录中
选项:
-a保留链接、文件属性,并复制其子目录,其作用等于dpr选项的组合
-d复制时保留链接
-f删除已经存在的目标文件而不提示
-i在覆盖目标文件之前将给出提示,要求用户确认,回答y是目标将被覆盖,而且是交互式复制
-p 此时cp除复制源文件的内容外,还将把修改时间和访问权限也复制到新文件中
-r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名
示例:
cp -a ./my/why/ ./使用“-a”选项将/my/why目录下的所有文件复制到当前目录下。此时在原先目录下还有原有的文件
(6)mv 为文件或目录改名或将文件由一个目录移入到另一个目录中
选项:
-i若mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,并要求用户回答y或n,这样可以避免误覆盖文件
-f禁止交互操作,在mv操作要覆盖某已有的目标文件时不给任何提示,在指定此选项后,i选项将不再起作用
示例:
mv -i ./my/why/ ./把/my/why目录下所有的文件移至当前目录,则原目录下文件被自动删除
(7)rm删除一个目录中的一个或多个文件或目录
选项:
-i进项交互式删除
-f忽略不存在的文件,但从不给出提示
-r指示rm将参数中列出的全部目录和子目录均递归地删除
示例:
rm -r -i ./why 使用“-r”选项删除./why目录下所有内容,系统会进行是否删除确认
(8)chown修改文件所有者和组别
chgrp改变文件的组所有权
使用chown和chgrp命令必须拥有root权限
3、压缩打包相关命令