Linux学习笔记
Linux目录结构
常见 | 解释 |
---|---|
bin | 二进制文件的缩写,存放最常用的命令 |
boot | 存放Linux启动时用的一些核心文件,包括一些连接文件以及镜像文件 |
dev | 存放Linux的外部设备,在Linux中访问设备的方式和访问文件是相同的 |
etc | 存放所有的系统管理所需要的配置文件和子目录 |
home | 用户的主目录,一般以用户名命名 |
root | 超级权限者的用户主目录 |
run | 临时文件系统,存储系统启动以来的信息。系统重启时应清空 |
sbin | 超级用户二进制文件,存放系统管理员使用的系统管理程序 |
tmp | 存放一些临时文件 |
usr | 类似windows下的program files目录,存放应用程序和文件 |
var | 变量的缩写,存放着经常修改不断扩充的东西。包括各种日志 |
lib | 存放系统基本动态连结共享库,类似windows里的dll文件 |
额外 | 解释 |
---|---|
lost + found | 一般为空,当系统非法关机后存放文件 |
media | 例如U盘、光驱等一些设备,识别后会挂载这里 |
mnt | 提供用户临时挂载别的文件系统、查看光驱里的内容 |
opt | 主机额外安装软件所摆放的目录,比如oracle数据库就可以放这儿 |
proc | 虚拟目录,映射系统内存。用来获取系统信息、内核运行状态 |
selinux | redhat特有目录,类似防火墙 |
srv | 存放一些服务启动后需要提取的数据 |
sys | Linux2.6内核新集成 |
谨慎 | 解释 |
---|---|
etc | 系统配置文件,修改可能导致系统不能启动 |
bin、sbin | 系统预设执行文件放置目录,如ls就是在/bin/ls目录下的 |
var | 非常重要的目录,存放各程序日志 |
文件属性命令
-
ll = ls -l:显示文件属性、所属用户和组
‘ drwxr-xr-x 2 root root 260 6月 6 15:09 dbjson ’- 第 1 位 'd' 属性
- d 目录
- - 文件
- l 链接文档
- b 块设备文件,装置文件里可供存储的接口设备(可随机存取装置)
- c 字符设备文件,装置文件里串行端口设备,如键鼠(一次性读取装置)
- 后 9 位 'rwx' 权限
- - 无对应权限
- r 可读
- w 可写
- x 可执行
- 第 2 列 '2' 一级子目录数
- 第 3 列 'root' 拥有者
- 第 4 列 'root' 所属组
- 第 5 列 '260' 文件大小(Byte)
- 第 6 列 '6月 6 15:09' 创建时间
- 第 7 列 'dbjson' 文件名
可编辑 ~/.bashrc 修改 #alias ll=’ls -l’ 生效快捷命令
- 第 1 位 'd' 属性
-
chown:修改所属用户与组
-
chown nginx dbjson
- ‘ drwxr-xr-x 2 nginx root 260 6月 6 15:09 dbjson ’
-
chown :nginx dbjson
- ‘ drwxr-xr-x 2 root nginx 260 6月 6 15:09 dbjson ’
-
chown nginx:nginx dbjson
- ‘ drwxr-xr-x 2 nginx nginx 260 6月 6 15:09 dbjson ’
-
chown -R nginx:nginx dbjson
-
将整个子目录改为对应权限
参数 说明 user 新拥有者ID group 新拥有者组 -c 显示更改的部分的信息 -f 忽略错误信息 -h 修复符号链接 -v 显示详细的处理信息 -R 处理指定目录及所有子目录
-
-
-
chmod:修改用户的权限
- chmod 755 dbjson
- chmod 755 -R dbjson/
- chmod +x dbjson 给所有用户组加一个x权限
1 2 3 4 5 6 7 --x -w- -wx r-- r-x rw- rwx
目录处理命令
命令 | 释义 |
---|---|
pwd | 显示目前的目录 |
rmdir | 删除一个空目录 |
mkdir [-p] | 递归创建目录 |
cp | 复制文件 |
rm [-rif] | 删除文件 |
-f | 不显示警告信息 |
-i | 互动模式删除,删除前会询问操作者动作 |
-r | 递归删除目录 |
mv | 移动文件 |
man | man [命令] 显示各个命令的使用文档 |
磁盘管理命令
命令 | 释义 |
---|---|
df | 列出文件系统的整体磁盘使用量 |
du | 检查磁盘空间使用量 |
fdisk | 用于磁盘分区 |
df [-ahikHTm] [目录或者文件名]
df -h
参数 | 释义 |
---|---|
-a | 列出所有文件系统,包含系统特有/proc等 |
-k | 以KBytes的容量显示各文件系统 |
-m | 以MBytes的容量显示各文件系统 |
-h | 以人们较易阅读的GBytes,Mbytes,KBytes等格式自行显示 |
-H | 以M=1000K取代M=1024K的进位方式 |
-T | 显示文件系统的类型,连同该partition的filesystem名称也列出 |
-i | 不用硬盘容量,而以inode的数量来显示 |
du [-chsSxd] [目录或文件名]
du -h /home/admin | sort --human-numeric-sort --reverse
参数 | 释义 |
---|---|
-c | 输出总计值 |
-h | 以友好格式显示尺寸 |
-s | 仅显示总计 |
-S | 不包括子目录的大小 |
-x | 跳过不同文件系统上的目录 |
-d | 仅统计目录数小于等于N的的总数 |
-exclude=PATTERN | 排除与PATTERN匹配的文件 |
du偏重于查看已使用的存储情况,df偏重于查看未使用的存储情况。
lsblk #查看磁盘分区情况命令
fdisk [-l] #输出后面接的装置所有的分区内容。
fsck #文件系统检查
其他常用命令
命令格式 | 释义 |
---|---|
cat [参数] [文件] | 正序看文件内容 |
cat 文件 > 文件 | > 覆写 >> 追加 |
tac [参数] [文件] | 倒序看文件内容 |
tail [参数] [文件] | 看文件末尾部分内容 |
ps [options] [--help] | 查看进程状态,类似任务管理器 |
ip [options] OBJECT | 网络配置工具,用于代替ifconfig命令 |
nohup Command [Arg ...][ &] | 挂后台运行命令,退出不影响运行 |
killall [选项] name | 杀死指定名称所有进程 |
head [参数] [文件] | 查看文件开头部分内容 |
grep | 用于查找文件里符合条件的字符串 |
top | 实时显示process动态 |
grep语法
grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
top语法
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
我的vi/vim补充
光标移动
命令 | 释义 |
---|---|
HOME/END | 移动到行首/行尾 |
Page Up/Page Down | 上/下翻页 |
H = shift + h | 移动到屏幕最上方那行第一个字符 |
M = shift + m | 移动到屏幕中央那行第一个字符 |
L = shift + l | 移动到屏幕最下方那行第一个字符 |
G = shift + g | 移动到文档的最后一行 |
gg | 移动到文档的第一行 |
nG | n为数字。移动到这个文档的第 n 行 |
n<Enter> | n为数字。向下移动 n 行 |
+ | 移动到非空格符的下一行 |
- | 移动到非空格符的上一行 |
搜索替换
命令 | 释义 |
---|---|
/word | 光标之下寻找名为word的字符串 |
?word | 光标之上寻找名为word的字符串 |
n | 按键n,执行前一个搜寻动作 |
N | 只想前一个搜寻动作反向动作 |
:n1,n2s/word1/word2/g | 将n1~n2行之间的word1替换为word2 |
:%s/word1/word2/g | 将文本内word1全部替换为word2 |
:%s/word1/word2/gc | 取代前询问用户是否需要取代 |
复制剪切
命令 | 释义 |
---|---|
[n]x,X | x向后删[n],X向前删 |
[n]dd | 剪切光标所在[n]行 |
[n]yy | 复制光标所在[n]行 |
yG | 复制所在行到最后一行全部内容 |
y1G | 复制第一行到所在行全部内容 |
y0 | 复制行首到光标 |
y$ | 复制光标到行位 |
p,P | p向下粘贴,P向上粘贴 |
J | 将光标所在行与下一行数据结合成同一行 |
c | 重复删除多个数据,例如向下删除10行,[10cj] |
u | ctrl + z 复原前一个动作 |
[Ctrl] + r | ctrl + y 重做上一个动作 |
. | 重复上一个动作 |
命令行拓展
命令 | 释义 |
---|---|
:w [filename] | 另存为 |
:r [fliename] | 在光标后追加 [filename] 文件内容 |
:n1,n2 w [filename] | 将 n1~n2 内容另存为 |
:! command | 暂时离开文档,执行 command 命令 |
环境变更
命令 | 释义 |
---|---|
:set nu | 显示行号 |
:set nonu | 取消行号 |
yum命令
yum提供了查找、安装、删除某一个、一组甚至全部软件包的全部,而且命令简洁又好记。是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
yum语法
yum [options] [command] [package ...]
+ options:-h(帮助)、-y(安装过程提示选择全部为“yes”)、-q(不显示安装的过程)等等。
+ command:要进行的操作。
+ package:安装的包名。
常用命令 | 释义 |
---|---|
yum check -update | 列出所有可更新的软件清单命令 |
yum update | 更新所有软件命令 |
yum install <package_name> | 仅安装指定的软件命令 |
yum update <package_name> | 仅更新指定的软件命令 |
yum lisk | 列出所有可安装的软件清单命令 |
yum remove <package_name> | 删除软件包命令 |
yum search <keyword> | 查找软件包命令 |
yum clean packages | 清除缓存目录下的软件包 |
yum clean headers | 清除缓存目录下的headers |
yum clean oldheaders | 清除缓存目录下旧的headers |
yum clean , yum clean all | 清除缓存目录下的软件包及旧的headers |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话