本节我们来了解一些基本的Linux命令(在树莓派上操作),看完之后,当你再面对Linux黑黑的命令框时至少不会不知所措,你可以用这些基本的命令完成一些需要的操作,比如查找、编辑、查看文件,查看基本的系统信息,上传、下载文件。因为树莓派Raspberry PI OS的图形化界面已经比较人性化了,跟Windows界面也很接近,凡是不能双击解决的问题,那就右键再点击解决,所以此处就不再赘述了。图形化界面操作倒腾就行了,不怕,出了问题还可以系统重刷,不然怎么叫折腾呢。

保安三问(图片来源于网络)

当你登录到Linux系统上后,首先就是常说的“保安三问”之人生哲学问题:我是谁?我在哪儿?我要干什么? 这不只是人生哲学问题,当你面对操作系统的时候,这是首先要解决的问题,不然你就什么也做不了了。

1 我是谁?

这个问题通过whoami命令即可获得,如下运行后我们得到pi,即当前的用户。也许有人就问了,我还不知道自己是谁了,这也要单独运行命令么?就像我们之前说的,命令行中@之前的就是当前用户,所以这么说你也可以不用运行命令直接看到。但是当我们有需要通过脚本命令运行时就有必要通过命令行确定当前的用户。

  1. pi@raspberrypi4:~ $ whoami
  2. pi

用户是后续一切操作的前提,Linux系统是一个多用户系统,支持多个用户同时使用,用户名(账号)就是用户在系统中的唯一标识,系统通过账户实现对用户的管理,管理用户的权限、分组等。

Linux系统中的账户包括用户账户(又分为普通用户账户和超级用户账户/管理员账户)和组账户(标准组和私有组)。

2 我在哪里?

这个问题可以通过pwd命令来获得,获取当前用户所在的目录,如下运行得到我们当前所在的位置是/home/pi目录,即根目录home下的pi文件夹下。

在命令提示符中“:”与“$”之间即是当前用户所在的目录,这里有一个~表示当前用户的用户目录,即用户pi的用户目录/home/pi

  1. pi@raspberrypi4:~ $ pwd
  2. /home/pi

Linux系统下的目录结构与我们常见的Windows系统其实都是树结构的,只是目录的功能分类不一样,Windows系统相关运行文件多放在C盘,而Linux系统根目录则是如下:

  1. pi@raspberrypi4:/ $ ll
  2. 总用量 80
  3. drwxr-xr-x 2 root root 4096 5 27 12:01 bin
  4. drwxr-xr-x 4 root root 3584 1 1 1970 boot
  5. drwxr-xr-x 17 root root 3980 11 21 20:55 dev
  6. drwxr-xr-x 121 root root 12288 11 21 20:42 etc
  7. drwxr-xr-x 3 root root 4096 9 26 2019 home
  8. drwxr-xr-x 16 root root 4096 9 26 2019 lib
  9. drwx------ 2 root root 16384 9 26 2019 lost+found
  10. drwxr-xr-x 3 root root 4096 11 8 2019 media
  11. drwxr-xr-x 2 root root 4096 9 26 2019 mnt
  12. drwxr-xr-x 4 root root 4096 9 26 2019 opt
  13. dr-xr-xr-x 187 root root 0 1 1 1970 proc
  14. drwx------ 19 root root 4096 11 16 15:19 root
  15. drwxr-xr-x 30 root root 900 11 22 12:30 run
  16. drwxr-xr-x 2 root root 4096 8 12 12:38 sbin
  17. drwxr-xr-x 2 root root 4096 9 26 2019 srv
  18. dr-xr-xr-x 12 root root 0 1 1 1970 sys
  19. drwxrwxrwt 17 root root 4096 11 22 12:09 tmp
  20. drwxr-xr-x 11 root root 4096 10 13 23:54 usr
  21. drwxr-xr-x 12 root root 4096 12 7 2019 var

上述命令llls -l别名,用来显示当前目录下有哪些文件、文件夹,我们通过在根目录下使用该命令获得根目录下的文件目录。树莓派中这个是默认添加了别名的,有的Linux系统默认没有这个命令别名,可以通过alias命令手动在/etc/bashrc中添加alias ll='ls -l'

乍一看,这么多目录还是有点眼晕啊,我们可以简单列一下,系统目录下的文件不要随便乱改哦(当然是你有管理员权限的时候)。

  • bin 存放二进制可执行文件(lscatmkdir等)
  • boot 存放用于系统引导时使用的各种文件
  • dev 用于存放设备文件
  • etc 存放系统配置文件
  • home 存放所有用户文件的根目录
  • lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
  • mnt 系统管理员安装临时文件系统的安装点
  • opt 额外安装的可选应用程序包所放置的位置
  • proc 虚拟文件系统,存放当前内存的映射
  • root 超级用户目录
  • sbin 存放二进制可执行文件,只有root才能访问
  • tmp 用于存放各种临时文件
  • usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
  • var 用于存放运行时需要改变数据的文件

在知道了我们在哪里之后,我们如果想去哪里该如何操作呢?可以通过cd命令(Change Directory)来改变目录,到达我们想去的目录。

  1. pi@raspberrypi4:~ $ cd /home/pi/Documents/
  2. pi@raspberrypi4:~/Documents $

上述命令我们通过命令跳转到了~/Documents目录。

此外常用的目录地址简写:

  1. ./ 代表当前目录
  2. ../ 代表当前目录的上一层目录
  3. / 代表根目录
  4. ~/ 代表用户目录

3 我要干什么?

这里我们介绍一些常用的操作文件操作命令,创建、剪切、复制、编辑、查找等操作。

  1. pi@raspberrypi4:~ $ mkdir folder
  2. pi@raspberrypi4:~ $ cd folder/
  3. pi@raspberrypi4:~/folder $ touch file.txt
  4. pi@raspberrypi4:~/folder $ nano file.txt

首先,我们通过mkdir命令在用户目录下创建了一个名为folder的文件夹,然后进入到该文件夹目录下,通过touch命令创建了一个名为file.txt的空文件。然后我们通过nano命令,一个类似于记事本的命令行文本编辑程序,打开该空文件,界面就是下方这样。

  1. GNU nano 3.2 file.txt
  2. test
  3. this is a test file.
  4. 当然,也是可以输入中文的。
  5. [ 已读取 3 ]
  6. ^G 求助 ^O 写入 ^W 搜索 ^K 剪切文字 ^J 对齐 ^C 游标位置
  7. ^X 离开 ^R 读档 ^\ 替换 ^U 还原剪切 ^T 拼写检查 ^_ 跳行

上述编辑器界面下方是功能键提示,表示Ctrl键,M表示Alt键。因此,G表示的就是同时按下Ctrl键和G键。通过组合键Ctrl+X关闭该文件,会提示是否保存修改,输入“y”,保存退出文件。

  1. pi@raspberrypi4:~/folder $ cp file.txt file_cp.txt
  2. pi@raspberrypi4:~/folder $ mv file.txt file_mv.txt
  3. pi@raspberrypi4:~/folder $ mv file_mv.txt ../file.txt
  4. pi@raspberrypi4:~/folder $ ll
  5. 总用量 4
  6. -rw-r--r-- 1 pi pi 66 11 22 20:22 file_cp.txt
  7. pi@raspberrypi4:~/folder $ rm file_cp.txt
  8. pi@raspberrypi4:~/folder $ ll
  9. 总用量 0

上述,cp将文件file.txt复制到了本目录下的file_cp.txtmv将文件file.txt移动到本目录下file_mv.txt(相当于重命名操作),mv将文件file_mv.txt移动到上一级目录下,并重命名为file.txt。通过ll命令查看本目录下只剩下file_cp.txt一个文件了,通过rm命令将file_cp.txt删除,然后查看本目录下已经没有文件了。

  1. pi@raspberrypi4:~/folder $ mv ../file.txt ./
  2. pi@raspberrypi4:~/folder $ ll
  3. 总用量 4
  4. -rw-r--r-- 1 pi pi 66 11 22 20:12 file.txt
  5. pi@raspberrypi4:~/folder $ cat file.txt
  6. test
  7. this is a test file.
  8. 当然,也是可以输入中文的。
  9. pi@raspberrypi4:~/folder $ find file.txt
  10. file.txt
  11. pi@raspberrypi4:~/folder $ find file*
  12. file.txt

然后将移动到上一层目录的文件file.txt移动到本目录下,通过cat命令可以直接查看文件内容,并输出到命令行。此外,可以通过find命令查找目录下的相关文件,搭配通配符“*”使用效果更好(你可能不一定记得目录下的要查找的文件名称)。

此外,还有万能的帮助命令,如果你对某个命令的使用不是太清楚,可以直接使用man命令查找帮助,比如man nano来查看nano的帮助文件描述(不过都是英文的)。

  1. NANO(1) General Commands Manual NANO(1)
  2. NAME
  3. nano - Nano's ANOther editor, an enhanced free Pico clone
  4. SYNOPSIS
  5. nano [options] [[+line[,column]] file]...
  6. DESCRIPTION
  7. nano is a small and friendly editor. It copies the look and feel of Pico, but
  8. is free software, and implements several features that Pico lacks, such as:
  9. opening multiple files, scrolling per line, undo/redo, syntax coloring, line
  10. numbering, and soft-wrapping overlong lines.
  11. When giving a filename on the command line, the cursor can be put on a specific
  12. line by adding the line number with a plus sign (+) before the filename, and
  13. even in a specific column by adding it with a comma.
  14. As a special case: if instead of a filename a dash (-) is given, nano will read
  15. data from standard input.
  16. EDITING
  17. Entering text and moving around in a file is straightforward: typing the letters
  18. and using the normal cursor movement keys. Commands are entered by using the
  19. Control (^) and the Alt or Meta (M-) keys. Typing ^K deletes the current line
  20. and puts it in the cutbuffer. Consecutive ^Ks will put all deleted lines to‐
  21. gether in the cutbuffer. Any cursor movement or executing any other command
  22. will cause the next ^K to overwrite the cutbuffer. A ^U will paste the current
  23. contents of the cutbuffer at the current cursor position.
  24. Manual page nano(1) line 1 (press h for help or q to quit)

4 小 结

  • whoami 查看当前用户
  • pwd命令查看用户的当前目录
  • 可用 cd 命令来切换目录
  • .表示当前目录
  • .. 表示当前目录的上一级目录(父目录)
  • ~ 表示用户主目录的绝对路径名
  • ls 显示文件或目录信息
  • mkdir 当前目录下创建一个空目录
  • rmdir 要求目录为空
  • touch 生成一个空文件或更改文件的时间
  • cp 复制文件或目录
  • mv 移动文件或目录、文件或目录改名
  • rm 删除文件或目录
  • cat 查看文本文件内容
  • man 查看帮助命令

本小节主要了解Linux系统下的基本文件操作命令,当你在面对这个黑黑的框框的时候,是不是有点跃跃欲试呢。下一节,我们将通过虚拟机搭建一个Linux环境,以便趁热试试手(而不用先急着入手树莓派)。

欢迎关注我的公众号,持续更新中~~~

树莓派了解Linux基本命令的更多相关文章

  1. Linux基本命令(一)

    Linux基本命令 编辑器 vim编译器 Gnu工具链-gcc调试器 GDB操作系统是用C来写的 系统编程 (核心骨架 80%) 文件I/O 文件系统 进程{ 进程控制原语.进程间通信.进程间关系 信 ...

  2. 2 、Linux基本命令-ls-pwd-cd-date-hwclock

    Linux基本命令: 1.ls-查看目录下的文档 语法: ls 目录 注: .当前目录  ..上级目录 如:ls /etc/ 相关参数: -l  显示详细信息 ls /etc/ -l -a 显示隐藏的 ...

  3. Linux基本命令 目录

    Linux基本命令 目录 Linux基本命令(1)管理文件和目录的命令 Linux基本命令(2)有关磁盘控件的命令 Linux基本命令(3)文件备份和压缩的命令 Linux基本命令(4)有关关机和查看 ...

  4. linux 基本命令 [转]

    linux 基本命令 1.ls  (list 显示当前目录下文件和目录 ls -l 详细显示 =ll ) [root@linux ~]# ls [-aAdfFhilRS] 目录名称 [root@lin ...

  5. 转:Linux基本命令大全

    Linux基本命令大全   新手刚刚接触Linux的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过Linux一段时间后,你就会逐渐了解Linux其实和Windows一样容 ...

  6. 剑指Offer——知识点储备--Linux基本命令+Makefile

    剑指Offer--知识点储备–Linux基本命令 1.linux下查看进程占用cpu的情况(top): 格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 主要参 ...

  7. Linux(1)- 服务器核心知识、Linux入门、VMware与centeos安装、远程连接linux、linux基本命令使用

    一.服务器核心知识 1.电脑和电脑的硬件组成 现在的人们几乎无时无刻不在使用着电脑!不管是桌上型电脑(桌机).笔记型电脑(笔电).平板电脑,还是智慧型手机等等,这些东西都算是电脑.虽然接触这么多,但是 ...

  8. Linux学习总结(9)——Linux 新手必知必会的 10 条 Linux 基本命令

    Linux 对我们的生活产生了巨大的冲击.至少你的安卓手机使用的就是 Linux 核心.尽管如此,在第一次开始使用 Linux 时你还是会感到难以下手.因为在 Linux 中,通常需要使用终端命令来取 ...

  9. 第三章 Linux基本命令操作

    第三章  Linux基本命令操作 ¨  本节所讲内容: ¨  3.1  Linux终端介绍 Shell提示符 Bash Shell基本语法 ¨  3.2  基本命令的使用:ls.pwd.cd.hist ...

随机推荐

  1. [代码审计]:PhpMyWind储存型XSS漏洞(CVE-2017-12984)

    简介 今天开启一下代码审计的篇章  python安全编程剩下的看起来没意思就结束了 ,现在规划每2周写一个爬虫练练手, 然后今天开启代码审计和Docker的学习 我个人感觉先看漏洞利用过程再看漏洞分析 ...

  2. 光棍节程序员闯关秀writeup

    答题链接https://1111.segmentfault.com/ 第一关 首先当然是右键查看源码啊 点击链接进入下一关 第二关 还是老样子,右键查看源码 这个key是要放在URL链接里敲回车的 第 ...

  3. CorelDRAW X7 X8 2017 2018是什么关系?

    从CorelDRAW 2017版本开始我们叫习惯了的X几系列的CorelDRAW毅然决然的就换了称呼,所以有时候很多朋友对于软件版本,经常会傻傻分不清,还有人认为X8版本比2017版本高,究竟为什么会 ...

  4. 巧妙运用Camtasia 旅行Vlog轻松get

    旅行时,除了要欣赏当地的美丽风景.享受当地美食外,当然还要将旅行中的各种小细节记录下来.以前我们可能更多地使用相机拍照,现在呢,越来越多的人采用视频拍摄的方式制作Vlog.这种兼具影像与叙事的视频表现 ...

  5. Mybatis是如何封装Jdbc的?

    JDBC六个步骤 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { //1. 加载驱动 C ...

  6. 程序演示:C语言第一个简单实例

    在信息化.智能化的世界里,可能很早很早 我们就听过许多IT类的名词,C语言也在其中,我们侃侃而谈,到底C程序是什么样子?让我们先看简单的一个例子: 1 2 3 4 5 6 7 8 9 #include ...

  7. 虚拟机下Ubuntu共享文件夹不能显示的一种解决方法

    原文链接:https://blog.csdn.net/huyangzhilin/article/details/70666937

  8. web 应用、 框架 及HTTP协议

    web 应用 一.web 应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/ ...

  9. JZOJ2020年8月12日提高组反思

    JZOJ2020年8月12日提高组反思 真·难亿一点点 T1 题目长并附带伤害-- 暴力搜 对于字符串,我选择\(Pascal\) T2 概率问题,再见 T3 样例没懂,再见 T4 有史以来见过的条件 ...

  10. IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德

    仰不愧天,俯不愧人,内不愧心.关注公众号[BAT的乌托邦],有Spring技术栈.MyBatis.JVM.中间件等小而美的原创专栏供以免费学习.分享.成长,拒绝浅尝辄止.本文已被 https://ww ...