认识目录及常用指(命)令
1.备份:
快照(还原精灵):短期备份 频繁备份 可关可开。可能会影响系统的操作。
备份时:虚拟机——快照
还原时:虚拟机——快照——快照管理器——相应位置——转到
克隆:长期备份 必须关闭。
先关机——右键需要克隆的虚拟机——管理克隆——创建完整克隆
2.目录结构:
Linux系统的根目录是 /
当前用户的家目录"~"
Bin:基础命令,存储一些二进制文件,都可执行
Dev:存放外接设备,需要挂载(分配盘符)
Etc:存储一些配置文件
Home:除了root用户以外其他用户的家目录
Proc:运行时的进程
root:root用户的家目录
sbin:存储必须的有super权限用户的二进制文件
tmp:运行时产生的临时文件,不用自己去删
usr:存放用户自己安装的软件
var:存放程序或系统的日志文件的目录
mnt:外接设备挂载在此
3.基础指令
#指令主体 [选项] [操作对象]
指令可以包含多个选项 操作对象也可以是多个
eg:一个指令:需要小王去买一瓶怡宝水和一包洁柔纸
指令主体:买东西
操作对象:水和纸
选 项:怡宝和洁柔
A. ls(list)指令:
用法:
a. #ls:列出当前工作目录下的所有文件或文件夹的名称
b. #ls 路径:列出指定路径下的所有文件或文件夹的名称
路径:
相对路径:参照物(当前的工作路径) 写法:./ [当前目录下] ../ [上一级目录下]
绝对路径:从根开始(根目录是 /)
c. #ls 选项 路径:列出指定路径下的所有文件或文件夹的名称,并以指定的格式显示
#ls -l 路径:表示list,以详细列表的形式进行展示
#ls -la 路径:表示显示所有的文件及文件夹,包含隐藏文件
#ls -lh 路径:表示以列表的形式并且在显示文档大小的时候以可读性较高的形式进行展示
列表中的第一列字符表示文档的类型,其中"-"表示该行对应的文件类型为文件,"d"表示该行对应的文件类型为文件夹,以"."开头表示隐藏文档
B. pw指令:
用法:#pwd 表示:打印当前工作目录(查看当前工作的路径)
C. cd指令:
用法:#cd 路径 表示:改变目录(切换当前工作的路径)
"~" 当前用户的家目录 切换方式:#cd ~
D. mkdir指令:
用法:
#mkdir 路径 表示:创建目录(可以是文件夹名称或完整路径)
#mkdir -p 路径 表示:创建多层不存在的目录
#mkdir 路径1 路径2 路径3... 表示:创建多层不存在的目录
E. touch指令:
#touch 路径 表示:创建文件(可以是文件名或路径)
#touch 路径1 路径2 路径3... 表示:创建多个不存在的文件
F. cp指令:
#cp 被复制的文档路径 文档被复制到的路径 (复制文件到指定位置)
在复制文件过程中是可以重新对新位置的文件进行重名的,建议保持一致
#cp -r 被复制的文档路径 文档被复制到的路径 (复制文件夹到指定位置)
-r 表示递归复制,否则目录将被忽略
G. mv指令
#mv 需要移动的文档路径 需要保存的位置路径 (移动文档到新的位置或者是重命名)
H. rm指令
#rm 选项 需要移除的文档路径 (删除文档)
#rm 选项 X*(*为通配符) (删除公共特性文档)
不带选项,会提示确认是否删除,需要输入Y,不需要输入N
选项:
-f:不需确认,直接删除
-rf:删除目录,不需确认(-r递归)
I. vim指令 文本编辑器
#vim 文件路径 (打开一个文件)
退出:shift + : 输入q
J. 输出重定向
作用:保存文件的一些命令的执行结果后续进行分析统计
用法:#正常执行的指令 >/>> 文件的路径
>:覆盖输出,覆盖原始的文件内容
>>:追加输出,不会覆盖,会在原始的文件末尾继续添加
K. cat指令
#cat 文件的路径 (打开文件)
#cat 待合并的文件路径1 待合并的文件路径2 ... 待合并的文件路径n > 合并之后的文件路径 (合并文件)
4.进阶指令
A. df指令
#df -h (查看磁盘空间)
B. free指令
#free -m(以mb进行查看) (查看内存的使用)
C. head指令
#head -n 文件路径 (查看文件的前n行)不输n默认前10行
D. tail指令
#tail -n 文件路径 (查看文件的尾n行)不输n默认尾10行
#tail -f 文件路径 (查看文件的动态变化)用于查看系统的日志
E. less指令
#less 需要查看的文件路径 (以较少的内容输出文件内容,辅助功能键[数字,空格,上下]查看更多)
F. wc指令
#wc -l/w/c 需要统计的文件路径(统计文件内容信息[l 行数,w单词数,c字节数])
G. date指令
#date (显示时间日期星期)
#date +%F (显示年月日)
#date "+%F %T" (显示年月日时间)
#date -d “-1 day”"+%F %T" (显示之前[-]或之后[+]的某个时间)适用于备份
H. cal指令
#cal (显示当前月份日历)
#cal -3 (显示本月,上月,下月的日历)
#cal -y 年份 (显示某年的全部日历)
I. clear = ctrl +L 指令
#clear (清除终端已存在的命令和结果)并不是真正的清除,隐藏到最上面
J. 管道
管道符:| 不能单独使用,用于辅助
作用:
过滤 :ls /|grep y 过滤出根目录下带y字母的文档
以管道为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出
也就是说管道前面的输出就是后面指令的输入
grep指令主要用于过滤
特殊:cat 路径|less 实现less的等价效果
扩展处理:ls /| wc -l 统计某个目录下的文档总个数
5.高级指令
A. hosthome指令
作用:操作服务器的主机名(读取、设置)
用法:#hostname (输出完整的主机名)
#hostname -f (输出当前主机名中的全限定域名)
B. id指令
作用:查看一个用户的基本信息,不指定用户默认当前用户
用法:#id (默认当前用户的基本信息)
#id 用户名 (显示指定用户的基本信息)
验证:
验证用户信息:通过文件/etc/passwd
验证用户组信息:通过文件/etc/group
C. whoami指令
作用:显示当前登录的用户名
用法:#whoami 一般用于shell脚本,用于获取当前操作的用户名方便记录日志
D. ps -ef指令
作用:用于查看当前服务器的进程信息
用法:-e (列出全部的进程,等价于-A)
-f (显示全部的列)
过滤:#ps -ef|grep 进程名称 (查看指定的进程信息)
UID:该进程执行的用户id
PID:进程id
PPID:该进程的父级进程id,如果一个程序的 父级进程找不到,该程序的进程称为僵尸进程
C:cpu的占用率,其形式为百分数
STIME:进行的启动时间
TTY:终端设备,发起该进程的设备识别符,如果显示?表示该进程不是由终端设备发起
CMD:该进程的名称或者对应的路径
E. top指令
作用:查看服务器的进程占的资源
用法:#top (动态显示)按q退出
在运行top的时候,可以按快捷键
M:表示将结果按照内存从高到低进行降序排列
P:表示将结果按照CPU使用率从高到低进行降序排列
1:当服务器拥有多个cpu的时候,可以显示各个的详细信息
PID:进程id
USER:该进程对应的用户
PR:优先级
NI:用户进程空间内改变过优先级的进程占用CPU百分比
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存
S:表示进程的状态,S表示睡眠,R表示运行
%CPU:CPU占用百分比
%MEM:内存占用百分比
TIME+:执行的时间
COMMAND:进程的名称或路径
F. du -sh指令
作用:查看目录的真实大小
用法:#du -sh 路径
-s:只显示汇总的大小
-h:较高可读性的形式进行显示
G. find指令
作用:用于查找文件
用法:#find 路径范围 选项 选项的值
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档类型进行搜索
文档类型:“-”表示文件(查找用“f”替换),“d”表示文件夹
H. service指令
作用:控制一些软件的服务启动、停止、重启
用法:#service 服务名 start/stop/restart
eg:需要启动本机安装的Apache(网站服务器软件),其服务名为httpd
#service httpd start
I. kill指令
作用:表示杀死进程 用于僵尸进程
用法:#kill 进程PID 配合ps一起使用
killall 进程名称 停止进程
J. ifconfig指令
作用:用于操作网卡相关的指令
用法:#ifconfig 获取网卡信息
eth0(名称)表示Linux的一个网卡,lo(本地回还网卡),一般都是127.0.0.1
inet addr就是网卡的ip地址
K. reboot指令
作用:重新启动
用法:#reboot 重启
#reboot -w 模拟重启,但不重启(只写开关机日志,用于测试)
L. shutdown指令
作用:关机 等价于init 0 或halt或poweroff
用法:#shutdown -h now 立即关机
#shutdown -h 20:00“系统将在20:00关机” 定时关机
M. uptime指令
作用:输出计算机的持续在线时间(开机到现在运行的时间)
用法:#uptime
N. uname指令
作用:获取计算机操作系统相关信息
用法:#uname 获取操作系统的类型
#uname -a 获取全部的系统信息
O. netstat -tnlp指令
作用:查看网络的连接状态
用法:#netstat -tnlp
-t:只列出tcp协议的连接
-n:将地址从字母组合转化成ip地址,将协议转化成端口号来显示
-l:过滤出state列中其值为LISTEN(监听)的连接
-p:显示发起连接的进程pid和进程名称
P. man指令
作用:手册
用法:man 命令 退出按q
7.Linux命令练习题
- 如何通过命令行重启Linux操作系统? reboot
- 如何在命令行中快速删除光标前/后的内容? ctrl + u / ctrl + k
- 如何删除/temp下所有A开头的文件? rm -f /temp/A*
- 如何把/etc/passwd备份到/tep目录下? cp /etc/passwd /tep
- 如何查看系统最后创建的3个用户? tail -3 /etc/passwd
- 如何统计当前系统中一共有多少账户?
wc -l /etc/passwd - 如何创建/tmp/test.conf文件? touch /tmp/test.conf
- 如何查看/etc/passwd的头三行和尾三行? head(tail) -3 /tmp/test.conf
- 如何通过vim编辑打开/tmp/test.conf? vim /tmp/test.conf
10. 如何一次性创建目录/text/1/2/3/4? mkdir -p /text/1/2/3/4
11. 如何最快的返回到当前账户的家目录?
cd ~
12. 如何查看/etc所占的磁盘空间? du -sh /etc
13. 如何删除/tep下的所有文件? rm -rf /tmp/*
14. 尝试启动Apache的服务,并且检查是否启动成功? service httpd
start ps -ef|grep httpd
15. 如何杀死Apache进程? Killall httpd