【Linux学习】Shell基础知识

长命令与短命令

ls -l -a /root #长命令
ls -la /root #短命令

在Linux系统中,命令可以分为:bash内置的命令和应用程序。

#可以使用which命令查看哪些命令是bash内置的命令,哪些是应用程序。
root@DESKTOP-LRIII94:/# which ls
/usr/bin/ls

常用控制组合键

  • Ctrl+l:清屏
  • Ctrl+o:执行当前命令,并选择上一条命令
  • Ctrl+s:阻止屏幕输出
  • Ctrl+q:允许屏幕输出
  • Ctrl+c:终止命令
  • Ctrl+z:挂起命令
  • Ctrl+d:输入结束或注销Linux系统

常用光标操作

Ctrl+a:移到命令首行
Ctrl+e:移到命令行尾
Ctrl+u:删除从光标到命令行首的部分
Ctrl+k:删除从光标到命令行尾部分

特殊字符

在Linux系统中,许多字符对于shell具有特殊意义

~:用户主目录
`:反引号,用来命令代替
#:注释
$:变量取值
():子shell开始与结束
\:使命令持续到下一行
|:管道
<:输入重定向
> 输出重定向
>>:追加重定向
':单引号(不具有变数置换功能)
“:双引号(具有变数置换功能)
/:路径分隔符
;:命令分隔符

通配符

?:表示任何单一字符
*:表示任意字符
[charlist]:在中括号中的字符都符合
[!charlist]:不在中括号中的字符都符合

命令历史记录

bash启动时会读取/.bash_history文件,并将其载入内存中,$HISTFILE变量用于设置/.bash_history文件,bash退出时也会把内存中的历史记录回写到此文件中。

root@DESKTOP-LRIII94:/# echo $HISTFILE
/root/.bash_history
#在etc/profile文件中,默认定义了1000个命令历史记录
$HISTSIZE:设置bash会话期间命令历史包含的命令数量
$HISTFILESIZE:设置历史文件中实际存储的命令数量

使用history命令可以查看命令历史记录,每一条命令都有一个序列号标示。

-c:清除命令历史记录
-w:将当前的历史命令写到.bash_history文件中(覆盖操作)
-a:将目前新增的历史命令追加到.bash_history文件中
n:显示最近n个命令历史记录
-r:读取历史文件的内容,并把它们作为当前历史

命令排列

1、使用;
先执行命令1,不管命令1是否出错,接下来执行命令2
root@DESKTOP-LRIII94:~# ls;pwd
test
/root
2、使用&&
只有命令1正确执行完毕后才能执行命令2
root@DESKTOP-LRIII94:~# ls&&pwd
test
/root

命令替换

在Linux系统中,shell命令的参数可以由另一个命令的结果来代替,这种操作称为命令替换,有两种替换字符:$()、``反引号

root@DESKTOP-LRIII94:~# ls $(pwd)
test
root@DESKTOP-LRIII94:~# ls `pwd`
test

命令别名

在需要执行某一个非常长的命令时,所有的命令及命令的选项、参数都可以用快捷方式来定义简单的别名

语法说明:
alias [别名]=[需要定义的命令]
root@DESKTOP-LRIII94:~# alias hello="ls -al /root"
root@DESKTOP-LRIII94:~# hello
total 4
drwx------ 1 root root 4096 Dec 10 09:39 .
drwxr-xr-x 1 root root 4096 Dec  5 11:10 ..
-rw------- 1 root root  179 Dec  9 10:34 .bash_history
-rw-r--r-- 1 root root  570 Sep 12 14:36 .bashrc
-rw-r--r-- 1 root root  148 Sep 12 14:36 .profile
drwxrwxrwx 1 root root 4096 Dec 10 09:39 test
取消别名:
unalias [别名]

管道

可以将某个命令的输出信息作为某个命令的输入,用|来标示

root@DESKTOP-LRIII94:~# cat .bash_history |grep c
cd /
curl
nc

重定向

1、输出重定向,即将某一个命令执行的输出保存到文件中,如果已存在该文件,那么将覆盖操作。

[命令] > [文件]
root@DESKTOP-LRIII94:~# history > history.txt
root@DESKTOP-LRIII94:~# cat history.txt
    1  cd /
    2  .......省略
root@DESKTOP-LRIII94:~# echo hello>hello.txt
root@DESKTOP-LRIII94:~# cat hello.txt
hello

2、追加重定向

root@DESKTOP-LRIII94:~# echo world>>hello.txt
root@DESKTOP-LRIII94:~# cat hello.txt
hello
world

3、错误重定向,将某一命令执行的出信息输出到指定的文件中

[命令] 2> [文件]
root@DESKTOP-LRIII94:~# cat /root/123 2>2.txt
root@DESKTOP-LRIII94:~# cat 2.txt
cat: /root/123: No such file or directory
错误追加:
[命令] 2>> [文件]

VI编辑器

vi编辑器是Linux系统字符界面下最常用的文本编辑器,用于编辑任何ASCII文本,可以进行文本的创建、查找、替换、删除、复制和粘贴等操作。

  • 命令模式:进入vi编辑器后,系统默认处于命令模式,命令模式控制屏幕光标的移动、字符、字或行的删除等,在命令模式下可以按:进入末行模式,按下字母a键进入插入模式
  • 插入模式:只有在插入模式下,才能进行文本编辑,按下WSC键可以回到命令模式。
  • 末行模式:在末行模式下,可以将文件进行保存或退出vi编辑器,也可以进行字符替换或删除操作。
常用插入模式命令:
i:从光标当前所在的位置开始插入
a:从光标当前所在的位置之后开始插入
o:在光标所在行的下面新开一行插入
常用命令模式操作:
x:删除光标所在位置的字符
X:删除光标所在位置前面一个字符
dd:删除光标所在行
yy:复制光标所在行
u:撤销上一个操作
Ctrl+g:列出行号
ZZ:保存退出
ZQ:不保存退出
/关键字:先按下/键,在输入要查找的内容,按下n键会继续查找下一个关键字。
末行操作模式:先按下ESC键,再按下:键进入末行模式:
:w    保存文件
:w fimename    另存为
:wq    保存并退出VI编辑器
:wq!    保存文件并强制退出
:x    与:wq!效果一样
:q!如果无法离开vi,则强制退出
:set number    在文件每行前面列出行号

猜你喜欢

转载自blog.csdn.net/a15803617402/article/details/84936151
今日推荐