shell是一个命令解释器,为我们提供了交互式的文本控制台界面,我们可以通过终端控制台来输入命令,由shell解释并交给linux内核执行。
Shell是一个解释器,Unix下的Bourne Shell命令解释器的加强版Bourne Again Shell ,bash shell是其中一个发行版解释器,还有debian下的dash,在bin目录下有很多sh的命令,要根据操作的类型去进行学习。
帮助命令:man
man 命令:查看命令的具体操作
man ls:查看ls的基本使用方法
还有一些基础功能的系统内置命令,例如cd exit 这些是随着shell直接加载到常驻系统内存的(使用help查看),其他的一些命令被称为外部命令。可以使用type 命令来判断是什么命令。显示是shell...就是内嵌命令,显示其他的就是外部命令。
外部命令也可以用“命令 --help”来看信息
常用命令:ctrl+c 停止进程
Ctrl+L 清屏
文件目录类
pwd:打印工作目录,显示当前所在的绝对路径
cd :切换路径
cd- :在两个路径之间跳转
ls :列举当前目录下的全部内容 -a 列举全部文件包括隐藏文件等等 -l 列举文件的属性权限 大小等
创建删除文件夹
mkdir a:创建文件夹名字是a
mkdir a b c :创建文件夹a 和b 和c
mkdir a a/b :创建文件夹a 在文件夹a下创建文件夹b
mkdir -p a/b :创建文件夹a 在文件夹a下创建文件夹b
rmdir a : 删除a文件夹 a为空文件夹
复制文件或文件夹
touch a : 创建一个文件
cp source dest :复制source到dest目录下
cp source dest/b :复制source文件到dest路径下的b文件 直接覆盖b文件
cp -r source dest :复制source文件夹到dest目录下
删除文件夹或目录
rm -f deleteFile:直接删除文件a
rm -rf a/ :删除文件夹a下的所有文件
rm -rf /* :删除根目录下所有的文件内容,不要尝试!!! 、、
mv 移动文件与目录或者重命名
mv /temp/movefile /target : 移动movefile文件到/target下
mv /temp/movefile /target/newmovefile :移动movefile文件到/target下 并重命名文件为newmovefile
mv name newName :重命名name变成newName
cat
cat 文件名字: 查看文件内容 适合查看文件内容不多的文件
cat -n 文件名字:查看文件内容并显示行号
more 文件内容分屏查看器
more 指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本的文件内容,指令中设置了若干快捷键
space 翻页
Enter 下一行
b 向前翻页
= 查看当前在第几行
less 用来分屏查看文件内容,功能与more类似但是比more更加强大,支持各种显示终端,在显示文本内容时并不是全部加载进来而是根据显示需要加载内容
Shift+G 到结尾
g :到开头
/关键字 :搜索 n 向下查找 N 向上查找
?关键字:搜索 n 向上查找 N 向下查找
q: 离开less
echo :输出内容到控制台
-e :支持反斜线控制的字符转换
输入输出重定向
ls -l > a.txt 列表的内容写入到a.txt中去(覆盖)
ls -al >> a.txt 列表的内容写入到a.txt中去(追加)
head 文件名 :显示文件前10行内容
head -n5 文件名 :显示文件前5行内容
tail 文件名 : 显示文件后10行内容
tail -n5 文件名 :显示文件后5行内容
tail -f 文件 :实时追踪该文档的所有更新 (ctrl+s暂停监控 ctrl+q恢复监控 ctrl+c结束监控)
ln :软链接,也称为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径
ln -s [原文件或目录] 软链接名
histoty :查看执行过的命令
histoty n :查看最近执行过的n条命令
histoty -c :清空历史命令
时间日期类
date :显示当前时间
date +%Y :显示当前年份
date +%m :显示当前月份
date +%d :显示当前是哪一天
date “+%Y-%m-%d:%H:%M:%S” :显示当前年月日时分秒
date +%s:显示时间戳(1970年到现在的秒数)
date -d ‘1 days ago’:一天前的时间
date -d ‘-1 days ago’:一天后的时间
date -s ‘时间’:设置系统当前的时间
ntpdate : 获取当前系统的正确时间
cal 查看日历
cal 年份:查看一年的日历
用户权限类
useradd 用户名:添加新用户
useradd -g 组名 用户名
passwd 用户名 :更改用户密码
可以通过“id 用户名”来查看用户是否创建成功
userdel -r 用户名:删除用户
cat /etc/passwd:查看创建了哪些用户
who:查看自己在哪个用户下
whoami:查看自己在哪个用户下
udo :设置普通用户具有root权限,在etc/sudoers里进行用户的添加
usermod -g 组名 用户名 :修改用户属于哪个组
userdel 用户名 :删除用户名
groupmod -n 新组名 原组名 :修改用户属于哪个组
groupdel 组名:删除组名
文件权限:
Linux是典型的多用户系统,不同的用户拥有不同的地位,文件的拥有权限也不一样。
ll 或者ls -l: 查看文件属性
-代表文件,d代表目录,l代表链接文档
chown 更改后用户 文件名:改变文件或者文件夹所有者
chown -R 更改的用户 文件名: 改变文件夹所有者
chgrp 更改后的用户组 文件或目录:改变所属组
搜索查找类:
find :将从指定的目录向下递归遍历其各个子目录,将满足条件的文件显示在终端
find [搜索范围] [选项] :搜索范围是文件夹 不指定默认从当前文件夹开始
例如:find /root -size +10M:找到root目录下10M以上的文件
locate :快速定位文件路径,利用事先建立的系统中所有的文件名称以及路径的locate数据库实现快速定位给定的文件,该指令无需遍历整个文件系统,查询速度快,为了确保查询结果的准确,管理员必须定期更新locate时刻。
locate 文件名字:快速搜索文件
该数据库是每天更新一次的,为了保证查找的准确性,第一次运行前,要更新,更新命令是:
updatedb
which 命令 :查找命令的路径
whereis 命令:查找命令的具体目录
grep 过滤查找以及“|”管道符
|:表示前一个命令的处理结果输出传递给后面的命令处理
grep 选项 查找内容 源文件
例如:ls grep -n test file.cfg :查找file文件里test在第几行出现过 然后显示出来
压缩解压类
gzip /gunzip
gzip 文件:压缩文件只压缩*.gz文件,
gunzip 文件.gz:解压缩文件命令
总结:只能压缩文件不能压缩目录,压缩文件不能保留原来的文件,同时压缩多个文件会产生多个压缩文件不会打包
zip/unzip
zip *.zip:file:压缩file文件为*.zip
zip -r *.zip:file:压缩file目录为*.zip
unzip -d<目录> *.zip:解压缩*.zip文件指定放到-d后的目录下
总结:可以保留原来的文件和目录,可以打包
tar 打包
tar [选项] XXX.tar.gz 将要打包进去的内容
打包且压缩:tar -zcvf file.tar.gz 1.txt 2 3.cfg:将1 2 3文件或者目录打包并压缩到file.tar.gz中
解包:tar -zxvf file.tar.gz -C /tmp :解压 file.tar.gz到/tmp
磁盘管理类
du (disk usage):磁盘占用情况
du 目录/文件:显示子文件的磁盘使用情况
df:查看磁盘空间的使用情况
df [选项] :列出文件系统的整体磁盘使用情况,检查文件系统的磁盘空间占用情况
选项:-h:以易于阅读的方式展示
lsblk -f:查看详细的设备挂载情况,显示文件系统信息
进程管理类
计算机中一个正在执行的程序或者命令被叫做进程
启动之后一直存在常驻的进程被叫做服务
分为前台显示进程和后台服务进程
ps :查看系统中的进程
ps aux|grep xxx :查看系统中的所有进程
ps -ef|grep xxx :查看子父进程之间的关系
ps aux详细信息:
想要查看进程的CPU占用率和内存占用率 可以使用aux
查看进程的父进程id 可以使用ef
kill:终止进程
kill [选项] 进程号:通过进程号杀死进程 (选项 :-g 强迫进程立即停止)
killall 进程名称:通过进程名称杀死进程
pstree:查看进程树
-p :显示进程的PID
-u :显示进程的所属用户
top:实时监控系统进程状态
top [选项]:
网络状态
netstat:显示网络状态和端口占用信息
netsat -anp | grep 进程号:查看该进程网络信息
netsat -nlp | grep 端口号:查看网络端口的占用情况
crontab:系统定时任务
crontab [选项]
重启crond服务:systemctl restart crond
然后设置定时任务
进入crontab编辑页面,会打开vim编辑定时任务:*****执行的任务
例如: