shell基础(二)

七、shell变量

env命令,查看系统环境变量

set命令,不仅可以查看系统变量,还可以查看自定义变量

自定义变量

变量名规则
变量名可以是字母、数字和下划线,首位不能是数字

变量值有特殊符号的时候需要用单引号(脱义)括起来

表示式复杂的时候需要用双引号引起来,变量的累加

获取变量的值并插入到字符当中

第一个写法不能获取变量的值
第二个用大括号将变量名括起来可以获取到

全局变量

当打开多个终端时,使用命令echo $SSH_TTY,可以查看当前所在的终端

在终端1自定义一个变量,终端2是无法查看

bash是shell的一个子bash,可以通过pstree查看在哪,如果没有该命令,使用如下命令安装
yum install psmisc

现在是在第二个bash下,第一个bash所设置的环境变量在第一个bash下不生效,如果想让第一个bash在第二个bash上面生效,可以使用全局变量

取消变量
unset b
echo $b

八、环境变量配置
环境变量配置文件可分为:系统层次配置文件和用户层次配置文件
系统层次配置文件(/etc下的文件)
1./etc/profile 用户环境变量,交互,登录才执行
2./etc/bashrc 用户不用登录,执行shell就生效

用户层次配置文件(用户家目录下的文件)
1.~/.bashrc
2.~/.bash_profile

一般我们不要编辑系统层次的配置文件,在有需要时,可以编辑用户层次的配置文件.bash_profile

source .bash_profile和..bash_profile作用一样,加载配置文件里的配置
~/.bash_history,用来记录命令历史
~/.bash_logout,用来定义用户退出的时候需要做的一些操作

ps1是在/etc/bashrc里面定义的,用于定义命令左边的字符串显示
修改W为w,发现变成绝对路径


修改方括号,这里的普通用户显示普通用户,root用户显示#

颜色显示

九、shell特殊符号_sut命令

格式:cut -d ‘分割字符’[-cf] n,这里n是数字,改命令选项有如下:
-d 后面跟分割字符,分割字符
-c 后面接的时第几个字符
-f 后面接的是第几个区块
cut命令用法如下:

cat passwd这个文件,head只查看前两行,cut -d截取分割符号“:”,-f 1表示截取第一段,1,2表示前两段,1-3表示头三段

十、sort_wc_uniq命令

sort命令介绍
sort命令用于排序
格式:sort [-t 分隔符] [-kn1,n2][-nru]
这里的-n1 n2指的是数字,其他选项如下
-t后面跟分割字符,作用和cut-d选项一样,截取符号是什么
-n 使用纯数字排序,字母及特殊符号为0
-r反向排序

如sort不加任何选项,他是默认升序输出,我们查看passwd配置文件前五行有什么区别
查看passwd前五行,输出给sort执行,按默认升序排序


使用sort来进行排序,以数字排序-n -n代表正序,特殊符号及字母表示为0

-r反向排序

wc命令介绍,用于来统计
wc用于统计文档的行数,字符数及词数
-l 统计行数
-m统计字符数
-w统计词数,以空格来区分

命令uniq删除重复的行
uniq用来删除重复的行,-c选项比较常用

使用uniq前,必须先给文件排序,否则不管用

统计重复的行有多少

tee 重定向并显示内容
把echo的内容通过管道符号,输出给tee命令到6.txt 然后在屏幕上面显示出来


tr,用于替换字符

-d表示删除某个字符,后面跟需要删除的字符
-s表示删除重复的字符

比如需要替换文件某个字符,把小写改成大写
split切割文档
-b表示根据大小来切割文档,默认单位为byte(字节)
-l表示根据行数来切割文档
随便切割一个文档,例如5.txt,切割1KB

指定目录文件为123开头的文件

十一、shell特殊符号

$
$可以用作变量前面的标识符号,还可以和!一起组合起来用


如果想要在一行中运行一个或者多个以上的命令,需要在命令之前加;

~
表示用户的家目录,root的家目录是/root,普通用户的家目录是/home/username
&
如果想把一条命令放在后台执行,需要加上符号&,通常用于命令长时间运行的情况下,可以和sleep(休眠)一起用

重定向> >> 2> 2>> &>

分别表示取代(>)和追加(>>)
2>错误重定向
2>>错误追加重定向
&>表示错误和正确的重定向输入到一个文件去

中括号[]表示一个范围
&&表示前面的命令执行成功后才会执行后面的命令,如果前面的执行不成功,后面的就不会执行

||表示或者,如果两条命令用来分割,如果第一条执行成功后第二条就不会执行,如果第一条错误,就会执行第二条
第一条执行成功,第二条不执行

第一条不成功,执行第二条

普通符号
*任意一个字符
?任意一个字符
#注释字符
\拓义字符
|管道符

原文地址:https://blog.51cto.com/13292790/2439454

时间: 2025-01-08 00:30:10

shell基础(二)的相关文章

shell基础二十篇

shell基础二十篇 编者按:由 wingger  整理的 shell基础十二篇 以及L_kernel补充的第十三--二十篇,涉及shell 编程及使用的各个方面,又附有大量的例子,极适合初学者系统学习.如果配合網中人的shell 十三問? ,效果更加明显. 这里是其中的第十章 sed.  其他各章可察看相应的 link. shell基础1:文件安全与权限 http://bbs.chinaunix.net/thread-434579-1-1.html 附:Linux的用户和用户组管理 http:

shell基础二十篇 一些笔记

shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read read -p "how old r u? " ageecho $ageread -p "some words? " -a wordsecho ${words[*]}read -p "Password: " -s passwd echo $passwd read -t 5 authecho

shell基础二

1.shell脚本 新建文本,后缀名sh,例如:abc.sh 注意: 在脚本第一行需要写      #!/bin/bash #! 规定写法,说明使用何种解释器执行源代码 # 表示注释 注意: php也可以写shell脚本 2.shell脚本执行 一,赋予脚本可执行的权限   chmod +x ./test.sh    #使用脚本执行 ./test.sh                    #执行脚本 必须在脚本第一行指定shell解释器类型 二,使用shell解释器执行(不推荐) 不需要赋予权

shell基础(二)

echo命令 Shell 的 echo 指令是用于字符串的输出. #!/bin/sh read name #读取标准输入的行 echo "$name It is a test" echo -e "Yeah! \c" # -e 开启转义 \c 不换行 echo "It is a test" printf命令 printf用作格式化字符串,还可以制定字符串的宽度.左右对齐方式等.默认printf不会像 echo 自动添加换行符,我们可以手动添加 \n

shell基础二:查找技巧,find及xargs的使用

使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的 (在有些操作系统中只允许- e x e c选项执行诸如l s或ls -l这样的命令).大多数用户使用这一选项是为了查找旧文件并删除它们.建议在真正执行r m命令删除文件之前,最好先用l s命令看一下,确认它们是所要删除的文件. e x e c选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号. 为了使用e x e c选项,必须要同时使用p r i n t选项.如果验

shell基础(转)

shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&highlight=wingger 附:Linux的用户和用户组管理 http://bbs.chinaunix.net/forum/viewtopic.php?t=438660&highlight=wingger shell基础二:查找技巧,find及xargs的使用http://bbs.chinaunix.net/forum/viewtopic.p

Linux之shell基础

Shell基础 一.shell概述 1) shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序. 我们输入的abc...24个字符是通过shell对照ASCII码翻译成二进制来让计算机识别的.我们从操作界面上输入命令,这个命令回车之后把此命令对照ASCII码翻译成指定的二进制,通过shell翻译成计算机内核能识别的二进制,然后内核调用硬件来处理,处理完之后再通过shell反馈给用户. 2)

Linux网络配置及SSH和Shell基础

Linux网络配置及SSH和Shell基础 一.Linux网络配置     ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了. 二.hosts文件的作用及修改主机名      Hosts : The static table lookup for host name(主机名查询静态表)       Linux 的/etc/hosts是

shell基础(上)

Shell基础(上) 1.1什么是shell Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的 输入解释给操作系统.井处理各种各样的操作系统的输出结果,输出屏幕返回给用户 这种对话方式可以是 交互的方式:从键盘输入命令,通过/bin/bash的解折,可以立即得到shell的回应 非交互的方式:脚本 Shell执行命令分为两种方式 内置命令:如讲过的cd ,pwd, exit和echo等命令.当用户登录系统后,shell以及内置命令就被系统载入到内存,并且一直运行 一

linux常用命令整理(五):shell基础

大家好,我是会唱歌的程序猿------ 最近在学习linux,闲暇之余就把这些基本的命令进行了整理,希望大家能用的上,整理的的目的是在忘了的时候翻出来看看^?_?^,前后一共分为五个部分: linux基本命令整理(一):常用命令 地址:http://www.cnblogs.com/devinCat/p/7247824.html linux基本命令整理(二):用户.用户组.文件系统和网络 地址:http://www.cnblogs.com/devinCat/p/7247847.html linux