Ubutu下的Shell操作

2024-01-23 10:52
文章标签 操作 shell ubutu

本文主要是介绍Ubutu下的Shell操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

在学习Ubuntu系统时,Shell操作是必不可少的知识。本篇文章是记录我学习Linux系统时,Ubutu下的Shell操作,希望我的分享对大家有所帮助!

目录

前言

一、什么时是Shell

二、Shell的基本操作

三、常用的Shell命令

1、目录信息查看命令ls

2、目录切换命令cd 

3、当前路径显示命令 pwd

4、系统信息查看命令 uname

5、清屏命令 clear

6、 切换用户执行身份命令 sudo

7、 添加用户命令 adduser

8、删除用户命令 deluser

9、切换用户命令 su

10、显示文件内容命令 cat

11、显示和配置网络属性命令 ifconfig

12、系统帮助命令 man

13、 系统重启命令 reboot

14、系统关闭命令 poweroff

 15、软件安装命令 install

四、结语 


一、什么时是Shell

在我学习Linux的时候,经常会看到Shell这种操作,为了弄明白它到底是什么,我上网查阅了很多资料,但是得到的都是各种高深的专业解释。一时半会儿搞得头晕。慢慢地我于是有了自己的理解——

所谓的Shell操作,其实就是敲命令!国外人才会洋里洋气地叫其Shell。所以,当我再次看到Shell操作时,我头脑李想起来的就是:在终端敲命令!净多个Shell命令按照一定的格式放在一个文本里,那么这个文本就是所谓的Shell脚本!

从一些资料里得知:严格来讲,Shell是一个应用程序,它负责接受用户输入的命令。然后根据用户的命令做出相应的动作。

更重要的是,Shell负责将应用层或者用户输入的命令传递给系统内核,由操作系统内核来完成相应的工作。最后将结果反馈给应用层或者用户。

上面这段话很重要,希望读者仔细揣摩!!!

二、Shell的基本操作

Shell既然是敲命令,那敲出的命令肯定是有一定的格式的。Shell命令的格式如下:

comand         -options         [ argument ]

我对上面的命令格式解释一下:

1、comand:Shell命令名称;

2、options:选项,同一种命令可能有不同的选项,不同的选项对应着不同的功能;

3、argument:Shell命令是可以带参数的,也可以不带参数运行;

举个简单的例子:

同样以命令“ls”为例,下面“ls”命令的三种不同格式其结果也不同:

这三种命令的运行结果是不同的:

在图中“ls”命令用来打印出当前目录下的所有文件和文件夹,而“ls -l”同样是打印出当前目录下的所有文件和文件夹,但是此命令会列出所有文件和文件夹的详细信息,比如文件大小、拥有者、创建日期等等。最有一个“ls /usr”是用来打印出目录“/usr”下的所有文件和文件夹。

Shell 命令是支持自动补全功能的,因为 Shell 命令非常多,如果不作自动补全的话就需要
用户去记忆这些命令的全部字母。
使用自动补全功能以后我们只需要输入命令的前面一部分字母,然后按下 TAB 键,如果只有一个命令匹配的话就会自动补全这个命令剩下的字母。如果有多个命令匹配的话系统就会发出报警声音,此时在按下一次 TAB 键就会列出所有匹配的命令,比如我们输入字母“if”,然后按下 TAB 键,结果如图所示:

从图中可以看出,以“if”开头的命令有 5 个,我们以“ifconfig”为例,此命令是用来查看网卡信息的,我们重新输入“ifc”然后在按一下 TAB 键,就会自动补全出“ifconfig”命令,因为以“ifc”开头的命令只有一个,结果如图所示:

 三、常用的Shell命令

我们做嵌入式开发用的最多就是 Shell 命令, Shell 命令是所有的 Linux 系统发行版所通用
的,并不是说我在 Ubuntu 下学会了 Shell 命令,换另外一个 Linux 发行版操作系统以后就没用了(不同的发行版 Linux 系统可能会自定义一些命令)。下面我先来介绍一些 Shell 下常用的命令:

1、目录信息查看命令ls

文件浏览时Linux终端下的最基本的操作了。Shell下的文件浏览命令格式如下:

ls    [ 选项 ]    [ 路径 ]

ls命令主要用于显示指定目录下的内容,列出指定目录下包含的所有文件及子目录,它的主要参数有:

-a    显示所有文件以及子目录,包括以“ . ”开头的隐藏文件。

-l     显示文件的详细信息,你如文件的形态、权限、所有者、大小等信息。

-t     将文件的创建信息排序列出。

-A    和-a 一样,但是不列出“.” (当前目录)和“..” (父目录)。

-R    递归列出所有文件,包括子目录中的文件。

Shell 命令里面的参数是可以组合在一起用的,比如组合“-al”就是显示所有文件的详细信息,包括以“.”开头的隐藏文件, ls 命令使用如图所示:
 

2、目录切换命令cd 

要想在 Shell 中切换到其它的目录,使用的命令是 cd,命令格式如下:
cd     [ 路径 ]

路径就是我们要进入的目录路径,比如下面所示操作:

举个简单的例子: 比如我们要进入到目录“/usr”下去,并且查看“/usr”下有什么文件,操作如图所示:

我们先使用命令“cd /usr”进入到“/usr”目录下,然后使用“ls”命令显示“/usr”目录下的所有文件。仔细观察图可以看到,当我们切换到其它目录以后在符号“$”前面就会以蓝色的字体显示出当前目录名字,如图所示:

3、当前路径显示命令 pwd

pwd 命令用来显示当前工作目录的绝对路径,不需要任何的参数,使用如图所示:

4、系统信息查看命令 uname

要查看当前系统信息,可以使用命令 uname,命令格式如下:
uname     [ 选项 ]

[ 选项 ]的参数可以是: 

-r      列出当前系统的具体内核版本号

-s     列出系统内核名称

-o     列出系统信息

使用实列: 

5、清屏命令 clear

clear 命令用于清除终端上的所有内容,只留下一行提示符。

6、 切换用户执行身份命令 sudo

Ubuntu(Linux)是一个允许多用户的操作系统,其中权限最大的就是超级用户 root,有时候
我们执行一些操作的时候是需要用 root 用户身份才能执行,比如安装软件。通过 sudo 命令可以使我们暂时将身份切换到 root 用户。当使用 sudo 命令的时候是需要输入密码的,这里要注意输入密码的时候是没有任何提示的!命令格式如下:

sudo     [ 选项 ]      [ 命令 ]

选项的主要参数是: 

-h        显示帮助信息

-l         列出当前用户可执行与不可执行的命令

-p        改变询问密码的提示符

假如我们现在要创建一个新的用户 test,创建新用户的命令为“adduser”,创建新用户的权
限只有 root 用户才有,我们在装系统的时候创建的那个用户是没有这个权限的,比如我的
“zxf”用户。所以创建新用户的话需要使用“sudo”命令以 root 用户执行“adduser”这个命令,如图所示:
 

7、 添加用户命令 adduser

上面使用sudo命令时已经了解过“adduser”指令,此命令需要用户使用root身份去进行。命令格式如下:

adduser    [ 参数 ]   [ 用户名 ]

常用的参数如下:

-system                           添加一个系统用户

-hme DIR                         DIR表示用户的主目录路径

-uid ID                              ID表示用户的uid

-ingroup GRP                  表示用户所属的组名

8、删除用户命令 deluser

前面讲了添加用户的命令,那肯定也有删除用户的命令,删除用户使用命令“deluser”,命
令参数如下:

geluser     [ 参数 ]   [ 用户名 ]

主要参数有: 

-system                   当删除用户时一个系统用户时才能删除

-remove-home        删除用户的主目录

-remove-all-files     删除与用户有关的所有文件      

-backup                   备份用户信息

命令“deluser”也需要使用“sudo”来以 “root” 用户运行,这里删除之前创建的用户test为例:

9、切换用户命令 su

前面在讲解命令“sudo”的时候说过,“sudo”是以 root 用户身份执行一个命令,并没有更改当前的用户身份,所有需要 root 身份执行的命令都必须在前面加上“sudo”。命令“su”可以直接将当前用户切换为 root 用户,切换到 root 用户以后就可以尽情的进行任何操作了!因为你已经获得了系统最高权限,在 root 用户下,所有的命令都可以无障碍执行,不需要在前面加上“sudo”,“su”命令格式如下:

su        [ 选项 ]   [ 用户名 ]

常用参数如下:

-c -command                 执行指定的命令,执行完毕以后恢复原用户身份。
-login                              改变用户身份,同时改变工作目录和PATH环境变量。
-m                                   改变用户身份的时候不改变环境变量
-h                                     显示帮助信息
以切换到root用户为例,使用如图所示:

在图中,先使用命令“sudo su”切换到 root 用户, su 命令不写明用户名的话默认切换到 root 用户。然后输入密码,密码正确的话就会切换到 root 用户,可以看到切换到 root 用户以后提示符的“@”符号前面的用户名变成了“root”,表示当前的用户是 root 用户。并且以“#”结束。
注意!!由于 root 用户权限太大,稍微不注意就可能删除掉系统文件,导致系统奔溃,因此
强烈建议大家,不要以root 用户运行 Ubuntu。当要用到root 身份执行某些命令的时候使用“sudo”命令即可。
要切换回原来的用户,使用命令“sudo su 用户名”即可。

10、显示文件内容命令 cat

查看文件内容是最常见的操作了,在 windows 下可以直接使用记事本查看一个文本文件内
容, linux 下也有类似记事本的软件,叫做 gedit,找到一个文本文件,双击打开,默认使用的就是 gedit,如图所示:

我们现在讲解的是 Shell 命令,那么 Shell 下有没有办法读取文件的内容呢?肯定有的,那
就是命令“cat”,命令格式如下:

cat          [ 选项 ]           [ 文件 ] 

主要参数如下: 

-n                       由1开始对所有输出的行进行编号。

-b                       和-n类似,但是不对空白行编号。
-S                       当遇到连续两个行以上空白行的话就合并为一个行空白行。

比如我们以查看文件“/etc/environment”的内容为例,结果如图所示:

11、显示和配置网络属性命令 ifconfig

ifconfig 是一个跟网络属性配置和显示密切相关的命令,通过此命令我们可以查看当前网络属性,也可以通过此命令配置网络属性,比如设置网络 IP 地址等等,此命令格式如下:
ifconfig      interface    options | address

主要的参数如下: 

interface               网络接口名称,比如eth0等。
up                          开启网络设备。
down                     关闭网络设备。
add                        IP地址,设置网络IP地址。

netmask add         子网掩码。

12、系统帮助命令 man

Ubuntu 系统中有很多命令,这些命令都有不同的格式,不同的格式对应不同的功能,要完
全记住这些命令和格式几乎是不可能的,必须有一个帮助手册,当我们需要了解一个命令的详细信息的时候查阅这个帮助手册就行了。 Ubuntu 提供了一个命令来帮助用户完成这个功能,那就是“man”命令,通过“man”命令可以查看其它命令的语法格式、主要功能、主要参数说明等。“man”的命令格式如下:

man  [ 命令名 ]

打开“ifconfig”这个命令的详细说明

13、 系统重启命令 reboot

通过点击 Ubuntu 主界面右上角的齿轮按钮来选择关机或者重启系统,同样的我们也可以
使用 Shell 命令“reboot”来重启系统,直接输入命令“reboot”然后点击回车键即可,如图所示:

14、系统关闭命令 poweroff

使用命令“reboot”可以重启系统,使用命令“poweroff”就可以关闭系统,在终端中输入命令“poweroff”然后按下回车键即可关闭 Ubuntu 系统,如图所示:

15、软件安装命令 install

截至目前,我们都没有讲过 Ubuntu 下如何安装软件,因为 Ubuntu 安装软件不像 Windows下那样,直接双击.exe 文件就开始安装了。 Ubuntu 下很多软件是需要先自行下载源码,下载源码以后自行编译,编译完成以后使用命令“intsall”来安装。当然 Ubuntu下也有其它的软件安装方法,但是用的最多的就是自行编译源码然后安装,尤其是嵌入式Linux开发。命令"install”格式如下:

“install”命令是将文件(通常是编译后的文件)复制到目的位置,在前三种形式中,将源文件复制到目标文件或将多个源文件复制到一个已存在的目录中同时设置其所有权和权限模式。在第四种形式会创建指定的目录。命令“install”通常和命令“apt-get”组合在一起使用的,关于“apt-get”命令大家可以看我后面更新的内容。

四、结语 

以上就是 Shell 最基本一些命令,记录至此,相信我的分享会给你带来帮助!

 

这篇关于Ubutu下的Shell操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/636170

相关文章

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-

shell中set -u、set -x、set -e的使用

《shell中set-u、set-x、set-e的使用》本文主要介绍了shell中set-u、set-x、set-e的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录✅ 1. set -u:防止使用未定义变量 作用: 示例:❌ 报错示例输出:✅ 推荐使用场景:✅ 2. se

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用