shell常见指令

文章目录


前言

嵌入式学习前期C基础内容总结

一、认识C语言

C语言是一门十分流行的编程语言,由美国贝尔实验室的 Dennis Ritchie 在 20 世纪 70 年代开发。


C语言具有高效、可移植、灵活、简单等特点,被广泛应用于操作系统、编译器、数据库、图形界面、嵌入式系统、网络通信、游戏等领域

二、操作系统

操作系统:管理硬件和软件 

三大操作系统:Windows      Macos    Ubuntu

内核              :WindowsNt   Unix        Linux

嵌入式学习:

一般选择Linux:

1.免费

2.稳定

3.开源

4.可以和硬件结合

三、认识VMware

VMware:是一个桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试 、部署。

四、认识Ubuntu

Ubuntu:Ubuntu是一个以桌面应用为主的Linux发行版操作系统

(一).VM和Ubuntu下载

Ubuntu系统下载官方链接:Ubuntu系统下载

VMware下载官方链接:VMware Workstation 17Player for Windows下载

【Liunx常用操作】安装Ubuntu操作系统(Desktop&Server) 

参考:

【Liunx常用操作】安装Ubuntu操作系统(Desktop&Server)_ubuntu desktop安装-CSDN博客

(二)、终端操作

1.终端

        i.打开终端

                1.点击图标

                2.ctrl+alt+t   打开新终端

                3.ctrl+shift+t    在已有终端的情况下,在同一端口打开新终端

                4.ctrl+shift+e   在已有终端的情况下,左右打开终端

                5.ctrl+shift+o   在已有终端的情况下,上下打开终端

        ii.关闭终端

                1.点击X

                2.输入指令exit

                3.ctrl+d

        iii.常用的快捷键

                1.放大:ctrl shift +

                2.缩小:ctrl -

                3. 赋值:ctrl+shift+c

                4.粘贴:ctrl+shift+v

        iv.清屏

                ctrl l 快捷方式  置顶不删除

                clear                置顶删除

        v.tab键

                指令,文件,目录自动补全

(三)、认识Ubuntu的目录

/

Linux文件系统根目录

/bin存放系统中最常用的可执行文件(二进制)
/boot存放Linux内核和系统启动文件
/dev存放所有设备文件
/etc存放系统的所有配置文件
/home用户主目录的默认位置
/initrd存放启动时挂载initrd.img映像文件的目录,以及载入所需设备模块的目录
/lib存放共享的库文件,包含许多被/bin,/sbin中程序使用的库文件
/lost+found存放fsck放置的零散文件
/mediaUbuntu系统自动挂载CD-ROM,软驱,USB存储后,存放临时读入的文件
/mnt该目录通常用于作为被挂载的文件系统的挂载点
/opt作为可选文件和程序的存放目录,主要被第三方开发者用来简易地安装和卸载他们的软件包
/proc存放所有标志为文件的进程,他们是通过进程号或其他的系统动态信息进行标识
/root根目录(超级用户)的主目录
/sbin存放更多的可执行文件(二进制),包括系统管理,目录查询等关键命令文件
/srv
/sys
/tmp存放用户和程序的临时文件,所有用户对该目录都有读和写的权限

(四)、shell命令

格式1:指令 参数 选项

格式2:指令 选项 参数

注意事项:

1.指令,参数以及选项之间必须使用空格隔开

2.参数以及选项可以省略不写

 1.文件含义

1.文件类型:

7种   bcd-lsp

        b:块设备文件

        c:字符设备文件

        d:目录

        -:普通文件

        l:软连接文件

        s:套接字文件

        p:管道文件

2.文件权限

        r:读权限

        w:写权限

        x:可执行权限

        -:不具备权限

2.ls

功能:查看目录以及文件的内容 

1.ls                                查看当前目录下的所有文件内容

2.ls  指定路径                查看指定目录下的所有内容

3.ls -a                            查看当前目录下的所有内容包含隐藏文件

4.ls -l                             查看当前目录下的所有内容使用长列表进行显示

5.ls -l -h                         查看当前目录下的所有内容使用长列表进行显示,打印大小以kmg                                          为单位

3.chmod 

功能:修改权限

方式1:使用字符形式 =-+

        文件所属用户user:u

        文件所属用户组:group:g

        其他用户other:o

        所有用户权限all:a

格式:

        chmod u-r 文件名

        chmod g+w 文件\目录

        chmod o=x 文件\目录

        chmod a=r 文件\目录

方式2:使用8进制

        r:4      w:2      x:1     -:0

        chmod xxx  文件\目录

        chmod x  等价于  chmod 00x

3.man

功能:查看man手册的详细信息:man man

1.可执行程序或shell命令

2.系统调用(内核提供的函数)

3.库调用(程序库中的函数)

 4.su

功能:切换用户

格式:sudo su 用户名

sudo:使用管理员权限

注意:默认root的密码是随机

5.passwd

功能:修改密码

格式:passwd 用户名

6.touch

功能:创建文件 

touch 文件名                          如果这个文件不存在当前目录下创建文件,存在则修改时间戳

touch 文件名1 文件名2 文件名3 ....... 创建多个文件

7.mkdir 

功能:创建目录

mkdir 目录名                         在当前目录下创建目录

mkdir 目录名1 目录名2 ...     在当前目录下创建多个目录 

mkdir dir1/dir2/dir3 -p           嵌套创建目录,如果目录存在则不报错,否则创建父目录

8.cd

功能:切换路径

1.cd       指定目录

2.cd       将路径切换到家目录下

3.cd ~    将路径切换到家目录下

4.cd .     进入当前目录

5.cd ..    进入上一级目录

6.cd -     进入上一次操作指令的路径

9.rmdir

功能:删除目录且为空

1.rmdir 目录名1 目录名2 ...       删除当前目录下的多个空目录

2.rmdir dir1/dir2/dir3                 删除dir3

3.rmdir dir1/dir2/dir3 -p             删除dir1 dir2 dir3 

10.rm

功能:删除文件或非空目录

1.删除文件

        rm file1 file2  ...           删除当前目录下多个文件

2.删除目录

        rm -r dir1 dir2 dir3      删除当前目录下的多个目录 

11.echo

功能: 输出字符串,类似C语言printf

1.echo 字符串 

2.echo '字符串'

3.echo"字符串"

4.echo -n 字符串       取消换行

5.echo -e "转义字符 字符串"       使转义字符发挥其效果

 12.cat

功能:打印文件内容

1.cat 文件名         在当前终端打印文件内容

2.cat -n 文件名     在当前终端打印文件内容显示行号

13.重定向   >    >>

1.> 单项重定向   覆盖

        echo hello >文件名 

                如果这个文件不存在,则创建文件,把字符写入文件中

                如果这个文件存在,则把字符覆盖原来文件内容

        cat file1>file2

                如果这个文件file2不存在,则创建文件,把文件file1中的内容拷贝到文件file2中

                如果这个文件file2存在,则将file1文件中内容覆盖file2文件中内容

2.>> 双向重定向 追加

        echo hello >> 文件名

                如果这个文件不存在,则创建文件,把字符串追加到文件中

                如果这个文件存在,把字符串追加源文件内容后面

        cat file1>>file2

                如果file2不存在,则创建文件,把文件file1中的内容追加到文件file2的后面

                如果file2存在,把file1文件的内容追加到文件file2的内容的后面

14.cp

功能:拷贝文件或目录

 1.文件拷贝文件

        cp 文件1 文件2             把文件1拷贝到文件2

                如果文件2不存在,把文件1拷贝一份,命名为文件2

                如果文件2存在,把文件1拷贝一份,命名为文件2,替换原来的文件2

2.文件拷贝到目录

        cp 文件  目录              把文件拷贝到目录中,目录必须存在

                如果目录中不存在同名文件,把文件拷贝到目录中

                如果目录中存在同名文件,替换目录中同名文件

3.目录拷贝目录

        cp 目录1 目录2 -r       把目录拷贝给目录

                如果目录2不存在,把目录1拷贝一份,命名为目录2

                如果目录2存在且没有同名目录,把目录1拷贝一份,存到目录2之中

                如果目录2存在且有同名目录,把目录1拷贝一份,存到目录2之中,替换同名目录

 15.mv

功能:移动,剪切,重命名

1.文件剪切文件

        mv 文件1 文件2              把文件1重名为到文件2

                如果文件2不存在,把文件1重命名为文件2

                如果文件2存在,把文件1重命名为文件2,替换原来的文件2

2.文件剪切到目录

        mv 文件 目录             把文件剪切到目录中,目录必须存在

                如果目录中不存在同名文件,把文件剪切到目录中

                如果目录中存在同名文件,把文件剪切到目录中,替换目录中同名文件

3.目录剪切到目录

         mv 目录1 目录2           把目录1重名为目录2

                如果目录2不存在.把目录1重命名为目录2

                如果目录2存在且没有同名目录,把目录1剪切到目录2里面

                如果目录2存在且有同名目录且非空, 报错:不可以剪切目录实现替换

                如果目录2存在且有同名目录且空,把目录1剪切到目录2里面,替换同名目录

16.pwd

功能:在终端回显当前目录下的绝对路径 

17.whoami

功能:查看用户

 (五)、vim\vi编辑器

功能:写程序,类似txt,nodepad++

格式:vim 文件名

特点:

1.创建文件,并打开文件,需要手动保存,否则文件创建失败

2.和touch的区别:

自动保存,不可以打开文件

1.命令行模式

命令行模式:复制、粘贴、剪切、删除、撤回、返撤回.....

1.yy                 复制光标所在行

2.nyy                复制光标所在行的n行

3.选中代码y     复制选中的程序

4.dd                 剪切光标所在行

5.ndd               剪切光标所在n行

6.选中代码d     剪切选中程序

7.delete键        剪切光标所在单个字符

8.gg                 光标跳转首行

9.G                  光标跳转尾行

10.=                 使程序对齐

11.ggyG            全文复制

12.ggdG           全文剪切

13.gg=G           全文对齐

14.u                  撤回

15.ctrl r             反撤回

16.p                  粘贴                

2.插入模式

写程序

1.a                 在光标所在字符的后面插入

2.A                 在光标所在字符的行尾插入

3.i                  在光标所在字符的前面插入

4.I                  在光标所在字符的行首插入

5.o                 在光标所在字符的下一行插入

6.O                在光标所在字符的上一行插入

7.s                 删除光标所在字符,在该光标处插入

8.S                删除光标所在行,在该光标的行首插入

9.insert键      在光标所在字符的前面插入

 3.底行模式

保存,退出,查找,替换等

1.:w                      保存

2.:q                       退出

3.:wq                    保存退出

4.:q!                   强制退出

5.:wqa                  全部保存退出(多文件操作时)

6.:vsp 文件名        在同一目录下打开文件

7:/string                查找字符串并高亮显示

8.:noh                   取消高亮显示

9.:%s/字符串1/字符串2                       全文把每一行的第一个字符串1替换为字符串2

10.:%s/字符串1/字符串2/g                  全文把字符串1替换为字符串2

11.:m,n/字符串1/字符串2/g              m-n行的字符串1替换为字符串2

12.m,ny            复制m-n行

13.m,nd            剪切m-n行

 4.gcc编译器

gcc: 是由GNU发行的编译器,使用c和c++

格式1:

        gcc ****.c 编译C文件,默认生成a.out二进制可执行文件 运行:./a.out

格式2:

        gcc ****.c -o 可执行文件名 生成一个指定的文件名 运行:./可执行文件名

gcc的分步编译:

        ESc .iso

                预处理---->编译---->汇编---->链接

                预处理:展开头文件,替换宏,删除注释

                gcc -E ***.c -o ***.i

                编译:检查语法的正确性,生成汇编文件

                gcc -S ***.i -o ***.s

                汇编:把汇编文件转换二进制文件

                gcc -c ***.s -o ***.o

                链接:把二进制文件链接为可执行文件

                gcc ***.o -o 可执行文件

                运行:

                ./可执行文件

                

        

  • 49
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值