电子产业一站式赋能平台

PCB联盟网

搜索
查看: 743|回复: 0
收起左侧

Linux常用命令--韦东山老师带你上手鸿蒙内核Liteos-a开发

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2020-9-25 11:56:53 | 显示全部楼层 |阅读模式
Linux常用命令--韦东山老师带你上手鸿蒙内核Liteos-a开发,   
3.3 Linux常用命令
3.3.1 Linux命令行介绍
1. Linux Shell简介 Shell的意思是“外壳”,在Linux中它是一个程序,比如/bin/sh、/bin/bash等。它负责接收用户的输入,根据用户的输入找到其他程序并运行。比如我们输入“ls”并回车时,shell程序找到“ls”程序并运行,把结果打印出来。 Shell有很多种实现,我们常用bash。
2. Linux命令的提示符在Ubuntu中打开终端后,即可看到类似下图的提示符:



1.png (49.51 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传

提示符中各项含义在上图中都列出来了。


3. Linux命令的格式 Linux命令一般由三部分组成: ① command命令       ② options选项      ③ parameter参数

2.png (44.26 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传


说明: ① [ ]中括号表示该部分可选,可有可无,需要根据命令的实际需要而添加 ② 命令、选项、参数都以空格分隔,不管几个空格都算一个空格 ③ 命令输入完毕后,按回车“Enter”键启动




示例:



3.png (50.12 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传


4. 记住命令并不难, 先背几个单词





4.png (66.19 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传


5. 绝对路径和相对路径 Linux下的根目录为“/”,从根目录下出发可以找到任意目录、任意文件。从根目录开始表示目录或文件的方法称为“绝对路径”。比如:

  • /home/book
      
  • /home/book/1.txt
      
  • /bin/pwd
      


复制代码 有时候使用绝对路径太过麻烦,可以使用相对路径。假设当前正位于/home/book目录下,那么:



  • ./1.txt        表示当前目录下的1.txt,即 /home/book/1.txt;“.”表示当前目录
      
  • ../book/1.txt   表示当前目录的上一级目录里,book子目录下的1.txt
      
  •               “/home/book/..”就是”/home”目录,”..”表示上一级目录
      


复制代码

111.png (37.12 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传


3.3.2 目录/文件操作命令


1. pwd



5.png (96.13 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传


2. cd

6.png (129.39 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传

cd命令有些缩略用法:

  • $ cd  -   // 进入上次目录, 比如先进入a目录再进入b目录,执行此命令后即回到a目录
      
  • $ cd  ~   // 进入家目录
      


复制代码


3. mkdir

7.png (185.65 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传


4. rmdir

8.png (160.88 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传


5. ls

9.png (49.46 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传

使用示例:

10.png (146.69 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传

11.png (350.9 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传


6. cp

12.png (171.5 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传

复制目录时,常用如下命令:

  • $ cp  -RFd  dir_a  dir_b

复制代码 r:recursive,递归地,即复制所有文件 f:force,强制覆盖

d:如果源文件为链接文件,也只是把它作为链接文件复制过去,而不是复制实际文件




7. rm



14.png (175.32 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传 删除目录时,常用如下命令:

  • $ rm  -rf  dir_a

复制代码 r:recursive,递归地,即复制所有文件

f:force,强制删除


8. cat



15.png (271.46 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传




9. touch



16.png (118.65 KB, 下载次数: 0)

下载附件  保存到相册  

2 小时前 上传


3.3.3    改变文件的权限和属性 chgrp:改变文件所属用户组 chown:改变文件所有者 chmod:改变文件的权限


1. chgrp
改变文件所属用户组

  • chgrp 【-R】 dirname/filename  ...

复制代码 -R : 进行递归的持续更改,也连同子目录下的所有文件、目录都更新成为这个用户组之意。常常用在更改某一目录内所有文件的情况。 范例:

  • chgrp  hy  install.log

复制代码 将install.log文件的用户组改为hy用户组。注意hy用户组必须要在/etc/group文件内存在才可以。


2. chown
改变文件的所有者

  • chown [-R]  账号名  文件或目录
      
  • chown [-R] 账号名:组名  文件或目录
      


复制代码 -R:也是递归子目录。 范例:

  • chown bin install.log
      
  • chown  book:book  install.log
      


复制代码 改变文件所有者和用户组的这两个命令的应用场景:复制文件,由于复制行为会复制执行者的属性和权限,因此复制后需要改变文件所属用户、用户组等。

3. chmod



改变文件的权限

文件权限有两种设置方法:数字类型改变权限和符号改变权限。 首先说明各个权限对应的数字: ① r:  4或0 ② w:  2或0 ③ x:  1或0 这3种权限的取值相加后,就是权限的数字表示。 例如:文件a的权限为“-rwxrwx---”,它的数值表示为: ① owner = rwx = 4+2+1 = 7 ② group = rwx = 4+2+1 = 7 ③ others = --- = 0+0 +0 = 0 所以在设置权限时,该文件的权限数字就是770。使用数值改变文件权限的命令如下:

  • chmod [-R]  xyz  文件或目录

复制代码 ① xyz : 代表权限的数值,如770。 ② -R : 以递归方式进行修改,比如修改某个目录下所有文件的属性。 范例:

  • chmod 777 .bashrc  

复制代码 将文件.bashrc这个文件的所有权限设置都启用。

2) 符号类型改变文件权限方式 使用u、g、o三个字母代表user、group、others 3中身份。此外a代表all,即所有身份。 范例: v25“>

  • chmod u=rwx,go=rx  .bashrc

复制代码 也可以增加或去除某种权限,“+”表示添加权限,“-”表示去除权限:

  • chmod a+w  .bashrc
      
  • chmod a-x  .bashrc
      


复制代码
3.3.4 查找/搜索命令




1. find 在Windows中搜索文件,一般查找文件需要传入两个条件: a. 在哪些目录中查找; b. 查找的内容;

在Linux中,查找文件的也需要这两个条件,不同于Windows使用搜索框查找,Linux中使用find命令查找文件。 find命令格式为:



  • find 目录名 选项 查找条件

复制代码 举例1:

  • $ find  /home/book/dira/  -name  “ test1.txt “  

复制代码 说明: a)/home/book/dira/指明了查找的路径。 b)“-name”表明以名字来查找文件 。 c)“test1.txt”,就指明查找名为“test1.txt”的文件。

举例2:

  • $ find  /home/book/dira/ -name  “ *.txt “  

复制代码 说明: 查找指定目录下面所有以“.txt”结尾的文件,其中“*”是通配符。

举例3:

  • find  /home/book/dira/  -name “dira“

复制代码
注意: ① 如果没有指定查找目录,则为当前目录。 $ find . -name “ *.txt “    //其中.代表当前路径。 $ find -name “ *.txt “      //没加路径,默认是当前路径下查找。 ② find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件 $find  /home/book  -mtime -2       //查找/home目录下两天内有变动的文件。


2. grep

grep命令的作用是查找文件中符合条件的字符串,其格式如下: grep [选项] [查找模式] [文件名]。 假设dira目录的test1.txt和dirb目录的test1.txt都含有如下内容: aaa AAAAAA abc abcabcabc cbacbacba match_pattern nand->erase。

通过查找字符串,希望显示如下内容: 1)所在的文件名----grep查找时默认已经显示目标文件名 2)所在的行号------使用-n选项。

grep -rn “字符串“ 文件名 r(recursive):递归查找 n(number):显示目标位置的行号 字符串:要查找的字符串 文件名:要查找的目标文件,如果是*则表示查找当前目录下的所有文件和目录。 举例: //在test1.txt中查找字符串abc grep -rn “abc“ * 在当前目录递归查找字符串abc $ grep -n “abc“test1.txt

注意:可以加入-w全字匹配。

可以在grep的结果中再次执行grep搜索,比如搜索包含有ABC的头文件,可执行如下命令:

  • $ grep  “ABC”  *
      
  • -nR  |  grep “\.h”

复制代码 上述命令把第1个命令“grep  “ABC”  *  -nR”通过管道传给第2个命令。 即第2个命令在第1个命令的结果中搜索。


3.3.5 压缩/解压命令 压缩的目的: 在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。接收到文件后,解压即可。 压缩的类型有2种:有损压缩、无损压缩: a. 有损压缩: 如mp4视频文件,在压缩过程中减少了很多帧的数据,但是对观看者而言没有影响。当然mp3音乐文件也是有损压缩。 b. 无损压缩: 如普通文件的压缩,为了保证信息的正确传递,不希望文件经过压缩或解压后,出现任何差异。 后面讲解的都是无损压缩。 单个文件的压缩(解压)使用gzip 和bzip2 ,多个文件和目录使用tar。
1. gzip gzip的常用选项: -l(list)      列出压缩文件的内容。 -k(keep)      在压缩或解压时,保留输入文件。 -d(decompress)   将压缩文件进行解压缩。

举例: 1) 查看压缩文件 $ gzip -l pwd.1.gz

2) 解压文件 $ gzip -kd pwd.1.gz  //该压缩文件是以.gz结尾的单个文件

3) 压缩文件 $gzip -k mypwd.1    /得到了一个.gz结尾的压缩文件

注意: 1)如果gzip不加任何选项,此时为压缩 压缩完该文件会生成后缀为.gz的压缩文件,并删除原来的文件。 所以,推荐使用gzip -k来压缩源文件,这样会保留原来的文件。 2)相同的文件内容,如果文件名不同,压缩后的大小也不同。 3)gzip只能压缩单个文件,不能压缩目录。


2. bzip2 bzip2的常用选项: -k(keep)  在压缩或解压时,保留输入文件; -d(decompress)   将压缩文件进行解压缩;

1) 压缩文件 $ bzip2 -k mypwd.1 得到一个.bz2后缀的压缩文。

2) 解压文件 $ bzip2 -kd mypwd.1.bz2

注意: 1)如果bzip2不加任何选项,此时为压缩 压缩完该文件会生成后缀为.bz2的压缩文件,并删除原来的文件。 所以说,推荐使用bzip2 -k来压缩文件,这样可以保留原来的文件。

2)bzip2只能压缩单个文件,不能压缩目录。

单个文件的压缩使用gzip或bzip2, 压缩有两个参数: 1)压缩时间   2)压缩比。

一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。bzip2的的压缩率更高。


3. tar tar常用选项: -c(create):表示创建用来生成文件包 。 -x:表示提取,从文件包中提取文件。 -t:可以查看压缩的文件。 -z:使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。 -j:使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。 -v(verbose):详细报告tar处理的信息。 -f(file):表示文件,后面接着一个文件名。 -C <指定目录> 解压到指定目录。


例1:tar打包、gzip压缩 1)把目录dira压缩、打包为dira.tar.gz文件: $ tar czvf dira.tar.gz dira。

注意:“tar –czvf”与“tar czvf”是一样的效果,所以说,后面统一取消“-”。

2)查看压缩文件: $ tar tvf

dira.tar.gz

3) 解压文件,可以用-C 指定解压到哪个目录: $ tar xzvf dira.tar.gz                 //解压到当前目录 $ tar xzvf dira.tar.gz -C /home/book   //解压到/home/book。


例2:tar打包、bzip2压缩 1)把目录dira压缩、打包为dira.tar.bz2文件

  • $ tar cjvf dira.tar.bz2 dira

复制代码

2)查看压缩文件

  • $ tar tvf dira.tar.bz2

复制代码

3)解压文件,可以用-C 指定解压到哪个目录 $ tar xjvf dira.tar.bz2                   //解压到当前目录:   $ tar xjvf dira.tar.bz2 -C /home/book     //解压到/home/book


3.3.6 网络命令


1. IFconfig 查看网络、设置IP。 ifconfig常用选项: -a :显示所有网卡接口 up:激活网卡接口 down:关闭网卡接口 address:xxx.xxx.xxx.xxx,IP地址
示例: 1)ifconfig:查看当前正在使用的网卡


      
  • $ ifconfig
      
      

  •   
      
  • ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
      
      

  •   
      
  •         inet 192.168.1.137  netmask 255.255.255.0  broadcast 192.168.1.255
      
      

  •   
      
  •         inet6 fe80::4f45:59fb:ddb7:c274  prefixlen 64  scopeid 0x20<link>
      
      

  •   
      
  •         ether 00:0c:29:ab:1d:05  txqueuelen 1000  (Ethernet)
      
      

  •   
      
  •         RX packets 998794  bytes 176687882 (176.6 MB)
      
      

  •   
      
  •         RX errors 0  dropped 0  overruns 0  frame 0
      
      

  •   
      
  •         TX packets 801210  bytes 138020387 (138.0 MB)
      
      

  •   
      
  •         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

复制代码

2)ifconfig -a:查看所有网卡$ ifconfig -a ens160:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500         inet192.168.1.137  netmask 255.255.255.0  broadcast 192.168.1.255         inet6 fe80::4f45:59fb:ddb7:c274  prefixlen 64 scopeid 0x20<link>         ether00:0c:29:ab:1d:05  txqueuelen 1000  (Ethernet)         RX packets998889  bytes 176699569 (176.6 MB)         RX errors0  dropped 0  overruns 0 frame 0         TX packets801287  bytes 138033739 (138.0 MB)         TX errors0  dropped 0 overruns 0  carrier 0 collisions 0

lo: flags=8<LOOPBACK>  mtu 65536         inet127.0.0.1  netmask 255.0.0.0         loop  txqueuelen 1000  (Local Loopback)         RX packets51460  bytes 3249553 (3.2 MB)         RX errors0  dropped 0  overruns 0 frame 0         TX packets51460  bytes 3249553 (3.2 MB)

         TX errors0  dropped 0 overruns 0  carrier 0 collisions 0

3) 设置网IP:$ sudo ifconfig ens160 192.168.1.137
2. route和DNS确保Windows和Ubuntu的网络能互相ping通之后,如果Ubuntu无法上网,原因通常有2个:路由没设置好,DNS没设置好。 如果执行以下命令不成功,表示路由没设置好:$ ping  8.8.8.8connect: Network is unreachable 如果“ping 8.8.8.8”成功,但是“ping  www.baidu.com”不成功,则是DNS没设置好:$ ping www.baidu.comping: unknown host www.baidu.com DNS的设置比较简单,8.8.8.8是好记好用的DNS服务器,修改Ubuntu中的/etc/resolv.conf文件,内容如下:nameserver 8.8.8.8

路由信息使用route命令查看,其输出信息可以参考链接:

https://akaedu.github.io/book/ch36s05.html

假设某主机上的网络接口配置和路由表如下:

  • $ ifconfig
      
  • eth0      Link encap:Ethernet  HWaddr 00:0C:29:C2:8D:7E
      
  •           inet addr:192.168.10.223  Bcast:192.168.10.255  Mask:255.255.255.0
      
  •           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      
  •           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      
  •           TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
      
  •           collisions:0 txqueuelen:100
      
  •           RX bytes:0 (0.0 b)  TX bytes:420 (420.0 b)
      
  •           Interrupt:10 Base address:0x10a0
      

  •   
  • eth1      Link encap:Ethernet  HWaddr 00:0C:29:C2:8D:88
      
  •           inet addr:192.168.56.136  Bcast:192.168.56.255  Mask:255.255.255.0
      
  •           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      
  •           RX packets:603 errors:0 dropped:0 overruns:0 frame:0
      
  •           TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
      
  •           collisions:0 txqueuelen:100
      
  •           RX bytes:55551 (54.2 Kb)  TX bytes:7601 (7.4 Kb)
      
  •           Interrupt:9 Base address:0x10c0
      

  •   
  • lo        Link encap:Local Loopback  
      
  •           inet addr:127.0.0.1  Mask:255.0.0.0
      
  •           UP LOOPBACK RUNNING  MTU:16436  Metric:1
      
  •           RX packets:37 errors:0 dropped:0 overruns:0 frame:0
      
  •           TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
      
  •           collisions:0 txqueuelen:0
      
  •           RX bytes:3020 (2.9 Kb)  TX bytes:3020 (2.9 Kb)
      
  • $ route
      
  • Kernel IP routing table
      
  • Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      
  • 192.168.10.0    *               255.255.255.0   U     0      0        0 eth0
      
  • 192.168.56.0    *               255.255.255.0   U     0      0        0 eth1
      
  • 127.0.0.0       *               255.0.0.0       U     0      0        0 lo
      
  • default         192.168.10.1     0.0.0.0         UG    0      0        0 eth0
      


复制代码

上述route命令输出信息中各项的含义请看下表:

1111.png (22.6 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传 在上面的例子中,这台主机有两个网络接口:① 一个网络接口连到192.168.10.0/24网络② 另一个网络接口连到192.168.56.0/24网络。 如果要发送的数据包的目的地址是192.168.56.3,跟第一行的子网掩码做与运算得到192.168.56.0,与第一行的目的网络地址不符,再跟第二行的子网掩码做与运算得到192.168.56.0,正是第二行的目的网络地址,因此从eth1接口发送出去,由于192.168.56.0/24正是与eth1接口直接相连的网络,因此可以直接发到目的主机,不需要经路由器转发。 如果要发送的数据包的目的地址是202.10.1.2,跟前三行路由表条目都不匹配,那么就要按缺省路由条目,从eth0接口发出去,首先发往192.168.10.1路由器,再让路由器根据它的路由表决定下一跳地址。 可以使用route命令管理路由。
示例:1)添加路由:首先得确定网关IP,假设为192.168.1.1

  • $ sudo  route  add  default  gw  192.168.1.1
      
  • $ ping 8.8.8.8   // 验证
      
  • PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
      
  • 64 bytes from 8.8.8.8: icmp_seq=1 ttl=53 time=19.8 ms
      
  • 64 bytes from 8.8.8.8: icmp_seq=3 ttl=53 time=19.8 ms
      


复制代码 2)删除路由:

  • $ sudo  route  del  default  gw  192.168.1.1

复制代码
3.3.7 vi编辑器vi是一个命令,也是一个命令行下的编辑器,它有如下功能:a. 打开文件、新建文件、保存文件b. 光标移动c. 文本编辑d. (多行间|多列间)复制、粘贴、删除e. 查找和替换 很多人不习惯在命令行下编辑文件,实际开发中也不会经常在命令行下编辑文件。但是在Linux系统中对文件做些简单修改时,使用vi命令的效率非常高。并且在很多时候,比如现场调试时,并没有GUI形式的编辑工具,vi是唯一选择。
1. 模式vi编辑器有三种模式,各个模式侧重点不一样:a. 一般模式(光标移动、复制、粘贴、删除)b. 编辑模式(编辑文本)c. 命令行模式(查找和替换)vi编辑器的三种模式间切换如下图所示

17.png (119.63 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传 注意: a. 当不知道处于何种模式时,按ESC键返回到一般模式。 b. wq(writequit) c. i(insert)


2. 文件的打开、新建、保存打开文件、新建文件,命令如下(如果文件存在则打开文件,否则新建文件并打开):$ vi  文件名 修改结束之后,输入“:”进入命令行模式,再输入“wq”保存退出::wq    保存并退出文件 注意:如果文件不存在,也需要输入“:wq”才可以保存新文件,否则不会新建文件。    在编辑完成时,返回一般模式,方法如下:a. 输入“:w”则保存文件,如果已经保存文件,输入“:q”则退出文件b. 直接输入“:wq”保存并退出c. 如果不想保存被修改的内容,则输入“:q!”强制退出。 这些命令列表如下:

18.png (3.24 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传


3. 编辑文件打开文件后,默认处于“一般模式”,这时可以输入以下字母:

19.png (15.71 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传
4. 快速移动光标在一般模式下,可以使用下面快捷键移动光标或是翻页:

20.png (16.01 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传 详细介绍如下:1)快速的定位到某一行:文件头、文件尾、指定某一行

  • ngg  //光标移至第n行的行首(n为数字,想要跳转的行),
      
  • 1gg  //就跳到第一行的行首,就是文件头
      
  • 2gg  //就跳到第二行的行首
      
  • G    //转至文件结尾

复制代码 2)在某一行如何快速定位到某一列:



  • 0   //(数字零)光标移至当前行行首
      
  • [        DISCUZ_CODE_1132        ]nbsp;  //光标移至当前行行末
      
  • fx  //搜索当前行中下一个出现字母x的地方
      


复制代码 注意:当你不知道vi当前处于何种模式时,使用esc键返回到一般模式。


5. 文本复制、粘贴、删除、撤销 在一般模式下,可以执行以下命令。

21.png (14.22 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传 1) 复制 yy   //复制当前行(y:yank(复制))    nyy  //复制当前行及其后的n-1行(n是数字)

2) 粘贴 p  //粘贴(p:paste)

3) 删除 dd   //删除光标所在行(d:delete) ndd  //删除当前行及其后的n-1行(n是数字) x    //删除光标所在位置的字符

4) 撤销 u  //撤销上一步操作


6. 文本查找和替换 在一般模式下,可以执行以下命令。 1) 查找 /pattern  //从光标开始处向文件尾搜索pattern,后按下n或N


注意: n         在同一个方向重复上一次搜索命令 N         在反方向重复上一次搜索命令


注意: 在/pattern之前先跳到第一行则进行全文件搜索。

2) 替换 :%s/p1/p2/g   //将文件中所有的p1均用p2替换 :%s/p1/p2/gc  //替换时需要确认 “s“ 全称:substitute替换; “g“ 全称:global全局; “c“ 全称:confirm,确认



参考https://www.runoob.com/linux/linux-command-manual.html


7. vi编辑器使用示例 本例创建一个名为hello.txt的文件,添加如下2行文件字,再回退去删除第2行的字母“X”:

  • www.100ask.net
      
  • wiki.100askX.net

复制代码 首先执行以下命令,如果当前目录下没有hello.txt它就会新建并打开该文件,否则直接打开该文件:vi  hello.txt界面如下:

22.png (33.12 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传 输入字符“i”,它表示“insert”,即在光标前输入字符,界面如下:

23.png (43.68 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传 在上述界面中,可以输入字符了,可以使用回车键、删除键、箭头键等等,跟一般得文本工具没什么差别,如下:

24.png (62.71 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传 无论当前是否处于编辑模式,都可以使用箭头键移动光标。在编辑模式下,使用删除键(Backspace)删除字符。不在编辑模式下时,使用“x”删除光标所在的字符,如下:

25.png (52.46 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传 最后执行“cat  hello.txt”命令验证一下:

26.png (7.7 KB, 下载次数: 0)

下载附件  保存到相册  

1 小时前 上传


注意:本教程没有教你怎么在Ubuntu中安装中文输入法,因为我们是在Windows编辑源码,或是提倡多英文写注释。如果你需要在Ubuntu下使用中文,请自行百度。


3.3.8 其他命令


1. file



查看文件类型。其格式如下: file 文件名

使用gcc编译得到的程序是运行于PC的,但是很多初学者经常把这些程序放到arm板子上去运行,这时一般都会提示: xxx  not found 它并非“找不到”,而是格式不正确。 这时你可以执行“filexxx”查看它的类型,确定它是给PC还是给ARM编译的。


2. which和whereis



which命令和whereis命令作用是查找命令或应用程序的所在位置,其格式如下: which   命令名/应用程序名 whereis  命令名/应用程序名。


示例

$ which pwd     //定位到/bin/pwd $ which gcc     //定位到/usr/bin/gcc $ whereis pwd   //可得到可执行程序的位置和手册页的位置
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条


联系客服 关注微信 下载APP 返回顶部 返回列表