Linux目录结构和指令

在小破站进行了对Linux系统的学习之后,我决定对所学进行整理... ...

放一下该视频的链接:

https://www.bilibili.com/video/BV1nW411L7xm?p=22&vd_source=f49fe5a897c058de3e50c91c192b0615

(如果单纯想看了解Linux系统目录结构与指令的话,建议看P22-P37)

目录:

一、目录结构

二、指令

(1)基础指令

  1. ls

  1. pwd

  1. cd

  1. mkdir

  1. touch

  1. cp

  1. mv

  1. rm

  1. vim

  1. 输出重定向

  1. cat

(2)进阶指令

  1. df

  1. free

  1. head

  1. tail

  1. less

  1. wc

  1. date

  1. cal

  1. clear/ctrl+L

  1. 管道

(3)高级指令

  1. hostname

  1. id

  1. whoami

  1. ps -ef

  1. top

  1. du -sh

  1. find

  1. service

  1. kill

  1. ifconfig

  1. reboot

  1. shutdown

  1. uptime

  1. uname

  1. netstat -tnlp

  1. man


目录结构

目录结构包括Bin、Dev、Etc、Home、Proc、Root、Sbin、Tmp、Usr、Var、Mnt,其中比较重要的有Dev、Etc、Home、Root、Mnt。接下来对这些目录进行一些解释。

Dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。

在其中的外接设备是不能直接被使用的,需要挂载(类似Windows下的分配盘符,如图所示)

Etc:该目录主要存储一些配置文件。

Home:表示“家”,表示除了root用户以外的其他用户的家目录。

类似于Windows下的User/用户目录。

Root:root用户自己的家的目录。

Mnt:当外接设备需要挂载的时候,就需挂载到Mnt目录下。

Bin:全称Binary,含义是二进制。

该目录中存储的是一些二进制文件。文件都是可以被运行的。

Proc:Process,表示进程。

该目录中存储的是Linux运行时的进程。

Sbin:全称Super Binary,存储一些二进制文件,

但必须得有super权限的用户才能执行。

Tmp:“临时”。当系统运行的时候产生的临时文件会存在这个目录。

Usr:存放用户自己安装的软件。类似Windows下的Program Files。

Var:存放的程序/系统的日志文件的目录。


指令

基础指令

  1. ls指令

含义:list(列表)

语法:

  1. #ls 列出当前工作目录下的所有文件/文件夹的名称

  1. #ls 路径 列出指定目录下的所有文件/文件夹的名称

  1. #ls 选项 路径 列出指定目录下的所有文件/文件夹的名称,并以指定格式显示

选项:

-l 以列表形式详细展示

-la 显示所有文件/文件夹(包含隐藏文件/文件夹(以“.”开头))

-lh 列出指定目录下的所有文件/文件夹的名称并在显示文档大小时以可读性较高的形式显示

ps:ls列出的结果颜色说明:蓝色-->文件夹 青色-->链接文件

黑色-->文件 绿色背景-->其权限为拥有所有权限 绿色文字-->可执行

ps:第一列字符表示文档的类型。“-”对应的是文件,“d”对应的是文件夹,“l”对应链接,“b”对应设备,“c”对应字符设备文件

  1. pwd指令

含义:print working directory(打印当前工作目录)

语法:#pwd

  1. cd指令

含义:change directory(改变目录,切换当前工作目录)

语法:#cd 路径

ps:有个特殊符号“~”,表示当前用户的家目录

  1. mkdir指令

含义:make directory(创建目录)

语法:

  1. #mkdir 路径

  1. #madir -p 路径 一次性创建多层不存在的目录时添加-p参数,否则会报错

  1. #mkdir 路径1 路径2 路径3 一次性创建多个目录

  1. touch指令

含义:创建文件

语法:

  1. #touch 文件路径

  1. #touch 文件路径1 文件路径2 文件路径3

  1. cp指令

含义:copy(复制文件/文件夹到指定位置)

语法:#cp 被复制的文档路径 文档被复制到的路径

ps:复制过程中可以重命名,但不建议这样做。

ps:复制文件夹时需添加选项“-r”,否则目录将被忽略(“-r”表示递归复制)

  1. mv指令

含义:move(移动、剪切,移动文档到新的位置)

语法:

  1. #mv 需移动的文档路径 需保存的路径(可不加文档名)

ps:不用加“-r”

  1. #mv 文档路径 新文档名(路径)(重命名)

  1. rm指令

含义:remove(移除/删除一个文档)

语法:#rm 选项 需移除的文档路径

选项:

-f 在删除时不想频繁确认可添加“-f”(force)

-r 删除文件夹时 递归 一般使用“-rf”

ps:可以同时删除多个文档,空格间隔就好

举个例子:删除以linux开头的文件

rm -rf linux*

ps:*是通配符,表示任意字符

  1. vim指令

含义:一款文本编辑器

语法:#vim 文件路径 打开一个文件(该文件可以存在也可以不存在)

ps:如果想要退出,需要按下shift+“:”,再按下q,回车 即可

  1. 输出重定向

含义:有时需将一些命令的执行结果保存到文件中进行后续分析/统计,而不再终端中输出。

>:覆盖输出

>>:追加输出(在原始内容末尾继续添加)

语法:#正常执行的指令 >/>> 文件路径 (文件可以不存在,不存在则新建)

  1. cat指令

语法:

  1. #cat 文件路径

直接打开一个文件

  1. #cat 待合并文件路径1 待合并文件路径2 待合并文件路径3

可以对文件进行合并,配合输出重定向


进阶指令

  1. df指令

作用:查看磁盘空间

语法:#df -h

ps:“-h”表示可以以较高可读性的形式展示

  1. free指令

作用:查看内存使用情况

语法:#free -m/-g

ps:“-m/-g”表示以mb、gb为单位显示大小

  1. head指令

作用:查看一个文件的前n行。如果不指定n则默认显示前10行

语法:

  1. #head -n 文件路径

  1. #head -c 文件路径

作用:查看字节(一般不用)

  1. tail指令

作用1:查看一个文件的末n行。如果不指定n则默认显示末10行

语法1:#tail -n 文件路径

作用2:查看文件的动态变化,一般用于查看系统的日志

ps:变化的内容不能是用户手动加的

语法2:#tail -f 文件路径

  1. less指令

作用:查看文件,以较少内容进行输出,按下辅助功能键查看更多

辅助功能键:数字+回车、空格+上下方向

语法:#less 文件路径

  1. wc指令

作用:统计文件内容信息(包括行数、单词数、字节数)

语法:#wc (-lwc) 文件路径

-l:表示lines,行数

-w:表示words,单词数

-c:表示bytes,字节数

  1. date指令

作用:操作时间日期(读取、设置)(主要是读取)

语法:

  1. #date

  1. #date +%F

等价于#date "+%Y-%m-%d"

  1. #date "+%F %T"

等价于#date "+%Y-%m-%d %H:%M:%S"

  1. #date -d "-1 day" "+%Y-%m-%d %H:%M:%S" (格式可以自行设置)

作用:获取之前或之后的某个时间

ps:单位可选:day、month、year

  1. cal指令

作用:操作日历

语法:

  1. #cal 直接输出当前月份的日历

等价于#cal -l

  1. #cal -3 输出上个月、本月、下个月的日历

  1. #cal -y 年份 输出某一年份的日历

  1. clear/ctrl+L

作用:上移cmd中已经存在的命令和结果(信息)

ps:实质上是上移信息,并不是真的清除(如图可知)

语法:clear/快捷键ctrl+L

  1. 管道

管道符:|(回车键上方)

ps:不能单独使用,必须配合前面的指令一起使用。主要是辅助作用

作用1:“过滤”

语法1:#ls / | grep y (过滤出含y的文档名称)

作用2:扩展处理

语法2:#ls / | wc -l(建议)

#ls / | wc -w(谨防文件名存在空格...)

作用3:特殊处理——实现less的等价效果(了解即可)

语法3:#cat 路径 | less


高级指令

  1. hostname指令

作用:操作服务器的主机名(读取、设置)(设置了解即可)

语法:

  1. #hostname 输出完整主机名

  1. #hostname -f 输出当前主机中的FQDN(全限定域名)

  1. id指令

作用:查看一个用户的一些基本信息(包括用户id、用户组id、附加组id)

语法:

  1. #id 默认显示当前执行该命令的用户的基本信息

  1. #id 用户名 显示指定用户的基本信息

如何验证上述信息是否正确?结合cat

  1. 验证用户信息:通过文件/etc/passwd

  1. 验证用户组信息:通过文件/etc/group

  1. whoami指令

作用:显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名记录日志

语法:#whoami

  1. ps -ef指令

作用:查看服务器的进程信息

选项含义:

-e:等价于“-A”,表示列出全部的进程

-f:显示全部的列(显示全字段)

语法:#ps -ef

执行结果:

列的含义:

UID:该进程执行的用户id

PID:进程id

PPID:该进程的父级进程

ps:如果一个程序的父进程找不到,该程序的进程称之为僵尸进程。

C:CPU的占用率(以百分比的形式展示)

STIME:进行的启动时间

TTY:终端设备(发起该进程的设备识别符号)

ps:如果显示“?”则表示该进程并不是由终端发起

TIME:进程的执行时间

CMD:该进程的名称或者对应的路径

  1. top指令

作用:查看服务器的进程占的资源

语法:

进入命令:#top 动态显示

退出命令:按下q键

运行top时,可按下快捷键:

M:将结果按MEM(内存)从高到低进行降序排序

P:将结果按CPU使用率从高到低进行降序排序

(数字)1:展开显示各个CPU的详细信息

表头含义:

PID:进程id

USER:该进程对应的用户

PR:优先级

VIRT:虚拟内存

RES:常驻内存

SHR:共享内存

ps:计算一个进程实际使用的内存=常驻内存(RES)-共享内存(SHR)

S:表示进行的状态(S表示睡眠,R表示运行)

%CPU:CPU的占用百分比

%MEM:内存的占用百分比

TIME+:执行的时间

COMMAND:进程的名称或路径

  1. du -sh指令

作用:查看目录的真实大小

选项含义:

-s:summaries,只显示汇总的大小

-h:表示以较高可读性的形式进行显示

语法:#du -sh 路径

  1. find指令

作用:用于查找文件(参数有55个之多)

选项:

-name 按文档名称进行搜索(支持模糊搜索)

-type 按文档类型进行搜索

语法:#find 路径范围 选项 值

  1. service指令

作用:用于控制一些软件的服务启动/停止/重启

语法:#service 服务名 start/stop/restart

  1. kill指令

作用:杀死进程(当遇到僵尸进程或出于某种原因需关闭进程时)

语法:#kill 进程PID (语法需配合ps一起使用)

与kill指令作用相似但比kill更好用的杀死进程命令:killall

语法:#killall 进程名称

  1. ifconfig指令

作用:用于操作网卡相关的指令

语法:#ifconfig (获取网卡信息)

ps:inet addr就是网卡的ip地址

  1. reboot指令

作用:重新启动计算机

语法:

  1. #reboot

作用:重启

  1. #reboot -w

作用:模拟重启但不重启(只写关/开机的日志信息)

  1. shutdown指令

作用:关机(慎用!

语法:

  1. #shutdown -h now

  1. #shutdown -h 15:25

若想取消关机计划:#shutdown -c

以下还有几个关机命令:

  1. #init 0

  1. #halt

  1. #poweroff

  1. uptime指令

作用:输出计算机的持续在线时间(计算机从开机到现在的运行时间)

语法:#uptime

  1. uname指令

作用:获取计算机操作系统相关信息

语法:

  1. #uname 获取操作系统的类型

  1. #uname -a 获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

  1. netstat -tnlp指令

作用:查看网络连接状态

选项含义:

-t:表示只列出tcp协议的连接

-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示

-l:表示过滤出“state(状态)”列中其值为LISTEN的连接

-p:表示显示发起连接的进程pid和进程名称

语法:#netstat -tnlp

  1. man指令

作用:manual,手册(包含了linux中全部命令的手册,英文)

语法:#man 命令 (退出按下q键)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值