嵌入式Linux常用命令

时间:2021-02-05 18:43:52

转载自:http://tech.hqew.com/fangan_741972

【写在读之前】

1、  黑色加粗的为命令,不可拼读错误;

2、  -->解释箭头

3、  所有括号内的内容为补充说明或单词补全,可不输入

4、  所有标记红色“”为有图示的例子

5、  颜色一样、连在一起的且中间有空格的几个单词,是一个命令或一个完整说明

6、  其它颜色为可以区分设置,没有特殊含义;

7、  实际命令的空格间隔很小,为了加以区别以便让人更清楚地区分,空格一般输入不止一个;

8、  暂时不理解的名词可讨论或网络搜索;

9、  由于水平有限,难免出错或过于繁琐,今后会逐步完善,望指正~

第二课 Linux基本命令(一)

一、基本命令

  1clear                                                           -->清屏

  2pwd(print current working directory)  -->打印当前目录

  3echo                                                               -->    回显

         echo hello

echo $PATH(回显路径)

  4date                                                               -->    显示或者设置日期

  5ls(list)                                                             -->    显示目录下的文件列表

  6cd(change directory)                                 -->    切换目录

  7alias                                                                -->    给某个命令起别名

         alias ll='ls -l'(=两边不能有空格)  ls –l重命名为ll

  /************************************ ls指令********************************/

  1ls [option...] [arg...]

  2ls -a[ll]                            -->    显示所有文件,包括隐藏文件

  3ls -l[ong]                          -->    以长格式显示文件信息

  4ls -al

  5ls -h[uman readable]  -->  k,m,g显示文件的大小

  6ls -F                              -->    显示文件类型

  7ls -R                             -->    递归显示

  8ls  /                             -->    显示/目录的内容

  9ls –a  /                        -->    显示/目录的所有内容

  10ls -l                            -->    以长格式显示文件信息

       -rwxrwxr-x  1  shangziyun  shangziyun  4805  05-12 10:31  a.out  

                各部分解释如下:

-                                        --> 文件类型(该文件为普通文件,若为d,则为目录)

                rwxrwxr-x                           -->    文件的三组权限(u,g,o),可使用8进制

                1                             -->    文件的硬链接数

                shangziyun                         -->    文件的属主

                shangziyun                         -->    文件的属组

                4805                                     -->    文件大小(byte为单位)

                05-12 10:31                        -->    文件的最后修改时间

                a.out                           -->    文件名

  /*************************************************** ls指令 *****************/

  8Linux帮助信息

       例:man[ual] ls       -->  查找对ls的帮助信息

  9bash常用快捷键

       ctrl^c                                           -->结束一个前台进程

       ctrl^z                                            -->挂起一个前台进程

       ctrl^L                                            -->清屏

二、目录操作命令

  1cd                                       -->    切换工作目录

         1)绝对路径和相对路径

         2)几个特殊的目录

           ~  (用户主目录)  ~ 等价于/home/sramedu

          .  (当前目录)

           ..  (上层目录)

         3cd 后不跟参数,代表回到家目录

  2mkdir                                         -->  创建新目录

3-p                                               -->  自动创建父目录

  4rmdir                                           -->  删除目录(只能删除空目录)

三、文件操作命令

  1、创建文件-->     touch (文件存在,则修改最后访问时间;文件不存在,则创建)

                                                touch task.c

  2、删除文件-->          rm

                                     1rm -r[ecursive] -->      用于删除目录(不管是否为空)

                                     2rm -f               -->       强制删除(即使有错,也不提示)

                                     3rm -i               -->       交互模式

                                          例:rm a.out  

                                          例:rm -r dir1 

                                          例:rm -rf dir1

  3、复制(复制+粘贴) -->     cp

                                     1cp -r               -->   用于复制目录

                                      2cp -f               -->   强制复制

                                     3cp -i                -->   交互模式

                                          cp /etc/passwd ~/Desktop/passwd  -->  /etc/passwd复制到~/Desktop/passwd

                                          例:cp -r dir1 ~/Desktop

  4、移动(剪切+粘贴)(实质上相当于重命名) -->       mv

                                          mv /etc/passwd ~/pass

说明:提示权限不够,例子不恰当,但格式是没有问题的,倘若切换到root用户,还是可以操作的(不建议尝试)

                                               例:mv dir1 dir2

  5、查看文件内容-->  cat

                                        more/less                                -->  分页查看(每次显示一页,space向下翻页,b向上翻页)  

                                              more /etc/passwd             

                                         例:less /etc/passwd                

                                    例:head/tail                            -->  显示文件的前n/n

                                         例:head /etc/passwd            --> 显示/etc/passwd的前n/n

                                         head -n 5 /etc/passwd    --> 显示/etc/passwd的前5

  6、修改文件内容(写文件),利用VIM编辑器(输入vivim命令)

  7、查看文件类型-->    file

                                              例:file dir1

  8、文字统计-->    wc

                                      例:wc -l 统计行数

                                      例:wc -c 统计字节数

  9、文件查找-->   1find

                                     格式:find [查找路径] [选项] [参数]

                                     例:find / -name passwd  --> 通过名字查找passwd文件

                                       2locate

  10、文件内容查找-->         grep

                                     例:grep 'shang' /etc/passwd      -->/etc/passwd下查找关键字“shang

                           

四、正则表达式

  通配符:

         *       -->    0个或者任意多个任意字符

         ?       -->    1个任意字符

      

五、文件重定向

  标准设备:

         stdin(0),stdout(1),stderr(2)

         0  -->       输入重定向

          -->       输出重定向

          -->       2>错误重定向

六、文件查找(findlocategrep

  1find

    指令格式:find [路径] [选项] [参数]

    [选项(查找方式)]

         -name

         -size

         -mtime

         -atime

         -type

         -uid

         -perm

    举例:

         1)查找系统中所有的passwd文件(由于此类文件太多,将不需要的统统放入无底洞)

         find / -name 'passwd' 2>/dev/null >res.txt

         2)查找/etc目录下所有以'txt'为后缀的文件(由于

         find /etc -name '*.txt'

         3)查找主目录下 大小<1024的文件

         find ~ -size -1024c

         4)查找系统中所有最后修改时间在1天之前的文件

         find / -mtime +1

         5)查找当前目录下所有的.c文件并且打包为code.zip

         find . -name '*.c' | xargs zip code.zip

         6)查找当前目录下所有的.txt文件,并且删除

         find . -name '*.txt' | xargs rm

         7)查找/usr/include中哪个头文件有printf的定义

         find /usr/include -name '*.h' | xargs grep 'printf'        //find的结果当做文件看待,从文件中找printf

         find /usr/include -name '*.h' | grep 'printf'              //find的结果当做字符串看待,从中找到printf

  提示:

         '|'默认将之前命令的输出当做“普通的字符串”看待,如果需要当做文件来处理,必须加xargs选项

 

  2locate

         从系统数据库中查找某个文件,速度快。

         系统数据库一般在系统启动时建立,因此,新创建的文件可能会找不到

  3grep -- 查找内容

七、管道符号 -->           |

         说明:管道符号连接两个命令,将前面命令的输出,当做后面命令的输入

         例:cat /etc/passwd | more

         例:ls -l | wc -l

         find . -name '*.c' | xargs zip code.zip  -->查找当前目录下的c文件并打包到当前目录下的code.zip