树莓派官方推荐的操作系统是Raspbian,这是一款免费的基于Debian Linux的操作系统,可以安装到所有版本的树莓派上。这就意味着如果不了解Linux的话,可能就无法随心所欲的捣鼓这个可人的尤物了。 Linux天生就是要使用CLI(command-line interface,命令行界面)操作的,因此学习树莓派就必须要会用Linux命令,本文介绍20个最常用的命令(见下表),让你能够轻松的在幽深的黑色CLI里看到色彩斑斓的世界。
树莓派入门必会的20个Linux命令假设你已经完成树莓派操作系统的安装,打开系统自带的终端,显示内容如下:
树莓派Raspbian Linux终端默认的命令提示符如下: pi@raspberrypi:~ $ 表明你是在名为“raspberrypi”的主机上以用户“pi”的身份登录,并且正处在“pi”用户的主目录下面。你可以在后面输入各种Linux命令,然后按回车键即可执行。 当然,你也可以使用超级管理员“root”用户登录,命令提示符将如下所示: root@raspberrypi:~ # 与“pi”用户不同的是,命令提示符为#,表明这是“root”用户,树莓派默认情况下并不会启用root账户,如果想以root身份执行命令,可以参照下面的sudo命令。 ls 列出当前目录下的文件
ls命令你可以尝试直接输入ls命令然后按回车,以及输入 ls -l命令再按回车之间有什么区别。显而易见,加上 -l 参数后目录下的文件以清单形式展现,你可以清晰的看到文件的类型、所属用户、创建时间等信息。其中第一列你会看到如下信息: drwxr-xr-x 第一个字母 d 这表示该文件是一个目录(directory)文件,如果是普通文件第一个字母的位置将显示连字符“ - ”。 剩下9个字符以3个为一组,每一组各表示文件对于不同用户的权限,第一组 rwx 表示该文件所属的用户具有读(read)、写(write)和执行(execute)该文件的权限,第二组 r-x 表示同用户组的用户具有读和执行的权限(“ - ”表示不具备相关权限),第三组 r-x 表示其他用户具有读和执行的权限。 当然还有 ls -a列出包括隐藏文件在内的所有文件,Linux 的隐藏文件名以 “ . “开始。 有些Linux发行版会提供 ll 命令,该命令等价于 ls -l ,树莓派默认没有 ll 命令,不过可以通过修改用户主目录下的 .bashrc 文件,找到以下两行: #alias ll='ls -l'
#alias la='ls -Al' 把前面的 # 删除,保存后重新进入终端即可使用 ll 命令。 pwd 输出当前目录有时候你可能想知道当前在什么目录下,那么可以通过pwd命令打印出出来。pwd就是print working directory(打印当前工作目录)的首字母缩写。 比如,假设你正在如下目录中: /home/pi/projects/rebot/bin 但终端仅仅显示: pi@raspberrypi: /bin $ 你通过终端显示信息只知道你在 bin 目录下,却不知道全部路径信息,这时候就需要pwd命令。 cd 改变目录你可以 cd 到任何你想去的目录,只要你知道它的路径,这个路劲可以是绝对路径,也可以是相对路径。 假设你正在如下目录中: /home/pi/projects/robot/bin/ 你想去往 /home/pi/projects/ 目录,那么你即可以使用绝对路径: $ cd /home/pi/projects 也可以使用相对路径: $ cd ../../ 其中 ../ 是指上一级目录,在这个例子中,bin目录往上两级就是projects目录。 如果robot目录下,还有一个lib目录和bin目录同级,那么你从bin目录去往lib目录就可以使用: $ cd ../lib 也就是bin的上级目录下面的lib目录。 此外 输入 cd 命令可以直接回到pi用户的主目录 /home/pi/ 输入 cd .. 命令可以回到当前目录的上一级目录 mkdir 新建目录如果你要在当前目录下新建一个目录 temp,那么你可以使用: $ mkdir temp 如果你想把这个temp新建到/home/pi/projects下面,那么你可以使用: $ mkdir /home/pi/projects/temp 前提是projects这个目录必须存在,并且你对其拥有写权限。 rmdir 删除目录如果你要把temp目录删除,可以使用: $ rmdir temp 或者: $ rmdir /home/pi/projects/temp 但这要求temp必须是个空空的目录,如果temp中还有其他内容,你可能需要使用: $ rm -fr temp 系统会把temp及其里面的所有内容全部删除。 cat 显示或连接文件内容你发现当前目录下有一个GirlsPhoneNum文件,你可能迫不及待的想看一看,那么你可以使用: $ cat GirlsPhoneNum 文件的全部内容将会打印在终端。 如果你发现还有一个BoysPhoneNum文件,你想两个文件一起看,那么你可以使用: $ cat GirlsPhoneNum BoysPhoneNum 是的,男孩和女孩们的手机号码你就都有了。 rm 删除文件如果你觉得男孩的手机号码干扰你看更重要的东西,你可以把它删除: $ rm BoysPhoneNum 这样你就算把回收站全倒出来也找不到它了。 mv 移动/重命名文件/目录如果你不想删除男孩儿们的手机号,只是想把他们移动的别的地方去,比如移动到/home/pi/boys,那么你可以: $ mv BoysPhoneNum /home/pi/boys 前提是boys这个目录必须要存在,如果不存在的话,你需要使用mkdir命令新建一个。 如果你担心女朋友看到你电脑里存了好多女孩的号码,你可以给它改个名字: $ mv GirlsPhoneNum MyTeachersNum cp 复制文件/目录你可以吧女孩儿们的号码复制到妥当位置,以防被女友删除: $ cp GirlsPhoneNum /home/pi/Study/Linux/RaspberryPi 如果你要复制整个目录到/home/pi下面: $ cp -r GirlPhotos /home/pi echo 显示在终端输入内容你可以试试下面的命令会输出什么 $ echo Hello Raspberry Pi date 读取系统日期/时间终端下面并没有系统托盘可以让你看日期和时间,如果你想看时间的话,就要 date 一下。 grep 全面搜索正则表达式并打印这是一个功能爆表的命令,它可以通过正则表达式搜索文件或目录,也可以在一些命令的输出内容里进行查找。它的用法几乎可以写一本书,不过我们目前只需要了解一些最简单的用法即可。 比如你想知道刚才那个女孩们的手机号码文件里,有没有你想的JingJing的号码,你可以: $ grep JingJing GirlsPhoneNum man 显示命令帮助手册如果你不知道某个命令怎么用,或者你忘记了,你可以man一下: $ man grep 输出的内容可能会让你崩溃,你可以用空格来翻页,回车看下一行,q退出。 sudo 以root权限执行树莓派默认使用”pi“用户登录,并且不会启用”root“用户,可能也印证了那句”只有菜鸟才以root身份登录“的Linux极客语录。 那么当你需要使用root身份来执行一些任务的时候,比如你需要把GirlsPhoneNum文件藏在/lib目录下,因为你女朋友无论如何也不会想到去看/lib这个存放库文件的目录,而往/lib目录里写文件一般都是需要root权限的,那么你可以使用sudo: $ sudo cp GirlsPhoneNum /lib 然后系统会提示你输入当前用户也就是pi用户的密码,输入密码的时候终端里是不显示任何内容的,连星星***也不显示,输入之后按回车即可。 chmod 改变文件读写权限刚才介绍ls命令的时候,你大致了解了一个文件的权限可以用下面的形式来表示: -rwxrwxrwx 如果需要对权限进行修改,就要用到chmod命令,这个命令可以使用直接方式和二进制方式两种来修改权限。 直接方式 u代表文件所属用户
g代表与文件所属用户同组的用户
o代表其他所有用户 比如一个文件的权限为: -rwxrwxrwx 你希望其他所有用户仅具有读的权限,可以用命令: $ chmod o-wx filename 这个文件的权限就变成了: -rwxrwxr-- 如果你想恢复原来的全部可读可写和可执行权限,就使用命令: $ chmod o+wx filename 数值方式 我更喜欢数值方式,它为每一种权限分配了一个数值: r = 4
w = 2
x = 1 将每一组所有权限的数值加起来就可以。比如744,代表文件所属用户具有rwx权限,同组用户和其他所有用户只具有r权限。如果你想将一个文件的权限设置为: -rwxr-xr-x 那么可以使用命令: $ chmod 755 filename 也许你有点晕,慢慢来,习惯就好。 ./program 运行program程序如果你想运行某个程序(可执行文件),那么直接在终端里输入它的路径就可以,如果你要执行当前目录下的program可执行文件,你需要使用: $ ./program apt-get 安装/删除软件包那么树莓派下面怎么安装软件呢?或者卸载软件? 一般来讲你并不需要先去某个网站下载,然后安装,你可以直接使用包管理工具apt-get,比如你要安装vim编辑器,你可以: $ sudo apt-get install vim 如果你想删除它,也很简单: $ sudo apt-get remove vim apt-get需要以root权限运行,所以在前面加上sudo。 如果你想对系统和已安装的软件包进行升级: $ sudo apt-get update
$ sudo apt-get upgrade 有些Linux发行版使用yum或者dnf来管理软件包,不过这些和树莓派的Raspbian关系不大。 你也许还听说过用什么make之类的命令编译安装,这种操作可以等你把眼下的东西玩腻了再去搞。 exit 退出当你想退出终端,直接输入 exit 即可,表忘了输完按回车键。 reboot 重新启动如果你想重新启动系统的话: $ sudo reboot shutdown关机如果你想立即关闭系统: $ sudo shutdown -h now
|