Linux系统应用 第二章 Shell概念与基本命令操作

2.1shell概述

操作系统的核心功能就是管理和控制计算机硬件、软件资源,以尽量合理、有效的方法组织多个用户共享各种资源,而Shell则是介于使用者和操作系统核心程序(Kernel)间的一个接口。在各种Linux发行版中,目前虽然已经提供了丰富的图形化接口,但是Shell仍然是一种非常方便、灵活的途径。

Linux中的Shell又被称为命令行,在这个命令行窗口中,用户输入指令,操作系统执行指令并将结果回显在屏幕上。

在Linux系统中,如果安装有图形界面,用户可以在图形界面中通过打开终端窗口的方式使用Shell;如果没有安装图形界面,可以直接在文字界面中使用Shell。

1. 使用终端窗口

 打开终端窗口有两种方法:

第一种方法:右击桌面后选择“在终端中打开”。 打开的是图形窗口(终端窗口)
第二种方法:打开系统菜单”应用程序”——>”工具” —>”终端”。

登录之后,普通用户的命令行提示符以“$”结尾,超级用户则以“#”结尾。使用su命令可以在终端窗口中切换账户。

命令:su root 切换到root帐户

         su  sjh      切换到sjh帐户

注意:超级用户切换到普通用户时,不需要输入密码,普通用户切换到超级用户或普通用户时,需要输入密码。

2. 使用Shell提示符

 纯命令行窗口(文字界面)

在Linux系统启动的最后定义了6个虚拟终端,可以供用户随时切换,切换时用Ctrl+Alt+F2 ~ Ctrl+Alt+F6组合键可以打开其中任意一个。不过,此时需要重新登录。
虚拟终端是一片黑的文字界面,终端窗口是一个白色的图形窗口。
返回原来的图形桌面环境:Ctrl+Alt+F1

CentOS 7.3中哪一个文件里面存储有系统支持的shell种类?/etc/shells第二章第二章
~:代表用户的主目录,由于当前登陆的用户是root,root的主目录是/root,则此处为/root

在这里插入图片描述
切换用户:su 用户名: 进入root账户,与进入sjh账户演示
在这里插入图片描述
su 与 su - 的区别在于: 前者只是切copy换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切百换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。度su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看问一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该答使用su -命令。

2.2文件及目录管理命令

1.拷贝文件——cp [-n -i -r] 源文件 目标文件,可能会出现重名现象,可询问是否覆盖。
在这里插入图片描述
复制整个目录加上-r选项,-r是递归复制该目录及其下面的子目录和文件
3-拷贝当前文件夹.c后缀的文件

cp      /etc/passwd   /tmp
cp  -r  /etc/yum      /tmp
cp    *.c      /home/sjh

2.移动文件——mv,与cp类似
4-实际上就是重命名操作

mv  /tmp/passwd    /etc   
mv   /tmp/yum        /etc
mv    *.c    /home/sjh
mv   test.txt     test222.txt

3.文件和目录列表——ls [-a -A -d -l -i -Z ]
1-显示当前目录下的文件和目录名称
2-长格式显示当前目录下的文件和目录的详细信息(-l)
3-显示所有文件包括隐藏文件(-a)理解为all
4-显示这个文件自身的详细信息(-d)和inode索引号(-i)

 ls
 ls  -l
 ls  - a  /root
 ls  -dil  /root

4.删除文件或目录——rm [-i f r],-r删除目录
1-只删除文件,不删除子目录,且征求意见
2-删除全部的东西,不征求意见

 rm  /tmp/*
 rm  -rf   /tmp

5.创建目录——mkdir [-p]-p创建多级空目录
1-当前用户主目录下创建

 mkdir  ~/foo
 mkdir  -p  zzti/cs/wl16          //创建三级空目录

6.删除空目录——rmdir类似mkdir,rmdir只能删除空目录,删除非空的用rm命令

rmdir foo
rmdir –p  zzti/cs/wl16

删除非空目录用命令 rm -r dirname

7.查看当前工作目录——pwd

8.切换目录——cd

 cd   等价于 cd  ~     //进入当前用户的主目录
 cd  ..                //进入当前目录的上一级目录,即当前目录的父目录
 cd   -                       //返回刚才的工作目录
 cd   /                         //进入根目录  这个是绝对路径1情况,其他是相对路径
 cd   /root                 //进入/root 这个是绝对路径2情况,其他是相对路径

9.查找文件或目录——find

find是最常见和最强大的查找命令,你可以使用它找到任何你想要的文件。

 find的使用格式如下
 find <指定目录> <指定条件> <指定动作>
  • <指定目录>:所要搜索的目录及其所有子目录。默认为当前目录。

  • <指定条件>:所要搜索的文件的特征。

  • <指定动作>:对搜索结果进行特定的处理。

    如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

find的使用实例:
find / –name  wl11.txt //在根目录中查找名称为wl11.txt的文件。
find . -name ‘my*’ -ls //搜索当前目录(含子目录)中,所有文件名以my开头的文件,并列出详细信息。
find / -user sjh //在根目录中查找所有者为sjh的文件。
find / -perm +4000
find /etc -newer /etc/passwd

10.查找文件或目录——locate [-i] keyword
List item
locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/mlocate/mlocate.db),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

List item

 locate命令的使用实例:
 $ locate   /etc/sh    //搜索etc目录下所有以sh开头的文件。
 $ locate   ~/m      //搜索用户主目录下,所有以m开头的文件。
 $ locate   -i   ~/m   //搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

11.寻找“执行文件”——which [-a] command

根据PATH这个环境变量所规范的路径去查询“执行文件”的文件名。

例如:which ls

           which  ifconfig

which cd(找不着cd的原因是cd是bash内置的命令,使用type cd试试)

注意:which后面接的是完整文件名。

12.寻找特定文件——whereis

  whereis   [-bmsu]  文件或目录名
   -b:只找二进制格式的文件
   -m:只找在说明文件manual路径下的文件
   -s:只找source源文件
   -u:查找不在上述三个选项当中的其他特殊文件

例如:whereis ifconfig

           whereis     passwd

13.查询命令的作用——whatis 相当于man –f

例如:whatis ls(等价于man -f ls)

14.查看文件的类型——file

例如:file /bin/ls

2.3Linux运行级别(runlevel)

在这里插入图片描述
在这里插入图片描述
运行级别3默认不启动X Window图形界面服务,运行级别5默认启动X Window图形界面
在这里插入图片描述
runlevel:返回两个数字,第一个为上一次的运行级别(没有上次返回的数为n),第二个为当前的运行级别。
切换成其他模式:init 3或init 5,或者是1。
温馨提示:千万不要0跟6,不要怪我没提醒你嗷~
在这里插入图片描述
在这里插入图片描述
因为单用户模式只能登陆root账户。reboot 可以重启电脑。
在这里插入图片描述

2.4 Linux下常用的快捷键

1.【Tab】按键:
①命令补全
②文件名或目录名补全
③连续按下两次【Tab】,显示以输入字符开头的所有命令

2.【Ctrl】+c按键:
①结束目前正在运行的程序
②取消当前命令行的编辑

3.【Ctrl】+d按键:
①结束键盘的输入
②让用户离开文字界面,相当于输入exit
③在命令行中向右删除,相当于按下Del键

4.【Ctrl】+l:终端清屏(实际上是下翻,使界面整洁)

5.【Ctrl】+z:将正在运行的程序送到后台

6.【Ctrl】+r:搜索历史命令

7.【Ctrl】+a:移动光标到所在行的行首

8.【Ctrl】+e:移动光标到所在行的行尾

9.【Ctrl】+u:输入了错误的命令,使用该快捷键会擦除从当前光标位置到行首的全部内容

10.【Ctrl】+k:输入了错误的命令,使用该快捷键会擦除从当前光标位置到行尾的全部内容

11.【Ctrl】+w:擦除光标位置前的单词(以空格划分);如果光标在一个单词本身上,它将擦除从光标位置到该单词词首的全部字母

12.【Ctrl】+y:粘贴使用Ctrl+w,Ctrl+u和Ctrl+k快捷键擦除的文本`

常见题目

shell章节例题-中
CentOS 7.3默认情况下有两种主要的targets,它们是multi-user.target和( graphical.target )。
Cent OS 7.3 中默认使用的Shell是( /bin/bash )
在CentOS7.3中用来( targets )代替runlevel。
在CentOS 7.3中( multi-user.target )类似于runlevel 3。
在CentOS 7.3中( graphical.target )类似于runlevel 5。
在CentOS 7.3中查看当前默认的target可以使用命令(get-default)。
令电脑关机的命令Ashutdown B.poweroff C.halt
使用下面哪一条命令可以显示系统内核的版本号?( uanme   -r )
只显示当天的年-月-日使用下面哪一条命令?(date +%Y-%m-%d)
下列命令中哪些可以用来查看文本文件( more cat head tail)
CentOS 7.3支持的五种shell中,哪一种shell不可以登录计算机( /sbin/nologin)
新建文件的命令有( touch ,cat,> ,vim )
linux系统支持的shell写在(/etc/shells)文件中,linux系统支持的shell有(5)种,目前使用的shell是(/bin/bash)
关机命令:init 0、halt、poweroff、shutdown –h 0;重启命令:init 6、reboot、shutdown –r +15。
使用locate命令查找之前应该首先使用(updatedb)命令更新数据库文件/var/lib/mlocate/mlocate.db

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值