linux shell 基础

it2022-05-07  47

一、shell基础:

  Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。我们遵守shell的语法编写脚本并传递给shell,shell帮我们解释成系统内核能识别的内容,内核再控制计算机硬件去执行这些脚本。   实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。  

二、创建并执行shell脚本:

# 颜色打印输出 echo -e "\033[31m hello,world \033[0m"

执行脚本的方式:

1、bash解释执行:

bash hello.sh

2、脚本添加执行权限:

chmod 755 hello.sh # 加上执行权限 source hello.sh # 执行程序

命令的执行顺序:

1、命令路径>>>2、别名>>>3、bash路径下的命令>>>4、环境变量对应的命令

三、查看历史命令:

[root@iz2zecvcubpx381ej4viivz ~]# history 1 ls 2 who 3 user 4 users

1、清除历史命令:

[root@iz2zecvcubpx381ej4viivz ~]# history -c # 清除历史命令 [root@iz2zecvcubpx381ej4viivz ~]# history 1 history

2、保存命令到文件,默认保存在当前用户家目录的.bash_history

history -w # 保存到默认文件 history -w 1.txt # 保存到自定义文件

3、其他用法:

!! # 运行上一次执行的命令 ! num # 执行序号对应的命令 ! str # 执行最近一次以str开头的命令

 四、命令别名:

# 打印设置的别名[root@iz2zecvcubpx381ej4viivz ~]# alias   alias cp='cp -i'   alias egrep='egrep --color=auto'   alias fgrep='fgrep --color=auto'   alias grep='grep --color=auto'   alias l.='ls -d .* --color=auto'   alias ll='ls -l --color=auto' # 设置别名的规则alias new_name='old_name'

配置别名系统生效:修改/etc/bashrc

配置别名当前账号生效:当前用户家目录修改.bashrc文件

五、输出重定向:

普通重定向:  命令 > 文件 # 覆盖的形式   命令 >> 文件 # 追加的形式错误重定向:  命令 2> 文件 # 覆盖的形式  命令 2>> 文件 # 追加的形式正确错误都输出:  命令 $> 文件

 六、多命令执行规则和grep命令:

ls;ls # ;号连接多个命令,顺序执行,互不影响ls&&ls # &&连接两个命令,前面执行成功,后面才会执行,换言之,前面执行失败,后面将不会执行ls||ls # ||连接两个命令,前面的执行成功,后面的不会执行,换言之,只有前面的执行失败,后面的才会执行

1、grep命令及相关参数:

ls | grep 'ga' # 正常匹配ls | grep -i 'Ga' # -i 忽略大小写ls | grep -n 'ga' # -n 输出行号ls | grep -E '[g,a]' # -E 可接正则表达式ls | grep -v 'ga' # -v 反选ls | grep -e 'g' -e 'a' # 使用多个匹配规则

2、stat命令查看文件或是目录的创建、修改和访问时间:

 stat test2.txt

   File: ‘test2.txt’   Size: 0 Blocks: 0 IO Block: 4096 regular empty file  Device: fd01h/64769d Inode: 262182 Links: 1  Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)  Access: 2017-08-08 12:34:34.908631227 +0800                   # 访问时间  Modify: 2017-08-08 12:34:34.908631227 +0800                   # 修改时间  Change: 2017-08-08 12:34:34.908631227 +0800                   # 创建时间   Birth: -

 七、通配符和特殊字符:

1、常用的通配符及其含义:

? # 匹配任意一个字符* # 匹配0到无数个字符[] # 匹配中括号里的任意一个字符[0-9] # 匹配范围内的一个字符[^] # 匹配非中括号的内容

2、常见的特殊字符及其含义:

'' # 单引号,里面的内容不会有特殊的含义"" # 双引号,里面的内容会有特殊的含义$ # 调用变量$() # 调用系统命令# # 注释\ # 转义

 

转载于:https://www.cnblogs.com/liyu2151/p/7299542.html

相关资源:《LINUX与UNIX SHELL编程指南》.pdf

最新回复(0)