树莓派官方推荐的操作系统是Raspbian,这是一款免费的基于Debian Linux的操作系统,下面是一些常用的Linux命令。
打开系统自带的终端,或者远程登陆树莓派后,显示内容如下:
默认的命令提示符如下:
pi@raspberrypi:~ $
表明当前主机:raspberrypi,用户:pi,并且正处在“pi”用户的主目录(/home/pi)。
当然,你也可以使用超级管理员“root”用户登录,命令提示符将如下所示:
pi@raspberrypi:~ $ sudo base //或者 sudo -s
root@raspberrypi:~ #
命令提示符 #,表明这是“root”用户,树莓派默认情况下并不会启用root账户。如果要root权限,请使用 sudo 命令
sudo apt-get update
ls 列出当前目录下的文件
root@raspberrypi:~ # ls -la
total 24
drwx------ 3 root root 4096 Feb 1 09:50 .
drwxr-xr-x 19 root root 4096 Feb 22 08:46 ..
-rw------- 1 root root 723 Feb 21 10:45 .bash_history
-rw-r--r-- 1 root root 3106 Oct 15 2021 .bashrc
你可以尝试直接输入ls命令然后按回车,以及输入 ls -l命令再按回车之间有什么区别。显而易见,加上 -l 参数后目录下的文件以清单形式展现,你可以清晰的看到文件的类型、所属用户、创建时间等信息。其中第一列你会看到如下信息:
drwxr-xr-x
第一个字母 d 这表示该文件是一个目录(directory)文件,如果是普通文件第一个字母的位置将显示连字符“ - ”。
剩下9个字符以3个为一组,每一组各表示文件对于不同用户的权限,第一组 rwx 表示该文件所属的用户具有读(read)、写(write)和执行(execute)该文件的权限,第二组 r-x 表示同用户组的用户具有读和执行的权限(“ - ”表示不具备相关权限),第三组 r-x 表示其他用户具有读和执行的权限。
当然还有ls -a列出包括隐藏文件在内的所有文件,Linux 的隐藏文件名以 “ . “开始。
pwd 输出当前目录
pwd就是print working directory(打印当前工作目录)的首字母缩写
比如,假设你正在如下目录中:
pi@raspberrypi:~ $ pwd
/home/pi
cd 改变目录
cd 去到任何你想去的目录,只要你知道它的路径,这个路劲可以是绝对路径,也可以是相对路径。
$ cd /home/pi/projects
也可以使用相对路径:
$ cd ../
其中 ../ 是指上一级目录。
如果robot目录下,还有一个lib目录和bin目录同级,那么你从bin目录去往lib目录就可以使用:
pi@raspberrypi:~ $ cd
输入 cd 命令可以直接回到当前用户的主目录 /home/pi/
mkdir 新建目录
如果你要在当前目录下新建一个目录 temp,那么你可以使用:
pi@raspberrypi:~ $ mkdir temp1
新建到指定路径:
pi@raspberrypi:~ $ mkdir /home/pi/temp2
目录(/home/pi/)必须存在,并且你对其拥有写权限。mkdir -p
可以自动创建上层目录。
rmdir 删除目录
如果你要把temp目录删除,可以使用:
$ rmdir temp1
或者:
$ rmdir /home/pi/temp2
但这要求temp必须是个空空的目录,如果temp中还有其他内容,你可能需要使用:
$ rm -rf temp
系统会把temp及其里面的所有内容全部删除。
cat 显示或连接文件内容
你发现当前目录下有一个text文件,你可能迫不及待的想看一看,那么你可以使用:
$ cat text
文件的全部内容将会打印在终端。
你想两个文件一起看,那么你可以使用:
$ cat text1 test2
rm 删除文件
$ rm /home/pi/temp2
mv 移动/重命名文件/目录
文件移动的其他地方,比如移动到/tmp:
$ mv temp1 /tmp/
文件重命名:
$ mv temp1 temp3
cp 复制文件/目录
复制备份
$ cp temp1 temp1-bak
如果你要复制tmp_dir整个目录到/tmp下面:
$ cp -r tmp_dir /tmp/
echo 显示在终端输入内容
$ echo Hello Raspberry Pi
date 读取系统日期/时间
$ date
Wed Feb 22 11:26:44 CST 2023
设置系统时间
$ sudo date -s "2023-02-22 01:01:01"
grep 全面搜索正则表达式并打印
可以通过正则表达式搜索文件或目录,也可以在一些命令的输出内容里进行查找。
$ grep -rn bash .profile
4: if [ -f ~/.bashrc ]; then
5: . ~/.bashrc
输出 行号,和匹配内容
man 显示命令帮助手册
$ man grep
可以用空格来翻页,回车看下一行,q退出。
sudo 以root权限执行
树莓派默认使用pi用户登录,并且不会启用”root“用户。
当需要使用root身份来执行一些任务的时候,那么可以使用sudo:
$ sudo cat /etc/profile
然后系统会提示你输入当前用户的密码,输入密码的时候终端里是不显示任何内容的,连星星也不显示,输入之后按回车即可。
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 安装/删除软件包
debian 系统支持使用包管理工具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
exit 退出
当你想退出终端,直接输入 exit。
reboot 重新启动
如果你想重新启动系统的话:
sudo reboot
shutdown关机
如果你想立即关闭系统:
sudo shutdown