Linux只有一个根目录,所有的文件都在根目录下。
问题:我们发现Linux的根目录下有很多预定义好的文件夹。我们是否需要知道它们分别代表的含义吗?
答:Linux的磁盘管理理念与Windows不一样。Linux系统已经规范好了所有文件存储的目录,我们需要按照它规范好的目录来存放文件。所以我们必须要按照目录来存储我们的文件,所以我们必须要知道这些文件夹分别代表什么含义才可以按规范存放我需要存放的文件以及文件夹。
目录说明
目录名 |
说明 |
/ |
文件系统的根目录,所有的文件都放在根目录下 |
bin |
存放所有系统用户都可以使用的命令程序 |
boot |
存放系统的启动文件 |
dev |
存放系统驱动信息的 (device) |
etc |
存放所有系统配置文件 (系统配置) |
home |
存放普通用户的主目录(个人文件夹). |
lib |
存放Linux系统的支持类库 |
lost+found |
在系统出现突发关机的时,Linux会尽可能的保存当前没有保存信息. 可以在开机的时候恢复 |
media |
光驱的挂在区. 会显示光盘的文件. |
misc |
自动挂载区, 插入U盘.显示U盘的文件 |
mnt |
手工挂载区,通过mount命令,手工将usb外设的数据挂载到这个文件夹 |
net |
存储网络设备信息. |
opt |
存放大型安装软件,是一个软件安装目录 |
proc |
内存映射文件夹,将内存运行时的信息映射到这里. 系统关闭,就会清空 |
root |
root管理员的主目录(个人文件夹) |
sbin |
super bin,只有root管理员可以使用的命令 |
selinux |
是一个系统安全加密软件 |
srv |
service,存放系统服务信息 |
sys |
system,存放系统支撑的文件 |
tmp |
存放临时文件, |
usr |
存放用户安装的软件 |
var |
存放系统的日志 |
问题:/opt是安装软件的,/usr也是安装软件,那么软件安装在哪里呢?
答:没有统一标准,安装的软件随便在/opt或/usr都可以。注意/usr是普通用户可以写入,/opt默认普通用户是不能写入。
Linux系统的启动流程:
如图所示,Linux启动后首先加载引导程序来加载硬件设备,所以先读取引导程序的配置文件grub.conf。然后读取系统配置文件,从initab(启动模式配置文件)开始加载,然后加载init.d(系统服务配置文件)目录下的文件,然后加载rc.local配置文件,这个配置文件在用户没有登录之前就加载的。在用户登录后,系统会加载全局配置文件profile,然后再加载当前用户的环境配置文件.bash_profile
grub.conf配置文件的作用:用于配置引导程序的配置参数
inittab配置文件的作用:用于配置登录模式
init.d/下的服务启动文件作用:用于启动系统服务
rc.load配置文件作用:用于配置一些还没有登录就需要加载的程序
profile配置文件的作用:用于配置全局环境变量
.bash_profile配置文件的作用:用于配置当前用户的用户环境变量
Linux命令
命令格式
基础格式: <命令> [-选项...] [参数...]
注意事项:所有的参数、选项之间使用空格分隔的。
pwd
cd /etc
cp -v 1.txt /root/2.txt
系统命令
所谓的系统命令,就是一些常见的系统管理命令。
如:查看IP(ifconfig)、
查看内存(free -m)、
查看磁盘(df)
-h :用于友善的输出(输出的结果有单位)如:df -h
、
查看进程(top)(ps aux|grep 文件名)(相当于windows的任务管理器)
删除进程(kill -9 进程号)
使用top命令查看进程(ctrl+z 退出)
mem(内存) total表示总容量,used表示已经使用的内存,free表示空闲内存
Swap(交换区)total表示总容量,used表示已经使用的交换区,free表示空闲的
、
服务管理(service <服务名> start|stop|restart|status)(如:service network restart[重启网络])
注意:
1、服务名可以在/etc/init.d里面查看,该文件夹里面的文件名就是服务名
2、服务的动作如果不能确定,可以查看服务文件的脚本程序分析
、
清屏(clear)、
网络测试(ping IP/域名)如:ping baidu.com
注意事项:退出ping,使用快捷键 Ctrl+Z
等等。
重启命令
reboot 或者 init 6 或者 shutdown -r now
关机命令
init 0 或者 shutdown -h now
文件命令
文件命令包括文件以及文件夹的管理的相关命令。
目录的查看、进入、创建、删除
文件的创建、删除、查看、编辑、复制、剪切、压缩与解压
查看目录(ls)
命令格式: ls [-选项] [目录] (如:ls -a hello/)
常见选项说明:
-l 使用列表的方式查看
-F 按格式输出
-a 查看所有的文件,包括隐藏文件
--help 查看命令的说明
进入目录命令cd
cd / 去到根目录
cd ~ 去到当前用户的主目录
cd .. 去到上一级目录
cd 路径目录 去到指定的目录
创建目录mkdir
命令格式:mkdir [-p] 目录名 如:mkdir aaa
-p:表示同时创建多级目录 如:mkdir -p aaa/bbb
删除目录rmdir 如:rmdir abc
注意事项:rmdir无法删除非空的目录。空的或者非空的目录可以使用rm命令删除
删除命令rm
格式:rm [-rvf] <文件名|目录名|通配符>
选项说明:
-r 表示递归删除,删除目录必须要加上
-v 表示有回显
-f 强制
--删除非空的目录 如:rm -rvf aaa
--通配符删除指定的范围 如:rm -rvf *.txt
创建普通文件
--通过touch命令创建
--通过管道符> 创建
--通过管道符>> 创建
>管道符 如:ls >2.txt
使用格式: [命令回显] > 文件名
>管道符:将结果输出到指定的文件
注意事项:>管道符会覆盖原来的文件的数据
>>管道符 如:ls >>2.txt
使用格式: [命令回显] >> 文件名
>>管道符:将结果追加到指定的文件
注意事项:>>管道符不会覆盖原来的文件的数据
|管道符 如: cat 1.txt |less
less :把大型txt类文件分页
使用格式: [命令回显] | 有输入命令
}|管道符:将第一次执行的命令的结果交个第二命令处理
查看文件使用
--使用cat查看
注意:退出分页查看,使用快捷键Ctrl+Z(cat 1.txt |less )
--使用tail实时输出查看(tail -f 1.txt)(用于实时输出日志)
-f 表示实时输出
文件编辑
使用vi编辑器。
使用命令:vi <文件名> 如:vi 1.txt
vi编辑器,分为命令模式和插入模式。
在命令模式下,进入插入模式,按i键
在插入模式下,键入命令模式,按ESC键
保存退出:在命令模式下,键入:wq
退出不保存:在命令模式下,键入:q!
显示行号:在命令模式键入,键入:set nu
复制一行数据,并且粘贴到下一行,在命令模式下,按yy(复制),然后按p(粘贴)
删除光标所在的行记录,在命令模式下按dd
复制cp(copy)
格式:cp [-rfv] 源文件|源目录 目标文件|目标目录 如:cp -rvf aaa/ ~/bbb
选项说明:
-r :递归复制(如过是目录,必须要有这个)
-f : 强制
-v : 回显
注意事项:
1、如果复制的是目录,而目标目录不存在,表示将源目录复制到目标路径,并且将源目录改名为不存在的目标目录
2、如果复制的是文件,而又指定了目标文件名,表示将源文件复制到目标路径,并且将文件改名
移动mv(Move)
Linux的mv命令,就是剪切的功能。
注意事项:移动目录没有r选项
-v : 回显
--将文件或者目录移动到指定的路径 如: mv -v bbb aaa/
压缩与解压(tar)
命令格式:tar -czxvCf 包名 源文件|源目录
如:打包压缩:tar -czvf aaa.tar.gz aaa/
选项说明:
-c :打包
-z :增加压缩功能。调用了gzip软件压缩
-x :解压(不能和-c同时出现)
-v :回显(打包或者解压过程信息)
-f <包名>:指定压缩或者解压的包名
-C :指定解压的路径
打包命令格式:tar -cvf <自定包名.tar> 源目录|源文件
--发现:打包后,包比原来的目录还大
打包并且压缩命令格式:tar -czvf <自定包名.tar.gz> 源目录|源文件
发现:加了-z参数后,打的包是压缩包了。比原来的目录小很多
解包命令格式:tar -xvf <包名.tar> 源目录|源文件 [-C 指定解包路径]
解包命令格式:tar -xzvf <压缩包名.tar.gz> 源目录|源文件 [-C 指定解包路径]
如: tar -zxvf aaa.tar.gz (解压到当前目录) tar -zxvf aaa.tar.gz -C /root(解压到指定目录)
权限命令
Linux系统是一个支持权限控制的操作系统。Linux通过组的方式管理系统用户。
所以,我们需要学会下管理命令
1、组的管理:创建组、删除组、查看组信息
2、用户的管理:创建用户、删除用户、查看用户、切换用户、修改密码
3、权限控制:当前用户授权、当前组授权、其他用户授权、所有用户授权
组管理
查看组信息
Linux操作系统的组信息放在/etc/group文件里面
所以使用命令cat /etc/group就可以查看
创建组:groupadd 《组名》
删除组:groupdel 《删除组》
用户管理
查看用户
通过命令cat /etc/passwd可以查看系统用户信息
创建用户
创建用户格式:useradd -g <指定组名> <用户名>
修改密码
命令格式:passwd [用户名]
注意:如果不指定用户,修改当前用户密码。中断修改使用快捷键Ctrl+C
切换用户
命令使用: su - 用户名
注意事项:root用户切换成普通用户,不需要密码,而普通切换成root需要密码
选项 - 的理解,如果加 - 选项,表示切换用户的时候,环境变量也一起切换,如果不加 - 选项,仅仅只是切换用户,但是当前用户的环境变量不切换。
注意:可以确定绝大部分情况,切换用户就是同时将用户的环境变量一起切换的,所以基本以后我们都加上 - 选项的。
删除用户
注意事项:
1、如果用户登录了,就无法删除,注销该用户再删除。
2、删除用户后,手工清除/home下面的用户对应的主目录
权限控制
注意事项:Linux系统Root用户是为所欲为。权限控制只针对普通用户,对root用户无效。root用户可以修改任何人设置的权限,注意只有root用户设置的权限它本用户有效。其他用户设置的权限对它是无效的。
在理解授权之前,我们先要看懂ll命令的列表
-rw-r--r--
[-]类型 -表示是文件 d表示目录 l表示连接(快捷方式)
第一组权限[rw] :表示是所属用户的权限
第二组权限[r] : 表示所属用户所在组的权限
第三组权限[r] : 表示其他用户的权限,非同用户的权限。
第一个root:表示文件的所属用户
第二个root:表示所属用户所在的组
权限说明
r :read 读
w :writer 写
x : execute 执行
- : 无权限
--方案1:通过字母授权(如上图)
授权命令格式:chmod [a|g|u|o+r|w|x] 文件|目录
撤权命令格式:chmod [a|g|u|o-r|w|x] 文件|目录
选项说明
a:all 给所有用户授权或者撤权
u:user 给所属用户授权或者撤权
g:group 给所属用户同组用户授权或者撤权
o:other给非所属用户的本组用户授权或者撤权
r :read 读
w :writer 写
x : execute 执行
--方案2:通过数字授权
1:执行
2:可写
4:可读
chmod 777 文件名|目录名
第一个7:表示是对所属用户的授权
第二个7:表示对所属用户同组用户的授权
第三个7:表示非同组用户的授权