推广 热搜: 行业  设备    系统  参数  经纪    教师  机械  中国 

学好Linux操作系统这一篇就够了

   日期:2024-12-06     作者:6eh9f    caijiyuan   评论:0    移动:http://dgaty.xhstdz.com/mobile/news/10388.html
核心提示:学好Linux操作系统这一篇就够了操作系统作者:codejiwei 日期:2020-09-28注意:这里的硬盘分区这里比之前的u
学好Linux操作系统这一篇就够了 操作系统

作者:codejiwei

日期:2020-09-28

  • 注意:这里的硬盘分区这里比之前的ubuntu系统多了一个200M左右挂载在/boot的分区。

  • 另外:自定义系统软件的时候,除了基本系统内的:基本、兼容程序库;应用程序内的:互联网浏览器;中文语言支持;桌面(正式开发不用,其他的所有都不选。

  • 然后:去掉重新引导界面的Kdump。

  • 联网:设置网络为自动连接。

  • 最后:安装VMTools,作用是:虚拟机显示优化和调整,方便虚拟机和本机的交互,拖放文件、鼠标切换等

    1. 点击安装VMware Tools

    2. 将压缩文件拖拽到桌面,解压到此处

    3. 终端内运行vmware-install.pl,然后一直回车即可


  • 设置共享文件夹,可以通过/mnt/hgfs/centos2-share-window此路径链接到window下目录。

  • 网络配置方式

    • 桥接模式

      1. 好处是:大家都在同一网段,相互可以通讯
      2. 缺点是:因为ip地址有限,可能造成ip冲突
    • Nat网络地址转换模式

      1. 好处是:虚拟机不占用其他的ip,所以不会ip冲突
      2. 缺点是:内网的其他人不能和虚拟机通讯
    • 主机模式

      单独的一台电脑

  • Xshell5
  • SecureCRT
  • Xftp5
  • FileZilla

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pn4clJi8-1601865733388)(F:CopyFileMarkDown学习LinuxCentOS.assets1596080583774.png)]

①etc目录常用文件

/etc/passwd 用户信息

/etc/group 组信息

/etc/inittab 当前运行级别

/etc/sysconfig/network-scripts/ifcfg-eth0 网络配置文件

/etc/sysconfig/network 主机映像文件

②dev目录

/dev/sdb1 硬盘分区

  • 正常模式

    在正常模式下,可以使用快捷键

  • 插入模式

    也叫编辑模式,输入i和o等

  • 命令行模式

    可以通过命令,完成读取、退出、替换等操作

    保存退出:wq

    强制保存退出:wq!

  • 快捷键使用

    • 拷贝当前行yy

    • 拷贝当前行向下的5行5yy

    • 粘贴:p

    • 删除当前行:dd

    • 删除当前行向下的5行5dd

    • 删除单个元素x 相当于delete;X相当于Backspace

    • 撤销操作u

    • 快速定位到尾行:G

    • 快速定位到首行:gg或1G

    • 将光标移动到20行:20 shift +g 或 20 G

    • 查找某个单词: /查找内容,输入n是查找下一个

    • 设置文件的行号:set nu

    • 取消文件的行号:set nonu

①关机

  • 立即关机:shutdown -h now
  • 1分钟后关机:shutdown -h 1
  • 立即关机:halt

②重启

  • 重启:shutdown -r now
  • 重启:reboot

③sync指令

  • 把内存的数据写入磁盘,防止数据丢失

④用户登录注销

  • 注销:logout,在图形界面无效,远程操作有效
  • 切换用户:su +用户名
  • 用户和组的概念

root - root组

hadoop - hadoop组(默认创建用户就自动生成了一个该用户的组

  • 家目录概念

用户登录的时候会自动进入自己的家目录:/home/hadoop

①添加用户

必须是管理员权限才能添加删除用户操作。

  • useradd [选项] 用户名
  • useradd -d /home/tiger hadoop 将用户的家目录指定放到/home/tiger目录

前提是:在/home/下不能存在tiger这个目录

②删除用户

  • userdel -r hadoop

删除用户同时删除/home/下的hadoop这个用户的家目录。

  • userdel hadoop

这样只是删除了hadoop这个用户,但是不会同时删除/home/下的hadoop文件

  • 注意:一般也不会删除用户文件

③指定修改密码

  • passwd+用户名

④查询用户信息

  • id + 用户名

⑤查看当前是哪个用户

  • whoami

查看当前登录的账号是谁

  • who am i

  • 查看所有的用户或者组信息

    cat /etc/passwd 查看用户

    cat /etc/group 查看所有组

⑥切换用户su

[root@hadoop101 ~]#su codejiwei

⑦设置普通用户root权限

  • 创建组

groupadd +组名

  • 删除组

groupdel +组名

  • 添加用户的时候直接指定组

useradd -g 用户组 用户名

 

  • 修改用户所在组

usermod -g 用户组 用户名

用户配置文件(用户信息:/etc/passwd

组配置文件(组信息:/etc/group

口令配置文件(密码和登录信息,是加密的:/etc/shadow

①运行级别说明

  1. 0 :关机

  2. 1 :单用户 [类似安全模式, 这个模式可以帮助找回root密码]

  3. 2:多用户状态没有网络服务

  4. 3:多用户状态有网络服务 [使用最多]

  5. 4:系统未使用保留给用户

  6. 5:图形界面 【】

  7. 6:系统重启

②查看当前的运行级别

 

 

③指定运行级别

 

面试题

  • 如何找回root密码

启动时->快速输入enter->输入e-> 进入到编辑界面-> 选择中间有kernel 项->输入e(edit)-> 在该行的最后写入 1 [表示修改内核,临时生效]-> 输入enter->输入b [boot]-> 进入到单用户模式 【这里就可以做补救工作】

  • 我的理解是?那岂不是谁都可以修改root密码

:这种方式修改root密码不能远程登录修改,只能在机房里,手里拿着机器才能修改,所以默认这台电脑就是你的。

①帮助指令

  • man 获得帮助信息
  • help 帮助文档

②文件目录类

  • pwd 显示当前工作目录的绝对路径

  • ls 显示当前路径的文件或目录

    • ls -a 显示隐藏的文件
    • ls -l 以长列表的形式显示信息
  • cd 切换路径

  • mkdir 创建目录

    • mkdir -p /home/hadoop 创建多级目录
  • rmdir 删除目录,不能删除非空的目录

    • 其实就等于rm -r /home/hadoop = rmdir /home/hadoop
  • rm 删除文件

    • rm -rf /home/hadoop 可以删除非空的目录
  • touch 创建空文件

    • touch hello.txt
    • touch hello1.txt hello2.txt
  • cp 拷贝指令

    • cp -r 递归复制整个文件夹
    • cp -r 强制复制 不提示信息
  • rm 移除文件或目录

    • rm -r 删除整个文件夹
    • rm -f 强制删除不提示
  • cat 查看文件内容

    • cat -n 显示行号查看文件内容
    • cat -n /etc/profile | more 通常和more一起使用 分页显示
  • more 文本过滤器☆

    • 空格键 :翻页
    • enter:一行一行
    • ctrl + B :上一页
  • less 分页显示★ 按q退出

  • 输出重定向>

    • ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写
    • cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2
  • 追加>>

    • ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾
    • echo “内容”>> 文件
  • echo 输出内容到控制台

    • echo $PATH 输出当前环境变量

      /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

  • head 显示文件的前几行

    • head -5 file.txt
    • 默认显示前10行
  • tail 显示文件的后几行

    • tail -5 /etc/profile
    • tail -f /etc/profile 实时追踪该文档的所有更新,工作中经常使用
    • 案例:实时监控info.txt文件,该文件有变化时,实时就能看到
  • ln 软连接、符号连接指令

    切换到软连接的真实目录

    • ln -s 链接目的路径 软连接名称

    • 相当于windows系统的快捷方式,主要存放了链接其他文件的路径

    • 案例1:在/home目录下创建一个linkToRoot,链接到/root目录

    这个时候进入到linkToRoot会自动进入到/root路径下,但是用pwd查看当前路径还是:/home/linkToRoot

    • 删除软连接:rm -r linkToRoot

      注意不能这样删除linkToRoot/;否则会出现资源忙现象。

  • history 查看执行过的历史指令,也可以执行历史指令

    • 后10条指令

    • 执行历史编号为n的指令

③时间日期类

  • date 显示当前日期和时间
  • 显示年月日

  • 显示年月日时分秒

  • 设置日期

    • 案例:设置当前时间为:2020-11-11 11:11:11

       
  • cal 显示当前日历

  • 显示一年的日历

④搜索查找类

  • find 【搜索范围】 【选项】

    • 案例1:按文件名,根据名称查找/home目录下的hello.txt文件

    • 案例2:按照拥有者查找:查找/opt目录下,用户名称为root的文件

    • 案例3:查找大小范围:查找整个系统下大于20m的文件+n 大于 -n 小于 n 等于

    • 按照通配符去查找:查找/home 下所有的.txt文件

  • locate 快速定位文件路径

    • 第一步:创建locate数据库updatedb

    • 第二部:查找hello.txt文件

  • grep指令和管道符号|

⑤压缩解压缩

  • gzipgunzip

    适合单文件压缩,解压后源文件不保留

    • gzip用于压缩文件
    • 压缩后不会保留原来的文件。
    • gunzip 解压缩文件
    • 案例:gzip压缩,将/home下的hello.txt文件进行压缩,然后再解压
  • zip和unzip

  • tar 打包指令(最常用

    • 打包:tar -zcf home.tar.gz /home

      将/home文件打包成home.tar.gz文件

    • 解压:tar -zxf home.tar.gz /home

      将home.tar.gz文件解压到/home文件下

①组管理

  • 文件详细信息
  • 修改文件所有者
    • chown 新的文件所有者名 文件名称

​ 但是可以看到上面的组还是root,下面就修改文件所在组。

一般就用chown atguigu:atguigu 文件名 同时修改文件所有者和所在组

  • 修改文件所在组

    • chgrp 要改为的新的组名 文件名

  • 修改用户的所在组(前面第8节也有

    • usermod -g 要改到的组名 用户名

②文件详细信息

(5)文件的话是1;目录的话是里面有几个子目录

(6)文件的话是多少个字节;目录的话都是4096

③权限管理

对文件进行权限的管理操作

  • 修改文件的所有者(上面也讲过了

    • chown 新的文件所有者 文件名

    • chown -R 新的文件所有者 目录名

      -R 可以递归的将整个目录下的所有文件的所有者都修改为新的用户

  • 修改文件的所有组(上面也讲过了

    • chgrp 新的组 文件名

    • chgrp -R 新的组 目录名

      这样就将整个目录下的所有文件的组修改成新的组了

①任务调度(定时任务

系统在某个时间执行特定的命令或程序

  • crontab[选项]

    • crontab -e 编辑crontab定时任务
    • crontab -r 删除当前用户的所有crontab任务
    • crontab -l 查询crontab任务
  • 任务调度文件:/etc/crontab

  • 参数说明

②应用案例(案例2-3为正规写法)

  • 每分钟都执行ls -l /etc/ > /tmp/to.txt

    每分钟都将/etc目录下的信息写入到/tmp/to.txt文件

输入crontab -e后需要输入 指令:*/1 * * * * ls -l /etc/ > /tmp/to.txt

​ 查看定时任务

  • 案例2:每隔1分钟,就将当前的时间和日期,追加到 /tmp/mydate.log 文件中。

    首先用vim创建一个/home/mydate.sh的文件,在里面编辑要执行的操作

     

    然后,将.sh文件修改成可执行文件

     

    最后,给mydate.sh可执行文件创建定时任务

     
  • 案例3:每天凌晨2:00将mysql数据库testdb,备份到文件backdb.txt

    首先用vim创建一个backupdb.sh文件,在里面编辑要执行的操作

     

    然后,将.sh文件修改为可执行文件chmod 744 backupdb.sh

    最后,为backupdb.sh创建定时任务

     

①分区的基础知识(了解

  • mbr分区;gtp分区

②Linux分区

  • 硬盘分类

    • IDE硬盘:”hdx~“ :”hd“表示IDE硬盘;”x“表示盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘;“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。
    • SCSI硬盘:“sdx~”
  • lsblk -f 查看系统的分区和挂载情况

  • lsblk 查看系统分区、挂载情况、大小

③案例:添加新硬盘

  1. 添加一块硬盘1G,设置中添加硬盘即可‘

  2. 重启服务器reboot

    lsblk

  3. 给sdb硬盘分区

    fdisk /dev/sdb

    分区:m查看命令列表

    ​ n 新增分区

    ​ p 显示磁盘分区,然后选1

    ​ 回车 默认全部剩余时间

    ​ w 写入并退出

    1. 格式化sdb1

      mkfs -t ext4 /dev/sdb1 (格式化为ext4文件格式)

    2. 挂载sdb1

    mount /dev/sdb1 /home/newdisk (挂载到/home/newdisk) 注意此时不要在newdisk文件下

  1. 上面的方式,只是临时挂载,重启系统挂载消失,配置Linux分区表,实现自动挂载

    vim /etc/fstab

  1. 卸载:umount 设备名 | 挂载路径

    umount /dev/sdb1

①df命令

  • 查看整个磁盘的使用情况

-h表示带计量单位:K M G等

②目录占用情况du指令

查看指定目录的各个文件夹的磁盘占用情况。

  • du -h /目录

    查询指定目录的磁盘占用情况,默认为当前目录

    -s 指定目录占用大小汇总

    -h 带计量单位

    -a 含文件

    –max-depth=1 子目录深度

    -c 列出明细的同时,增加汇总值

  • 应用实例:查询 /usr目录的磁盘占用情况,深度为1

      

③工作使用指令

  1. 统计/home文件夹下文件的个数

     
  2. 统计/home文件夹下目录的个数

     
  3. 统计/home文件夹下文件的个数,包括子文件夹里的

     
  4. 统计/home文件夹下目录的个数,包括子文件夹里的

     
  5. 以树状显示home目录结构

     

①Linux网络配置原理图

②查看网络ip和网关

  • 可以修改虚拟机vmnet8虚拟网卡ip
  • 查看网关

③网络环境配置

  • 自动连接:Linux系统界面网络右键,编辑连接,选上自动连接。下次即可自动连接网络。

    这样有一个缺点:Linux启动后会自动获取ip,IP可能不一样,这样就不适用于做服务器!因为服务器ip是固定的

  • 指定固定的ip

    修改配置文件来指定ip,并可以连接到外网。

     

    在ifcfg-eth0这个文件内进行修改

     

④修改主机名

  • id 查看当前用户的id信息,组信息等
  • whoami 查看当前用户
  • who am i 查看登录的信息
  • hostname 查看主机名

/etc/sysconfig/network 这是主机名!可以在这可以修改主机名

⑤主机映像文件

/etc/hosts 修改这个文件就能成功ping通了

  • 比如说我现在的centos1的ip是192.168.255.132,此时我ping192.168.255.132可以ping通,但是我ping我的hostname为codejiwei就ping不通;我在/etc/hosts文件中添加192.168.255.132 codejiwei这个时候就可以ping通codejiwei了

  • 而大数据中需要linux不同节点相互ping,所以在centos2中去ping192.168.255.132可以ping通,但codejiwei就ping不通了,这时候可以修改centos2的/etc/hosts文件,添加192.168.255.132 codejiwei 这个时候就可以ping通了

  • window系统的这个文件路径在:C:WindowsSystem32driversetchosts

①基本介绍

  • 进程:每个执行的程序和代码都是一个进程
  • 进程分为前台和后台(守护进程

②查看系统进程

  • ps 查看进程使用

    • -a显示当前终端的所有进程信息

    • -u以用户的格式显示进程信息

    • -x显示后台进程运行的参数

    • 一般都是用

        
    • 查看父进程ps -ef | more

③终止进程

  • kill [选项] 进程号(功能描述:通过进程号杀死进程 -9 强制终止
  • killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

④最佳案例

  • 案例1:踢掉某个非法登录用户【jack】

    远程登录jack,此时用ps -aux | grep sshd 查看有关远程登陆的进程,然后kill [进程号]终止进程

  • 案例2: 终止远程登录服务sshd, 在适当时候再次重启sshd服务

  • 案例3: 终止多个gedit 编辑器

    killall gedit

  • 案例4:强制杀掉一个终端 对于 bash

    kill -9 对应的bash的进程号

⑤进程树

  • pstree
    • -p :显示进程的PID
    • -u :显示进程的所属用户
 

服务(Service)本身就是进程,但是是运行在后台的,通常会监听某个端口,等待其他程序的请求,比如:mysql,sshd,防火墙等,又被成为守护进程。

  • 查看服务的几种方式

    • setup

    • ll /etc/init

    • 还有就是下面说的chkconfig --list

②service指令

  • service 服务名 [start | stop | restart | reload | status]

  • 在CentOS7.0以后就不再使用service了,而是systemctl

  • 案例:查看当前防火墙的状态,关闭防火墙和重启防火墙

    查看:service iptables status

    开启:service iptables start

  • 这种方式修改服务,只是临时有效,重启后还是回到原来状态;如果要永久有效使用chkconfig命令

③chkconfig指令

  • 可以给每个服务的各个运行级别设置自启动关闭

  • 语法:1. chkconfig --list | grep xxx

    ​ 3. chkconfig --level 5 服务名 on/off

    ​ 4. chkconfig 服务名 on/off

  • 应用实例

    1. 案例1:请显示当前系统所有服务的各个运行级别的状态

       
    2. 案例2:请查看sshd服务的运行状态

       
    3. 案例3:将sshd服务在运行级别5下设置为不自动启动

       
    4. 案例4:当运行级别为5时,关闭防火墙

       
    5. 案例5:在所有运行级别下,关闭防火墙

       
  • chkconfig重新设置后需要重启后才能生效

①动态监控进程

  • top [选项]

    ​ -k 杀死指定PID号的进程

  • 交互操作

    • P 以CPU使用率排序
    • M 以内存使用率排序
  • 应用实例

    • 案例1:查看指定用户的进程

       
    • 案例2:终止指定的进程

       
    • 案例3:指定进程刷新时间10秒

       

②监控网络状态

  • 查看网络使用情况netstat

  • 语法:netstat [选项]

    • -an 按一定顺序排列输出

      -p 显示哪个进程在调用

  • 应用案例

    请查看服务名为 sshd 的服务的信息。

    Ø Netstat –anp | grep sshd

    Ø 如果我们希望查看当前系统有哪些端口在监听

    netstat -tlnp

①rpm包管理

  • redHat package manger

  • rpm包的简单查询指令

    查询已安装的rpm列表:rpm -qa|grep xx

    • 查看当前有没有安装火狐浏览器

    • 查询所有rpm包

      rpm -qa

    • 查询软件信息

      rpm -qi firefox

  • 删除软件包

    rpm -e firefox

  • 安装软件包

    • 包放在了/media/目录下

    • 复制/media下的火狐到/opt目录

    • 到/opt/目录下,安装rpm -ivh firefox-。。。。

②yum包管理

  • 可以自动自动处理依赖关系,一次性安装所有依赖包。前提需要联网

  • 查询安装软件

    yum list |greo 软件包

  • 安装软件

    yum install 软件包

  • 卸载软件

    yum remove 软件包

①百度面试题

  • 常用命令

    netstat,top,lsblk,find,ps,chkconfig

②瓜子二手车面试题

  • 查看Linux内存:top
  • 磁盘存储:df -lh
  • 端口占用:netstat -tunlp
  • io读写占用
    • 首先安装iotop:yum -install iotop
    • 然后输入:iotop
  • 进程:ps
本文地址:http://dgaty.xhstdz.com/news/10388.html    物流园资讯网 http://dgaty.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号