Shell

A collection of 10 posts
Git

实用Git快捷命令

Photo by Roman Synkevych 🇺🇦 [https://unsplash.com/@synkevych?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText] on Unsplash [https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText] 在我们使用Git作为版本管理的时候,可以将一些经常使用的操作命令或者命令组合通过别名的方式添加git alias或者shell alias以此来缩短输入,减少git command help的时间,提高开发效率。 添加别名的方式主要分为两种: 1、git alias 以Mac OS为例,在当前用户目录下的.gitconfig文件中添加alias模块, [http] cookiefile = /Users/
4 min read
Linux

Linux Shell (8)-中断信号、脚本启动

1. signal [https://www.nitrohsu.com/linux-shell-learning-2] Ctrl+C=SIGINT=kill  -9 Ctrl+Z=SIGTSTP=kill -18 1. trap 捕获信号 trap commands signals 捕获signals信号,执行commands trap commands EXIT 捕获正常退出,执行commands trap - signals 移除捕获signals 1. nohup nohup commands & 后台运行commands,输出到nohup.out 1. jobs 列出相关的作业列表 -l 列出进程PID和job编号 -p 列出作业PID -r 列出运行的作业
1 min read
Linux

Linux Shell (7)-输入输出-read、exec、lsof、mktemp、tee

1. read 读取用户输入 -n1 限定输入长度为1 -p 提示语 -t 等待输入的秒数 -s 将输入隐藏(密码输入等需求,这是个黑科技!!!) 若后面不加变量var的话,默认将输入存储在REPLY中 1. 标准文件描述符,一个shell最多可以打开9个文件描述符 0 STDIN        标准输入(默认键盘) 1 STDOUT    标准输出(默认终端显示器) 2 STDERR     标准错误 3) 错误输出到文件:ls -al aaa 2>error.txt 正常输出到文件:ls -al aaa 1>out.txt 所有输出到文件:ls -al aaa &>all.txt
2 min read
Linux

Linux Shell (6)-命令行选项、参数-shift、getopt、getopts

1. 定义 参数:命令行后面的数据值 选项:修改命令行为的单字符值,以-(破折号)开头 1. 命令行参数索引、长度: $0-程序或者脚本名称的完整路径,如果只需要获取名称可以使用"basename $0"; $1-第一个参数,$2-第二个参数,......,$9-第九个参数,${10}-第十个参数,此后的索引必须加{} 参数中不允许有空格,否则必须用引号; $#-命令行参数的个数,如果获取最后一个参数应该使用${!#}而不是${$#} $*-所有参数作为一个整体处理 $@-所有参数作为多个元素的集合处理 $**$**-当前脚本PID 1. shift 左移每一个参数,$0保持不变,  $1被丢弃 1. 命令行中参数选项以--(双破折号分隔),前为选项,后为参数 2. getopt 格式化选项、参数 getopt options optstring parameters optstring 标记选项是否需要参数,
1 min read
Linux

Linux Shell (5)-if、case、for、while、until

1. if 四种结构: if condition; then commands fi ---------------------- if condition then commands fi ---------------------- if condition then commands else commands fi ---------------------- if condition then commands elif then commands fi ---------------------- condition: test condition _通过test命令的退出状态来判断条件是否成立,换种写法为 [condition_** ]** ---------------number -eq 等于 -le 小于等于 -lt 小于 -ge 大于等于 -gt 大于 -ne
2 min read
Linux

Linux Shell (4)-vim

vim,号称史上最复杂的编辑器,当然也是黑的最没边的编辑器,哈哈~ 1. 移动定位 k上移一行,h左移一字符,j下移一行,l右移一行 **                k**↑ h← l→ **                j**↓ PageDown**Ctrl+f** 下移一屏幕 PageUp**Ctrl+b** 上移一屏幕 G 移动到最后一行 num G 移动到第num行 gg 移动到第一行 1. 编辑 x 删除当前光标字符 dd 删除当前光标行 dw 删除当前光标单词 d$ 删除当前光标至行末所有内容 J 删除光标行末断开线 A 追加内容到光标行末尾 num dd->p 剪切num行,然后粘贴 num y->
1 min read
Linux

Linux Shell (3)-环境变量、权限、用户、用户组

1. 环境变量 printenv*export***set**unset\ 系统全局: /etc/profile 用户相关(一般使用其中一个): $HOME/.bash_profile $HOME/.bash_login $HOME/.profile 1. alias alias ll=‘ls -al’ 1. /etc/passwd 用户信息(登录名、密码、UID、组ID、帐户描述、HOME目录、默认shell) 1. /etc/shadow 密码信息(登录名、加密密码、密码上次修改时距离19700101的天数、距离能够修改密码时的最少天数、距离必须修改密码时的最少天数、距离密码逾期并警告用户修改的天数、从密码逾期到被禁用的天数、帐户已禁用天数、保留字段) 1.
2 min read
Linux

Linux Shell (2)-进程、文件、磁盘空间、压缩

1. Process Signal 1    HUP     挂起2    INT       中断3    QUIT    停止运行9    KILL      强制终止11  SEGV    段违例15  TERM   条件终止17  STOP    强制终止,但未停止18  TSTP     停止或暂停,但继续在后台之行19  CONT   STOP或TSTP之后恢复执行 1. kill 建议执行顺序依次(TERM->INT\HUP->KILL) 1. killall 可以使用进程名称以及通配符来匹配,谨慎使用 1. mount 显示当前挂载的介质设备信息(设备位置、在虚拟目录的挂载点、文件系统类型、访问状态) -o ro                     只读挂载rw                    只写user                 允许普通用户挂载check=none   挂载不执行完整性检查loop                 挂载某个文件
2 min read
Linux

Linux Shell (1)-基础、文件、监控进程

1. 脚本文件 # 为注释行shell不处理,但第一行#!/bin/bash为特例,标示着采用何种shell运行 `` 将内部命令行的执行结果赋值 > 输出重定向,覆盖 >> 输出重定向,追加 < 输入重定向 << 指定一个结束符,并以此结束符结束输入 | 管道符 exit 退出状态 0 命令完成 1 未知错误 127 无法找到命令 130 Ctrl+C终止 1. shell 提示符由变量PS1、PS2控制,通过格式符可以进行定制:PS1="\h\t\w$" Ubuntu中的sh默认指向为dash而非bash,这个需要注意。 1. ls -R 文件以及文件夹缩略信息 -l 文件类型+权限+硬链接数+所属用户+所属组+大小+修改时间+
3 min read