嵌入式学习之路(二)——Unix命令的学习(1)

2024-05-09 21:48
文章标签 学习 命令 嵌入式 unix

本文主要是介绍嵌入式学习之路(二)——Unix命令的学习(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

嵌入式学习之路(二)——Unix命令的学习(1)
笔者学习嵌入式是从学习C语言开始的,而我学C语言的系统平台是ubuntu,所以就先学习如何使用Unix命令,利用shell来交互,vi来编写程序,gcc来编译。
那么什么是shell呢?这里先声明一下,笔者所写的全是自己的理解,绝非专业的,大家看看我的文笔就知道我肯定不是专业的,所以大神,轻拍,欢迎指正。
1.shell:笔者就理解说得简单一点,打开ubuntu系统,我们打开终端,就是shell,shell也经过了很多年的发展,我们可以通过我们的终端来查看我们的shell
输入: ps+回车 ,一般的话,我们会看到  
xxb@xxb-virtual-machine:~$ ps
  PID TTY          TIME CMD
 2537 pts/1    00:00:00 bash
 2676 pts/1    00:00:00 ps
xxb@xxb-virtual-machine:~$ 
bash 和 ps ,ps命令是用来查看进程的命令,我们可以看到ps的ID号是2676,而另外一个bash是什么呢,他就是传说中的shell ,其实还有很多shell,大家有兴趣,可以自己去查看啦,百度一下,你就知道,这里就不多说了。多说一点就unix命令后面都是加[选项]和[参数]的,比如说我们输入 ps -aux 就是ps的扩展,可以显示出该系统所有的进程。其他的选项和参数笔者也是刚学,没怎么研究过呢,大家自己去探索吧
2.linux操作系统是一个多用户的操作系统,每个用户都有自己的一个账号,计算机通过账号来区分不同的用户,同样现在我们可以在终端上输入一个命令,输入:whoami
xxb@xxb-virtual-machine:~$ whoami
xxb
xxb@xxb-virtual-machine:~$ 
输入完成后就出现了xxb这个就是你现在所用的账户名称啦,还有一个超级用户叫做root,可以使用su root来实现转换,当然要输入密码,超级用户拥有最高权限,所以一定要安全。我们输入 su root :
xxb@xxb-virtual-machine:~$ su root
密码: 
root@xxb-virtual-machine:/home/xxb# 
root@xxb-virtual-machine:/home/xxb# whoami
root
root@xxb-virtual-machine:/home/xxb#
我们再用whoami查看就发现现在用户已经变成root了,是不是很神奇呢。
su 也是一个命令 ,可以赋予超级用户的权限,笔者用得也不是很多,就不多说,初学者只要先会切换root用户就行了
3.当你打了很多行命令的时候,是不是发现终端都被占满了,不能清晰地查看终端里的内容了,现在你就可以使用clear命令了,输入 clear 回车,
你就会发现终端已经被清理过了,是不是很开心啊,哈哈,这个clear命令以后会一直和我们打交道的,想忘记都难
4.前面我们只是学会了最基本的用户操作,那我们想写程序,我们应该怎么做呢,是不是要先建一个C源文件呢,而源文件应该建在哪里呢?首先我们应该先了解下linux系统的文件系统,linux操作系统的文件系统采用分组的方式来保存文件,怎么分组呢,其实和windows上差不多,分组就是路径也可以说成目录,文件必须保存在目录下,而linux操作系统中的目录都是由一个目录分出来的,根目录相当于他下面的所有子目录的祖先,想想和人类差不多把,根目录相当于亚当和夏娃,不同的是根目录他是一直和必须存在的。我们用"/"来表示根目录,接下来介绍如何进入目录里去建文件。我们输入 :cd / 回车,我们看看会怎么样
root@xxb-virtual-machine:/home/xxb# cd /
root@xxb-virtual-machine:/# ^C
变成这样了,不知道的人我们还是不知道发生了什么,接下来我们可以输入 pwd
root@xxb-virtual-machine:/# pwd
/
发现他输出了一个/,pwd是打印当前目录,所以刚才我们输入cd / 就是改变目录到 /根目录,结果我们用pwd查看的时候,他果真到了/根目录下
我们接下来可以查看一下当前目录里有什么,我们输入 ls
root@xxb-virtual-machine:/# ls
bin    dev   initrd.img      lib64       mnt   root  selinux  tmp  vmlinuz
boot   etc   initrd.img.old  lost+found  opt   run   srv      usr  vmlinuz.old
cdrom  home  lib             media       proc  sbin  sys      var  xxb_ubuntu
我们发现根目录下有这么多东西啊,有目录,当然也有文件,ls就是用来查看目录里有什么
ls -a :查看所有的文件和目录,包括隐藏文件(.开头的文件)
ls -l  :以列表的方式来查看
ls -al:当然就是以列表的方式来查看所有文件和目录啦,是不是还是挺人性化的啊
5.路径分为绝对路径和相对路径,绝对路径就是一定要从根目录开始的路径,像这样的路径
root@xxb-virtual-machine:/mnt/hgfs/shared_folders/biaoc# pwd
/mnt/hgfs/shared_folders/biaoc
从根目录/开始,第一个/表示根目录,后面的/只是做分隔符的作用。相对路径就是从当前目录开始,到他的上级和下级去,自己好好理解理解。还有个补充就是"~"表示主目录,就是每次进去终端后默认的目录,叫做主目录,
root@xxb-virtual-machine:/mnt/hgfs/shared_folders/biaoc# cd ~
root@xxb-virtual-machine:~# pwd
/root
root@xxb-virtual-machine:~# 
我们可以看到,root就是我们的主目录,还有就是"."表示当前目录,".."表示上一级目录
root@xxb-virtual-machine:~# pwd
/root
root@xxb-virtual-machine:~# cd ..
root@xxb-virtual-machine:/# pwd
/
root@xxb-virtual-machine:/#
我们可以看到,我们从root回到了根目录了,今天就先到这里,后面的慢慢更新啊,都是最基础的,慢慢开始嘛,大家记住学嵌入式要沉得住气,其实做什么都要沉得住气啦,大家晚安!

这篇关于嵌入式学习之路(二)——Unix命令的学习(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974595

相关文章

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb