linux基础概念

1.	linux的介绍
	Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、
	支持多线程和多CPU的操作系统。

	为什么要使用linux进行项目开发?
	Linux的应用领域:
		1.	个人桌面LINUX
			跟我们的windows一样作为个人计算机系统。
		
		2.	嵌入式Linux系统应用领域
			由于Linux开发源代码、功能强大、可靠、稳定性强、灵活以及具有极大的伸缩性。
			再加上它广泛的支持大量的微处理器体系架构、硬件设备和通信协议。因为在嵌入式行业里面
			现在越来越多的应用linux操作系统。
		
		3.	linux作为企业级的服务器应用
			1.	免费且开源
			2.	稳定并且有强大的社区支持
			3.	使用自由
			4.	海量的开源应用
			5.	安全
			
2.	Ubuntu软件的安装
	APT(Adanvace Packing TOOL)是一款强大的安装包工具。
	我们把其称之为命令行软件包管理工具,用于获取、安装、编译、卸载和查询软件包,以及检查
	软件包之间的依赖关系。
	
	a.	工作原理
		/etc/apt/sources.list
		用来指定ubuntu的软件源服务器地址的。
		
	b.	修改源
		查找你ubuntu对应版本的软件源服务器地址
		
		sudo gedit sources.list

		从百度上把你的新的源的地址copy下来将sources.list文件中的内容覆盖掉。
		
	c.	查看你的ubuntu有没有连上外网
		ping www.baidu.com
		
	d.	更新软件包
		sudo apt-get update
		下载更新软件列表的信息。
		其实就是通过这个指令知道源里面有哪些软件。
		可以把服务器上面的最新的软件列表信息下载到本地。
		
		sudo apt-get upgrade
		将已经安装的软件和软件列表进行对比,提示更新软件。
		
	e.	指定安装某个软件
		sudo ape-get install 软件包的名字
		例子:
			sudo apt-get install vim
			下载vim软件
			
			sudo apt-get install mplayer

	f.	卸载软件
		sudo apt-get remove 软件包的名字
		
	g.	搜索拼音类的软件
		sudo apt-cache search 软件包的名字
		如:
			sudo apt-cache search pinyin
		
3.	vi/vim
	vim是vi的改进版本。
	vi/vim是unix/linux中最基本的、最常用的、功能最强大的文本编辑器。
	
	vi/vim有两种模式:
		编辑模式:键盘上所有输入的字符都当成文本内容
		命令模式:键盘上所有输入的字符都当成命令
	
	当进入vi/vim时,默认是出于命令模式。
	
	命令模式切换到编辑模式
		i(insert):	进入编辑模式,进入编辑模式后,光标(偏移量)不动
		I(insert):	进入编辑模式,进入编辑模式后,光标移动到本行的行首

		o(open)  :	向下开路。在光标的下一行,新开一行
		O(open)  :	向上开路。在光标的上一行,新开一行
		
		a(append):	光标向后移动一个字符。
		A(append):	光标移动到行尾。

	编辑模式切换到命令模式
		按下ESC键
	
	vi/vim的命令:
		:q(quit) 	退出vi/vim的命令
					如果修改文件的内容退出时会询问你是否保存,输入n不保存,输入y保存
		:q!			不保存强制退出
		:w(write)	保存
		:w filename	保存内容到指定的路径下(另存为,会拷贝一份)
		:wq			保存并且退出
		:x			保存并且退出

	vim中删除以及修改命令:
		x	:	删除光标所在的位置
		dd	:	(delete)删除光标所在的行,并将删除的内容保存在剪切板中
		ndd :	n表示的是一个数字,删除包括光标所在当前行以及以下的n行
				dd和ndd就是剪切	
		r	:	(replace)替换光标所在的单个字符
		R	:	替换光标及以后的多个字符(按下ESC键退出替换模式)
				在替换模式下按删除键可以回退替换字符
		
	vim中的粘贴命令:
		yy	:	将当前行的内容拷贝到剪切板中去
		p(print):是将剪切板中的内容粘贴到当前行的后面
		P(print):是将剪切板中的内容粘贴到当前行的前面
		
	vim撤销命令:
		u/U(undo):撤销
		
	vim搜索命令:
		/要搜索的内容
		n(next):找下一个匹配到的内容
		N(next):反向搜索下一个匹配的内容

	vim替换命令:
		s(substitude) 替换
		:{作用范围}s/{目标}/{替换}/{替换标志}
		
		“作用范围”:作用范围写就是在当前行
					如果是全文 %
					如果要选区 
						5,12	意味着5-12行
						.,+2	意味着当前行以及接下来的两行
						
		“替换标志”:g(global)全局替换(即所有出现的目标都替换)
					i(ignore)忽略大小写
					
	vim显示行号:
		:set nu
		
		vim的配置文件处于 ~ 中
		可以通过输入ls -a查看当前目录下有哪些文件(包括隐藏文件)
		vim ~/.vimrc(vim的配置文件)
		
4.	文件系统相关命令
	文明系统是什么?
	用来管理文件的一套组织方法以及软件系统。
	我们的操作系统去保存我们的文件并不是无纪律、无组织的存储,而是以有组织、有纪律的存储。
	我们就将这种有组织、有纪律的存储方式称之为文件系统的格式:
		EXT3/EXT4/FAT/NTFS...
		
	无论是哪一种文件系统格式,都会将文件分为两部分:
		1.	文件属性-inode结点,是唯一标识一个文件存在的东西
		
		2.	文件内容
		
		任何一个文件,哪怕没有文件内容,但是一定会有文件属性。
		每一个inode结点都会有一个号码,操作系统用inode号码来识别不同的文件。
		
		表面上,用户通过文件名打开文件,实际上,系统内部分为三步:
			a.	系统找到这个文件名对应的inode号。
			b.	通过inode号码获取inode信息
			c.	根据inode信息,找到文件内容。
			
	linux文件系统是以树状结构存在的。
		
		相对路径中有三种比较特殊的路径:
			.	当前目录
			..	上一层目录
			~	家目录,家目录的本质/home/china
			
	china@ubuntu:~$ 
		china:用户名
		ubuntu:linux操作系统的名字
		:  $之间的就是当前路径
		$:当前用户是一个普通用户
		#:当前用户是一个超级用户
		
	pwd:把当前目录的绝对路径显示出来
	
	cd:change directory 改变目录
		语法:
			cd 要切换到的目录
				绝对路径
				相对路径
			
			cd 后面什么都不接
				会来到当前登录用户的家目录下
	
	ls:list  列举的意思
		ls用来列举一个目录下面所有的文件(包括目录)名
		
		语法:
			ls [options] 文件或目录
			options:
				-a		all列举出所有的文件名或信息,包括隐藏文件
				-l		list列举出文件的详细信息
			如果省略,则ls列举当前路径。
			

		-rw-r--r-- 1 china china  341 7月  23 11:16 2.c

		-rw-r--r--:包含文件的类型和文件的权限
			-:文件的类型
				-	普通文件
				d	目录
				c	字符设备文件
				b	块设备文件
				l	link符号(软)链接文件
				p	pipe管道文件
				s   socket套接字
			rw-r--r--:文件的权限
				rw-:文件拥有者所属的权限		可读可写不可执行
				r--:文件拥有者所属的组的权限	可读不可写不可执行
				r--:其它用户的权限				可读不可写不可执行
	
				r:read    可读
				w:write   可写
				x:execute 可执行
		
		1:	
			硬链接数
		
		china:
			文件所属的用户
		
		china:
			文件所属组用户
		
		341:
			文件的大小(字节)
		
		7月  23 11:16:
			最后访问的时间
		
		2.c:
			文件名
	
	mkdir:创建一个新的目录
		语法:
			mkdir {-p} 要创建的目录名
				p:parent 父亲
				
			如果要创建的目录的上面某一级或者多个目录不存在,则一并创建,只要你有这个权限
			
	rmdir:用来删除一个空目录

	rm:remove
		删除文件或目录
	
		语法:
			rm [options] [dest]
		
		dest要删除的目标文件,既可以是普通文件,也可以是目录
			
			options:
				-r 	recursive	递归
					若dest是目录文件,则rm -r递归删除
				
				-f 	force 强制
					非交互式删除,不询问用户是否删除
				
	cp:(copy)
		拷贝
		
		cp [options] [source] [dest]
						源     目标
			
		source dest既可以是普通文件,也可以是目录文件。
		
			cp dir1 dir2
				把目录1整体拷贝到目录2下面去,需要加上-r
			
			cp file1 dir2
				把文件1拷贝到目录2下面去
			
			cp dir1 file2
				不可以
			
			cp file1 file2
				把文件1中的内容,拷贝到文件2中去
				把文件1中的内容,替换(覆盖)掉文件2中的内容
			
	mv:(move)移动
		语法:
			mv source dest
			mv file1 dir2
				将文件1移动到目录2下面去
			
			mv dir1 dir2
				如果dir2不存在,这条命令的作用时将目录dir1改名为dir2
	
			mv dir1 file2
				不可以
			
			mv file1 file2
				如果两个文件都存在的话,把文件1的内容移动到文件2中去,移动完了之后,文件1消失
				如果文件2不存在的话,那么就是将文件1改名成文件2
				
	文件压缩和归档(解压缩):
		归档文件:将一组文件或目录保存在一个文件中
		压缩文件:将一组文件或目录压缩成一个文件
		
		tar 
			语法:
				tar [options] tarfile filelist
				
				options:
					-x		extract	释放一个压缩文件
					-c		create	创建一个压缩文件
					-v		显示归档和释放的过程信息
					-f		file指定归档文件的名称
					-j		由tar生成归档文件,bzip2算法压缩
					-z		由tar生成归档文件,gzip算法压缩
		
		压缩:
			tar -zcvf xxx.tar.gz filelist
			把filelist指定的文件列表用(-z gzip)的压缩算法生成一个压缩文件,这个压缩文件的名字就是
			xxx.tar.gz
			
			tar -jcvf xxx.tar.bz2 filelist
			把filelist指定的文件列表用(-j bzip2)的压缩算法生成一个压缩文件,这个压缩文件的名字就是
			xxx.tar.bz2
		
		解压缩:
			tar -xvf xxx.tar.gz {-C 指定解压缩到哪一个目录下去}
		
		
	chmod(change mode)改变文件的权限
		文件权限对于某一个用户来讲:
			r:可读
			w:可写
			x:可执行
		
		每一个文件都会针对三组不同的用户:
			user:文件所属的用户
			group:文件所属的组用户
			other:其他用户
		
		1.	chmod [u/g/o/a] +/- [r/w/x] 要更改权限的文件名
			如:
				-rw-r--r-- 1 china china    0 7月  23 16:49 1.c
				
					chmod g+x 1.c
					chmod u-w 1.c
					chmod go+x 1.c
					chmod +x 1.c---> chmod a+x 1.c
					
		2.	文件的权限我们可以用一个八进制的数来表示
				rw-r--r--
				110100100-->0644
				
				chmod 000 1.c
				chmod 777 1.c
			
	file 
		用来判断一个文件的类型
		在linux下面,文件扩展名不等于文件类型
	
重点:	
	链接文件
		硬链接
			ln target link_name
			为文件target创建一个硬链接
			一般情况下,文件名和inode号码是“一一对应”的关系,每一个inode号码对应一个文件名,
			但是unix/linux允许多个文件名指向同一个inode节点,就意味着可以用不用的文件名访问
			同样的内容。对文件内容进行修改会影响到所有文件名,但是删除一个文件名,不影响另一
			个文件的访问,这就是硬链接。
			ls -i   查看inode节点的号码
		
		软链接(符号链接)
			ln -s target link_name
			软连接指向目标文件,软连接保存的是目标文件的名字
			软连接有点类似于window下面的快捷方式。
			
5.	基本的系统命令
	man:manual 手册
	linux会为每一个命令或每一个系统函数或标准库函数,写一个手册
		
		man  -f 名字
		把“名字”相关的手册分类信息列举出来
		
		man 手册分类 名字
		把相应的“名字”的文档掉出来
		
	shutdown
		关机
		
		sudo shutdown now 	马上关机
		sudo shutdown 1		1分钟之后关机
	
	reboot	
		重启
	
	sudo 命令
		sudo -> super do
			用超级管理员的身份去执行命令
		
	su username
		切换到username指定的用户
		
		root用户
		root用户在linux/unix下面都是至高无上的用户
		当你以管理员的身份进入系统之后,第一次切换到root用户
			sudo -s
			
	passwd [username]
		为用户username设置一个密码
		如果username省略,则为当前用户设置密码
	
	clear 清屏
		ctrl + l  快捷方式清屏
		
6.	用户管理
	/etc/passwd
	用户保存用户信息的
	请看图:passwd
	
	/etc/group
	用户组信息
	
	adduser username 增加用户
	userdel username 删除用户
	groupdel groupname 删除组用户
	addgroup groupname 增加用户组
	
7.	进程管理
	ps:proess status
		列出系统中进程的信息
		
	如:
		ps -ef
			e:everyone
			f:full
	
	ctrl + alt + t  新建一个终端
	
	kill -9 pid
		杀死pid指定的那个进程
		
	top:
		按照CPU的占用率来排名 
			q:退出

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值