【Linux系列】【基础版】第三章 Shell基础知识
发布时间:2020-12-15 16:18:36 所属栏目:安全 来源:网络整理
导读:3.Shell基础知识3.1Shell的由来3.1.1BourneAginShell3.1.2其他的shell,有zsh,ksh等3.2查看有没有shell3.2.1yumlist|grepzsh3.2.2ls/root/.bash_history3.2.3echo$HISTSIZE-vi/etc/profile修改HISTSIZE的值-source/etc/profile3.2.4history-c//清空命令历史
3.Shell基础知识 3.1Shell的由来 3.1.1BourneAginShell 3.1.2其他的shell,有zsh,ksh等 3.2查看有没有shell 3.2.1yumlist|grepzsh 3.2.2ls/root/.bash_history 3.2.3echo$HISTSIZE->vi/etc/profile修改HISTSIZE的值->source/etc/profile 3.2.4history-c//清空命令历史(内存中的) 3.2.5HISTTIMEFORMAT="%Y/%m/%d%H:%M:%S" 3.2.6vi/etc/profile 3.2.7chattr+a~/.bash_history//只能被追加,不会被删除 3.2.8!!//最后一条命令;!n//!words// 3.3安装参数补全源 3.3.1yuminstall-ybash-completion//安装参数补全源后需要重启电脑(reboot)才生效 3.3.2systemctlrestartnetwork.service//重启网络服务 3.3.3rpm-qabash-completion 3.4alias配置文件 3.4.1vi.bashre//alias的配置文件(一部分) 3.4.2cd/etc/profile.d///alias其他的一部分配置文件 3.4.3Tab键: 3.4.3.1按一下匹配命令和参数 3.4.3.2按两下显示匹配信息供选择 3.5通配符 3.5.1*匹配所有字符ls*.txt 3.5.2?匹配一个字符ls?.txt 3.5.3ls[0-9].txt 3.5.4ls{1,2}.txt 3.5.5重定向cat1.txt>2.txt 3.5.6追加重定向cat1.txt>>2.txt 3.5.7错误重定向lsaaa2>a.txt 3.5.8追加错误重定向lsaaa2>>a.txt 3.5.9wc-l<1.txt//输入重定向,wc-l查看文本行数;左边需要是命令 3.5.10ls[12].txtaaa.txt&>a.txt//&>为正确错误重定向 3.5.11ls[12].txtaaa.txt>1.txt2>a.txt//将正确的和错误的区分开 3.6管道符和作业控制 3.6.1cat1.txt|wc-l 3.6.2cat1.txt|grep'aaa' 3.6.3ctrl+z//暂停一个任务 3.6.4df-h//查看磁盘使用量 3.6.5fg//前台frontGround 3.6.5.1fgIDNumber 3.6.6jobs//查看后台或已停止的任务 3.6.7bg//后台background 3.6.7.1bgIDNumber 3.6.8vmstate1//动态的显示系统状态 3.6.9sleep100//暂停100秒 3.6.9.1sleep100&//把命令放到后台运行 3.6.9.2psaux|grepsleep//查看进程 3.7shell变量 3.7.1env//查看系统的环境变量 3.7.2set命令 3.7.2.1set|grep111//查找111 3.7.2.2set命令包含了很多变量,并且包含用户自定义的变量 3.7.2.3a=111//自定义变量 3.7.2.4set用来显示本地变量,env用来显示环境变量,export用来显示和设置环境变量 3.7.3export全局变量 3.7.3.1exportaming=linux 3.7.3.2echo$aming 3.7.3.3bash//进入子bash 3.7.3.4echo$aming 3.7.3.5unsetaming//取消环境变量 3.8环境变量的配置文件 3.8.1系统层次的 3.8.1.1/etc/profile用户环境变量,交互,登录时才执行 3.8.1.2/etc/bashrc用户不用登录,执行shell就失效 3.8.2系统层次的 3.8.2.1~/.bashrc 3.8.2.2~/.bash_profile 3.8.2.3~/.bash_history 3.8.2.4~/.bash_logout 3.8.3PS1变量 3.8.3.1PS1='[ 33[01;32m]u@h[ 33[00m]:[ 33[01;36m]w[ 33[00m]$' 3.8.3.2a='a$bc' 3.8.3.3a=a"$b"c 3.8.3.4..bash_profile和source.bash_profile,此处.和source都是加载使生效的作用 3.8.3.5[登录的用户@主机名-所在的目录(最后的层级)] 3.8.3.6PS1=''//修改PS1 3.8.3.7echo$PS1//打印PS1的值 3.8.4登录的用户@主机名-所在的目录(最后的层级) 3.8.5特殊字符 3.8.5.1*//任意个任意字符 3.8.5.2?//任意一个字符 3.8.5.3#//注释 3.8.5.4//脱义字符e.g.c=$a$behcoc 3.8.5.5|//管道字符 3.9cut和sort命令 3.9.1cat/etc/passwd|head-2|cut-d":"-f1-3//-d表示分割;-f表示段 3.9.2cut-d//分隔符;-f//指定段号;-c//指定第几个字符 3.9.3sort-n//以数字排序(字母认为是0);-r//反序;-t//分隔符-kn1/-kn1,n2 3.10wc,uniq,split和tee命令 3.10.1wc-l//统计行数;wc-m//统计字符数;wc-w//统计词 3.10.2cat-A1.txt//输出行中假设为123$,其中$代表换行符 3.10.3uniq去重(需要先排序)uniq-c//统计行数 3.10.3.1sort1.txt|uniq-c 3.10.4split-b//按字节为单位进行切割split-l//按行数进行切割 3.10.5LC_ALL=C//为了去除所有本地化的设置,让命令正确的执行 3.10.6tee重定向,并把之前的结果打印在屏幕上 3.10.6.1sort1.txt|uniq-c|teea.txt 3.10.6.2tee-a//表示追加 3.10.6.3>a.txt//清空a.txt 3.10.7tr替换字符 3.10.7.1echo"aminglinux"|tr'[al]''[AL]' 3.11一些特殊字符 3.11.1$变量前缀!$表示取前一次执行的命令 3.11.2;多条命令写到一行,用分号分割 3.11.3~用户家目录,正则中表示匹配符 3.11.4&放到命令后面,会把命令丢到后台 3.11.5>重定向>>追加重定向2>错误重定向2>>追加错误重定向&>将错误的和正确的全部重定向到一个文件中 3.11.6[]指定一个字符中的一个 3.11.7||或者&&并且 3.11.8[-daminglinux]||mkdiraminglinux//-d判断是否是一个目录且是否存在 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |