2. bash基础】的更多相关文章

身为一个程序员会用命令行来进行一些简单的操作,不是显得很装逼嘛!?嘿嘿~ ヾ(>∀<) cmd 与 bash 基础命令入门       简介       CMD 基础命令             目录操作                   切换目录                   列出文件与子目录                   创建目录                   删除目录                   复制目录                   移动目录     …
参考:Bash基础——pipe pipe命令在 bash 的连续的处理程序中相当重要.在pipe命令当中,常常会使用到前一个命令的 stdout 作为这次的 stdin , 某些命令需要用到文件名 (例如 tar) 来进行处理时,该 stdin 与 stdout 可以利用减号 "-" 来替代, 举例来说: tar -cvf - /home | tar -xvf - 将 /home 里面的文件打包,但打包的数据不是纪录到文件,而是传送到 stdout: 经过pipe后,将 tar -cv…
Linux就该这样学--之常用linux命令及bash基础 Linux命令 管道 重定向 环境变量 常用命令 常用系统工作命令 系统状态检测命令 工作目录切换命令 文本文件编辑命令 文件目录管理命令 打包压缩与搜索命令 输入.输出.错误输出和重定向 管道命令符 命令行的通配符 常用的转义字符 重要的环境变量 常用命令 常用系统工作命令 echo [字符串 | $变量] date [选项] [+\指定的格式] reboot poweroff wget [参数] 下载地址 -b 后台下载模式 -P下…
linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重要,整个文件系统统一访问入口. Linux引导启动时,默认使用的文件系统是根文件系统.其中一般都包括这样一些子目录: /boot 系统引导文件存放目录 /bin 供所有用户使用的命令(不能关联到独立分支)不能关联到独立分区,os启动即会用到的程序. /sbin 管理员使用特权命令.root-only…
bash的基础特性(): () 命令历史 history 环境变量: HISTSIZE:命令历史记录的条数: HISTFILE:~/.bash_history: HISTFILESIZE:命令历史文件记录历史的条数: history -d OFFSET -c history #: 显示历史中最近的#条命令: -a: 手动追加当前会话缓冲区的命令历史至历史文件中: 调用历史中的命令: !#: 重复执行第#条指令: !!: !string 调用上一条命令的最后一个参数: !$: ESC, . Alt…
前提是在码云上已经新建一个空的项目,可参考:https://www.cnblogs.com/babysbreath/p/9170455.html 1.新建一个目录,存放下载下来的项目,我在D盘新建了一个“gitspace”文件夹,用来存放下载下来的项目 2.进入刚刚新建的文件夹,即进入“gitspace”,点击鼠标右键,选择"Git Bash Here",如下图: 点击“Git Bash Here”之后,可以看到下面界面,否则,可能是你的Git Bash安装有问题 3.进行基础配置,作…
grep grep全称:Globally search a Regular Expression and Print 全局搜索正则表达式 正规表达式本质上是一种"表示方法", 只要工具程序支持这种表示方法,那么该工具就可以使用正则表达式处理字符串. 例如 vi, grep, awk ,sed 等等工具,因为她们有支持正规表示法, 所以,这些工具就可以使用正规表示法的特殊字节来进行字串的处理.但例如 cp, ls 等命令并未支持正规表示法, 所以就只能使用 bash 自己本身的wildc…
了解什么是shell吗? 知道如何查询当前系统支持的shell版本吗? 了解如何判断某个指令是否是bash的内置指令吗? 了解Linux的变量吗,知道如何定义与删除变量吗,知道如何赋值吗,知道如何获取变量的内容吗? 知道如何为变量设置类型吗,了解宣告与阵列等概念吗? 知道如何通过键盘输入为变量赋值吗? 了解如何查询环境变量吗? 知道如何将自定义的变量转换为环境变量吗? 了解变量的有效范围吗? 知道如何设置别名以及取消别名吗? 1.shell基础 Linux一般默认的shell为bash 我们知道…
bash 是一个为GNU计划编写的Unix shell.它的名字是一系列缩写:Bourne-Again SHell - 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again).Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并同Version 7 Unix一起发布.bash则在1987年由布莱恩·福克斯创造.(取自百度百科) 它是一种脚本语言,类似于windows 操作系统里面的批处理,在平常生活中,可以…
站在用户登录的角度来说,SHELL的类型:登录式shell: 正常通常某终端登录 su - USERNAME su -l USERNAME 非登录式shell: su USERNAME 图形终端下打开命令窗口 自动执行的shell脚本 bash的配置文件: 全局配置 /etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置 ~/.bash_profile, ~/.bashrc profile类的文件: 设定环境变量 运行命令或脚本 bashrc类的文…
shell脚本的组成部分 shebang 各种命令组合 编程变量种类 本地变量: 仅仅在当前的shell生效 环境变量: 在当前和子shell生效 局部变量: shell进程某代码片段 位置变量: $1,$2来表示,用与获取脚本接受的参数 特殊变量: 一些特殊变量 一.编程环境 特殊变量如下 $?:上一个命令的执行返回码 $#:参数个数 $*:参数 $0:命令本身 $@:所有参数 本地变量: name=’value’ 环境变量:export name=value,declare -x name=…
命令别名 alias cdnet=”cd /etc/sysconfig/network-scripts” 针对用户的别名: “~/.bashrc” 针对系统的别名:”/etc/bashrc” 重读配置文件:source /path/to/config.file unalias:撤销别名 glob通配 * 代表任意长度的任意字符 ?: 表示任意单个字符 []:匹配指定范围的任意的单个字符 [^]:取反 [alnum]:所有字母和数字 [:alpha:]:字母 [:digit:]:数字 [:lowe…
Linux上文本处理三剑客: grep:文本过滤工具 sed:stream editor,文本编辑工具 awk:文本报告生成器 grep -v:显示不能够被pattern匹配到的行 -i:忽略字符大小写 -o:仅显示匹配到的字符串 -A:after,后...行 -B:before,前...行 -C:context,前后各...行 基本正则表达式元字符 字符匹配: . :任意单个字符 []:匹配指定范围内的单个字符 [^]:匹配指定范围外的单个字符 匹配次数: *:匹配前面的字符任意次: 例如:x…
命令别名(alias) ()alias 显示当前shell进程所有可用的命令别名: ()alias NAME='VALUE' 定义别名NAME,相当于执行命令value ()unlias 撤销别名 注意: 在命令行中定义的别名,仅对当前shell进程有效:如果想永久有效,要定义再配置文件中 仅对当前用户:~/.bashrc 对所有用户有效:/etc/.bashrc 别名持久化: vim .bashrc alias NAME='VALUE' source .bashrc glob(globbing…
shell俗称壳(用来区别于内核),是指“提供使用者使用界面”的软件,就是一个命令行解释器. BASH是SHELL的一种,是大多数LINUX发行版默认的SHELL,除BASH SHELL外还有C SHELL等其它类型的SHELL. 命令历史 history 环境变量: history -d:OFFSET#删除某一行 history -c: 清空历史命令 history #: 显示历史中最近的#条命令 history -a: 手动追加当前回话缓冲区的命令历史至历史文件中 调用历史中的命令: !#:…
历史命令 history选项: -c 清空历史命令 -w 立即保存历史命令Linux 下输入过的历史命令,都会保存在根目录下的:~/root/.bash_history 文件中默认保存 1000 条,可在 /etc/profile 文件中修改环境变量!ser : 执行最后一条以 ser 开头的命令!! : 再次执行上一条命令 定义别名# alias vi = “vim” // 重启系统消失# unalias vi永久生效# vi /root/.bashrc 输出重定向标准输出重定向:命令 > 文…
bash是一些基本的命令组成,要想学好bash脚本,基本命令是必须要记住 红色标记为着重点 1执行命令,利用状态返回值来判断 0 : 成功 1-255:失败 2: 测试表达式 [  expression ]  常用 [[ exprseeion ]] bash 的测试类型 字符串字型    文件字型 测试数值:比较大小 -eq  : 是否等于 [ $1  -eq  $2 ] -ne :  是否不等于 [ $1 -ne  $2] -gt :  是否大于 [ $1 -gt $2 ] -ge :  是否…
# Bash中自动补全时忽略大小写 # 编辑~/.inputrc(没有的话,就新建一个),在最后加一行: set completion-ignore-case on # 若要用方向键Up,Down来搜索以该串字符开头的历史命令,则在~/.inputrc中加入: “\e[A”: history-search-backward “\e[B”: history-search-forward 创建脚本:vim test.sh    脚本内容:#! /bin/bash  #"#!"是一个约定标记…
PS:转自https://www.cnblogs.com/WangXinPeng/p/8016293.html 1.常用命令行工具: ①cmd     ②powershell      ③git bash 2.命令行常用命令(在git bash上生效,部分在cmd无用) -pwd (print working directory) 查看当前所在路径--绝对路径 -cd(change directory) 切换目标 -ls(list) 查看当前目录下的内容 -mkdir(make director…
1.多命令顺序执行 多命令顺序执行 格式 作用 ; 命令1 ; 命令2 多个命令之间没有任何逻辑联系 && 命令1&&命令2 逻辑与 当命令1正确执行,则命令2才会执行 当命令1执行不正确,则命令2不执行 || 命令1||命令2 逻辑或 当命令1执行不正确,则命令2才会执行 当命令1执行正确,则命令2不会执行 2.管道符 命令1 | 命令2 命令1的正确输出作为命令2的操作对象 3.通配符 通配符 作用 ? 匹配任意字符 * 匹配0个或任意多个任意字符,也就是可以匹配任何内…
练习:写一脚本,实现如下功能: 1.让用户通过键盘输入一个用户名,如果用户不存在就退出: 2.如果其UID等于其GID,就说它是个"good guy" 3.否则,就说它是个“bad guy”: #!/bin/bash read -t -p 'please enter user name:' UserName echo "your input the name is $UserName" if id $UserName &> /dev/null ;the…
命令别名  alias 显示当前shell中定义的所有别名  alias 别名='原始命令'  unalias 别名 取消定义的别名在命令前加\使用命令本身,而不是别名(或者使用绝对路径执行命令使用命令本身) 仅对当前用户生效:~/.bashrc 对所有用户生效:/etc/bashrc 配置文件配置后不会立即生效需要重新运行配置文件   source /etc/bashrc  . /etc/bashrc 文件名通配(globbing)  * 匹配任意长度的任意字符  ? 匹配任意单个字符 [^]…
使用history命令,取得命令历史,当bash进程结束后,会把命令历史存放到文件中,下次开机还能看到命令历史. 定制history:通过设置环境变量,来定制history 环境变量$HISTSIZE:默认值是1000,也就是最多存1000条命令. 环境变量$HISTFILE:默认值是/home/登录用户/.bash_history.root用户是/root/.bash_history.bash进程退出后,把内存里的命令历史存放到此文件中. 环境变量$HISTFILESIZE:默认值是1000.…
参考:The Best Keyboard Shortcuts for Bash (aka the Linux and macOS Terminal) Navigating Bash History with Ctrl+R Ctrl+P  上一条命令 Ctrl+N  下一条命令…
注:1.这里说的Bash不单纯的指Bash,泛指shell 2.这里的后台指的是Bash下面避免任务(Jobs)被Ctrl+C中断的一种场景,与我们说的deamon那种后台工作的进程不是一个概念,注意区分. 简介 Bash工作管理是指在Bash界面下同时进行多个工作任务的管理.举例来说:登陆 bash 后, 你可以一边复制文件.一边进行数据搜寻.一边编译程序.一边编写程序等等,这些任务都是Bash的子进程.Bash工作管理只能管理自己Bash下面的工作,不能把别人Bash下面的工作拿到自己Bas…
前言 Shell有很多内置在其源代码中的命令.由于命令是内置的,所以Shell不必到磁盘上搜索它们.内置命令执行速度更快,不同的Shell内置命令有所不同. 如何查找内置命令 之前查了好久怎么收索内置命令的方法,今天在看type命令的时候,发现man手册里面就有 执行man type,有一段就告诉你内置命令都有啥了 BASH BUILTIN COMMANDS Unless otherwise noted, each builtin command documented in this secti…
$@和$*区别 不加引号的时候没区别 #! /usr/bin/bash function print_args_at { printf "%s\n" $@ echo $@ } function print_args_star { printf "%s\n" $* echo $* } print_args_at "one" "two three" "four" echo "*************…
前言 自学Linux的时候,我们用的显示器+键盘 是物理终端.Linux开机后,会在物理终端(显示器)之上,以软件的方式虚拟出多个终端,CentOS是6个.Ctrl+Alt+F1~6切换 默认情况下,linux启动后都是从虚拟终端1登陆,而不会使用物理终端,即便在物理终端上.物理终端只在刚开机那一会儿,Linux还没有运行起来的时候有用.一旦程序启动完成便由虚拟终端1接管了. 为啥是6个终端? 以SysV采用的init为例,在/etc/inittab文件中会定义虚拟终端的个数 [root@www…
一 条件选择if语句 顺序执行:逐条运行: 选择执行: 代码有一个分支:条件满足时才会执行: 两个或以上的分支:只会执行其中一个满足条件的分支: 循环执行:代码片断(循环体)要执行0.1或多个来回: 选择执行: # 单分支的if语句: if 测试条件:then 条件为真时分支代码 fi # 双分支的if语句: if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi 示例:通过参数传递一个用户名给脚本,此用户不存时,则添加之: #!/bin/bash if [ $# -…
一.shell的两种登录方式: 1.交互式登录:(1)直接通过终端输入账号密码登录(2)使用“su - UserName” 或“su -l Username”切换的用户执行顺序:/etc/profile --> /etc/profile.d/*.sh (所有文件)--> ~/.bash_profile(用户家目录下的) --> ~/.bashrc --> /etc/bashrc 2.非交互式登录:(1)su UserName(2)图形界面下打开的终端(3)执行脚本(4)任何其它的b…