Shell命令

文章目录

  • Shell命令
  • 一、Shell是什么?
  • 二. linux环境下的快捷键
    • tab :输入命令或者路径等操作时自动补全
    • 上键:快速选择上一次或多次执行的命令
    • 下键:快速选择下一次或多次执行的命令
    • ctrl+a:让光标直接移动到命令行行首
    • ctrl+e:让光标直接移动到命令行行尾
    • ctrl+f:光标向右移动一位,跟方向键的右键是一样的效果
    • ctrl+b:光标向左移动一位,跟方向键的左键是一样的效果
    • ctrl+insert:复制
    • shift+insert:粘贴
    • ctrl+c:中断命令,就是一个命令一直执行,我们可以提前中断它
    • ctrl+d:退出终端:除了使用ctrl+d的快捷键退出,还可以使用exit或者logout命令退出
    • ctrl+l:相当于clear命令,清屏
  • 三. linux中的目录
    • / : 表示根目录
    • ~ :表示主目录,也叫家目录,在国外叫HOME目录
    • . : 一个点表示当前目录
    • . . :两个点表示当前目录的上级目录
    • cd - :表示进入到上一次的目录
  • 四. 相对路径与绝对路径
  • 五、常用命令
    • 1. 命令提示符
    • 2. cd:进入某个目录中
    • 3. ls:仅显示当前目录的可见内容
      • 3.1 ls -l : 显示当前目录可见内容,并且以长格式的形式展示
      • 3.2 ls -a: 显示当前目录的所有内容,包含隐藏内容
      • 3.3 ls -al:显示当前目录的所有内容,包含隐藏内容,并且以长格式的形式展示
    • 4. pwd:显示当前用户所在目录
    • 5. man+某命令:表示查看某命令的帮助文档
    • 6. mkdir:新建一个目录
      • 6.1 用法一:
      • 6.2 用法二:mkdir -p
    • 7. rmdir:删除一个空目录,注意是空目录,有东西的目录不能删
    • 8. rm:删除一个文件或目录
      • 8.1 基本用法
      • 8.2 rm -r
      • 8.3 rm -r -f
    • 9. cp:复制拷贝一个文件或目录
    • 10. mv:重命名/移动文件或目录
      • 10.1 用法一:重命名
      • 10.2 用法一:移动,或者叫剪切
  • 六、基础运维命令
    • 1. 关机命令:
      • 1.1 shutdown -h
      • 1.2 poweroff
      • 1.3 halt
      • 1.4 halt - p
    • 2. 重启命令
      • 2.1 shutdown -r
      • 2.2 reboot
  • 七、文件管理命令
    • 1. touch: 创建文件命令,创建一个或者多个文件,或者创建隐藏文件(掌握)
      • 用法一:创建单个文件
      • 用法二:一次创建多个文件
      • 用法三:创建隐藏文件
    • 2. echo: 输出重定向命令(掌握)
      • 用法一:echo > 覆盖的方式写入
      • 用法二:echo >> 追加的方式写入
      • 用法三:错误信息追加
      • 用法四:正确的信息和错误的信息均写入同一个文件
    • 3. cat: 显示文件的内容,从文件第一行开始显示(掌握)
      • 用法一:cat命令的普通用法
      • 用法二:cat命令的高级用法:往文件中写入内容
    • 4. tac: 显示文件的内容,但是是从最后一行开始显示(掌握)
    • 5. nl:显示文件内容,从第一行开始显示,但是会多显示一个行数(掌握)
    • 6. more:分页显示文件内容,更方便我们阅读(掌握)
      • 用法一:more 文件名.扩展名
      • 用法二:more -num 文件名.扩展名
    • 7. less:分页显示文件内容
    • 8. head:取出文件的前几行显示,head头部,后面跟参数 -n,-n 表示取多少行出来:
    • 9. tail:取出文件的后几行显示,后面跟参数 -n
  • 八、VI、VIM文本编辑器
    • 1. 创建文件:
      • 使用touch命令创建:
      • 使用VIM文本编辑器创建文件:
    • 2.编辑文件:
      • 2.1 VIM的三种模式:
      • 2.2 底行模式的常用命令(也叫命令行模式)
        • 2.2.1 set nu:表示显示行号;
        • 2.2.2 wq:表示保存文件,跟上面的连续按两下大写的ZZ是一样的效果;
        • 2.2.3 w:将文件中的数据保存到磁盘
        • 2.2.4 q:退出vim,但是会保存文件
        • 2.2.5 q!:强制退出vim,并且不保存文件
        • 2.2.6 %s/old/new/g:全局替换,相当于windows下ctrl+f搜索出来后再进行替换的操作;
        • 2.2.7 搜索关键词:/keyword,直接斜杠后面跟上你要搜索的词就行;
      • 2.3 命令模式的常用命令
  • 九、Linux系统目录结构介绍
    • 1. tree命令
    • 2. linux系统中重要的目录
    • 1. /etc :这个目录中存放了一些重要的配置文件
  • 总结


一、Shell是什么?

  1. Shell就是一个C语言开发的,跑在linux或unix系统上的程序;
  2. Shell是用户和系统之间的一个桥梁,我们输入Shell命令后,Shell将命令翻译成操作系统能懂的机器码,然后系统执行相应功能;
  3. Shell是一种程序语言,我们可以写Shell脚本用来做开发;

如何退出命令行模式?
exit,lgout,或者ctrl+d

二. linux环境下的快捷键

tab :输入命令或者路径等操作时自动补全

上键:快速选择上一次或多次执行的命令

下键:快速选择下一次或多次执行的命令

ctrl+a:让光标直接移动到命令行行首

ctrl+e:让光标直接移动到命令行行尾

ctrl+f:光标向右移动一位,跟方向键的右键是一样的效果

ctrl+b:光标向左移动一位,跟方向键的左键是一样的效果

ctrl+insert:复制

shift+insert:粘贴

ctrl+c:中断命令,就是一个命令一直执行,我们可以提前中断它

ctrl+d:退出终端:除了使用ctrl+d的快捷键退出,还可以使用exit或者logout命令退出

ctrl+l:相当于clear命令,清屏

三. linux中的目录

/ : 表示根目录

linux,unix中用"/"表示根目录
windows中用c:\

~ :表示主目录,也叫家目录,在国外叫HOME目录

注意根目录与家目录的关系;
在linux中目录结构是一个树结构,/根目录是最顶层的结构;
~家目录就是在根目录下一层,家目录显示出来就是/root这样的形式,意思就是说:家目录实际上就是/根目录下面的root目录;

. : 一个点表示当前目录

比如我在家目录中使用cd . 就表示进入当前目录,也就是家目录,在现在这个场景下就相当于什么都没干

[root@localhost ~]# cd .

我使用pwd查看,还是在/root目录下

[root@localhost ~]# cd .
[root@localhost ~]# pwd
/root   <<<<<<-----------------看这里
[root@localhost ~]#

. . :两个点表示当前目录的上级目录

但是我使用两个点的话,就会从家目录进入到/根目录中,
我们再显示用pwd显示当前位置,就会发现是根目录下了;

[root@localhost ~]# cd ..
[root@localhost ~]# pwd
/   <<<<<-------------------看这里

cd - :表示进入到上一次的目录

这个什么意思呢?其实就相当于我们经常用的ctrl+z,就是回退到我们上一次所在的目录中

四. 相对路径与绝对路径

绝对路径:像这种以/开头的,就是绝对路径,意思就是根目录下的user目录下的local目录下的tomcat

/user/local/tomcat

相对路径:相对路径就是相对的,比如相对于tomcat目录而言,local目录就是:

../tomcat

五、常用命令

1. 命令提示符

[root@localhost ~]#

root表示当前登录的用户,如果你是用账户名root登录的,这里就显示为root;
@表示工作在哪个主机上;
localhost表示你的主机名,也就是你的服务器名称,这里localhost是你的服务器名称;
~表示当前的工作目录;
#表示这是一个管理员账户,如果#这里被换成了s就表示这是一个普通用户登录的;

2. cd:进入某个目录中

切换当前目录到根目录,"/"就是linux或unix系统下的根目录

[root@localhost ~]# cd /

3. ls:仅显示当前目录的可见内容

3.1 ls -l : 显示当前目录可见内容,并且以长格式的形式展示

[root@localhost ~]# ls -l

使用ls -l 命令,就会显示文件的更多信息,-l是长度的意思,就是显示更多长度;

3.2 ls -a: 显示当前目录的所有内容,包含隐藏内容

隐藏内容一般都是一些系统或用户的配置文件,这些配置文件比较重要,所以隐藏起来
这些隐藏文件通常都以点儿 .开头,比如 .bash

[root@localhost ~]# ls -al

3.3 ls -al:显示当前目录的所有内容,包含隐藏内容,并且以长格式的形式展示

注意:后面的al部分前后顺序
我可以写成这样:

[root@localhost ~]# ls -la

设置还可以写成这样:

[root@localhost ~]# ls -a -l

或者

[root@localhost ~]# ls -l -a

这都是可以的。

注意:你使用ls -alh或者ls -l将当前目录下的所有文件详细信息展示出来后,如果是d开头的,就表示这是一个目录,如果是以横杠"-"开头的就表示这是一个文件;

4. pwd:显示当前用户所在目录

这个命令一般都是配合cd,ls命令使用的;

5. man+某命令:表示查看某命令的帮助文档

man这个命令就是帮助文档的意思:`
我们在man后面加上具体的命令,按回车,就会显示出这个命令的用法:
比如下面这个命令,就会显示出list的用法等:

[root@localhost ~]# man ls


进入这个帮助页面后,我们可以按Q键退出这个页面;

6. mkdir:新建一个目录

6.1 用法一:

创建了一个名为xuhaixuhai的目录

mkdir xuhaixuhai

同时创建了3个平级的目录

mkdir xuhai1 xuhai2 xuhai3

6.2 用法二:mkdir -p

创建了一个带有层级关系的目录结构:创建了xuhai目录,xuhai目录下创建了子目录liudan

mkdir -p xuhai/liudan

这就是同时创建了两个同级的目录xuhai和xuhai1,又同时创建了它们的子目录xuhai1和liudan1

mkdir -p xuhai/liudan xuhai1/liudan1

7. rmdir:删除一个空目录,注意是空目录,有东西的目录不能删

注意:你要删除某个文件或者某个目录,你必须要到它的上一级目录中才能删除,否则无法删除;

8. rm:删除一个文件或目录

8.1 基本用法

如果你不指定参数的时候,它就认为你是要删除一个文件:

用这个命令它就认为你是在删除一个文件:

rm xuhai

8.2 rm -r

加了 -r 后,它认为你是在删除一个目录,并且表示递归删除该目录下的所有内容,使用这个命令时系统会向你进行确认:

rm -r day06
rm -r xuhai xuhai1  //可以同时删两个文件夹,不过要确认两次而已


从图中我们就能看到,系统会告诉我们day06目录非空,确认是否删除?我们回复一个y就表示删除,并且会向我们多次确认;

8.3 rm -r -f

-f 表示强制删除一个目录,不管这个目录下面是否有还有内容,并且它是直接删,不想-r那样还会向你确认,-f不跟你多bb,直接删;

rm -rf xuhai  //表示强制删除一个目录,不管它是否为空
rm -r -f xuhai //根据上面学的知识,这也表示强制删除一个目录

但是你用-f跟rmdir配合使用是删除不掉非空目录的,-f不能跟rmdir配合使用,linux没有这样的语法;

rmdir -f xuhai

注意:-f 一定要慎用,虽然删除了也能找回来,但是相当的麻烦,需要专业人士专业软件才能找回,基本就相当于无解,找不回来;

9. cp:复制拷贝一个文件或目录

用法一:拷贝文件

cp xuhai xuhai1

将xuhai文件拷贝了一份,新的这份文件叫xuhai1,这两份文件只有名字不一样;
注意:没加 - r ,就默认是拷贝文件,跟rm是一个道理
用法二:拷贝目录

cp -r xuhai xuhai1

将xuhai目录及它的子目录下的所有内容,都拷贝到xuhai1目录;
注意:加了 -r 就表示递归拷贝,把当前这个目录下的所有内容都拷贝出来成一份新的目录;

10. mv:重命名/移动文件或目录

10.1 用法一:重命名

mv day06 day6_AM

这表示对文件重命名,将day06重命名为day6_AM

10.2 用法一:移动,或者叫剪切

[root@localhost ~]# mv day06_AM ../

这就表示将day06_AM文件移动到了当前目录的上一级目录中,也就是移动到了家目录的上一级目录中;
…/ 表示上一级目录,这里不加斜杠"/"都是一个意思,都表示上一级目录
标准的写法应该是不带这个斜杠:

[root@localhost ~]# mv day06_AM ..

六、基础运维命令

1. 关机命令:

1.1 shutdown -h

关机不关闭电源

1.2 poweroff

关机且关闭电源

1.3 halt

关机,cpu停止工作,但是电源不关闭

1.4 halt - p

关机并关闭电源

2. 重启命令

2.1 shutdown -r

2.2 reboot

这两个都是重启命令,重启系统

七、文件管理命令

1. touch: 创建文件命令,创建一个或者多个文件,或者创建隐藏文件(掌握)

用法一:创建单个文件

touch xuhai.txt

这就是创建了一个文本类型的文件,文件名为xuhai;
创建文件时,文件名可以为中文,但是你在创建脚本等特殊文件时,最好还是不要用中文;

用法二:一次创建多个文件

touch xuhai.txt tom.mkv

用法三:创建隐藏文件

touch .xuhai.txt .tom.txt

在前面加个点儿就表示创建隐藏文件

2. echo: 输出重定向命令(掌握)

echo的作用:就是当你用touch命令创建文件后,我们通过echo向文件中写入内容;

用法一:echo > 覆盖的方式写入

echo "helloworld" > a.txt

这表示将helloworld写入到a.txt中,如果a.txt中有内容,则会把原本的内容覆盖。
注意:你要往文件里写内容的时候,由于是字符串,所以你要给helloworld加双引号。

用法二:echo >> 追加的方式写入

echo "helloworld" >> a.txt

这表示将helloworld追加到a.txt中,不会把原本的内容覆盖。

用法三:错误信息追加

用法四:正确的信息和错误的信息均写入同一个文件

用法三跟用法四暂时先不管,后面学习shell脚本的时候会涉及到。

3. cat: 显示文件的内容,从文件第一行开始显示(掌握)

用法一:cat命令的普通用法

cat a.txt

这就表示显示a.txt文件中的内容。

用法二:cat命令的高级用法:往文件中写入内容

cat >a.txt<<EOF

输入这行命令,文件左边有个右箭头,左边有两个左箭头,并且有大写的EOF
单词组成;然后再回车,左下角就会弹出一个右箭头,表示你可以往a.txt中输入内容;

我们写完最后,再加一个EOF,再回车就能结束编辑模式,这个文件中就被写入内容了。

所以说,除了echo > 与echo >>命令可以往文件中写入内容,
cat >文件名.文件拓展名<<EOF 命令也可以往文件中写入内容。

4. tac: 显示文件的内容,但是是从最后一行开始显示(掌握)

tac命令跟cat是相反的;

tac a.txt

这就是从最后一行开始输出a.txt的内容
tac命令的用处:比如在查看日志时,从第一天开始看就太多了,直接用tac命令即可看到最新的内容;

5. nl:显示文件内容,从第一行开始显示,但是会多显示一个行数(掌握)

nl命令跟cat命令差不多,都是从第一行显示文件内容,不过nl会多显示一个行号。
用法:

nl c.txt

比如下面这个例子:

6. more:分页显示文件内容,更方便我们阅读(掌握)

当你的文件中的内容特别多,如果你不分页显示的话,你就得一点点往下翻,比较麻烦;这时候就可以使用more命令,分页显示文件的内容,你可以点下一页;

用法一:more 文件名.扩展名

more c.txt

按一下空格键,可以往后翻页;按一下字母b键,可以往前翻页;

用法二:more -num 文件名.扩展名

more -3 c.txt

这也是分页显示,但是只显示前三行

7. less:分页显示文件内容

less命令也是分页显示文件内容,但是跟more有区别,具体什么区别,我不知道,less命令了解即可

8. head:取出文件的前几行显示,head头部,后面跟参数 -n,-n 表示取多少行出来:

head -3 c.txt

这就是取前3行显示;
head命令了解即可

9. tail:取出文件的后几行显示,后面跟参数 -n

tail -3 c.txt

这就是取后3行显示;
tail命令了解即可

八、VI、VIM文本编辑器

使用文本编辑器之前需要安装,VIM是VI的升级版,我们通常是用VM文本编辑器。

安装VIM文本编辑器:

yum install -y vim

1. 创建文件:

创建文件有两种方式,可以使用touch命令创建,也可以使用VIM文本编辑器创建;

使用touch命令创建:

yum new.txt

使用VIM文本编辑器创建文件:

vim new.txt

注意,如果new.txt文件已经存在,则会直接打开它;如果new.txt文件不存在,则会先创建,再打开它;

2.编辑文件:

2.1 VIM的三种模式:

VIM文本编辑器有三种模式:
1.命令模式:你使用vim打开文件,默认就是命令模式;
2.编辑模式,也叫插入模式:使用vim打开文件后,点击一下字母 i 键,就会进入编辑模式;
3.底行模式,也叫命令行模式

注意:按一下ESC可以退出编辑模式,回到命令模式
注意:命令模式中,快速按两下大写的ZZ,可以保存文件
注意:如何进入底行模式?
在命令模式下,按一下冒号":",就能进入底行模式;

2.2 底行模式的常用命令(也叫命令行模式)

在底行模式下,出现这个冒号后,表示等着我们输入命令;
我们可以输入哪些命令?

2.2.1 set nu:表示显示行号;

2.2.2 wq:表示保存文件,跟上面的连续按两下大写的ZZ是一样的效果;

2.2.3 w:将文件中的数据保存到磁盘

2.2.4 q:退出vim,但是会保存文件

2.2.5 q!:强制退出vim,并且不保存文件

2.2.6 %s/old/new/g:全局替换,相当于windows下ctrl+f搜索出来后再进行替换的操作;

最后的g表示全局的意思;

下面的例子就是表示把整个文档中的"一代天骄"替换为"二代天骄":

2.2.7 搜索关键词:/keyword,直接斜杠后面跟上你要搜索的词就行;

2.3 命令模式的常用命令

p:粘贴
yy:复制所在行
nyy:从光标在的那一行开始,往下复制n行,包含光标所在那一行,如果你想复制3行,你就输入3yy
dd:删除所在行
ndd:删除n行
gg:快速跳转到文件的头行的首字符
G:快速跳转到文件的尾行的首字符
行号+G:比如200G,表示跳转到第200行,但是使用行号+G命令时,你需要先在底行模式中set nu将行号显示出来
$:可以快速跳转到光标所在行的行尾
u:撤销,回退操作

九、Linux系统目录结构介绍

以上的知识学习完毕后,linux就已经入门了,现在开始深入学习;

1. tree命令

在学习linux系统目录结构前,我们最好安装一下tree命令,这是一个命令,它的作用是以树形图显示目录内容;

安装tree命令:

yum install -y tree

tree命令用法:

[root@localhost ~]# tree

直接单独一个tree就可以了,它会显示当前所在目录的树形结构

比如:这里使用tree命令,就显示了~/SEC/day09下面的目录树形结构:

注意:为什么图中有很多斜杠+数字这样的目录以及文件呢?
这是因为在这里面,中文是用UTF-8格式显示的,中文都被转码成了数字,所以图中才这么多数字名称的目录及文件;

2. linux系统中重要的目录

1. /etc :这个目录中存放了一些重要的配置文件

/etc/sysconfig/network-scripts目录 :里面存放是网卡的配置文件,比如ifcfg-ens33,注意:在虚拟机中的网卡配置文件一般都叫ens33,但是在真实的服务器中,网卡配置文件一般叫em1,em2,em3,em4,eth0等;

/etc/fstab目录:开机自动挂载的列表
/etc/hostname目录:主机名称
/etc/hosts目录:查看本地DNS域名
/etc/resolv.conf:保存的就是DNS服务器的地址

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

更多推荐

Shell命令学习