3.16 第十章:shell基础知识

本文详细介绍了Linux Shell的基础知识,包括Shell的定义、命令历史记录、别名设置、通配符使用、输入输出重定向、管道符、作业控制以及系统环境变量的配置。通过讲解各种特殊符号的用途,如*、?、#、、|、>、<<等,帮助读者掌握Shell的基本操作。此外,还深入讨论了变量的设定与环境变量的持久化方法,如通过编辑/etc/profile和.bashrc文件。最后,文章列举了多个实用的shell命令,如cut、sort、uniq和tr,以及如何在后台运行命令。
摘要由CSDN通过智能技术生成

第十章:shell基础知识

一、什么是shell

shell时系统跟计算机硬件交互时使用的中间介质,知识系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西–系统内核。用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell在传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。

1.记录命令历史
我们执行过的命令Linux都会记录,预设可以记录1000条历史命令。这些命令保存在用户的家目录的.bash_history文件中。(只有正常退出当前shell才会保存)

  • !!:执行上一条命令;
1.txt  anaconda-ks.cfg  dir1  dir1.tar  dira  dirb  test
[root@zl_cloud ~]# !!
ls
1.txt  anaconda-ks.cfg  dir1  dir1.tar  dira  dirb  test
[root@zl_cloud ~]#
  • !n:n是指数字,表示执行命令历史中的第n条指令;
[root@zl_cloud ~]# !50
cd .
[root@zl_cloud ~]# 
  • !字符串(字符串>=):执行命令历史中最后一次以这个字符串开头的命令。
[root@zl_cloud ~]# !pw
pwd
/root
[root@zl_cloud ~]#

2.命令和文件名补全
Tab键:可以补全一个指令、一个路径或者一个文件名。连续按两次该键的话系统会把所有的命令和文件都列出来。

3.别名
alias:把一个常用的并且很长的指令另取为一个简单易记的指令。
①自定义别名
格式:alias 【命令别名】=【‘具体的命令’】。

[root@zl_cloud ~]# alias aming='pwd'
[root@zl_cloud ~]# aming
/root
[root@zl_cloud ~]# 

②解除别名
命令:unalias

[root@zl_cloud ~]# unalias aming
[root@zl_cloud ~]# aming
-bash: aming: 未找到命令
[root@zl_cloud ~]# 

③查看别名
命令:alias

[root@zl_cloud ~]# 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 ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@zl_cloud ~]# 

4.通配符
在bash下,可以使用*来匹配零个或多个字符,用?匹配一个字符。

[root@zl_cloud ~]# ls
1.txt  anaconda-ks.cfg  dir1  dir1.tar  dira  dirbb  test
[root@zl_cloud ~]# ls -d dir*
dir1  dir1.tar  dira  dirbb
[root@zl_cloud ~]# ls -d dir?
dir1  dira
[root@zl_cloud ~]# 

5.输入\输出重定向
输入\输出重定向用于改变命令的输入\输出。输入重定向命令是<,输出重定向命令是>。

[root@zl_cloud ~]# cat 1.txt
test
[root@zl_cloud ~]# echo "111" > 1.txt       //输出重定向
[root@zl_cloud ~]# cat 1.txt
111
[root@zl_cloud ~]# echo "222" >> 1.txt      //追加输出重定向
[root@zl_cloud ~]# cat 1.txt
111
222
[root@zl_cloud ~]# 

6.管道符

  • | :用于将前一个命令作为后一个指令的输入
[root@zl_cloud ~]# cat /etc/passwd | head -3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@zl_cloud ~]# 

7.作业控制

  • ①当运行进程时,如何终止进程?使用(Ctrl+C)键终止:

  • ②当运行进程时,如何暂停进程?使用(Ctrl+Z)键暂停:

...          //本来上面在执行编写1.txt文件。
[1]+  已停止               vi 1.txt
[root@zl_cloud ~]# 

多个暂停的任务如何查看?使用jobs命令:

[root@zl_cloud ~]# jobs
[1]-  已停止               vi 1.txt
[2]+  已停止               vmstat 1 > /tmp/1.log
[root@zl_cloud ~]#

暂停后如何恢复呢?使用fg命令恢复:
[root@zl_cloud ~]# fg //如果有多个的话,在fg后空格加对于jobs前面显示的数字即可。

暂停后如何将它到后台运行呢?使用bg命令:
[root@zl_cloud ~]# bg

关闭当前的shell,再次打开另一个shell时,使用jobs命令并不会显示在后台运行或者被暂停的任务。要像关闭这些任务,则需要先知道它们的pid:

[root@zl_cloud ~]# ps aux | grep vmstat      //第二列就是pid
root       6025  0.0  0.0 138804  1180 pts/0  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值