Linux实操篇

与世无争的帅哥 提交于 2020-01-31 11:12:03

组管理和权限管理

ls -ahl :查看文件所有者
groupadd 组名 :创建组
useradd 用户名:创建用户
passwd 用户名: 设置用户
useradd -g 组名 用户名 : 指定用户在那个组
在这里插入图片描述
在这里插入图片描述
查看文件所有者
在这里插入图片描述
改变文件所有者
举例 :使用root账号创建a.txt,那么a.txt必然属于root者,在使用chown修改用户文件的所有者
格式: chown 用户名 需要修改文件的所有者
在这里插入图片描述

在这里插入图片描述

改变用户组
举例:使用root用户创建b.txt ,那么b.txt自然会在root组,在使用chgrp来修改所在组。
格式 :chgrp 需要修改到哪个组 需要修改组的具体文件
在这里插入图片描述
改变用户的所在组
举例 :tom本身所在组为 zu2,在创建一个zu3 ,吧tom修改到zu3这个组中 (必须在root 用户下进行修改)
格式 :usermod -g 想修改到哪个组 要修改到这个组的用户
在这里插入图片描述
登录tom用户 ,尝试修改组 (从zu3 修改到 zu2) 权限不够 ,不是root用户

其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

权限管理

在这里插入图片描述
最开头(-):代表文件类型 (- :普通文件 ,d :目录 ,l:软连接 ,c:字符设备 比如鼠标键盘 ,b :块文件,硬盘 )

(rw):r 是读,w是写,rw就是可以进行读写操作 (- 代表没有权限)

(r–):表明所在组的用户权限 (r-- 只能读权限)
(后面r–):表示文件其他组的用户权限(r-- 只能读权限)
(1) : 如果是文件表示硬连接的数,如果是目录表示该目录下的子目录有多少个
(tom):表示文件的所有者
(zu2) :表示文件所在组
(0): 文件大小(字节单位) ,如果是目录会显示 4096
(1 月 27 21:56):代表文件最后修改时间
(tom.txt):表示文件名

rwx权限解释

rwx作用到文件
[r] :代表可读(read):可以读取,查看
[w]:代表可写(write);可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[x]:代表可执行(execute):可以被执行

rwx作用到目录
[r]:代表可读(read):可以读取,ls查看 目录内容
[w]:代表可写(write):可以修改目录内创建+删除+重命名目录
[x]:代表可执行(execute);可以进入该目录

修改权限 chomd:修改文件或者目录的权限
+、-、=变更权限
字母变更 :u:所有者 ,g:所有组 , o:其他人 ,a:所有人(u、 g、o的总和)

举例 給abe文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

在这里插入图片描述

给abe文件的所有者除去执行的权限,增加组写的权限
在这里插入图片描述
数子变跟:r=4 w=2 x=1 rwx=4+2+1=7

修改文件所有者 chown
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组

-R 如果是目录则使其下所有子文件或目录递归生效

crontab 定时调度
定时调度 :是指系统在某个时间执行的特定的命令或程序。
格式 :crontab [ 选项 ]
选项 : -e :编辑crontab 定时任务 , -l 查询crontab 的定时任务,-r :删除当前用户所有的crontab 任务

sudo service cron restart 重启任务调度
sudo service cron start 开启任务调度
sudo service cron stop 结束任务调度

举例 :*/1 * * * * ls -l /etc >> /tmp/to.txt 把/etc的文件列表追加到to.txt文件,每分钟执行一次

第一个*     一小时当中的第几分钟    0-59
第二个*     一天当中的第几小时    0-23
第三个*    一个月当中的第几天    1-31
第四个*    一年当中的第几月    1-12
第五个*    一周当中的星期几    0-7 (0和7都代表星期日)

特殊符号
“ * ”:任何时间
“ , ”:不连续时间
“ - ”:连续时间
“ */n ”:每隔多长时间

Linux分区

使用lsblk -f 能查看当前linux分区
在这里插入图片描述
lsblk 指令能查看每个磁盘的大小
在这里插入图片描述

向虚拟机中添加新的磁盘 (举例添加一个 2g 的磁盘)

  1. 虚拟机添加硬盘
    点击虚拟机中的设置
    在这里插入图片描述
    找到硬盘点击添加
    在这里插入图片描述
    然后在选择硬盘,并点击下一步
    在这里插入图片描述
    然后在选择SCSI,选择之后点击下一步
    在这里插入图片描述
    在选择创建虚拟磁盘,选择点击下一步在这里插入图片描述
    选择磁盘的大小,并选择拆分多个 ,选择完后点击下一步
    在这里插入图片描述
    使用默认的名字就行 ,然后点击完成在这里插入图片描述
    然后在点击确定
    在这里插入图片描述

确定之后需要重启才能看到
没重启之前
在这里插入图片描述
重启之后(reboot 指令重启)
在这里插入图片描述

  1. 分区
    输入 fdisk /dev /暂未分区的磁盘名字(fdisk /dev/sdb)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    再次查看
    在这里插入图片描述

  2. 格式化
    mkfs -t ext4 /dev/sdb1 (意思就是把 sdb1 格式化为 ext4)
    在这里插入图片描述
    在这里插入图片描述

  3. 挂载 (吧磁盘挂载到 /home/newdisk中)
    因为要挂载到 /home/newdisk 那么首先需要在home 中创建 newdisk(mkdir /home/newdisk 指令)
    在这里插入图片描述
    进行挂载 (mount /dev/sdb1 /home/newdisk)
    在这里插入图片描述
    在这里插入图片描述
    存在缺陷 (重启linux时 要需要在此重新挂载)

  4. 设置自动挂载
    vim /etc/fstab
    进入到这个里面进行编辑 (他记录了分区和挂载点的情况)
    在这里插入图片描述
    在这里插入图片描述
    保存退出之后输入mount -a 指令

磁盘卸载操作
查看是否挂载存在
在这里插入图片描述
格式 : umount 设备名(umount /dev/sdb1)
在这里插入图片描述

磁盘情况查询

df -lh 或者 df -l :查看磁盘的使用情况
在这里插入图片描述

du -h : 查看指定目录的占用磁盘的情况
其他参数
-s :指定目录占用大小汇总
-h:带计量单位
-a:含文件
-max-depth=1 :子目最深度
-c :列出明细的同时,增加汇总值
(可以 使用多个参数 比如 -sha 等)
在这里插入图片描述

网络配置

查看虚拟网络编辑器
点击编辑,然后在点击虚拟网络编辑器
在这里插入图片描述
修改虚拟网络的ip
在这里插入图片描述
设置网关
在这里插入图片描述
在这里插入图片描述
ping: 测试当前服务器是否可以连接目的主机
Linux连接win主机在这里插入图片描述
win 连接linux
在这里插入图片描述

Linux指定固定的ip地址并且自动连接网络配置
输入指令 : vim /etc/sysconfig/network-scripts/ifcfg-eth0 (编辑网卡eth0 )

在这里插入图片描述
修改完之后 输入指令:service network restart (重启网络服务) 或者 输入 reboot (重启虚拟机也行)

Linux进程管理
在Linux中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。

**进程存在的形式:**每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。

ps:用来查看目前系统中,有哪些正在执行,以及它们执行的状况。
ps -a:显示当前终端的所有进程信息
ps -u:以用户的格式显示进程信息
ps -x:显示后台进程运行的参数
在这里插入图片描述
pstree查看进程并一树状展示
格式 : pstree [选项]
-p :显示进程的PID
-u : 显示进程的所属用户

在这里插入图片描述

查看指定进程
ps -aux | grep 进程名 (比如 :ps -aux | grep sshd)
在这里插入图片描述
查看父进程
ps -ef (其中查看到的PPID这一列就是父进程)
在这里插入图片描述
结束进程
kill 或者 killall
格式 : kill [选项] 进程号 \ killall 进程名、、
选项 : -9 :强迫进程立即停止

案例一 :踢除非法的用户 (tom)在这里插入图片描述
服务管理
service 服务名 [选项] ,在CentOS7.0后,不再使用service而是使用systemctl
选项 :

  1. start :启动服务
  2. stop:停止服务
  3. restart:重启服务
  4. reload:不间断服务重启
  5. status:查看服务
    在这里插入图片描述
    service 指令只是临时生效,要想永久启动可以使用chkconfig指令
    通过chkconfig命令可以给每个服务的各个运行级别设置自启动/关闭
    查看所有服务在各个级别下的启动情况 :chkconfig --list在这里插入图片描述
    查看具体的服务在各个级别下的自启动情况
    chkconfig 服务名 --list 或者 chkconfig --list | grep 服务名在这里插入图片描述
    设置某个服务在系统级别的多少下设置为是否自启动
    chkconfig --level 系统级别 服务名 off/on
    在这里插入图片描述

查看Linux中有那些服务 指令 : ls -l /etc/init.d/
在这里插入图片描述

动态监控进程
top [选项]
选项

  1. -d:指定top台令每隔几秒更新。默认是3秒
  2. -i:使top不显示任何闲置和僵死进程
  3. -p:通过制定监控进行ID来监控某个进程的状态
    在这里插入图片描述
    查看系统网络情况
    netstat [选项]
    选项
  4. -an:按一定顺序排列输出
  5. -p:显示哪个进程在调用

查看所有的网络服务 netstat -anp | more
在这里插入图片描述

RPM和YUM

rpm:一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager ( RedHat软件包管理工具)的缩写, 类似windows的setup.exe, 这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。

查询Linux系统中有没有装指定的软件
rpm -qa | grep 软件名
在这里插入图片描述
rpm 指令

  1. rpm -qa 查询所有的rpm包
  2. rpm -qa | more 分页显示所有的rpm
  3. rpm -qi 软件名 查询该软件安装的所有详细信息
  4. rpm -ql 软件名 查询rpm包安装到什么位置
  5. rpm -qf rpm软件包的路径 查询该路径下安装的rpm

rpm 卸载
rpm -e RPM包名 :删除指定rpm包
在这里插入图片描述
安装rpm
格式:rpm -ivh rpm包
举例安装firefox
在这里插入图片描述

YUM
yum 使用的前提是需要连网
Yum是一个Shel前端软件包管理器。基于RPM包管理,能够从指定
的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并
且一次安装所有依赖的软件包。

查看yum包
yum list | grep 软件包
在这里插入图片描述
yum install 软件包名
在这里插入图片描述
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!