[Linux]基础Shell指令_快捷键_APT工具

基础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的效率,常用指令如下:
  1. history指令可查看先前的指令
  2. !$指令可用来执行最近的一条指令
  3. ; 来分隔几条指令,可以让指令顺序执行
  4. TAB快捷键可以补齐系统中有的指令或目录
  5. 使用管道符|可实现多个指令组合使用
  6. CTRL + Z快捷键可以将当前命令挂起,放到后台进行执行
  7. fg指令可以回复挂起的命令,放到前台运行
  8. 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-getinstall组合在一起的,“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下载工具