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 |

浙公网安备 33010602011771号