IT猪的Linux3
1.Linux的打包与压缩
2.linux的帮助命令
3.linux的群组管理
4.linux的关机命令
5.linux进程相关的命令
6.linux系统管理常用的命令
7.挂载
8.linux的安装包管理
9.linux环境搭建
10.linuxshell介绍
一:打包与压缩:
不管是在windows还是在linux中打包的目的都是为了方便归档管理,压缩的目的都是为了减少磁盘空间占用。
压缩:在linux中解压时必须知道压缩工具,这样才能用相应的工具去解压。(心病还须心药医,解铃还须系铃人。)
1. bzip2:既是linux的一个压缩工具也是压缩时的命令。 后缀:.bz2
语法:bzip2 [-option] 文件名
-z:压缩
-d:解压
-k:压缩后保留源文件
no news is good news!
疑问:为什么有的人压缩后文件反而变大?
压缩肯定可以让文件变小,但是压缩工具本身也占用空间,如果压缩工具占用的空间大于变小的空间则显示最终变大。
2. gzip:既是一个压缩工具也是压缩时的命令。后缀.gz
语法:gzip [-option] 文件名
-d:解压
-数字:压缩并制定压缩率(1为最低,9为最高,默认为6)
压缩率越高,耗时越长,压缩后越小。
gzip是linux默认的压缩格式。
3. zip:既是一个压缩工具也是压缩时的命令。后缀.zip
zip可以将一个或者多个文件nan压缩为一个压缩ll包
语法:zip 压缩包 压缩文件列表
zip不使用参数来解压,使用unzip
打包:
4.tar:既是一个打包工具也是打包时的命令。 后缀.tar
语法 :tar [-option] 包名 需要打包的文件
-c:建立一个包
-t:查看包中文件
-v:打包过程中显示打包文件
-f:需要打包的内容为文件
-x:解包
-z:打包或者解包的同时启用gzip工具进行压缩或者解压
tar -cvf 打包
tar -xvf 解包
最好在打包时手动加上后缀.tar
最终组合:
tar -zcvf 打包同时压缩
tar -zxvf 解包同时解压
最好在打包时手动加上后缀.tar.gz
解压到其他目录:tar -zxvf 包 -C 路径
二:linux的帮助命令:
man:语法:man 命令 (没有内外之分)
help:语法:命令 --help (没有内外之分) / help 命令 (主要用于内部命令,例如help ls 无法查看)
info:语法:info 命令(它得到的信息比man还多:来自GNU项目,info显示的更完整)
内部命令:(cd exit history)
内部命令实际上是shell的一部分,这些命令都是写在bash中,通常系统在系统时就被加载到内存中,属于常驻内存。因此其效率高。
外部命令:(ls vi)
外部命令是linux系统中实用程序的一部分,用户需要时才从硬盘中调入内存。通常放在/bin /usr/bin /sbin。因此效率低。
实用type可以判断该命令属于内部命令还是外部命令
笔试题:什么命令没有专门的存储位置?A 内部命令 B外部命令 A
三:linux的用户和群组管理:
(groupadd/groupdel/useradd/userdel/usermod)
1. 在linux中有三个非常重要的文件:
1> /etc/passwd------------------用户信息
2> /etc/shadow------------------用户密码
3>/etc/group--------------------群组信息
2./etc/passwd的内容:每一行代表一个账号。每一行由七部分组成:
1>账号名称:
2>密码:
3>UID:用户识别码
4>GID:群组识别码
5>用户名全称:没有实际意义仅仅是提醒信息。
6>属主目录:
7>shell:shell其实就是人机交互的界面。(脚本语言)
linux对UID与GID的限制如下:
1.root用户的UID是0,root群组的GID是0。
2.系统预留1--499供内部使用。
3.500---65535 供普通用户使用。
因为一个网卡最多能分配2^16个网络地址。
3.五个相关命令:
1>groupadd:用于新增群组:
语法:groupadd [-option] 群组名
-g GID:设定群组的GID。(如果不设定则系统按照顺序依次排)
GID:最好选择在500---65536之间并且不能喝其他的GID重复。
疑问:当建立了CCTV的群组 系统会不会自动建立CCTV用户。
2>groupdel:用于删除已经存在的群组
语法:groupdel 群组名
注意事项:如果群组中有其他的用户需要先移除或者删除用户才能删除群组。
3>useradd:用于创建新的用户
语法:useradd [-option] 用户名
-u UID:设定用户的UID。(如果不设定则系统按照顺序依次排)
-g GID或群组名:指定新增用户的所在群组。(如果不指定则系统会自动以该用户名新建一个群组并把该用户放入该群组)
疑问:如果新增用户时指定了其他的群组,会不会再以该用户名建立群组呢?没有。
-M:不建立“家”目录。
4>userdel:用于删除用户。
语法:userdel [-option] 用户名
-r:将该账号的家目录和邮件文件一并删除。(好比是写在软件是不保留个人的信息)
注意事项:
1>如果该用户刚刚登陆过则无法直接删除。
2>如果以该用户名命名的群组中有其他用户需要先删除或者移除其他用户才能删除该用户。
5>usermod:用于修改用户的UID和所属的群组。(无法修改GID)
语法:usermod [-option] 用户名
-u UID:修改用户的UID
-g GID或群组名:修改用户所属的群组。(无法修改群组本身的GID)
疑问:刚才使用usermod -g 改变了用户的群组之后该用户是不是还属于之前的群组呢?不属于。
-G GID或群组名:用于添加附加群组。(如果同时要附加多个群组则需要群组之间用逗号隔开)
6>id 用于显示用户的UID和所属的群组
语法:id 用户名
7>groups 用于显示用户所属的群组
语法:groups 用户名
8>passwd 用于设置密码(超级管理员可以给自己和其他的用户设置密码,普通用户只能给自己修改密码并且密码不能基于单词)
语法:passwd 用户名
9>su - 用户名 用于切换用户
-:表示完整的切换到另一个用户环境
四:linux的关机和重启:
shutdown:用于关机。
语法:shutdown [-option]
-h 时间:定时关机(具体时间或者几分钟后)
-r 时间:定时重启(具体时间或者几分钟后)
如何做到定时关机或者重启,但是同时又能操作linux?& / fg /ctrl+c
shutdown -h now=========init 0===========halt
shutdown -r now========init 6============reboot
其实不管是init 6 还是init 0 都是调用的shutdown
windows:shutdown -s -t 秒钟 shutdown /a
五:进程相关命令:
进程process:进程就是执行起来的程序。
进程就是计算机中的程序关于某数据集合的依次运行活动。
进程是系统进行资源调度和分配的基本单位,进程是操作系统结构的基础。
程序 VS 进程:
程序是静态的而进程是动态的,程序只占用磁盘空间而进程占用cpu和内存资源。
进程就是执行起来的程序。好比是:水与冰的关系:冰就是睡着了的水。
1.ctrl+c:终止某个工作
ctrl+z:暂停某个工作
2.fg:用于将后台的任务推到前台来。
语法:fg %number
%number:任务编号
3.jobs:用于查看后台的任务
语法:jobs
+:即将被fg操作的对象。
-:即将被fg操作的下一个对象。
4.ps:用于显示系统当前的进程
语法:ps [-option]
-a:所有进程
-u:显示用户
-x:列出所有的tty进程
-e:所有进程,与a略有区别,在此不做具体区分。
-f:完整的进程信息
ps -aux
ps -ef|grep
PID:进程号
PPID:父进程号
面试真题:linux如何查看进程?linux如何只查看某一个文件的进程?
5.kill:用于停止或者杀死进程,可以通过PID号或者任务编号来指定操作对象。
语法:kill [-option] PID或任务编号
kill
-9:强制终止
6.与进程相关的其他命令:top、at、batch
六:linux系统管理员常用的命令:
1.df:查看磁盘空间的使用情况:
语法:df [-option]
-k:kb
-m:mb
-h:人类易于阅读的方式
2.du:查看指定目录所占磁盘空间大小
语法:df [-option] 目录名称
-k:kb
-m:mb
-h:人类易于阅读的方式
3.free:查看内存使用情况
语法:free [-option]
-k:
-m:
-t:total总计
使用free查看内存时,真正使用的内存要看第二行。因为系统在启动时已经划分了很大一部分给缓存。
缓存(cache):指的是可以进行高速数据交换的存储器,它先于内存与cpu交换数据,因此速率很快,如果不适用的话缓存就空闲。
4.fdisk:用于显示分区或者进行分区
语法:fdisk [-option]
-l:显示分区
查看处的21.5G就是20G:半斤八两
255heads:磁面
63:扇区
2610:磁柱的个数
8225280:单个磁柱的容量
磁柱是硬盘存储中的最小单位。
5.ifconfig: 用于查看和设置IP地址
设置网卡:ifconfig 网卡命令 ip地址
6.ping:用于测试目标与主机的连接状况:
语法:ping ip [-option]
-c 数字:指定测试多少次
能ping通不一定能上网,能上网一定能ping通。
7.netstat:用于显示网络状况 (常常用于查看端口信息):netstat -an
端口:端口类似于门牌号。
8.w/vmstat/top
w:用于查看系统当前负载:(整体负载)
语法:w
平均负载:
vmstat:用于监控当前的系统状态(具体的负载)
语法:vmstat
top:用于动态监控系统所占的资源,每3s变一次。
q:退出
shift+<:shift+> 翻页
七:linux的安全策略和防火墙:
1.linux的安全策略是selinux。selinux比较复杂一般都不适用。
selinux是一个内核级的安全机制。
centos的selinux文件存放在/etc/sysconfig目录下:
selinux有三种模式:enforcing、permissive、disabled
enforcing:强制模式,只要违反安全策略,行动就会被禁止,并且记录在内核信息中。
permissive:允许模式:违反了安全策略,行动不会被禁止,但是会警告。
disabled:安全策略禁用模式,不启用安全策略。
如何更改selinux的安全模式:
/etc/sysconfig/selinux=
ps -Z 查看selinux的信息
2.防火墙:
linux的防火墙是iptables
防火墙有两种:物理防火墙和软件防火墙。(网络层防火墙和包过滤防火墙) 绿坝