嵌入式Linux基本命令-常用基础

1.常用命令

出于快速掌握的考虑,我们只针对开发中常用到的基本命令和选项进行讲解。​​​​​

1.1  ls

用于显示指定工作目录下的内容。

选项:

-a 显示所有文件及目录

-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

-R 若目录下有子目录,则子目录也列出

命令测试:

嵌入式Linux基本命令-常用基础

1.2  cd

cd命令用于切换当前工作目录至 dirName(目录参数)。

比如: cd /usr/bin

特殊的,

切换到家目录:cd ~  在我们的ubuntu server中等价:cd /home/lucker

切换到上一次用到的目录:cd –

切换到当前目录的上一级目录:cd ..

切换到当前目录的上两级目录:cd ../.. 当前目录的上n级目录就是 n 个 ../

1.3  pwd

查看当前所在目录的绝对路径。

嵌入式Linux基本命令-常用基础

1.4  mkdir

新建一个文件夹(目录),

在当前目录下创建test文件夹:mkdir test

在内存中创建文件夹test2:mkdir /tmp/test2

在上一级目录创建文件夹test3:mkdir ../test3

在家目录创建文件夹test4:mkdir ~/test4

​​​​​​​1.5  touch

新建一个空文件,

在当前目录下创建test.txt文件:touch test.txt

在内存中创建文件test2.txt:touch /tmp/test2.txt

在上一级目录创建文件test3.txt:touch ../test3.txt

在家目录创建文件test4.txt:touch ~/test4.txt

​​​​​​​1.6  mv

mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

文件重命名:mv /tmp/name1.txt /tmp/name2.txt

移动家目录下的文件到内存中:mv ~/test.txt /tmp

移动内存中test1目录到test2目录中:mv /tmp/test1 /tmp/test2

​​​​​​​1.7  cp

cp命令主要用于复制文件或目录。

选项:

-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

-d:复制时如果是软连接(相当于windows的快捷方式)则保留软链接属性。

命令测试:

复制当前目录下的文件到内存中:cp ./test1.txt /tmp/test2.txt

复制目录/home/lucker/test到内存中:cp /home/lucker/test /tmp -r

复制家目录中的homedir文件夹到上两级目录:cp ~/homedir ../../ -r

*复制软连接:cp ./libtest.so /tmp -d

​​​​​​​1.8  rm

rm命令用于删除一个文件或者目录。

选项:

-r 将指定目录下所有东西删除

-f 强制删除,不做提示

命令测试:

删除当前目录下的文件test.txt:rm ./test.txt

删除文件夹/tmp/tdir:rm /tmp/tdir -r

强制删除文件夹/tmp/fdir:rm /tmp/fdir -rf

​​​​​​​1.9  file

file命令用于辨识文件类型。

嵌入式Linux基本命令-常用基础

​​​​​​​1.10  cat

查看文件内容。

查看当前目录下hello_world.cpp的内容:cat ./hello_world.cpp

嵌入式Linux基本命令-常用基础

​​​​​​​1.11  tree

树形结构查看目录的文件夹及文件组成。

比如查看当前目录下dts的树形结构:tree ./dts

嵌入式Linux基本命令-常用基础

​​​​​​​1.12  find

find 命令用来在指定目录下查找文件。

-name 文件名称符合 name 的文件。

在内存中查找所有文件名为test.c的文件:find /tmp -name "test.c"

在当前目录下查找后缀为“.dtsi”的文件:find . -name "*.dtsi"

嵌入式Linux基本命令-常用基础

​​​​​​​1.13  clear

clear命令用于清除屏幕。

​​​​​​​1.14  chmod

用于修改文件、目录的权限。

选项:

-R 将指定目录下所有东西进行权限修改

Linux权限有三个维度:拥有者 、群组 、其它组

Linux下文件/文件夹具有三种权限:读,写,执行,对应字母 r、w、x

嵌入式Linux基本命令-常用基础

图中d指示文件夹,-指示文件,然后三组rwxrwxrwx分别表示拥有者所在群组其他组对该文件夹/文件具有的权限。

以文件为例说明(r,w,x对应数值4,2,1,加法运算,比如同时具备rwx为7):

-rw------- (600)

只有拥有者有读写权限

-rw-r--r-- (644)

只有拥有者有读写权限;而属组用户和其他用户只有读权限

-rwx------ (700)

只有拥有者有读、写、执行权限

-rwxr-xr-x (755)

拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限

-rwx--x--x (711)

拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限

-rw-rw-rw- (666)

所有用户都有文件读、写权限

-rwxrwxrwx (777)

所有用户都有读、写、执行权限

 

修改文件test.txt权限都是rw:chmod 666 ./test.txt

给文件excfil增加可执行权限:chmod +x ./excfile

​​​​​​​1.15  sudo

sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root(管理员权限,可以为所欲为) 亲自执行。

用管理员身份删除文件(需要输入密码,输入过程不可见):

嵌入式Linux基本命令-常用基础​​​​​​​

1.16  su

su命令用于变更为其他使用者的身份。

切换到root权限(危险操作,开发时不建议切换到root)su root

嵌入式Linux基本命令-常用基础

我们经常听说删库跑路的说法,如果权限管理得好,普通用户根本是没办法完全删除仓库的,如果拿到root权限,那么确实可以在系统中为所欲为;搭建服务器时,建议root密码和普通密码不同,普通用户没有机会用到root权限。

​​​​​​​1.17  ping

检测网络链路是否通畅。

检测百度是否能通:ping www.baidu.com   ”Ctrl+c”可以终止命令。

检测局域网(有台电脑IP192.168.10.99)是否通的:ping 192.168.10.99

嵌入式Linux基本命令-常用基础

2.补充命令

2.1  ln

为某一个文件在另外一个位置建立一个同步的链接。

选项:

-s 软链接(符号链接,类似与windows的快捷方式)

给文件realfile创建软连接lnfile:ln -s realfile lnfile

嵌入式Linux基本命令-常用基础

2.2  grep

grep 命令用于查找文件里符合条件的字符串。

-r 递归。

-n 在显示符合样式的那一行之前,标示出该行的列数编号

-v 显示不包含匹配文本的所有行。

在当前目录下把包含”sdmmc”的文件查找出来:grep "sdmmc" -rn ./

嵌入式Linux基本命令-常用基础

把ls的输出结果包含字符串”pid”的内容进行输出:ls | grep "pid"

嵌入式Linux基本命令-常用基础

把ls的输出结果包含字符串”pid”的内容进行输出:ls | grep -v "pid"

嵌入式Linux基本命令-常用基础

2.3  diff

diff命令用于比较文件的差异,diff [options] file1 file2

-u,-U<列数>或--unified=<列数>  以合并的方式来显示文件内容的不同。

有源文件如下,左边为old.c,右边为new.c

嵌入式Linux基本命令-常用基础嵌入式Linux基本命令-常用基础

比较两个源文件:diff -u ./new.c ./old.c

嵌入式Linux基本命令-常用基础

2.4  patch

Linux patch命令用于修补文件。

-p<剥离层级>或--strip=<剥离层级> 设置欲剥离几层路径名称。

-R或--reverse  假设修补数据是由新旧文件交换位置而产生。

在当前目录下把补丁文件xxx.patch打进来:patch -p0 < xxx.patch

在当前目录下把补丁xxx.patch卸载:patch -p0 -R < xxx.patch

 

=============================================================================================================================

这样整个开发环境及交叉编译链就搭建好啦!!如果觉得对您有帮助并想进一步深入学习交流可以扫描以下微信二维码或加入QQ群:928840648

欢迎共同学习成长,有一群爱学习的小伙伴一起勉励!!加油!!也可点击​​​​​​​

嵌入式Linux基本命令-常用基础