姓名:罗浩东 学号:19020100450 学院:电子工程学院
转自:https://blog.csdn.net/sinat_42550851/article/details/102114651
【嵌牛导读】对嵌入式系统的使用基础
【嵌牛鼻子】嵌入式系统的初步使用
【嵌牛正文】
替换一个字符:在命令模式下选中要替换的字符,按r,再按替换后的字符。
替换全文中所有的字符:可以在命令模式下输入:% s/str1/str2/g
6.文件系统
Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
Linux最早的文件系统是Minix,但是专门为Linux设计的文件系统——拓展文件系统第二版(EXT2)被设计出来并添加到Linux中,这对Linux产生了重大影响。
常用的文件系统
ext2
swap
vfat
NFS
1、ext2
ext2是为解决ext文件系统的缺陷而设计的可扩展的、高性能的文件系统,又被称为二级扩展文件系统。它是Linux文件系统中使用最多的类型,并且在速度和CPU利用率上较为突出。ext2存取文件的性能极好,并可以支持256字节的长文件名,是GNU/Linux系统中标准的文件系统。
2、ext3
ext3是ext2文件系统的日志版本,它在ext2文件系统中增加了日志的功能。ext3提供了3种日志模式:日志(journal)、顺序(ordered)和回写(writeback)。与ext2相比,ext3提供了更好的安全性以及向上向下的兼容性能。因此,在Linux系统中可以挂在一个ext3文件系统代替ext2文件系统。ext3文件系统格式被广泛应用于目前的Linux系统中。ext3的缺点是缺乏现代文件系统所具有的高速数据处理和解压的性能。此外,使用ext3文件系统还要考虑磁盘限额问题。
3、reiserFS
reiserFS是Linux环境下最稳定的日志文件系统之一,使用快速的平衡二叉树(binary tree)算法来查找磁盘上的自由空间和已有的文件,其搜索速度高于ext2,reiserFS能够像其他大多数文件系统一样,可动态的分配索引节,而无须在文件系统中创建固定的索引节。有助于文件系统更灵活的适应各种存储需要。
4、VFAT
VFAT主要用于处理长文件的一种文件名系统,它运行在保护模式下并使用VCACHE进行缓存,并具有和Windows系列文件系统和Linux文件系统兼容的特性。因此VFAT可以作为Windows和Linux交换文件的分区。
5、JFS2
一种字节级日志文件系统,该文件系统主要是为满足服务器的高吞吐量和可靠性需求而设计、开发的。单个文件最大限制16TB,该文件系统最大支持1PB的容量。
目录结构
Linux的文件系统采用阶层式的树状目录结构,在该结构中的最上层是根目录“/”,然后在根目录下再建立其他的目录。
Linux中无论从操作系统管理的几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。
Linux文件类型
普通文件:通常是流式文件。
#ls -lh install.log
-rw-r–r-- 1 root 53K 03-16 08:54 install.log
目录文件:用于表示和管理系统中的全部文件
#ls -lh
drwxr-xr-x 2 root 4.0K 04-19 10:53 mydir
链接文件:用于不同目录下文件的共享
#ls -lh setup.log
lrwxrwxrwx 1 root root 11 04-19 11:18 setup.log->install.log
设备文件:包括块设备文件和字符设备文件
#ls -la/dev/tty
crw-rw-rw- 1 root tty 5,0 04-19 08:29 /dev/tty
管道(FIFO)文件:提供进程间通信的一种方式
套接字(socket)文件:改文件类型与网络通信有关
ls -lh /var/lib/mysql/mysql.sock
srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock
分区
在WIndows操作系统中,是先将物理地址分开,再在分区上建立目录。在Windows操作系统中,所有路径都是从盘符开始,如C:\program file
Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。Linux默认可分为3个分区,分别是boot分区、swap分区和根分区
挂载
Linux下的分区需要挂载到目录后才能使用,挂载的意义就是把磁盘分区的内容放在某个目录下。这个把分区和目录对应的过程叫做**挂载(Mount)**而这个挂载在文件树中的位置就是挂载点。
当要使用某个设备时,例如要读取硬盘中的一个格式化好的分区、光盘或软件等设备时,必须把这些设备对应到某个目录上,而这个目录就称为“挂载点(mount point)”,这样才可以读取这些设备,将物理分区细节屏蔽掉,用户只有统一的逻辑概念,所有的东西都是文件。
7.shell使用技巧
Shell环境
Linux中的Shell是一个命令解析器,将用户命令解析为操作系统能理解的指令,从而实现用户与操作系统的交互。
Shell是内核的一个外层保护工具,并负责完成用户与内核之间的交互。
自动补齐
命令行自动补齐
输入命令的前一个或者几个字母,按下Tab键系统就会自动补全命令。如果有多个可能的选择,再按一次Tab键就会列举出来。
如何用’cd’最快地从您当前梭子的home目录跳到’/usr/src/redhat/’
#cd/u<TAB>sr<TAB>r<TAB>
命令行的历史记录
通过按向上方向键,可以向后遍历近来在该控制台下输入的命令,用向下方向键可以向前遍历。
如果与SHIFT键连用的话还可以遍历以往在该控制台中的输出,也可以编辑旧的命令然后再运行。
按<CTRL r>后,Shell就计入向后增量搜索模式。选择相应命令后再按<ENTER>键,上面的命令将再次执行。
vi .bash_history(可以查看历史的命令)
编辑命令行
<CTRL k >:删除从光标到行尾的部分
<CTRL u>:删除从光标到行首的部分
<ALT d>:删除从光标到当前单词结尾的部分
<CTRL w>:删除从光标到当前单词开头的部分
<CTRL a>:将光标移到行首
<CTRL e>:将光标移到行尾
<ALT a >:将光标移到当前单词头部
<ALT e>:将光标移到当前单词尾部
<CTRL y>:插入最近删除的单词
命令的排列
先执行command1,不管command1是否出错,接下来执行command22
command1 ;command2
只有当conmmand1正确运行完毕后,才执行command2
command1&command2
命令的任务调度
当在终端里运行一个命令或开启一个程序时,终端要等到命令或程序运行完毕后,才能再被使用。
任务调度(jobbing)或后台(backgrounding),在命令后面添加一个&可以将当前运用任务或将命令至于后台,终端就立即解放可以接受新的输入。
#gqview &
#jobs
输出重定向
">“为输出重定向符,可以将命令的输出结果保存到文件中,”>>“和”>“作用类似,不同的是”>“为新建或者重写一个文件,而”>>"为在文件的尾部追加内容
#Mail -s “hello world” pingzhenyu@163.com < testmail
#ps -aux |grep wget
ps -ef | grep “bash”(可以查找)
8.环境变量
Shell环境
Linux是一个多用户的操作系统,当用户登入系统后都会有一个**专用的运行环境。**通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变得定义。用户可以通过修改相应的系统环境变量对自己的运行环境进行定制。
环境变量(environment variables)一般是指在操作系统中用来制定操作系统进行环境变量的一些参数,如:临时文件夹位置和系统文件夹位置等。
bash配置文件
环境变量和Shell紧密相关的,用户登入系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设定或切换到其他的Shell。根据发行版本的情况,bash有两个基本的系统级配置文件:/etc/bashrc和/etc/profile。
查看bash配置文件
#ls.bash*
环境变量常用变量如下:
PATH 决定了shell将到哪些目录中寻找命令或者程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 当前用户的Shell类型
LANG 语言相关的环境变量,多语言可以修改次环境变量
MALL 当前用户的邮件存放目录
PATH声明格式
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:…:<PATH N>
环境变量更改后,在用户下次登入时生效。如果想立即生效,则可执行下面的语句
#source .bash_profile
环境变量设置实例
使用命令echo环境变量
#echo $HOME
使用命令echo显示环境变量
#exort MYNAME = “my name is pingzhenyu”
#echo $MYNAME
修改环境变量MYNAME
使用env命令显示所有的环境变量
使用set命令显示所有本地定义的Shell变量
使用unset命令来清除环境变量
使用readonly命令设置只读变量
通过修改环境变量定义文件来修改环境变量
eg:
export TEMP_ENV =“jack”
env |grep TEMP_ENV
————————————————
版权声明:本文为CSDN博主「cubedong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_42550851/article/details/102114651