基础Shell指令,快捷键,APT下载工具
Shell简介
- 所谓Shell,严格意义上来讲,是一个应用程序,它负责接收用户输入的命令,然后根据命令做出相应的动作, Shell 负责将应用层或者用户输入的命令传递给系统内核,由操作系统内核来完成相应的工作,然后将结果反馈给应用层或者用户。
- 换人话来说,其实就是在Linux 的终端(Terminal )下,输入具体指令,控制系统操作。其具体格式如下:
command -options [argument]
名词 |
解释 |
command |
Shell命令的名称 |
options |
命令选项,同一种命令可能有不同的选项,以实现不同的功能 |
argument |
命令参数,Shell命令可以带参数运行,也可以不带参数运行 |
- 以命令“ls”为例,下面“ls”命令的三种不同格式其结果也不同:
ls #打印出当前目录下的所有文件和文件夹
ls –l #打印出当前目录下的所有文件和文件夹并显示详细信息
ls /usr #打印出目录"/usr"下的所有文件和文件夹
- Shell 命令支持自动补全功能,我们只需要输入命令的前面一部分字母,然后按下 TAB 键,如果只有一个命令匹配的话就会自动补全这个命令剩下的字母;如果有多个命令匹配的话系统就会发出报警声音,此时在按下一次 TAB 键就会列出所有匹配的命令。
基础Shell命令
目录信息查看(ls)
- Shell 下文件浏览命令为
ls
,该命令类似于DOS系统下的dir
指令,格式如下:
ls [选项] [目录或是文件]
- ls 命令主要用于显示指定目录下的内容,列出指定目录下包含的所有的文件以及子目录,对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls 将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。它的主要选项有:
选项 |
功能 |
-a |
显示所有的文件以及子目录,包括以“.”开头的隐藏文件 |
-c |
按文件的修改时间排序 |
-l |
显示文件的详细信息,比如文件的形态、权限、所有者、大小等信息 |
-t |
将文件按照创建时间排序列出 |
-h |
显示文件大小 (K\M\G) |
-A |
和-a 一样,但是不列出“.” (当前目录)和“..” (父目录) |
-R |
递归列出所有文件,包括子目录中的文件 |
目录切换(cd)
- Shell 中切换到其它的目录,使用的命令是
cd
,命令格式如下,:
cd [路径]
该命令将当前目录改变至[路径]
所指定的目录。若没有指定[路径]
,则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。具体举例如下:
cd / #进入到根目录“/”下, Linux 系统的根目录为“/” ,
cd /usr #进入到目录“/usr”里面。
cd .. #进入到上一级目录。
cd ~ #切换到当前用户主目录
查看磁盘占用(df)
- Linux下可以利用
df
命令查看指定磁盘文件被占用了多少空间,目前还剩下多少的空间等信息。如果没用文件名被指定,则当前所有被挂载的文件系统的可用空间将被显示,默认情况下,磁盘空间将以1KB为单位进行显示。具体命令格式如下:
df [选项] [文件]
选项 |
功能 |
-a |
全部文件系统列表 |
-h |
方便阅读方式显示 |
-H |
等于"-h",但计算式1K=1000 |
-l |
只显示本地文件系统 |
-i |
显示inode信息 |
-k |
区块为1024字节 |
-T |
文件系统类型 |
切换root用户执行身份(sudo)
- Ubuntu(Linux)是一个允许多用户的操作系统,其中权限最大的就是超级用户 root,有时候我们执行一些操作的时候是需要用 root 用户身份才能执行,如安装软件。命令格式如下:
sudo [选项] [命令]
选项 |
功能 |
-h |
显示帮助信息 |
-l |
列出当前用户可执行与不可执行的命令 |
-p |
改变询问密码的提示符 |
添加用户(adduser)
- 添加用户需要使用root身份执行
adduser
命令。命令格式如下:
adduser [参数] [用户名]
参数 |
功能 |
-system |
添加一个系统用户 |
-home DIR |
DIR 表示用户的主目录路径 |
-uid ID |
ID 表示用户的 uid |
-ingroup GRP |
表示用户所属的组名 |
删除用户(deluser)
- 添删除用户需要使用root身份执行
deluser
命令。命令格式如下:
deluser [参数] [用户名]
参数 |
功能 |
-system |
当用户是一个系统用户的时候才能删除 |
-remove-home |
删除用户的主目录 |
-remove-all-files |
删除与用户有关的所有文件 |
-backup |
备份用户信息 |
##切换root用户(su)
sudo
命令是以 root 用户身份执行一个命令,并没有更改当前的用户身份,所有需要 root 身份执行的命令都必须在前面加上“sudo”。su
命令可以直接将当前用户直接切换为 root 用户获得了系统最高权限。在 root 用户下,所有的命令都可以无障碍执行,不需要在前面加上sudo
。命令格式如下:
su [选项] [用户名]
选项 |
功能 |
-c -command |
执行指定的命令,执行完毕以后恢复原用户身份 |
-login |
改变用户身份,同时改变工作目录和 PATH 环境变量 |
-m |
改变用户身份的时候不改变环境变量 |
-h |
显示帮助信息 |
显示和配置网络属性(ifconfig)
- ifconfig 是一个跟网络属性配置和显示密切相关的命令,通过此命令我们可以查看当前网络属性,也可以通过此命令配置网络属性,比如设置网络 IP 地址等。命令格式如下:
ifconfig [网络接口名] [选项] | [地址]
选项 |
功能 |
up |
开启网络设备 |
down |
关闭网络设备 |
add |
IP 地址,设置网络 IP 地址 |
netmask add |
子网掩码 |
当前路径显示(pwd)
pwd
命令用来显示当前工作目录的绝对路径,不需要任何的参数:
pwd #显示当前目录的绝对路径
显示文件内容(cat)
- 在Shell下,可还是用
cat
命令查看文件内容。命令格式如下:
cat [选项] [文件]
选项 |
功能 |
-n |
由 1 开始对所有输出的行进行编号 |
-b |
和-n 类似,但是不对空白行编号 |
-s |
当遇到连续两个行以上空白行的话就合并为一个行空白行 |
清屏(clear)
clear
命令用于清除终端上的所有内容,只留下一行提示符。
clear
系统帮助(man)
- 当我们需要了解一个命令的详细信息的时,可通过
man
命令,查看其它命令的语法格式、主要功能、主要参数说明等。命令格式如下:
man [命令名]
系统信息查看(uname)
- 要查看当前系统信息,可以使用命令
uname
,命令格式如下:
uname [选项]
- 主要选项如下:
| 选项 | 功能 |
| :--: | :--: |
| -r | 列出当前系统的具体内核版本号 |
| -s | 列出系统内核名称 |
| -o | 列出系统信息 |
系统重启(reboot)
reboot
命令用于重启系统,在终端中输入命令并回车即可。
reboot #重启系统
系统关闭(poweroff)
poweroff
命令用于关闭系统,在终端中输入命令并回车即可。
poweroff #关闭系统
快捷键
- 在使用Shell指令时,可使用快捷键或快捷指令以提高使用Linux的效率,常用指令如下:
history
指令可查看先前的指令
!$
指令可用来执行最近的一条指令
- 用
;
来分隔几条指令,可以让指令顺序执行
TAB
快捷键可以补齐系统中有的指令或目录
- 使用管道符
|
可实现多个指令组合使用
CTRL + Z
快捷键可以将当前命令挂起,放到后台进行执行
fg
指令可以回复挂起的命令,放到前台运行
CTRL + C
快捷键可以终止当前的命令
#APT下载工具
- APT下载工具是我们在 Ubuntu 下使用最多的下载工具。它解决了 Linux 平台下安装软件的一个缺陷,即软件之间相互依赖。
- APT 采用的 C/S 模式,也就是客户端/服务器模式,我们的 PC 机作为客户端,当需要下载软件的时候就向服务器请求,因此我们需要知道服务器的地址,也叫做安装源或者更新源。
- 在我们使用 APT 工具下载安装或者更新软件的时候,首先会在下载列表中与本机软件对比,看一下需要下载哪些软件,或者升级哪些软件,默认情况下 APT 会下载最新的软件包,被安装的软件包所依赖的其它软件也会被下载安装。
常用APT指令
更新本地数据库
- 如果想查看本地哪些软件可以更新的话可以使用如下命令:
sudo apt-get update
- 这个命令会访问软件源的地址,并且获取软件列表并保存在本电脑上。
检查依赖关系
- 有时候本地某些软件可能存在依赖关系,所谓依赖关系就是 A 软件依赖于 B 软件。通过如下命令可以查看依赖关系,如果存在依赖关系的话 APT 会提出解决方案:
sudo apt-get check
软件安装
sudo apt-get install package-name #package-name为软件名
- 可以看出上述命令是由
apt-get
和install
组合在一起的,“package-name”就是要安装的软件名字,“apt-get”负责下载软件,“install”负责安装软件。执行上述命令以后就会自动下载和安装对应的软件。
软件更新
sudo apt-get upgrade package-name #package-name为软件名
卸载软件
sudo apt-get remove package-name #package-name为软件名
参考:
《正点原子-嵌入式Linux驱动开发指南》- 第二章 Ubuntu系统入门 - 2.3 Shell操作 ; 2.4 APT下载工具