add some linux cmds

This commit is contained in:
shzhxh 2019-11-11 17:10:16 +08:00
parent 3380ba709c
commit 8410a97ba7
10 changed files with 301 additions and 96 deletions

View File

@ -51,7 +51,21 @@ $ # 变量参数
>> # 追加 >> # 追加
``` ```
#### 条件表达式
```
# 文件比较
-f文件存在, -d目录存在, -e,文件或目录存在,-s文件存在且非空, -r文件存在且可读, -w, -x
# 字符串比较
==, =, !=, < , >, -n字符串非空, -z字符串为空
# 数字比较
-eq, -ne, -lt, -le, -gt, -ge
# 逻辑运算
-a且-o或&&且, ||或
```
#### 条件控制 #### 条件控制

View File

@ -1,20 +0,0 @@
#### 条件表达式
```
# 文件比较
-f文件存在, -d目录存在, -e,文件或目录存在,-s文件存在且非空, -r文件存在且可读, -w, -x
# 字符串比较
==, =, !=, < , >, -n字符串非空, -z字符串为空
# 数字比较
-eq, -ne, -lt, -le, -gt, -ge
# 逻辑运算
-a且-o或&&且, ||或
```
#### 参考资料
1. [bash手册](http://www.gnu.org/software/bash/manual/bash.html)
2. `man bash`

17
Software/bash.md Normal file
View File

@ -0,0 +1,17 @@
```
bash [options] [cmd | file]
```
#### 选项
```
-e
-x
```
#### 参考资料
1. [bash手册](http://www.gnu.org/software/bash/manual/bash.html)
2. `man bash`

View File

@ -0,0 +1,4 @@
```
eval [args] # 把args作为shell命令来执行。与直接执行args不同的是eval会把args里的变量解析出来。
```

View File

@ -47,10 +47,7 @@ docker [--help|-v|--version]
``` ```
builder # Manage builds builder # Manage builds
config # Manage Docker configs
container # Manage containers
engine # Manage the docker engine engine # Manage the docker engine
image # Manage images
network # Manage networks network # Manage networks
node # Manage Swarm nodes node # Manage Swarm nodes
plugin # Manage plugins plugin # Manage plugins
@ -65,8 +62,115 @@ volume # Manage volumes
##### config
```
docker config <cmd> # 管理docker的配置
# 命令:
create # 创建配置
inspect # 显示配置信息
ls # 列出配置
rm # 删除配置
```
##### container
```
docker container <cmd> # 管理容器
# 命令
attach
commit
cp
create # 详见docker create
diff
exec
export
inspect
kill
logs
ls
pause
port
prune
rename
restart
rm
run
start
status
stop
top
unpause
update
wait
```
##### image
```
docker image <cmd> # 管理镜像
# 命令可用docker image <cmd> --help获取详情
build
history
import
inspect
load
ls # 列出镜像
prune
pull # 把镜像拉到本地
push #
rm # 删除镜像
save
tag
```
#### 命令 #### 命令
```
build # 从Dockerfile创建一个镜像。
commit # 从容器创建一个镜像。
cp
diff
events
exec # 在运行的容器中执行一个命令。
-i, --interactive # 始终保持STDIN打开,即使没有附加
-t, --tty # 分配一个伪TTY
export # 将一个容器文件系统输出为压缩文件。
history # 查看某个镜像下的所有层。
import
info
inspect # 返回docker对象的底层信息。
kill # 杀死一个或多个运行中的容器。
login
logout
logs
pause # 暂停一个或多个容器中的进程。
port
ps # 列出所有运行着的容器。加-a则列出所有的容器。
pull
push
rename
restart # 重启容器。
rmi # 移除一个或多个镜像(最顶层)。可以使用-f来删除中间的只读层。
run # 相当于create + start
search
stats
stop # 停止一个或多个运行中的容器。
tag
top
unpause
version
wait
```
##### attach ##### attach
``` ```
@ -78,49 +182,66 @@ docker attach [options] CONTAINER # 连接到运行中的容器
--sig-proxy --sig-proxy
``` ```
##### create
``` ```
build # 从Dockerfile创建一个镜像。 docker create [options] <image> [cmd] [args] # 创建容器。实际上是为指定的镜像添加了一个可读写层。
commit # 从容器创建一个镜像。
cp # 选项
create # 创建容器。实际上是为指定的镜像添加了一个可读写层。 -i, --interactive # 保持STDIN开启
diff --name <string> # 给容器分配一个名字
events -t, --tty # 分配伪TTY
exec # 在运行的容器中执行一个命令。 -v, --volume list # 本地目录挂载到容器里
-i, --interactive # 始终保持STDIN打开,即使没有附加 ```
-t, --tty # 分配一个伪TTY
export # 将一个容器文件系统输出为压缩文件。 ##### load
history # 查看某个镜像下的所有层。
images # 列出所有的顶层镜像。加-a则列出所有的镜像。 ```
import docker load [options] # 从tar文件或STDIN装载镜像
info
inspect # 返回docker对象的底层信息。 # 选项
kill # 杀死一个或多个运行中的容器。 -i, --input <file> # 读取tar文件(默认STDIN)
load -q, --quiet # 静默模式
login ```
logout
logs ##### rm
pause # 暂停一个或多个容器中的进程。
port ```
ps # 列出所有运行着的容器。加-a则列出所有的容器。 docker rm [options] <containers> # 删除容器
pull # 选项
push -f, --force # 强制删除运行着的容器
rename -l, --link # 删除指定链接(link)
restart # 重启容器。 -v, --volumes # 删除与容器相关的卷(volumes)
rm # 移除一个或多个容器。 ```
rmi # 移除一个或多个镜像(最顶层)。可以使用-f来删除中间的只读层。
run # 相当于create + start ##### save
save # 将一个或多个镜像写到一个压缩文件里
search ```
start # 启动一个或多个已停止的容器。 docker save [options] <images> # 把镜像保存为tar文件
# 选项
-o, --output <file> # 输出到文件(默认STDOUT)
```
##### start
```
docker start [options] <containers> # 启动一个或多个已停止的容器。
-a, --attach # 附加STDIN/STDERR和forward信号 -a, --attach # 附加STDIN/STDERR和forward信号
-i, --interactive # 附加容器的STDIN -i, --interactive # 附加容器的STDIN
stats
stop # 停止一个或多个运行中的容器。
tag
top
unpause
version
wait
``` ```
#### 使用示例
```
# 使用前准备
sudo usermod -aG docker $USER
sudo systemctl start docker
docker save -o oto8.tar oto_repo # 把docker镜像oto_repo保存为oto8.tar
docker load -i oto8.tar # 从oto8.tar载入镜像
docker create -it --name szx-8.1 -v /data/data:/root/szx oto_repo bash # 从镜像oto_repo创建容器szx-8.1
```

21
Software/jq.md Normal file
View File

@ -0,0 +1,21 @@
```
jq [options] <filter> [files] # 处理json
```
#### filters
```
. # 不加修改地把输入复制到输出
```
#### 选项
```
--arg a v # 将变量$a的值设为v
-r # 输出原始字符串(如不加此选项默认输出json文本)
-s # 把所有输入都读到数组里并把filter作用于此数组
```
#### 参考
[jq 的使用介绍](https://www.ibm.com/developerworks/cn/linux/1612_chengg_jq/index.html)

View File

@ -1,4 +1,18 @@
``` ```
lsof # 列出打开的文件 lsof [options] [--] [names] # 列出打开的文件
```
#### 选项
```
-i [i] # 列出网址满足[i]的文件。
# [i]的格式如下:
# [46] [protocol] [@hostname | hostaddr] [:service | port]
# [46] 用来指定IP协议的版本
# [protocol] 用来指定协议名(TCP或UDP)
# [hostname] 主机名
# [hostaddr] 主机地址
# [service] 是/etc/services里的名称之一
# [port] 端口号
``` ```

View File

@ -22,3 +22,14 @@
sudo apt install ubuntu-desktop # install unity sudo apt install ubuntu-desktop # install unity
sudo apt install xxxx:i386 # 安装软件包并指定其架构为i386 sudo apt install xxxx:i386 # 安装软件包并指定其架构为i386
``` ```
#### 解决错误
##### Failed to fetch
```
# 错误提示:安装 libssl-dev的时候提示Failed to fetch http://security.ubuntu.com ...
# 解决方法先运行apt update再安装
# 原因分析可能是包对应的网址修改了所以需要apt update更新数据库
```

View File

@ -9,45 +9,42 @@ pacman <operation> [options] [targets]
``` ```
#### 操作 #### 操作
-D # 操作软件包的数据库。
-Q # 查询软件包数据库。 ```
-R # 删除软件包 -D,--database # 操作软件包的数据库。
-S # 同步软件包 -Q,--query # 查询软件包数据库。
-T # 检查依赖。**此操作没有选项**。 -R,--remove # 删除软件包
-U # 更新或添加软件包 -S,--sync # 同步软件包
-F # 查询文件数据库 -T,--deptest # 检查依赖。**此操作没有选项**。
-V # 显示版本信息 -U,--upgrade # 更新或添加软件包
-h # 显示帮助信息 -F,--files # 查询文件数据库
-V,--version # 显示版本信息
-h,--help # 显示帮助信息
```
#### 选项 #### 选项
##### 一般选项 ##### 一般选项
-b # ```
-r # -b
-v # -r
-v
--arch --arch
--cachedir --cachedir
--color --color
--config --config
--debug --debug
--gpgdir --gpgdir
--hookdir --hookdir
--logfile --logfile
--noconfirm --noconfirm
--confirm --confirm
```
##### 事物选项(-S,-R,-U) ##### 事物选项(-S,-R,-U)
```
-d -d
--assum-installed --assum-installed
--dbonly --dbonly
@ -55,34 +52,50 @@ pacman <operation> [options] [targets]
--noscriptlet --noscriptlet
-p -p
--print-format --print-format
```
##### 升级选项(-S, -U) ##### 升级选项(-S, -U)
```
--force --force
--asdeps --asdeps
--asexplicit --asexplicit
--ignore --ignore
--ignoregroup --ignoregroup
--needed --needed
```
##### 查询选项(-Q) ##### 查询选项(-Q)
```
-c -c
-d -d
-e -e
-g -g
-i -i,--info # 查看软件包的信息
-k -k
-l -l,--list # 列出要查询的软件包所包含的文件
-m -m
-n -n
-o # 查找指定文件所归属的软件包 -o,--owns <file> # 查找指定文件所归属的软件包
-q -q
-s # 从本地软件包寻找满足正则表达式的结果 -s # 从本地软件包寻找满足正则表达式的结果
-t -t
-u -u
```
##### 删除选项(-R) ##### 删除选项(-R)
```
-c -c
-n -n
-s # 递归删除 -s # 递归删除
-u -u
```
##### 同步选项(-S) ##### 同步选项(-S)
```
-c -c
-g -g
-i -i
@ -92,11 +105,19 @@ pacman <operation> [options] [targets]
-u # 升级所有的软件包 -u # 升级所有的软件包
-w -w
-y # 从pacman.conf定义的服务器上下载主数据库的新副本 -y # 从pacman.conf定义的服务器上下载主数据库的新副本
```
##### 数据库选项(-D) ##### 数据库选项(-D)
```
--asdeps --asdeps
--asexplicit --asexplicit
-k -k
```
##### 文件选项(-F) ##### 文件选项(-F)
```
-y -y
-l -l
-s # 查询包文件名 -s # 查询包文件名
@ -104,15 +125,17 @@ pacman <operation> [options] [targets]
-o -o
-q -q
--machinereadable --machinereadable
```
#### 管理配置文件 #### 管理配置文件
#### 使用示例 #### 使用示例
```bash ```bash
pacman -Ss glibc # 从远程仓库中查询glibc pacman -Ss glibc # 从软件包数据库中查询glibc
pacman -S python # 安装python pacman -S python # 下载并安装python
pacman -U # 本地安装软件包 pacman -U <pkg> # 本地安装软件包
pacman -Syu # 更新并升级 pacman -Syu # 更新并升级
pacman -Qs glibc # 查询满足glibc的本地安装包 pacman -Qs glibc # 查询满足glibc的本地安装包
pacman -Qo /usr/lib/libm.a # 查询文件libm.a所归属的软件包 pacman -Qo /usr/lib/libm.a # 查询文件libm.a所归属的软件包

View File

@ -5,6 +5,6 @@ dirname [option] <names> # 给出name所在的目录。如name不包含'/',则
选项 选项
``` ```
-z, --zero # 输出结果在行尾不换行,默认在行尾是换行的 -z, --zero # 输出结果在行尾不换行(默认在行尾是换行的)
``` ```