文件系统
Linux一切皆文件
目录结构
🟢bin
全称Binary,意为二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。
🟢dev
该目录中主要存放外接设备,如U盘、光盘等。在其中的外接设备不能直接使用,需要先挂载(类似Windows系统下的分配盘符)。
🟢etc
该目录主要存放一些配置文件
🟢home
表示除了root用户以外其他用户的家目录(类似于Windows系统下的User/用户目录)。
🟢proc
process,进程目录。该目录中存储的是Linux运行时候的进程。
🟢root
root用户的家目录
🟢sbin
Super Binary,该目录也存放可以被执行的二进制文件,但是只有拥有super权限的用户才能运行。
🟢tmp
该目录主要存放系统运行时产生的临时文件
🟢usr
该目录主要存放用户自己安装的软件
🟢var
该目录存放程序/系统的日志文件
🟢mnt
当外界设备需要挂载时,将其挂载至该目录下
Linux基本指令
Linux终端中输入的内容就是 指令
指令主体 [选项][操作对象]
👆上面为Linux下的标准指令格式,一个指令可以有多个选项和操作对象,但是只能有一个指令主体。
1.基础指令
1.ls 指令
ls #list:列出当前目录下的所有文件/文件夹的名称
蓝色:文件夹浅蓝:快捷方式(link类型,指向原始文件路径)
深绿:拥有所有权限
黑色:文件
ls 路径 #列出指定目录下的所有文件/文件夹的名称
路径分为相对路径与绝对路径
相对路径:需要参照物(一般为当前目录)
./:当前目录下../:上一级目录下
绝对路径:不需要参照物,直接从根目录"/."开始寻找对应路径
/:根目录下
ls -l 路径 #-l 以详细列表的显示
ls -la 路径 #-a 显示隐藏文件
ls -lh 路径 #-h 以可读性较高的方式显示
查询所得列表中,第一列代表文档类型, -为 文件, d为 文件夹, I为 软连接。
2.pwd 指令
pwd #print working directory:打印当前工作目录
3.cd 命令
cd 路径 #change directory:改变目录
4.mkdir 指令
mkdir 路径 #make directory:创建目录
mkdir -p 路径 #-p 实现直接创建多级目录
5.touch 指令
touch 路径 #创建文件
6.cp 命令
cp 复制路径 目标路径 #copy:复制文件到指定位置,可以更改文件名字
cp -r 复制路径 目标路径 #-r 递归
7.mv 指令
mv 移动路径 目标路径 #move:移动文件到指定位置,可以更改文件名字
mv -r 复制路径 目标路径 #-r 递归
8.rm 命令
rm 移除路径 #remove:删除指定路径的文件,需要输入确认指令
rm -f 移除路径 #-f 强制(force),删除时不需要确认
rm -r 移除路径 #-r 递归删除整个文件夹
9.vim 命令
vim 文件路径 #在文件窗口打开一个文件(可以不存在)
输入:q以退出文件
10.输出重定向
将命令行中输出的结果保存到文件中
原始命令 > 保存路径 #覆盖输出
原始命令 >> 保存路径 #追加输出
11.cat 指令
cat 文件路径 #在命令行中打开一个文件
cat 文件路径1 文件路径2 ... > 新文件路径 #合并文件
2.进阶指令
1.df 指令
df -h #查看磁盘空间,-h 以更高的可读性显示
2.free 指令
free -m/g #查看内存使用情况,m为mb,g为gb
3.head 指令
head -n 文件路径 #查看文件的前n行,默认为10
4.tail 指令
tail -n 文件路径 #查看文件的后n行,默认为10
tail -f 文件路径 #查看文件的动态变化(不能是用户手动添加的)
5.less 指令
less 文件路径 #查看文件,以较少的内容输出,按下辅助键以获取更多信息
空格键:翻页
6.wc 指令
wc -l 文件路径 #统计文件内容信息,-l行数,-w单词数(按空格区分),-c字节数
7.date 指令
输出时间,关于date指令详情可以 点击此处查看
date #年 月 日 星期 hh:mm:ss
date +%F #yyyy-mm-dd
date +%F\ %T #yyyy-mm-dd hh:mm:ss
date "+%Y-%m-%d %H:%M:%S" #yyyy-mm-dd hh:mm:ss
date -d "-/+1 day" "+%F %T" #获取之前/之后的某个时间
8.cal 指令
cal -1/3 #1:输出当前月份的日历 3:输出上月本月下月的日历
cal -y 年份 #输出指定年份的日历
9.clear 指令
clear #清屏,与ctrl + L同效
10.管道
🔵管道符:|
🔹过滤
ls /|grep y #查询出根目录下所有包含y的文档
以管道作为分界线,前面命令的输出作为后面命令的输入grap:过滤指令
🔹特殊用法(了解)
cat 文件路径|less #帮助理解管道,效果等同于less
🔹扩展处理
ls | wc -l #统计目录下文档个数
3.高级指令
1.hostname 指令
hostname #输出完整主机名
hostname -f
#输出当前主机名中的FQDN(Fully Qualified Domain Name,全限定域名)
2.id 指令
id #查看用户基本信息(用户id,用户组id,附加组id)
id 用户名 #显示指定用户的基本信息
3.whoami 指令
whoami #显示当前登录用户的用户名
4.ps -ef 指令📋
ps -ef
#查看服务器的进程信息 -e:等价于-A,列出全部的进程 -f:显示全字段(全列)
标题 | 含义 |
---|---|
UID | 用户ID |
PID | 进程ID |
PPID | 该进程的父级ID |
C | CPU占用率 |
STIME | 进程的启动时间 |
TTY | 发起该进程的终端设备识别号 |
TIME | 进程的执行时间 |
CMD | 进程的名称或路径 |
如果一个进程没有PPID,被称为僵尸进程TTY为?时表示该进程不是由终端设备发起的
5.top指令📋
top #查看服务器的进程所占用的资源(动态显示)
标题 | 含义 |
---|---|
USER | 用户 |
PR | 优先级 |
VIRT | 虚拟内存 |
RES | 常驻内存 |
SHR | 共享内存 |
S/R/I | 休眠/运行 |
快捷键:M:按照内存使用率从高到低排序
P:按照CPU使用率从高到低排序
1:切换显示各个cpu的详细信息
Q:退出
6.du -sh 指令
du -sh #查看目录真实大小 -s:只显示汇总大小
7.find 指令
find 路径 选项 选项值 #查找文件
find 路径 -name * #按名称搜索(支持模糊搜索)
find 路径 -type -/f/d #按类型搜索,-/f(使用find时)表示文件,d表示文件夹
8.service 指令
service 服务名 start/stop/start #控制一些软件服务的启动/停止/重启
9.kill 指令
kill 进程PID #结束进程,需要配合ps指令查询PID
killall 进程名称 #结束进程
10.ifconfig 指令
ifconfig #获取网卡信息
inet addr就是网卡的ipv4地址
11.reboot 指令
reboot #重启系统
reboot -w #模拟重启(记录关机开机日志)
12.shutdown 指令
shutdown -h now #立即关机
shutdown -h hh:mm "通知信息" #指定时间关机
hutdown -c #取消关机
#其他的关机命令
init 0
halt
poweroff
13.uptime 命令
uptime #系统运行时间 登陆用户数 负载
14.uname 命令
uname #获取操作系统类型
uname -a #-a:获取全部的系统信息
15.netstat -tnlp 指令
netstat -tnlp
#查看网络连接状态
#-t:只列出tcp协议的连接
#-n:地址转换为ip地址,协议转换为端口号
#-l:过滤出state列中值为LISTEN(监听)的连接
#-p:显示发起连接的进程PID和进程名称
16.man 指令
man #manual,帮助手册
17.lsblk 指令
lsblk #加载块状设备 mountpoint:挂载点(类似盘符)
mount 原始地址 挂载路径 #原始地址都在/dev下,挂载目录一般在/mnt下
umount 挂载路径 #解除挂载