守护进程一般系统启动的时候可以跟着启动,需要配置。位置:
创新互联是一家专注于网站设计制作、成都网站建设与策划设计,城固网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:城固等地区。城固做网站价格咨询:18980820575
程序位置:
/etc/init.d
相关配置文件:
/etc/rc*
守护进程,没有控制终端,在后台运行。因此,守护进程的输出,都会写到日志系统中。目录/var/log。
守护进程的代表:inetd,iptables,sshd,atd,crond这样的进程。
一般,命令:都会有控制终端,可以进行人机交互,可以进行作业控制,输出都在屏幕上(理解成终端或者控制台)。比如:vi,sed,awk,gcc这样的程序。
配置文件位置:/etc,如mysql是/etc/my.cnf。
守护进程一般提供当服务使用,比如我们的http,dns,dhcp这样的网络服务,系统日志服务,swap虚拟交换控制进程等。
普通命令,当我们正常使用的一些应用软件即可,其实真的就是一个应用软件或小程序,如果你看过UNIX编程书籍会理解这句话。
当然守护进程也是程序,不过一般都是提供系统级的服务或应用。系统级典型的是atd,sshd,crond,应用级的如tomcat提供web服务,mysql提供数据库服务。这些程序都跑在后台。
linux 命令的二进制映射就是可执行的二进制程序,也就是编程语言编译后的可执行文件。
在linux系统中,一些都是文件,因此想要学习linux驱动,必须知道各个文件的作用,liunx主要包括uboot 内核 和文件系统三大块。
/bin 二进制可执行命令,比如cd ls 等命令。
/dev 设备特殊文件,一些硬件驱动文件放在该文件下,比如串口驱动文件/dev/tty0;
/etc 系统管理和配置文件,一些配置文件放在这个文件,比如网络配置等配置。
/etc/rc.d 启动的配置文件和脚本,这是个脚本文件,内核启动的第一步;
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,一些库文件放在该文件下;
/sbin 系统管理员命令,这里存放的是系统管理员使用的管理程序
/tmp 公用的临时文件存储点,一般一些程序生成的临时文件都放在该文件下,比如我目前做的项目,生成的 临时配置文件都放在该文件下;
/root 系统管理员的主目录(特权阶级),通过SU命令可以进入该用户,该用户有最高的权限;
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统,一些比如U盘都挂载在该目录下;
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 /proc 虚拟的目录,是系统内存的映射。可以直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件,该文件在程序定位中很有用,一些错误都记录在该目录下,/var/log;
/run 里面的东西是系统运行时需要的, 不能随便删除. 但是重启的时候应该抛弃. 下次系统运行时重新生成
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
/usr/x11r6 存放x window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库根文件系统 通常情况下,文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不需要经常改动,而且包括严格的文件和一个小的不经常改变的文件系统不容易损坏。 除了可能的一个叫/ v m l i n u z标准的系统引导映像之外,根目录一般不含任何文件。所有其他文件在文件系统的子目录中。
使用/ v a r / t m p来代替/tmp ,因为前者可能拥有一个更大的磁盘空间。
命令的语法通用格式 :
# COMMAND OPTIONS ARGUMENTS
大体上可以分为3部分: 命令,选项,参数
COMMAND,命令 :
命令本身是一个二进制格式的可执行的程序文件,有可能会调用共享库文件;执行命令的过程,就是告诉shell运行某个程序文件,使之成为一个进程。
OPTIONS,选项 :
选项用于指定命令的运行特性;
选项有两种表现形式:
短选项 :形式大多为 - 符号后跟一个字母,字母明确区分大小写, 例如 -l , -L , -d , -D 等等
长选项 :形式大多为 -- (两个 - 符号)后跟一个单词,单词都是小写,例如 --help , --human-readable
注意 :
1,有些命令的选项前面没有 - 符号;
2,如果同一命令同时使用多个短选项,多数可合并: -l -d = -ld
3,长选项不能合并;
4,有些时候,选项也可以带参数,这种参数称为选项参数,需要注意与命令参数区分;
ARGUMENTS,参数 :
参数用于指明命令的作用对象,即命令对什么生效;
注意:不同的命令的参数;
有些命令可同时带多个参数,参数之间以空白字符分隔;例如: ls -ld /var /etc , /var 和 /etc 两个目录为参数,中间用空格分隔
一、在Linux下查看二进制文件的软件:
xxd (2进制)
hexdump (16进制)
二、编辑:
1、biew
2、hexedit
3、vim
Vim 来编辑二进制文件。Vim 本非为此而设计的,因而有若干局限。但你能读
取一个文件,改动一个字符,然后把它存盘。结果是你的文件就只有那一个字符给改了,
其它的就跟原来那个一模一样。
要保证 Vim 别把它那些聪明的窍门用错地方,启动 Vim 时加上 "-b" 参数:
vim -b datafile
这个参数设定了 'binary' 选项。其作用是排除所有的意外副作用。例如,'textwidth'
设为零,免得文本行给擅自排版了。并且,文件一律以 Unix 文件格式读取。
二进制模式可以用来修改某程序的消息报文。小心别插入或删除任何字符,那会让程序运
行出问题。用 "R" 命令进入替换模式。
文件里的很多字符都是不可显示的。用 Hex 格式来显示它们的值:
:set display=uhex
另外,也可以用命令 "ga" 来显示光标下的字符值。当光标位于一个 字符上时,
该命令的输出看起来就像这样:
27, Hex 1b, Octal 033
文件中也许没那么多换行符。你可以关闭 'wrap' 选项来获得总览的效果:
:set nowrap
字 节 位 置
要发现你在文件中的当前字节位置,请用这个命令:
g CTRL-G
其输出十分冗长:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最后两个数字就是文件中的当前字节位置和文件字节总数。这已经考虑了 'fileformat'
选项导致换行符字节不同的影响。
要移到文件中某个指定的字节,请用 "Go" 命令。例如,要移到字节 2345:
2345go
使 用 XXD
一个真正的二进制编辑器用两种方式来显示文本: 二进制和十六进制格式。你可以在 Vim
里通过转换程序 "xxd" 来达到这效果。该程序是随 Vim 一起发布的。
首先以二进制方式编辑这个文件:
vim -b datafile
现在用 xxd 把这个文件转换成十六进制:
:%!xxd
文本看起来像这样:
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
现在你可以随心所欲地阅读和编辑这些文本了。 Vim 把这些信息当作普通文本来对待。
修改了十六进制部分并不导致可显示字符部分的改变,反之亦然。
最后,用下面的命令把它转换回来:
:%!xxd -r
只有十六进制部分的修改才会被采用。右边可显示文本部分的修改忽略不计。
查看二进制文件,用od或hexdump命令。
$ od -tx1 -tc -Ax binFile
000000 61 62 63 64 65 31 32 33 34 35 61 62 63 64 65 31
a b c d e 1 2 3 4 5 a b c d e 1
000010 32 33 34 35 61 62 63 64 65 31 32 33 34 35 61 62
2 3 4 5 a b c d e 1 2 3 4 5 a b
000020 63 64 65 31 32 33 34 35 0a
c d e 1 2 3 4 5 \n
000029
-tx1选项表示将文件中的字节以十六进制的形式列出来,每组一个字节(类似hexdump的-c选项)
-tc选项表示将文件中的ASCII码以字符形式列出来(和hexdump类似,输出结果最左边的一列是文件中的地址,默认以八进制显示)
-Ax选项要求以十六进制显示文件中的地址