Linux运维基础(二)

一、Linux文件系统:

	Linux :glibc

	程序编译方式:
			动态链接:共享库不写入程序,程序运行时调用库时将库写载入内核
			静态编译:共享库写入程序,程序运行时随之运行
	
	进程的类型:
			终端:硬件设备,关联一个用户接口
			
			与终端相关:通过终端启动
			与终端无关:操作引导启动过程当中自动启动
	
	操作系统的组成:
			静态:kernel,application

			文件系统:层级结构
					/bin:(Essential user command binaries || for use by all users)所有用户可用的基本命令程序文件;
					/sbin:(System binaries)供系统管理使用的工具程序;
					/boot:(Static files of the boot loader)引导加载器必须用到的各静态文件;kernel,initramfs(initrd),grub等
					/dev:(Device files)存储特殊文件或设备文件;
							设备有两种类型:字符设备(线性设备)、块设备();
					/etc:系统程序的配置文件,只能为静态;
					/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下
					/lib:(Essenttial shared libraries and kernel modules)为系统启动或根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块
							libc.so.*:动态链接的C库;
							ld*:运行时链接器/加载器;
							modules:用于存储内核模块的目录;
					/lib64::6位系统特有的存放64位共享库的路径;
					/media:便携式设备挂载点,cdrom,floppy等;
					/mnt:其他文件系统的临时挂载点;
					/opt:附加应用程序的安装位置;可选路径;
					/srv:(data for services provided by this system)当前主机为服务提供的数据;
					/tep:(temporary files)为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所有用户执行写入操作,有特殊权限;
					/usr:(user Hierachy)全局共享的只读数据路径;
							bin,sbin	
							lib,lib64
							include:C程序头文件;
							share:命令手册页和自带文档等架构特有的文件的存储位置
							local:另一个层级目录;
							x11R6:X-Window程序的俺去昂位置
							src:程序源码文件的存储位置
					/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;
					/var:/var Hierarchy,存储常发生变化的数据的目录;
					/proc:内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward,
							虚拟为net/ipv4/ip_forward,存储于/proc/sys/,因此其完整路径为/proc/sys/net/ipv4/ip_forward;
					/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种同一模型的接口;

二、Linux系统上的文件类型:
-:常规文件;即f;
d:directory,目录文件;
b:block device,块设备文件,支持以“bblock”为单位进行随机访问
c:character device,字符设备文件,支持以“character device”为单位进行线性访问
major number:主设备号,用标识设备类型,进而确定要加载的驱动程序
minor number:次设备号,用于标识同一类型中不同的设备;
8位二进制:0-255
l:sysbolic link,符号链接文件;
p:pipe,命名管道;
s:socker,套接字文件;

基本命令:
		命令类型:
				外部命令
				内部命令
						shell内嵌命令

				type COMMAND:
						内部:bulitin	
						外部:显示为命令文件路径;
								注意:命令可以有别名;别名可以与原名相同,此时原名被隐藏,此时如果要运行原命令,则使用\COMMAND;

			命令别名:
					获取所有可用别名的定义:
							~]:#alias
					定义别名:
							~】:alias NAme=‘COMMAND’
							注意:仅对当前shell进程有效
					撤销别名:
							~】:unalias NAME

	which命令:
			which - shows the full path of (shell) commands

		which 【options】 programname【。。。】
				--skip-alias:忽略别名

	whereis命令:
			whereis - locate the binary,source,and manual page files for a command

		whereis 【options】name。。。
				-b:仅搜索二进制程序路径;
				-m:仅搜索使用手册文件路径;

	who命令:
			who - show who is logged on

		who 【option】。。
				-b:系统此次启动的时间;
				-r:运行级别;

	w命令:
			w - show who is logged on and what they are doing。

三、bash的基础特性:

	命令历史:shell进程会在其会话中保存此前用户提交执行过的命令:
			~】:history
					定制history的功能,可通过环境变量实现;
							HISTSIZE:shell进程可保留的命令历史的条数;
							HISTFILE:持久保存命令历史的文件;
									.bash_history
							HISTFILESIZE:命令历史文件的大小;

	命令用法:
				hostory 【-c】 【-d 偏移量】 【n】
				或 history -anrw【文件名】
				或 history -ps 参数【参数。。。】

			-c:清空命令历史;
			-d offset:删除指定历史命令;
			-r:从文件读取命令历史至历史列表中;
			-w:把历史列表中的命令追加至历史文件中;
			history #:显示最近的#条命令;

	调用命令历史列表中的命令:
			!#:再一次执行历史列表中的第#条命令;
			!!:再一次执行上一条命令;
			!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;

			注意:命令的重复执行有时候需要依赖于幂等性;

	调用上一条命令的最后一个参数:
			快捷键:ESC
			字符串:!$

	控制命令历史记录的方式:
			环境变量:HISTCONTROL
					ifnoredups:忽略重复的命令;
					ignorespace:忽略以空白字符开头的命令;
					ignoreboth:以上两者同时生效;

			修改变量的值:
					NAME=‘VALUE’

	命令补全:
			shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当做命令;
			命令查找机制:
					查找内部命令:
					根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;

			给定的打头字符串如果能唯一标识某命令程序文件,则直接补全;
													不能唯一标识某命令程序文件,再击tab键一次,会给出列表;
	路径补全:
			再给定的起始路径下,以对应路径下的打头字符串来注意匹配起始路径下的每一个文件;
					tab:
							如果能唯一标识,则直接补全;
							否则,再一次tab,给出列表;

	目录管理类的命令:
			mkdir,rmdir

			mkdir:make directory
				mkdir 【option】。。。DIRECTORY。。。
						-p:自动按需创建父目录;
						-v:verbose,显示详细过程;
						注意:路径基名方为命令的作用对象;基名之前的路径必须存在;

四、bash的基础特性之:命令行展开
~]:自动展开为用户的家目录,或指定的用户的家目录;
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
例如:/tmp{a,b}相当于 /tmp/a /tmp/b

	问题1:mkdir -pv /tmp/x/{y1{a,b},y2}
	问题2:mkdir -v {a,b}_{c,d}

	tree命令:
			tree 【options】【directory】
					-L level:指定要显示的层级;

五、bash的基础特性:命令的执行状态结果
命令执行的状态结果:
bash通过状态返回值来输出此结果:
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;
命令正常执行时,有的还会有命令返回值;
根据命令及其功能不同,结果各不相同;

	引用命令的执行结果:
			$(COMMAND)
			或‘COMMAND’

六、bash的基础特性:快捷键
ctrl+a:跳转至命令行行首
ctrl+e:跳转至命令行行尾
ctrl+u:删除行首至光标所在处之间的所有字符;
ctrl+k:删除光标所在处至行尾的所有字符;
ctrl+l:清屏,相当于clear

七、文件查看类命令:cat,tac,head,tail,more,less
分屏查看命令:more和less

	more命令:
			more FILE
					特点:翻屏至文件尾部后自动退出:
	less命令:
			less FILE
	head命令:默认显示文件头(文件前n行)
			head 【options】 FILE
					-n  #
					-#
	tail命令:查看文件的后n行,默认10行;
			tail 【options】 FILE
					-n #
					-#
					-f:查看文件尾部内容结束后不退出,跟随显示新增行
	stat命令:
			stat - display file or file system 
			stat   FILE。。。
			文件:两类数据
					元数据:metadata
					数据:data
			时间戳:
					access time:
					modify time:
					change time:
	touch命令:
			touch - change file timestamps
			touch 【option】。。。FILE。。。
					-c:指定的文件路径不存在时不予创建;
					-a:仅修改access time;
					-m:仅修改modify time;
					-t STAMP

八、文件管理工具:cp、mv、rm
cp命令:copy
源文件;目标文件;

			单源复制:cp【option】。。。【-T】 SOURCE DEST
								如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中;
								如果DEST存在:
										如果DEST是非目录文件,则覆盖目录文件;
										如果DEST是目录文件,则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流
										
			多源复制:cp【OPTION】。。。SOURC。。。DERECTORY
								cp【OPTION】。。。-t DIRECTORY SOURCE。。。

				如果DEST不存在,错误;
				如果DEST存在:
						如果DEST是非目录文件,错误;
						如果DEST是目录文件;分别复制每个文件至目标目录中,并保持原名;

			常用选项:
					-i:交互式复制,即覆盖之前提醒用户确认;
					-f:强制覆盖目标文件;
					-r:递归复制目录;
					-d:复制符号链接文件本身,而非其指向的源文件;
					-a:-dR --preserve=all,archive,用于实现归档;
					--preserv=
							mode:权限
							owmership:属主和属组
							timestamps:时间戳
							context:安全标签
							xattr:扩展属性
							links:符号链接
							all:上述所有属性

	mv命令:move
			mv 【OPTION】。。。【-T】 SOURCE DEST
			mv 【OPTION】。。。SOURCE。。。DIRECTORY
			mv 【OPTION】。。。-t DIRECTORY SOURCE。。。
			常用选项:
					-i:交互式;
					-f:foece
								
	rm命令:remove
			rm 【OPTION】。。。FILE。。。

			常用选项:
					-i:interactive
					-f:force
					-r:recursive

				删除目录:rm     -rf       /PATH/TO/DIR
						为先操作:rm   -rf   /*
			注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值