Shell 命令收集
# shell 常用命令
仅以记录一些常用 shell 命令以及使用示例。
# 调试 shell 的一些命令
- -n: 读一遍脚本中的命令但不执行,用于检查脚本中的语法错误
- -v: 一边执行脚本,一边将执行过的脚本命令打印到标准错误输出
- -x: 提供跟踪执行信息,将执行的每一条命令和结果依次打印出来
使用他们的方式有三种:
sh -x ./test.sh
: 以参数形式设置- 在脚本文件顶部定义设置参数:
sh -x ./test.sh
- 使用 set 命令的形式:
set -x && echo xxx
# chown 命令
用法: chown [-cfhvR] [--help] [--version] user[:group] file...
;
- user : 新的文件拥有者的使用者 ID
- group : 新的文件拥有者的使用者组(group)
- -c : 显示更改的部分的信息
- -f : 忽略错误信息
- -h :修复符号链接
- -v : 显示详细的处理信息
- -R : 处理指定目录以及其子目录下的所有文件
- --help : 显示辅助说明
- --version : 显示版本
使用示例:
chown -R user1:usergroup *
将当前目录下所有文件包括子目录拥有者都设置为 user1 ,群体使用者为 usergroup。
# addgroup & adduser
# addgroup
使用 addgroup 命令可以在系统中创建组群账户。
- -g: 为组设置 GID
- -r: 创建系统群组
- -o: 允许使用和别的组群相同的GID创建组群
- -f: 即使组群已经存在,还是强制创建组群
- -p: 为新组群设置加密的密码
e.g: addgroup -g 1000 node
# adduser
用于新增使用者帐号或更新预设的使用者资料。
语法:
adduser [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] | -M] [-p passwd] [-s shell] [-u uid [ -o]] [-n] [-r] loginid
- -c: 注释
- -d: 设定使用者的家目录为 home_dir ,预设值为预设的 home 后面加上使用者帐号 loginid
- -e: 失效时间
- -g: 初始组
- -G: 归属到某个组
- -s: 设置默认的 shell
- -u: 设置用户 uid
- -r: 设置系统用户
e.g: adduser -u 1000 -G node -s /bin/sh -D node
# 管道符与重定向
# |
它能接收前一个命令的输出作为下一个命令的输入,要求左边的命令应该有标准输出 | 右边的命令应该接受标准输入。需要注意的是,管道符将会把 | 两边的命令放在两个单独的子进程进行执行。
比如:
# cat xxx.txt | grep xxx
这样他会将 xxx.txt 文件的内容读取出来,并交给 grep 命令进行筛选输出。
# >
左边的命令应该有标准输出 > 右边只能是文件。常用于你需要将一段输出写入到一个文件当中的场景。
参考文章:https://www.cnblogs.com/chengmo/archive/2010/10/21/1856577.html
# dash 与 bash 转换
# 方法一
查看当前是bash还是dash:ls -al /bin/sh
,输出如下结果:
lrwxrwxrwx 1 root root 4 Dec 5 16:50 /bin/sh -> dash
删除原链接:sudo rm /bin/sh
新建链接指向bash:ln -s /bin/bash /bin/sh
查看当前链接:ls -al /bin/sh
,看到如下输出表示转换成功:
lrwxrwxrwx 1 root root 9 Dec 9 09:56 /bin/sh -> /bin/bash
# 方法二
输入 sudo dpkg-reconfigure dash
,他会提示以下文案:
Use dash as the default system shell (/bin/sh)? [yes/no]
# 方法三
直接终端输入 bash
选择 no 即可。
# curl & wget
如何使用 curl 或者 wget 发起一个简单的 get 请求:
- curl:
curl -v localhost:9999/about
-v
参数输出通信的整个过程,用于调试。
- wget:
wget -q -O - http://192.168.31.105:9999/about
-q
参数用于不输出头信息-O
用于将返回值输出到文件,当-
用作输出文件时,wget 将输出打印到标准输出(stdout)
curl 详细文档: curl 的用法指南