默认教学计划
931人加入学习
(20人评价)
Linux运维基础
价格 ¥ 599.00
该课程属于 高校公益行 | 网络安全实践训练营 请加入后再学习


一些概念

在系统中,一个进程只认为自己存在
父shell   子shell        父子shell之间设置环境互相独立
shell 也是一个程序
cat  /etc/shells  查看系统支持的shell  ,没有的可以安装,并不说明不支持
exit  退出当前 shell 程序

                   bash 的特性:
1. 命令历史
2. 管道  重定向
3. 命令别名
4. 命令行编辑
5. 命令行展开
6. 命令行通配
7. 变量
8. 编程


命令历史:
 history
1.    -c   清空命令历史(仅限于内存缓冲区当中)
2.   -d  删除某一条命令历史
3.   -w   将命令历史保存到某个文件中,缺省值  .bash_history 文件     // 替换重定向,谨慎使用
4. -a    将命令历史保存到某个文件中,缺省值  .bash_history 文件     //  追加重定向
5.   !n  执行命令历史中的第n条命令
6. !-n  执行命令历史中倒数第n条命令
7. !word  执行命令历史中最近一次以 word 开始的命令    不一定是一个单词,一个字母也行,必须要能唯一标识该命令        不错
8. !! 执行上一次命令
9. !$   引用上一条命令的最后一个参数        比如上一次   ls  /etc   那么 ls  !$  就等价于  ls  /etc       ls + esc + .   也可以达到i相同效果           不错

命令行编辑:
1. ctrl+a  光标快速跳转到命令行行首
2. ctrl+e  光标快速跳转到命令行行尾
3. ctrl+u   快速删除光标位置到命令行行首的字符   不包括当前字符
4. ctrl+k   快速删除光标位置到命令行行尾的字符    包括当前字符
5. ctrl+l     清屏    等同  clear

命令行展开:
1. 命令补齐:在 PATH变量搜索命令并补齐(PATH变量必须正常,输入要补齐命令的字符数一定要能够唯一标识这条命令;tab键补齐)    按两次 tab键 ,会列出以某个或某些字符开始的所有命令
2. 路径和文件补齐:在系统路径中查找
3. 命令行补齐功能不能补齐选项,即参数
4. 命令替换    就是把命令中的子命令替换成子命令执行结果的过程
5. 接上,经常用到shell脚本编程中      $(command)  `command`
6. 接上,   ""(双引号):弱引用(可以实现变量的替换,把变量名替换为变量值)
7. 接上,  ``  (反引号): 命令引用
8. 接上, ''(单引号):强引用(不能完成变量替换)

命令别名:
1. alias  别名=command                 alias 定义的别名只在当前shell生效      直接输入  alias 会打印所有命令别名
2. 执行  alias命令时,command最好用'' (单引号) 含括起来,没有参数不用也行,有参数一定要用      双引号亲测也行
3. unalias 别名   取消 该别名

命令行通配:globbing
1. *:匹配任意长度的任意字符
2. ?:匹配任意单个字符
3. []:匹配指定范围内的任意单个字符
4. [^]:匹配指定范围外的任意单个字符
5. [:space:] : 表示空格
6. [:punct:]:表示所有标点符号
7. [:lower:]:表示所有小写字母
8. [:upper:]:表示所有大写字母
9. [:alpha:]: 表示所有字母(大小写)
10. [:digit:]:表示所有数字
11. [:alnum:]:表示所有数字和大小写字母
12. 并不能很准确的匹配,要追求精确,还是要用正则表达式

管道,IO重定向
  计算机体系结构:
       控制器:CPU,读取系统指令
       运算器:CPU,运算
       存储器:RAM(内部存储器:易失性存储器)
       输入设备:输入数据,如键盘,硬盘等
       输出设备:显示指令执行结果,如显示器,音响,硬盘等

   计算机总线:
       地址总线:负责内存寻址
       数据总线:负责传输数据
       控制总线:负责控制指令
    寄存器:CPU中临时存储空间

    I/O设备

    程序:指令+数据
        指令:由程序提供,负责加工数据
        数据:系统中数据可以有多种来源,比如来自变量,来自文件,来自输入设备等
    标准输入输出设备
            标准输入设备:文件描述符为  0
            标准输出设备:文件描述符 为 1
            标准错误输出设备:显示器(stderr)  文件描述符为 2
    三种数据流

    当在Linux中打开一个文件时,内核会反复调用,对于文件标识就很重要了,用文件描述符来标识文件,文件加载完成后用数字标识
    fd:file descriptor (文件描述符)

    IO重定向:把默认输入输出数据来源重新定向到其他的文件或设备
      输出重定向:  通过重定向到终端名可以实现不同终端之间的交流 (使用 tty  来查看当前终端的名字)
                    2>  错误覆盖输出重定向
                    touch   /dir_name/{a.txt,b.txt,c.txt}    在其他目录同时创建多个文本
                    &>  混合覆盖输出重定向      &>>  混合追加输出重定向
      输入重定向:

   管道:

   tr:实现字符转换,不修改源文件       cat   /etc/passwd  | tr  'a-z'  'A-Z'      把 /etc/passwd 的所有字母转换为大写字母
   tee:ls  /etc/  |  tee  cws.txt       同时输出到屏幕和保存到文件中

[展开全文]
Shell: 在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
 
shell广义上分为两类:
  GUI:包括GNOME  KDE XFACE等
  CLI:sh csh ksh bash等(Linux发行版本中,bash是默认使用的shell程序)
  
shell启动:当用户登录完成后,系统会自动启动shell程序
    root  student用户
    shell:父shell程序和子shell程序(父子shell之间设置环境互相独立)
    cat /etc/shells //查看当前系统所支持的shell程序
    exit  //退出当前shell程序
 
bash的特性:
  1:命令历史:Linux会自动记录系统过去执行的命令,并保存在内存的缓冲区中
     在每个用户的家目录下,有个隐藏文件.bash_history保存命令历史
     history //查看linux的历史
        -c:清空命令历史
        -d:删除某一条命令历史
        -w:将命令历史保存到某个文件中
 
       HISTSIZE:命令历史大小变量
        $ echo $HISTSIZE    //查看HISTSIZE变量的值,默认的命令历史是1000条
      命令历史使用技巧:
        !n:执行命令历史中的第n条命令(n是命令历史编号)
        !-n:执行命令历史中的倒数第n条命令(n是命令历史编号)
        !word:执行命令历史中最近一次以word开始的命令(word必须能够唯一的标识用户想执行的命令)
        !!:执行上一条命令
        command !$:引用一个命令的最后一次参数
        command ESC键(按完松开) 再按.键:引用一个命令的最后一次参数
 
 (alias定义的别名只在当前shell生效)
    # alias new_command =OLD_COMMAND    //只执行alias命令,列出系统中所有的命令别名
       注意:执行alias命令时,COMMAND最好用引号引起来,因为别名可以等于原命令加选项
    # unalias new_command  //取消命令别名
    
4:命令行编辑
    ctrl+a:光标快速跳转到命令行的行首
    ctrl+e:光标快速跳转到命令行的行尾
    ctrl+u:快速删除从光标位置到命令行行首的字符串
    ctrl+k:快速删除从光标位置到命令行行尾的字符串
    ctrl+l:清屏(命令clear:清屏)
 
5:命令行补齐
    5.1:命令补齐:在PATH变量搜索命令并补齐(PATH变量必须正常;tab键补齐)
        按tab键两次,列出以某个字符开始的所有的命令
        路径和文件补齐:在系统路径中查找
        命令行补齐功能不能补齐选项
    5.2:命令替换(经常用到shell脚本编程中) $(command)或者 `command`(两边是反撇号)
    命令替换就是把命令中的子命令替换成子命令执行结果的过程
     # echo "字符串"
     ""(双引号):弱引用(可是实现变量的替换,把变量名替换为变量值)
     ``(反撇号):命令引用
     ''(单引号):强引用(不能完成变量替换)
 
6:命令行通配:globbing(正则表达式)
     *:匹配任意长度的任意字符
     ?:匹配任意单个字符
     []:匹配指定范围内的任意单个字符
       [ab] [a-m] [a-z] [A-Z] [a-zA-Z] [0-9] [a-zA-Z0-9]
     [^]:匹配指定范围外的任意单个字符
       [^a-z] [^0-9]
    
     [:space:]:表示空格
     [:punct:]:表示所有标点符号
     [:lower:]:表示所有小写字母
     [:upper:]:表示所有大写字母
     [:alpha:]:表示所有字母(包括大小写)
     [:digit:]:表示所有数字
     [:alnum:]:表示所有数字和大小写字母
[展开全文]


bash的特性:
命令历史:会自动记录系统过去执行的命令,并保存在内存的缓存区中
每个用户的家目录下,有个隐藏文件.bash_history保存命令历史
在每个用户
# history #查看命令历史
-c:清空命令历史
-d:删除某一条命令历史
-w:将命令历史保存到某个文件中
变量:PATH命令路径变量
HISTSIZE:命令历史大小变量
$ echo $HISTSIZE #查看变量的值,默认的命令历史是1000条

命令历史使用技巧:
!n:执行命令历史中的第n条命令(就是history的左边的编号)
!-n:执行命令历史中的倒数第n条命令 (n同上)
!word:执行命令历史中最近一次word开始的命令
!!:执行上一条命令
!$:引用一条命令的最后一次参数
esc(按完松开)再按. :引用一个命令的最后一次参数

管道、重定向

命令别名(alias定义的别名 只在当前shell生效)
alias COMM_ALIAS=COMMAND 例如[root@yum ~]# alias cls=clear 使得 cls拥有clear的功能 就是一个别名
上面的只执行alias命令,列出系统中所有的命令别名。执行alias命令时,COMMAND最后用单引号引起来
如何取消? unalias COMM_ALIAS

命令行的编辑

命令行的展开
命令补齐:按tab两次 补全列出所有存在命令
#echo $PATH #查看PATH变量的值 就是命令的路径
命令替换就是把命令中的子命令替换成子命令执行结果的过程
#echo “” 双引号其实是弱引号(可实现变量的替换,把变量名替换为变量值) ``反撇号 (命令引用) ‘’单引号 (不能完成替换变量)

命令行通配 globbing
*:匹配任意长度的任意字符
?:匹配任意单个字符
[]:匹配范围内的任意单个字符
[ab]从a或者b中去匹配
[a-m]从a到m中去匹配
[A-Z]从A到Z中去匹配
[a-zA-Z0-9]所有的字母与数字
[^]:匹配范围外的任意单个字符
[:space:]:表示空格
[:punct:]:表示所有标点符合
[:lower:]:表示所有小写字母
[:upper:]:表示所有大写字母
[:alpha:]:表示所有字母(包括大小写)
[:digit:]:表示所有数字
[:alnum:]:表示所有数字和大小写字母
字符:数字、字母、符合

变量

编程

[展开全文]

### history :查看命令历史

 * history -c :清除历史记录。

 * -d:删除某一条命令历史。

 * -w:将命令历史保存到某个文件中。

 * 变量:HIDTSIZE 命令历史大小变量。(echo $HISTSIZE)

#### 命令历史使用技巧:

 * !n:执行历史中的第N条命令。

 * !word:执行命令历史中 最近一次以word开始的命令。

* !!:上一个命令。

 

## 命令行编辑:

 * ctrl+a:光标跳到行首。

 * ctrl+e:光标跳转到行尾。

 * Ctrl+u:快速删除光标位置到行首。

 * ctrl+k:快速删除光标位置到行尾。

 

 

## 命令行替换:

 * 命令替换就是把命令中的子命令替换成子命令执行结果的过程。

 * # echo "字符串"

 * “”(双引号):弱引用(可实现变量的替换,把变量名替换成变量值)

 * ``(反撇号):命令引用。

 * ‘’:(单引号):强引用(不能完成变量替换)。

 

 

## 命令行通配:globbing

 *  *  :匹配任意长度的任意字符。

 * ? :匹配任意单个字符。

 *  []:匹配指定范围内的任意单个字符。

    *  [a-z]  [A-Z] [0-9]

 *  [^] :匹配指定范围外的任意单个字符。

 * [:space:]   表示空格。

 * [:punct:]   表示所有标点符号。

 * [:kower:]   表示所有小写字母。

 * [:upper:]   表示所有大写字母。

 * [:digit:]   表示所有数字。

 * [:alnum:]   表示所有数字和大小写字母。

[展开全文]

shell特性

shell广义上分为两类:

GUI:包括GNOME KDE XFACE

CLIsh csh ksh bash等(linux发行版本中,bash是默认使用的shell程序)

shell启动:当用户登录完成后,系统会自动启动shell程序

进程:应用程序的副本;使用PID区分(在系统中,一个进程只认为自己存在)

root   student用户

shell:父shell程序和子shell程序(父子shell之间设置环境互相独立)

# cat /etx shells  //查看当前系统所支持程序

#yum -y install ksh csh  //安装kshcshshell程序

#exit  //退出当前的shell程序

shell是一个程序

bash的特性:

1,命令历史:linux会自动记录系统过去执行的命令,并保存在内存的缓冲区中

在每个用户的家目录下,有个隐藏文件 .bash_history保存命令历史

# history  //查看Linux命令历史

-c:清空命令历史

-d:删除某一条命令历史

-w:将命令历史保存到某个文件当中

变量:PATH命令路径变量

           HISTSIZE:命令历史大小变量

    $ echo $HISTSIZE   //查看HISTSIZE变量的值,默认的命令历史是1000

命令历史使用技巧:

n:执行命令历史中的第n条命令

-n:执行命令历史中的倒数第N条命令(n是命令历史编号)

word:执行命令当中命令历史中最近一次以word开始的命令(word必须能够唯一的标识用户想执行的命令)

!!执行上一次命令

$引用一个命令的最后一次参数

ESC (按完松开)再按 .键:引用一个命令的最后一次参数

 

2.管道,重定向

3.命令别名(alisa定义的别名只在当前shell生效)

#alias COMM_ALLAS=COMMAND //只执行alias命令,列出系统中所有的命令别名

注意:执行alias命令时,COMMAND最好用‘‘(引号)引起来

# unalias COMM_ALIAS  //取消命令别名

4.命令行编辑

ctrl+a:快速跳转到命令行的行首

ctrl+e:光标快速跳转到命令行的行尾

ctrl+u:快速删除光标位置到命令行行首的

ctrl+k:快速删除光标位置到命令行行尾的位置

ctrl+l:清屏

5.命令行展开

命令补齐:在PATH变量搜索命令并补齐(path变量必须正常,输入要补齐命令的字符数一定能够唯一标识这条命令:tab键补齐)

tab键两次,列出以某个字符开始的所有的命令

# echo $ PATH  //查看PATH变量的值

路径和文件补齐:在系统路径中查找

命令行补齐功能不能补齐选项

命令替换:(经常会用于shell脚本编程中)

命令替换就是把命令中的子命令替换成子命令执行结果的过程

# echo ”字符串

“”(双引号):弱引用(可以实现变量的替换,把变量名替换为变量值)

反撇号:命令引用

单引号:强引用(不能完成变量替换)

6.命令行通配:globbing

*:匹配任意长度的任意字符

?:匹配任意单个字符

【】:匹配指定范围内的任意单个字符

^】:匹配任意指定范围外的任意单个字符

7.变量

8.编程

 

[展开全文]

shell:

GUI  包括GNOME KDE XFACE

CLI   sh csh ksh bash(bash是默认的shell程序)

用户登录完成后,系统自动启动shell程序

进程 应用程序的副本,使用PID区分(在系统中,一个进程只认为自己存在)

shell 父shell程序,子shell程序(父子shell之间设置环境互相独立)

cat /etc/shells 查看当前系统支持的shell程序

yum -y install ksh csh 安装 ksh  csh 

exit 退出当前shell程序 

 

bash的特性:

    1,命令历史:Linux自动记录系统执行的命令,保存在内存的缓存区中。每个用户的家目录下,有个隐藏的文件 .bash_history保存命令历史。

        history 查看命令历史

        -c 清空命令历史

        -d 删除某一条命令位置

        -w 将命令历史保存到某个文件中

        HISTSIZE 命令历史大小变量

        echo $HISTSIZE 查看其值

    !n  执行历史中第n条命令

   !-n 倒数第n条命令

   !Word 执行命令历史中最近一次以Word开始的命令(Word必须唯一标识要执行的命令)

   !!执行上一次命令

   !$ 引用一个命令的最后一次参数

    ESC键 再按 .   同上

 

    2,管道,重定向

 

    3,命令别名 

        alias command=COMMAND(原来的命令,最好用‘’引起来) 只执行alias时,会列出系统中所有已经有别名的命令。

        unalias 取消

    4,命令行编辑

        Ctrl + a 快速跳到命令行首

        Ctrl + e 快速跳转到行尾

        Ctrl + u 快速删除光标位置到命令行行首的字符

        Ctrl + k 快速删除光标位置到命令行行尾的字符

        Ctrl + l 清屏

 

    5,命令行展开

        命令补齐: 在PATH变量搜索命令并补齐(PATH命令必须正常;tab键补齐)

        路径和文件补齐 :在系统路径中查找

        命令行补齐功能 不能补齐选项

        命令替换:经常用在shell脚本编程中

            将命令当中的子命令 替换成子命令执行结果 的过程

---> $(command)    'command'(反撇号)

双引号"",弱引用(可实现变量的替换,把变量名替换为变量值)  

反撇号``,命令引用

单引号‘’强引用(不能完成变量替换)

 

    6,命令行通配

* 匹配任意长度的任意字符

? 匹配任意单个字符

[ ] 匹配制定范围内的任意单个字符

--->> [ab] [a-m] [a-zA-Z] [a-zA-Z0-9]

[^] 匹配任意制定范围外的任意单个字符

--->>[^a-z]

[:space:] 表示空格

[:punct:] 所有标点符号

[:lower:] 所有小写字母

[:upper:] 所有大写字母

[:alpha:] 所有字母

[:digit:] 所有数字

[:alnum:] 所有数字和字母

 

    7,变量

 

    8,编程

 

 

 

 

 

 

 

 

 

 

 

 

[展开全文]

授课教师

课程特色

视频(102)
下载资料(1)