Linux基础
2020-08-02 16:35:32 42 举报
AI智能生成
Linux基础
作者其他创作
大纲/内容
磁盘存储结构
常见目录
物理设备的命名规则
主分区或扩展分区的编号从 1 开始,到 4 结束;
逻辑分区从编号 5 开始
VIM
命令模式
{n}dd 剪切光标所在的n行
{n}yy 复制光标所在的n行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 粘贴
末行模式
:wq! 强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:[命令] 执行该命令
:[整数] 跳转到该行
?[字符串] 在文本中从下至上搜索该字符串
/[字符串] 在文本中从上至下搜索该字符串
:s/one/two 将当前光标所在行的第一个 one 替换成 two
:s/one/two/g 将当前光标所在行的所有 one 替换成 two
:%s/one/two/g 将全文中的所有 one 替换成 two
输入模式
a
i
o
Docker
Docker启动
systemctl start docker
镜像操作
docker search [name]
docker pull [name]
docker images
docker rmi [image-id]
容器操作
启动
docker run {--name [name]} {-d} {-t} [name] [image-name]
docker start [容器id]
列表
docker ps -a
停止
docker stop [id]
删除
docker rm [id]
分支主题
端口映射
-p [机器]:[docker]
拷贝
docker cp [filename] [容器name]:[path]
进入
docker exec -it [name] /bin/bash
退出
exit
目录挂载
mysql
docker run -d --name=mysql -p 33066:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
Linux基础
shell
基本命令
系统工作指令
参考手册
man
输出
echo [字符串 | $变量]
显示、设置时间
date [选项] [+指定的格式]
网络下载
wget [下载地址]
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
进程相关
ps
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
top
pidof [服务名称]
kill [进程 PID]
系统状态检测指令
网卡配置与网络状态
ifconfig [网络设备]
系统内核与系统版本
uname [-a]
系统负载
uptime
内存的使用量
free -h
磁盘使用量
df -h
用户终端信息
who
登录记录
last
历史执行过的命令
history
工作目录指令
工作目录
pwd
切换工作路径
cd [目录名称]
..
-
~
~[username]
显示目录中的文件
ls [文件|文件夹]
-a 全部文件
-l 参数信息
-d 查看文件夹
ll
tree
文本文件编辑命令
查看内容
cat [文件]
-n 显示行号
more [文件]
enter 下一行
space 下一页
head -n [num] [文件]
tail -n [num] [文件]
-f 持续刷新
查看信息
stat [文件]
按列提取文本字符
cut [文本] -d[分隔符] -f[第几列]
比较
diff
文件目录管理命令
创建空文件、设置文件的时间
touch
创建目录
mkdir
-p 同时创建多层
复制文件
cp [源文件] [目标文件]
-a
dd if=[] of=[] bs=[] count=[]
剪切文件
mv [源文件] [目标路径|目标文件名]
删除文件或目录
rm
-f 不询问
-r 删除目录
查看文件类型
file
打包压缩与搜索命令
tar
-c 创建压缩文件
-x 解开压缩文件
-z 用 Gzip 压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-C 指定解压到的目录
grep [文件]
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择—仅列出没有“关键词”的行
find [查找路径] [寻找条件] [操作]
-name 匹配名称
-perm 匹配权限(mode 为完全匹配,-mode 为包含即可)
-exec [] {} \\;
重定向
输入重定向
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇见分界符才停止
命令 < 文件 1 > 文件 2 将文件 1 作为命令的标准输入并将标准输出到文件 2
输出重定向
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
管道命令符
身份与权限命令
用户身份与权限
查看
id [用户名]
添加
useradd [用户名]
-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为 YYYY-MM-DD.
-g 指定一个初始的用户基本组(必须已存在)
-N 不创建与用户同名的基本用户组
-u 指定该用户的默认 UID
groupadd [群组名]
修改
usermod [用户名]
-c 填写用户账户的备注信息
-d -m 重新指定用户的家目录并自动把旧的数据转移过去
-e 账户的到期时间,格式为 YYYY-MM-DD
-g 变更所属用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的 UID
passwd [用户名]
-l 锁定用户,禁止其登录
-u 解除锁定,允许用户登录
--stdin 允许通过标准输入修改用户密码
echo \"NewPassWord\" | passwd --stdin Username
-d 使该用户可用空密码登录系统
-e 强制用户在下次登录时修改密码
userdel [用户名]
-f 强制删除用户
-r 同时删除用户及用户家目录
文件权限与归属
文件分类
-:普通文件
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
特殊权限
SUID
让二进制程序的执行者临时拥有属主的权限
SGID
让二进制程序的执行者临时属主组的权限
SBIT
确保用户只能删除自己的文件
设置
文件或目录的权限
chmod [权限] [文件或目录名称]
-R 文件夹递归操作
文件或目录的所有者和所属组
chown [所有者:所属组] [文件或目录名称]
文件的隐藏属性
设置文件的隐藏权限
chattr [文件] [+参数]|[-参数]
i 无法对文件进行修改
若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S 文件内容在变更后立即同步到硬盘(sync)
s 彻底从硬盘中删除,不可恢复(用 0 填充原文件所在硬盘区域)
显示文件的隐藏权限
lsattr 文件
文件访问控制列表
管理文件的 ACL 规则
setfacl [文件名称]
-R 递归参数
-m 普通文件
-b 删除ACL
显示文件上设置的 ACL 信息
getfacl 文件名称
su
sudo
脚本
参数
$0 当前 Shell 脚本程序的名称
$# 总共有几个参数
$* 对应所有位置的参数值
$? 上一次命令的执行返回值
条件测试语句
文件测试语句
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取 -w 测试当前用户是否有权限写入 -x 测试当前用户是否有权限执行
逻辑测试语句
&&
||
!
整数值比较语句
-eq
-ne
-gt
-lt
-ge
-le
字符串比较语句
= 比较字符串内容是否相同
!= 比较字符串内容是否不同
-z 判断字符串内容是否为空
流程控制语句
if
if [] then{}elif[]{}else{}fi
for
for [] in []do{}done
while
while []do{}done
case
case [] in[]) do{}[]) do{}*) do{}
计划任务
at
crontab
0 条评论
回复 删除
下一页