1.Shell是什么?
shell本质上是Linux的应用程序,是Linux和用户进行沟通的桥梁
用户可以通过控制台终端输入各种命令,命令会被shell解析,解析后就会调用命令所对应的应用程序,应用程序又会去调用各种API接口以使用Linux内核的各种服务 。
shell本质上就是一个人机交互的应用程序,对外接收用户输入的命令,对内通过系统调用传递给内核运行。还可以呈现内核运行的结果。
2.命令的格式与帮助
3.常用命令
主要分为以下几大类的命令。
3.1查询命令
man:用于查询一些指令的使用方法。
例如下图,可以查询printf的使用方法。
要查询某指令的使用方法,也可以直接在该指令后面加“--help”
3.2目录操作类
cd:用于进入到某目录
pwd:打印当前工作目录的名字
ls:展示当前目录的所有内容
mkdir:用于创建事先不存在的文件夹
rmdir:删除指定的空目录
mv:对资源进行重命名,或者移动文件/目录
3.文本操作类
touch:用于创建一个新文件
cat:用于展示文件的内容
echo:往控制台终端输出字符串
wc:统计文本的行数、单词数、字符数。加参数“-l”只打印行数,“-w”只打印单词数,“-c”只打印字符数
rm:用于移除文件夹、文件。删除文件夹时要加上“-r”参数。
ln:用来为文件创建一个链接文件(分为硬链接文件和软链接文件,创建软链接文件时要加参数“-s”)。删除源文件时,软链接文件会随之一起删除,而硬链接文件不会。
cp:用于复制一些文件或文件夹。复制文件夹时要加“-r”
tar:用于对多个文件的打包和解包
find:从一个指定的目录中找到指定的文件
grep:从文本中找到需要的字符串
3.4用户管理类
sudo:帮助普通用户短暂地获取权限
su:用于切换不同的用户
useradd/adduser:前者负责创建一个最简单、最基础的用户,和用户相关的一些东西都没有设置,比如密码,主目录等等;后者会提示你创建密码,创建好用户的主目录。
usermod:修改用户的相关信息
userdel/deluser:用于删除用户。
passwd:用于修改用户密码
groupadd/addgroup:添加用户组。
groupdel/delgroup:删除用户组。
3.5文件权限类
chmod:修改文件的读写属性
chown:用于修改文件的拥有者
chgrp:用于修改文件所属的用户组
3.6磁盘管理类
df:展示文件系统的一些信息:比如磁盘空间等等
du:汇总磁盘的空间使用情况
mount:将一些指定的硬件设备和网络设备挂载到指定的目录下面
umount:卸载。和上面对应。
3.7网络操作类
ifconfig:做一些网卡配置,指定IP地址,控制网卡的启动/停止
ping:检测网络中目前的链路是不是通的。
3.8控制终端类
clear:清屏终端
3.9开关机命令
reboot:系统重启
poweroff:关机(不重启)