目录
操作系统的初步使用
在接触一个操作系统时,我们首先需要了解的就是他的硬盘大小,CPU型号等接下来就给大家介绍一下如何通过命令查看这些信息。
Admin代表当前登录用户名称
localhost代表主机名称
~代表当前所在路径(家目录)
$身份为普通用户
#代表用户身份为超级管理员
先了解当前系统的信息:fdisk -l
当前操作系统硬盘大小
/dev/sda 操作系统中第一块硬盘的名称以及路径
linux操作系统中一切皆文件(文件名) sd(硬盘类型) a(第一块)
内存大小 cat /proc/meminfo
CPU型号
Cat /proc/cpuinfo
关机和重启的命令
Reboot(重启)
Poweroff(关机)
目录结构
linux操作系统是树状结构
目录==文件夹
/ 操作系统的根目录(起始路径根路径)
cd change directory ..返回上一级目录
pwd 列出当前的工作目录
ls 列出当前目录中的内容
/bin ----普通用户和管理员都可以执行的命令字 cat
/sbin --只有管理员才能执行的命令 关机重启
/boot --引导 主引导目录 独立的分区 启动菜单 内核
/dev --- device设备 设备文件存放目录
/etc --- 配置文件存放目录
/home --- 普通用户的家目录
/root ---管理员的家目录
/media --- 光驱的挂载目录
/mnt---临时的挂载目录
/proc---里面的数据都在内存中,进程所在的目录【不会占用硬盘的空间只会占用内存的空间】//内存和硬盘的区别就是比作吃东西,内存就是你手里能拿下多少,硬盘就是你口袋里能装下多少
/tmp---临时文件存放目录
/usr---第三方软件的安装目录
/var---常变文件存放目录 日志文件 邮件文件
快捷键的应用
安装vmwaretools能够实现虚拟机和真实机之间的文件复制
点击虚拟机,可以看到有安装vmwaretool的选项,点击安装即可。
Tab键--补齐文件名,命令字
Ctrl+l --清除屏幕内容
Ctrl+c -- 终止命令
Linux 系统中如何分辨文件类型
蓝色--目录
黑色--普通文件
浅蓝色--符号链接(快捷方式)
黑底黄字--设备文件 硬盘//sda
绿色--带有执行权限的文件
红色--压缩包
紫色--图片,模块文件
增删改查命令
查询:查看目录下有哪些内容(ls),查看文件中的内容(cat)
增(创建):创建文件:touch 文件名
Echo “hello”>文件【往文件中写入内容】
创建目录:mkdir 目录名 make directory
改:剪切和复制
mv(move) 文件 剪切到的地方
mv 改名字 原名字 新名字
cp 拷贝文件
符号链接 ln -s 绝对路径源文件 建立的链接文件 名字
删除 rm (remove)移除
rm -f 文件名//强制删除
Rm -rf/fr(r和f没有顺序)//删除目录
命令字的帮助信息查询
Ls -l
linux命令字格式
命令字【选项】 文件或者目录
ls还有哪些选项
- 如何查看一个命令字的帮助手册
Man ls
-a显示隐藏文件
-l显示文件的详细信息
-lh显示文件的大小
-R
Man cd
内部命令 命令解释器自带的命令 help cd
外部命令 安装的第三方软件带的命令字 基本都有帮助手册
压缩和解压缩
/tmp 目录中建立一个大小为100M的文件
dd if=/dev/zero of=/tmp/bigfile bs=1M count=100
If inputfile
Of outputfile
Bs 单位
Count 计数器
查看文件的大小
Gzip --文件名 压缩文件
File bigfile.gz
Ls -lh bigfile.gz
Gunzip 压缩包
Bzip2
Bunzip2
Du -sh目录//查看目录大小
如何对目录进行打包压缩
Tar -cf /tmp/allfile.tar /tmp/allfile
【打包时生成一个文件,对原文件不会产生影响】
Tar -tvf allfile.tar【在不打开包的情况下,查看内容】
打包之后就可以用gzip和bzip2进行压缩
解压缩:分两步,先解压gz 在解压tar
Tar -xf allfile.tar -C /root
Tar -z【j】cf /tmp/allfie.tar.gz【打包压缩之后的名字】 allfile
Tar -z【j】xf allfile.tar.gz -C/root //解压
【两步一起进行】 /C指定解压路径
vi编辑器【升级版vim编辑器】
在/tmp目录中建立一个名为test.txt的文件并写入“hello”
分这三种工作模式:
命令模式:不能输入内容【输入i切换到输入模式】
输入模式:【ESC进入命令模式】
末行模式:【:进入末行模式】wq//【w -- write q--quit】保存并退出
q!不保存退出
Set nu 显示行号
% s/old/new/g 每一行中old都被替换成new
在末行模式之下,输入一条命令执行后,直接再按一下enter准备输入下一条要执行的命令。
命令模式有非常多的快速编辑快捷键
在命令模式下,输入2yy就把光标所行以及下一行,在要粘贴的地方输入p
【注意:整个过程可能没有显示你输入的命令,粘贴完成就能看到效果】
dd 删除当前行
gg光标回到第一行
G光标回到最后一行
50G光标回到50行
在末行模式下输入50,55d即可删除50~55行的内容
linux操作系统软件安装
软件的分类
源码包:
GUN社区 特点:1.压缩包的形式提供给用户
- 开源【源代码公开,不收费用】可以对代码进行二次编辑
安装的注意事项:1.解压包
2.进入解压路径了解软件的作用以及安装方法
3.通过配置脚本指定安装路径和功能,并且生成makefile编译脚本文件
./configure --prefix=/usr/local/webserver
4.通过make命令控制makefile文件进行顺序编译。
5.将编译好的文件拷贝到安装路径下 make install
编译 printf(“hello”);编译出来可执行文件,运行这个可执行文件。【linux unix本身也是用C语言开发的,C语言必不可少需要的编译】可以指定安装的路径以及编译所需要的功能。
封装后的软件包
安装便捷,根据后缀选择不同的种类
特点后缀 rpm:red hat package manager deb:Debian
源码包:可以不考虑系统的版本问题
centos是red hat操作系统的克隆版
Centos 安装系统的时候装过
进入之后,如上图所示。
管道符:| 前一条命令的输出结果作为后一条命令的参数
针对tree-1.6.0-10.el7.x86_64.rpm安装的注意事项
- 确认有没有装过 rpm -qa 列出所有安装过的rpm软件包
- 确认该软件的作用 rpm -qpi +名字//显示软件详细信息
3.确认该软件的安装路径
rpm -qpl tree-1.6.0-10.el7.x86_64.rpm
4.安装软件【封装后的软件包,安装路径是固定的】
rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
5.使用软件
6.卸载软件
rpm -e tree ;然后用使用命令查一下是否卸载成功
卸载vim编辑器时我们需要根据依赖关系表一步一步卸载
安装时也需要依据依赖关系列表
光盘中有依赖关系表
这个时候就需要yum源
yum源
根据光盘中的依赖关系列表进行软件的安装卸载(yum源)
- 要告诉操作系统依赖关系列表的位置
[dvdrom] //标签
name="yum dvd rom"//描述
baseurl=file:/run/media/admin/CentOS\ 7\ x86_64///依赖关系列表位置
gpgcheck=0//是否做密钥对验证
2.通过yum工具进行软件卸载与安装
安装
安装完成
linux操作系统中的用户分类
Lyf 普通用户:比管理员低,也可以登录操作系统
Root 超级管理员
切换用户命令
查看文件--权限不够
exit退出用户
用户的分类和组
/etc/passwd --保存了操作系统中所有用户的信息
root:x:0:0:root:/root:/bin/bash
字段一:用户名
字段二:密码占位符x
字段三:用户的uid 0【超级用户】 500~60000普通用户,1~499程序用户
字段四:基本组的gid 先有组才有用户
字段五:用户信息记录字段
字段六:用户的家目录
字段七:用户登录系统后使用的命令解释器
/etc/shadow 保存了用户的密码信息
字段一:用户名
字段二:密码【SHA加密,加密出来的密文永远是一样的 混合sout值】
字段三:距离1970年1月1日【unix操作系统诞生的时间】,密码最近一次的修改时间
字段四:密码的最短有效期 3【用户三天内不可以修改密码,0不限制】
字段五:密码的最长有效期【90】
字段六:密码过期前七天警告
字段七:密码的不活跃期
字段八:用户的失效时间
/etc/group 记录了系统中所有组信息
创建用户组以及用户
- 创建一个名为class1的组组id为1000,class2的组id为2000
- 建立tom用户要求其基本组是class1组,附加组为class2组,tom用户的uid为600
- 建立一个程序用户uid为250用户名为testuser没有家目录
- 为tom用户设定密码为123,并设定密码最长有效期为90天,将用户密码进行锁定使其无法登录系统。
- 删除tom用户和testuser用户,删除class1和2组。
命令groupadd class1 创建一个用户组。
然后查看创建是否成功:cat /etc/group
输入命令:groupmod -g 2000 class1修改组id
输入命令:groupadd -g 2100 class2创建class2用户组
输入命令:useradd -g class1 tom
用命令:id tom查看tom用户的基本信息【如上图所示】
输入命令:usermod -G class2 -u 600 tom//-G是附加组信息,-u是用户id
建立组的话最后是组的名,建立用户的话最后是用户的名。
命令说明:没有家目录:-M;程序用户:不能登录系统:-s /sbin/nologin
Su - testuser 验证不能登录
命令:passwd tom修改密码
输入命令:cat /etc/shadow查看用户密码是否更改成功。
修改密码的最长有效期:chage -M 90 tom
查看密码的信息:passwd -S tom
锁定用户密码,使其不能登入系统:passwd -l tom,如上图所示。
使用passwd -u tom对其进行解锁。
删除用户:userdel -r testuser
删除用户组:groupdel class1
权限:
文件或者目录属于谁,属于哪个组,不同用户能够对该文件进行何种操作
使用命令查看权限:文件权限:ls -l test.txt
-rw-r--r--. 1 root (所属者)root(所属组) test.txt
- rw- r-- r-- .
D rwx r-x r-x. 2 root root 6 4月 29 14:38 testdir
字段一:文件类型 ;-普通文件 d目录 l符号链接 b块设备
字段二:文件所属者对该文件的权限
R w x
文件:read取文件 写入文件 可执行权限
目录:可以查看 可以添加删除文件 可以进入目录
字段三:文件所属组的权限
字段四:其他用户的权限
使用命令查看目录权限:ls -ld testdir【如上图所示】
我们创建一个用户ben,它对于test.txt文件属于其他用户,所以我们可以查看内容但是不能修改内容。
首先切换到用户ben下:su - ben,然后用命令:cat /tmp/test.txt
发现可以查看,输入命令echo “xxx”> /tmp/test.txt
发现权限不够,不能输入内容;命令exit登出用户
赋权命令:chmod 对象 算术运算符 权限 文件
用户:u(所属者) g(所属组) o(其它权限) a(所有权限)
算术运算符:- + =
权限:r w x
输入命令:chmod o-r /tmp/test.txt
改变文件的所属者为ben,所属组改为ben组
输入命令:chown ben /tmp/test.txt
Chgrp ben /tmp/test.txt
我们验证一下,如上图所示。权限修改成功。
Chmod 764 test.txt
Rwxrw-r--
0 000 ---
1 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx
1755://1表示粘滞位
2755://2表示sgid
4755://4表示suid
粘滞位 sgid suid 权限
粘滞位针对目录进行赋权,目录中创建文件只有建立者可以删除。
命令:chmod o+t test创建粘滞位
我们在test中创建粘滞位后,利用ben身份创建一个文件test.txt,然后退出ben,切换jetty用户,我们试着删除,发现不能删掉(如上图)
sgid针对目录建立的权限:在该目录中建立的文件,所属组继承父目录的属组
Suid 为可执行文件建立。
谁运行该文件,具有该文件所属者的权限。
Chmod o-t,g-s test撤销权限。
- 不再允许添加新用户的请求 /etc/group /etc/passwd /etc/shadow 【不允许再变动】 /home/xxx
Chattr + i
- rwxr-xr-x 755
普通用户和管理员建立文件的时候默认权限是不同的。
umask不同
目录的最高权限:0777 --0022=0755
文件的最高权限:0666 --0002=0644
027
/etc/profile /etc/bashrc
可以修改新建用户默认密码最长有效期