LINUX-OS

Linux-OS

Day 01

1.首先安装虚拟机
2.安装RED HAT 5.5
–新建一个空盘符的虚拟机(Linux 版本是Ret Hat 5)
–在虚拟机中编辑设置里挂在iso镜像
–运行虚拟机自动安装
–在自动安装过程中设置根密码(root密码):111111
–欢迎引导界面:
1.禁用防火墙
2.SELinux关闭–SELinux主要作用就是最大限度地减小系统
中服务进程的可访问资源
3.建立普通用户sramedu

3.VmwareTools安装
vmware workstation – 菜单 – 虚拟机 – 安装vmwareTools的选项
–vmwareTools…tar.gz 托到桌面
–右键打开终端
–cd Desktop
–tar -zxvf VMWare…/tab自动补全 解压
–cd vmware… /tab自动补全
–su root 密码:111111
–./vmware…pl 可执行程序
–选分辨率
1024768
–reboot
VMwaretools的功能:虚拟机中的设备驱动、实机与虚拟机的文件共享(NAS)、还有一些开发功能的插件
4.Linux启动过程
–BIOS自检 固化到ROM芯片上的程序,对基本输入输出, 硬件设备进行检测
–启动GRUB --多重操作系统管理器
–加载内核
–执行init进程
–通过/etc/inittab 文件进行初始化(掌管init需要启动进程)
–登录Linux
–执行/bin/login
–login 程序会提示使用者输入帐号与密码,进行帐号和密码的验证,
如果验证通过,则为使用者初始化环境,并将控制权提交给shell。
–关于shell的启动
–执行系统脚本文件/etc/profile
–执行/etc/profile.d/目录的
.sh的文件
–执行用户profile文件~/.bash_profile
–如果~/.bashrc存在,则执行
–如果/etc/bashrc文件存在,则执行

5.Linux系统结构
–应用层
– 图形用户界面(X—Window) 是Linux操作系统中提供的图形化用户界面(GUI)
GNOME ,KDE
–shell层
– shell本身是命令、命令解释程序及程序设计语言的统称
–内核层

6.Linux文件系统
–Linux中以文件的形式访问设备
–文件系统分为:
–ext 最早期的文件系统,稳定性及兼容性方面存在缺陷
–ext2 ext的二级扩展,解决了ext的相关缺陷而设计的可扩展的,高性能的文件系统
–ext3 日志文件系统
–ext4 第4个文件系统,是下一代的日志文件系统

7.Linux目录结构
–/ 根目录
–bin
基础的系统可执行命令

	--boot
		Linux的内核及引导系统程序所需的文件
		比如:grub的文件:/boot/grub/menu.lst
	--dev
		必要设备的驱动
	--etc
		系统配置文件
		/etc/profile
		/etc/passwd
	--home
		普通用户的家目录
	--lib
		bin,sbin下的命令所需的库文件--动态链接
	--mnt
		临时挂载区--U盘
	--proc
		系统运行时内核及进程相关信息所存放的地方
	--sbin
		系统可执行命令命令
	--root 
		超级用户root的家目录
	--tmp
		临时文件,系统重启不保存
		
	--usr
		Unix操作系统软件资源所存放的目录
	--var
		缓冲(catch)以及登录档案所存放的地方

8.文件路径
–绝对路径:
不依赖于当前的位置,总是以/开头
特殊绝对路径:
~ 代表当前用户的家目录
eg:cd ~
–相对路径:
依赖于当前的位置,不以/开头
特殊相对路径:
. 当前目录
… 上级目录

9.常用命令:
–ls 显示目录下的文件
–cd 切换路径
–pwd 查看当前路径(绝对路径)
–echo 回显命令
eg:echo $PWD
–date 显示当前时间
–cal 日期显示

--clear 清屏

--alias 命令重命令
	alias 命令的格式
		alias name='value'
		name:可以是任意的字符串
		value:必须是有效值
			正确的命令+正确的命令选项
	eg:
	alias dir='dir --color=tty'
	alias la='ls -la'

10.重启/关机命令:
–reboot 重启命令
–halt 关机命令
–shutdown 安全关机,可以设置关机的延时
shutdown -r now 立即重启
shutdown -h now 立即关机
shutdown -h 10:00 10点关机
shutdown -c 撤销已下达的shutdown命令,PS:必须在其他终端中执行次命令

11.bash快捷方式:

12.Linux下命令格式:
–命令名 [选项] [参数1] [参数2]
–eg:
ls -l /etc/

--常用命令详解:
	--date命令:
		date [选项] [Format]
		--选项:
			-d [datestring] 以datestring的格式进行显示
			eg:
			date -d "18:00:00 20151215"
			date -d-1day 

			-s [datestring]	以datestring的格式进行设置时间
			eg:
			date -s "18:00:00 20151215"
			date -d-1day

		--Format
			date +%Y%m%d
			date -d-1day +%Y%m%d

	--echo命令:(回显命令)
		--shell中的三种引号机制:单引号',双引号",反引号`
			--单引号:普通的字符串
			echo 'hello world'
			打印结果:hello world
			echo '$PATH'
			打印结果:$PATH
			
			--双引号:普通的字符串当作字符串进行处理,双引号里可以进行变量的替换
			echo "hello world"
			打印结果:hello world
			echo "$PATH"
			打印结果:(环境变量PATH的值)
			/bin/:/usr/bin.....

			--反单引号:命令替换
			echo `pwd`
			打印结果:(pwd的运行结果,当前的路径)
			/home/sramedu
				
	--man手册:
		帮助手册

Day 02

1.ls命令
-l
[文件类型][文件权限][硬连接数][用户][用户组][大小][最后修改时间][文件名]
eg:ls -l
drwxrwxr-- 2 sramedu sramedu 4096 12-15 10:20 Desktop

--文件类型:
	Linux系统中7种文件类型:
	-	普通文件
	d	目录
	l	软链接(符号链接)
	p	有名管道
	b	块设备
	c	字符设备
	s	套接字文件
		
--文件权限:
	分为三组(u[ser]、g[roup]、o[ther])
	每三个字符代表一组
	三个权限:
		r(ead)、w(rite)、x(excu)
		
--硬链接:
	一个文件本身就是一个硬链接,一个文件可以有多个硬链接,这多个硬链接指向的都是同一个文件,
	所以当修改其中一个文件时,其他文件也被修改,删除其中一个硬链接文件不会真正的删除该文件,
	而是将其硬链接数-1,直至减为0,该文件才会被删除
	PS:
		硬链接不能跨系统--文件系统的机制
		不能为目录创建硬连接--文件系统进行管理,用户管理会乱掉
	PS:
		当创建目录时,系统会创建两个硬链接,
		其中一个为自身的硬链接		.
		另一个为上一级目录的硬链接	..  --系统递归寻找
	创建硬链接:
		ln 目标文件 新的文件名
--符号链接:(软链接)
	符号连接本身是一个文件类型,其相当于windows下的快捷方式
	创建软连接:
		ln -s 目标文件 新的文件名

2.mkdir
创建新目录
mkdir [目录名]
-p 递归创建
eg:
mkdir test01
mkdir -p 1/2/3

3.rmdir
删除空目录

4.rm
删除文件/目录
-r
递归删除(删除非空的文件夹)
-f
强制删除(没有提示语句)
-i
交互模式(有提示语句)
eg:
删除非空的文件夹:
rm -rf 1
5.touch
创建新的文件
更新已有的文件的最后访问时间
touch [文件名]
6.mv
移动文件/目录/
重命名文件/目录
mv [文件名1] [文件名2] 重命名
mv [文件名1] [路径] 移动
eg: mv 1.txt 2.txt
mv 1.txt ~
7.cp
文件/目录的拷贝
cp [文件名1] [路径+文件名2]

PS:路径不设置,缺省为当前路径
	-r 递归拷贝,用于拷贝目录
eg:
	cp 1.txt 2.txt
	cp -r test/ test1

8.cat
查看文件内容
cat [文件名]

9.more/less
分页查看文件
按[空格]进行下一页
按[b]进行上一页
more -num [文件]
-num:
一次显示num行
less 兼容了vim的一些命令,可以使用vim命令进行搜索
more/less 退出:q或者ctrl+c退出

10.head/tail
查看文件的头几行/尾几行
head [文件名]
tail [文件名]
-n
显示行数根据-n的设定值
eg:
head -n 20 /etc/passwd
tail -n 20 /etc/passwd

11.file
查看文件类型 --经常用来查看coredump文件
file [文件]
eg:file /etc/passwd

12.wc
文字统计
-c 显示文件大小
-l 显示文件行数
-w 显示单词数
13.VIM
三种模式:
命令模式、插入模式、末行模式
命令模式–(i,o,a,I,O,A)–插入模式
插入模式–(ESC)–命令模式
命令模式–(😃–末行模式
末行模式–(ESC)–命令模式

--命令模式相关的操作
	光标移动的操作:
	gg:光标移至文件头
	GG:光标移至文件尾
	nG:光标移至第n行
	$:行尾
	^:行首
	H:屏幕的首行
	L:屏幕的末尾
	M:屏幕的中部
	h:光标左移
	j:光标下移
	k:光标上移
	l:光标右移
	
	删除/剪切:
	dd:删除光标所在行
	dw:删除一个单词
	d$:从光标位置删除至行尾
	d^:从光标位置删除至行首
	ndd:删除n行
	x:删除单个字符

	复制:
	yy:复制光标所在行
	yw:复制一个单词
	y$:从光标位置复制至行尾
	y^:从光标位置复制至行首
	nyy:复制n行

	粘贴:
	p

	撤销/重做
	u: 撤销
	.: 重做

	替换:
	r:替换单个字符
	nr:替换n个字符
	~:大小写替换

--插入模式:(i,a,o,I,A,O)
	i:在光标所在位置插入
	a:在光标后插入
	o:在光标下一行插入
	I:在行首插入
	A:在行末插入
	O:在上一行插入

--末行模式:
	:q	退出
	:wq	保存并退出
	:x	同wq
	:q!	强制退出(不保存)

	末行模式中的设置操作:
	:set nu/nonu	设置/取消行号
	:set ts=4	设置tab键的缩进
	:set syntax=on/off 显示/取消关键字高亮
	:set autoindent	设置缩进
	:set mouse=a	设置鼠标有效

	编写配置文件vim ~/.vimrc
	set nu
	set autoindent
	set ts=4
	set syntax=on
	set mouse=a 
	
	使该配置文件立即生效:source .vimrc--刷到内存

	替换命令:
	:r [文件名] 在当前文件下打开[文件名]
	内容替换:
	:[startline],[endline]s/oldstring/newstring/g
	eg:
	:10,20s/sbin/haha/g 根据指定的行号局部替换
	:%s/sbin/haha/g	   全部替换
	
	打开多个文件:
	:vsp/sp [文件名]	
	eg:
	:vsp /etc/passwd
	:sp /etc/passwd
	文件之间使用ctrl+w+w进切换
	
	末行模式和插入模式都是命令模式 ,只不过相应的子模式功能比较多

14.文件权限
使用chmod命令进行文件权限的修改
chmod [选项] [文件名]
chmod进行文件权限的修改,有两种模式:
–(u、g、o、a)模式
eg:
rw-rw-r-- 1.sh
chmod u+x 1.sh
rwxrw-r-- 1.sh
chmod g-w 1.sh
rwxr–r--
chmod a=rwx 1.sh
rwxrwxrwx 1.sh

	--八进制模式
		eg:
			rw-rw-r-- 1.sh
		chmod 777 1.sh
			rwxrwxrwx 1.sh
		chmod 664 1.sh
			rw-rw-r-- 1.sh
			
8进制像IP,内核可能就是这么管理;单字母模式有点像域名

Day 03

1.find 文件查找(全盘查找)
find [目录] [option] [参数] [-exec]
-name :通过名字进行查找
-type :通过文件类型进行查找
其中f代表普通文件
-perm :通过权限进行查找
-mtime :根据最后修改时间进行搜索
-user : 根据用户进行修改

2.which 命令查找(PATH环境变量进行查找)

3.whereis 查找特定的文件(二进制文件、man手册、soucre来源文件)
whereis [文件名]
-b:二进制文件
-m:man手册
-s:查找soucre来源文件
-u:不指定文件类型
系统相关文件的查找
4.locate(从数据库进程查找)
如果想查找最新的文件,需手动使用/usr/bin/updatedb进行数据库更新

5.grep 文件内容查找
grep [选择] [参数] [路径]
-c
-h
-I
正则表达式
* – 多个任意字符
find “*.txt”
. – 所有单个字符
grep “b.”

? -- 代表任意一个字符
	find "?.txt"
	
[] -- 1个[]内指定的内容,也可以通过-指定范围
	file[1].txt
	file[1234].txt
	file[1-4].txt
	
[!] -- 1个除了[]内指定的内容
	file[!4].txt

6.重定向
输入重定向:
把标准输入的内容重定向至指定的位置:
read var < 1.txt
echo $var
输出重定向
把标准输出的内容重定向至指定的位置:
ls > result.txt
错误重定向
把本来打印至屏幕的错误信息重定向至指定的位置
find /etc -name “passwd*” 2> error.txt
/dev/null linux的黑洞文件,重定向到这里相当于永久删除
7.管道
cmd1 | cmd2
连接两个命令,第一个命令的输出当作第二个命令的输入
eg: ls -l | grep “root”

xargs的作用,(老师的写法,不太认同)将之前的输出作为一个文件进行操作 应该是,捕获一个命令的输出,配合管道传递给另外一个命令
eg: find . -name "*.txt" | xargs grep "helloworld"

8.文件打包
打包/解压(后缀为.tar)
打包:
tar -cvf test.tar ~/*
解包:
tar -xvf test.tar
解压并指定路径
tar -xvf test.tar -C ~/Desktop

	打包/解压(后缀为.tar.gz)
		打包:
			tar -zcvf test.tar.gz ~/*
		解包:
			tar -zxvf test.tar.gz  
		解压并指定路径
			tar -zxvf test.tar.gz -C ~/Desktop	
	
	打包/解压(后缀为.tar.bz2)
		打包:
			tar -jcvf test.tar.bz2 ~/*
		解包:
			tar -jxvf test.tar.bz2   
		解压并指定路径
			tar -jxvf test.tar.bz2 -C ~/Desktop
				
	打包/解压(后缀为.zip)
		打包:
			zip test.zip ~/*
		解包:
			unzip test.zip   
		解压并指定路径
			unzip test.zip -d ~/Desktop

打包:多个文件定义为一个文件; 压缩:利用算法把文件变小

9.用户管理
export PATH=$PATH:/usr/sbin
配置文件:
用户信息:
/etc/passwd
文件格式:
[用户名]:[密码代号]:[UID]:[GID]:[用户注释]:[用户家目录]:[用户的登录shell]
用户密码:
/etc/shadow
文件格式:
[用户名]:[密码]:[上次密码修改日期]:[密码不能被修改的天数]:[密码需要重新更改的日期]:…
用户组信息:
/etc/group
文件格式:
[用户组名]:[用户组密码]:[GID]:[用户组员列表]

	用户的添加及修改:
	useradd 添加用户
		指定条件添加用户:
		-c 注释信息
		-d 用户的家目录
		-g 用户组
		-G 用户的附加组
		-s 用户的登录shell
		-u 用户的uid
	对已经添加的用户的相关属性进行修改
	usermod 修改已经添加用户的属性
		-c 注释信息
		-d 用户的家目录
		-g 用户组
		-G 用户的附加组
		-s 用户的登录shell
		-u 用户的uid
	
	删除用户:
	userdel 删除用户
		-r 删除用户并删除用户的家目录
	
	passwd 创建或修改密码
		passwd [用户名] 

10.修改文件的所属
chown
eg:chown sramedu:sramedu 1.txt

11.用户切换:
– su 切换用户(不改变环境变量)
su - 切换用户(使用新用户的环境变量)

12.查看当前用户的身份
–who 查看所有的在线真实用户,所有终端
–whoami 查看当前正在使用的用户
–who am i 查看当前终端的真实用户
–id 显示当前使用用户的uid,gid以及用户所在的主组和附加组信息

13.环境变量
PATH 命令查找的路径
HOME 用户家目录
PS1 提示符
eg:PS1=’[\u@\h \w]$’
PS2 续行提示符
环境变量进行修改后,使用export立即生效
PATH=$PATH:/sbin
export PATH

  1. 相关配置文件
    /etc/profile 登录shell 全局(针对所有用户)
    /etc/bashrc 非登录shell 全局(针对所有用户)
    ~/.bash_profile 登录shell 局部(针对当前用户)
    ~/.bashrc 非登录shell 局部(针对当前用户)

    登录shell 在系统启动时加载一次
    非登陆shell 每次运行bash,都会加载该配置文件的
    
    配置文件配置之后,使用source命令使其立即生效
    source /etc/profile
    source 与.  通知当前shell执行文件里的内容  .可以加载可执行文件 source不可以
    

Day 04

1.Linux网络配置
–修改虚拟机网络配置:
–桥连接:
Linux虚拟机和windows主机分别相当于局域网内的两台主机,也就是说两个操作系统的IP地址是独立的
–NAT:网络共享,Linux虚拟机共享window主机
–host-only:仅主机模式 虚拟机仅与主机通信

	--网络相关配置:
	
	ifconfig 查看网络的配置信息(显示所有网卡的信息包括回还地址)
	ifconfig eth0 查看eth0网卡的相关信息
	
	--设置网络信息:
	
	ifconfig eth0 192.168.13.12 设置IP地址
	ifconfig eth0 dynamic 设置自动获取IP
	
	--相关配置文件:
	/etc/sysconfig/network-scripts/ifcfg-ethx(x代表从0-n个网卡)
	譬如:
	修改为手动获取IP
	#BOOTPROTO=dhcp //注释掉动态获取IP的参数
	BOOTPROTO=none //设置为手动获取IP
	IPADDR=192.168.13.12
	NETMASK=255.255.255.0
	GATEWAY=192.168.13.254 
	
	--相关命令:
	ifconfig eth0 down 暂时关闭网卡
	ifconfig eth0 up 打开网卡
	
	ifdown eth0 关闭网卡
	ifup eth0 打开网卡 //重新加载/etc/sysconfig/network-scripts/ifcfg-ethx 配置文件
	

	--设置路由信息:
	route 查询路由信息
	route -n 查询路由信息以IP形式显示
	
	--添加路由信息:
	route add -net 192.168.13.0 netmask 255.255.255.0 dev eth0
	
	--添加默认路由信息:
	route add default gw 192.168.13.254
	
	--删除路由信息:
	route del default 
    路由可以充当网关,负责根据路由表转发;网关是一个大概念,只要连接两个不同的设备都可以叫网关,路由器、交换机、主机都可以称为网关
	--ping命令
	ping IP地址 通过ping命令可以测试网络是否正常
	ICMP传输层协议和 TCP不一样
	--其他相关配置文件:
	/etc/sysconfig/network 文件
	NETWORKING=yes 开机启动网络
	
	--DNS相关配置信息
	netstat -nap | grep ’tcp' 
	查询当前正在使用tcp协议的进程及其进程ID,端口号/IP地址信息
	/etc/resolv.conf 配置首选和备用DNS 
	/etc/hosts		 静态域名映射
	/etc/host.conf   配置名字解析器
	
	--其他命令:
	
	
	--关于ftp服务:
	vsftp
	相关的配置文件:
	/etc/vsftpd/vsftpd.conf --ftp的相关配置信息
	
	service vsftpd start/stop/restart/reload 开启关闭vsftpd服务
	
	netstat -nap | grep ’ftp' 查看该服务是否开启
	
	ftp 192.168.13.12 登录ftp
	相关命令:ls
			  get/put
			  quit
			  
	对于没有自动安装的服务,需手动安装:
		1.挂载redhat....iso
		2.cd /media/R.../Server/
		3.rpm -ivh ftp..../telnet-server.....
					rpm红帽的包管理软件
	--关于telnet服务:
	配置telnet:
	/etc/xinetd.d/telnet
		disable = no 
	
	service xinetd restart/reload 
	
	telnet IP地址 
	
	--关于ssh服务:
	service sshd restart 
	
	ssh username@ipaddr 
	eg:ssh sramedu@192.168.13.12 
	
	--开机服务管理:
	chkconfig --list 查看服务的开机启动情况
	chkconfig --level 35 vsftpd on 开机级别为3,5时,开机启动vsftpd

2.启动级别:
–开机启动级别:
/etc/inittab --init 进程的配置文件

	0 -- halt 关机 
	1 -- single User Mode 单用户模式
	2 -- Multi User Mode ,Not NFS 
	3 -- Full Multi User Mode  
	4 -- Unused
	5 -- X11 带有图形界面
	6 -- Reboot 
	
	/etc/inittab 配置文件中:
	id:5:initdefault 默认的启动级别
	
	启动切换:
	init 3 
	init 0 //关机
	init 6 //重启 
	
	
	--关于启动过程中的通过/etc/inittab 文件初始化的过程解析
		init进程通过/etc/inittab进行初始化,其中执行一下操作:
		1.执行系统初始化脚本/etc/rc.d/rc.sysinit(有init进程执行的第一个脚本)
			对一些相关的硬件设施,键盘、鼠标等进程初始化
		2.执行不同运行级别的启动和停止脚本/etc/rc.d/rcX.d[KS]
			K开头的服务是关闭某个服务
			S开头的服务是开启某个服务
			rcX.d内的文件本身是符号连接,指向的/etc/rc.d/init.d的shell程序
		3.执行用户自定义引导程序/etc/rc.d/rc.local
	主要是方便管理员管理这些服务哪些用户可以调用,那种方式可以访问 是图形界面还是命令行终端

3.进程管理
–查看进程的命令:
ps 查看当前进程
ps -l 以长格式显示进程相关信息
ps u 显示当前用户所有终端进程信息
ps au 显示所有用户的所有终端进程信息
ps aux 显示所有用户的所有进程信息(包括守护进程(不带有终端显示的进程))

	pstree 查看进程树 --可以看到继承关系
	
	top 指令 定时刷新 
	
	--杀死进程的命令
	kill 命令
	kill pid 
	kill -9 pid 强力杀死进程
	pkill 进程名
	
	--作业控制 --后台的进程,不占用终端的标准输入、输出
	jobs 查看当前正在后台运行的作业
	
	使程序后台运行
	./a.out & 
	
	后台作业移到前台
	fg %[作业id]
	其中:作业id通过jobs查询
	
	前台作业放置后台运行
	ctrl+z 挂起前台作业
	bg %[作业id] 
	
	相关的进程操作的快捷方式:
	ctrl+c 结束进程
	ctrl+z 挂起进程
	ctrl+\ 退出进程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值