zoukankan      html  css  js  c++  java
  • Linux操作系统

    一,操作系统:

    • 操作系统是软件与计算机硬件进行交互的一个媒介
    • 分类
    • 1,桌面操作系统
    • windows:用户量
    • macos:苹果研发,主用设计
    • linux:软件较少
    • 2,服务器型操作系统
    • linux:占用量达到90%
    • windows server:微软开放的,收费
    • 3,移动设备操作系统
    • Android:安卓手机系统,开源,基于Linux
    • iOS:苹果手机系统,闭源
    • 嵌入式操作系统:Linux为主的,常见的摄像头,电饭煲等设备

    二,Linux:

    • linux是一款多用户,多任务的命令行式的服务器型操作系统
    • 多用户:支持多个用户登录使用
    • 多任务:支持多个任务同时运行
    • 命令行式:使用命令的方式操作系统
    • 服务器型:90%以上的服务器都会使用Linux系统

    Linux优缺点

    • 优点:开源,免费,运行速度快,安全性比较好,稳定行较高
    • 缺点:软件比较少,界面比较丑陋,操作难度偏大,学习成本较高(命令行)
    • 发行版本 Linux实际上是一个操作系统的内核,并不是一套完整的操作系统,一些厂商讲Linux内核与一些实用工具和操作手册打包在一起就形成看发行版本,并且,发行版本提供了便捷的安装界面以及配置工具

    【主流发行版本】:

    • Redhat:小红帽,企业版的Linux发行版本,收费
    • centos:与小红帽有97%的相似,免费
    • Ubuntu:界面比较美观
    • suse:华为项目用的比较多
    • 麒麟:国产系统

    三,安装Linux

    • 安装虚拟机软件
    • VMware:
    • 是一款虚拟机软件,可以模拟出一个/多个电脑,用来安装不懂的操作系统,安装centos 
    • 1,安装vmvare,找到虚拟机的安装包,双击--下一步--直到点击安装,打开虚拟机--输入密钥--完成/进入虚拟机--关闭打开的虚拟机,重新开启
    • 2,打开虚拟机,进行虚拟机设置,备注:打开虚拟机报错解决方法:1.提示:无法连接mks:win+r--services.msc--打开v开头的虚拟机 程序.启动
    • 2.提示inteI VT-x禁用:电脑重启--再关机后.重启时,一旦出现光亮,立即按F1,多按几次   --进入Blos界面--找到security--进入virtual(倒数第三个)--把DIsable修改成enable(空格健修改)--按F10--按YES(enter健)--就可以重新启动
    • 3,找不到文件:虚拟机-主页-打开虚拟机-找到虚拟机存放文件夹--点击虚拟机    3,重新引导
    • 连接工具:xshell
    • 1,安装xshell
    • 2,在Linux操作系统中ifconfig找到ip 3,打开xshell连接
    • 登录界面认识
    • [root @ xumeng ~]# 有一个超级用户root,登录了xumeng 这台计算机,在计算机的家目录的位置
    • root:代表登录的用户名
    • xumeng:代表计算机的名字
    • ~    :代表登录后的位置,~代表家目录
    • #    :身份象征符,代表的是超级用户
    • $    :代表的是普通用户

    四,常用基本命令

    • 常用目录
    • /:根目录
    • ~:家目录(root用户的家目录/root,但是普通用户是在/home/用户名)
    • .:当前目录
    • ..:上级目录 或者 父目录
    • cd:切换路径(改变文件位置)
    • whoami             查看当前登录用户
    • pwd                   显示当前所在位置[eg:/root/a 其中第一个/表示根目录,其他的/表示文件夹之间的分隔符]
    • ls                       查看当前位置的内容
    • ls  -a                  查看当前位置的内容,包括隐藏内容
    • ll                        查看当前位置的内容(详情)
    • ifconfig              查看IP位置
    • clear                  清除屏幕上的历史命令

    五,路径

    • 路径就是文件在系统中的存储位置
    • 在Linux中,路径可以分为两大类:
    • 1,绝对路径:以根目录开始的路径
    • 2,相对路径:不以根目录开始的路径
    • 练习一下:
    • 1,当前在/,想进入b1目录
    • 2.当前在b目录,想进入b2目录
    • 3,当前在a1目录,想进入a2目录
    • 4,当前在a2,想进入b2

    六,目录操作

    • 1,新建目录 make directory
    • mkdir 目录名                  --新建空目录
    • mkdir -p 目录层级          --新建非空目录
    • 2,删除目录
    • rmdir 目录名                  --删除空目录
    • rm -rf 目录名                 --删除非空目录[慎用]
    • 3,复制目录 copy
    • cp -r 目录名 路径            --将目录移动到某个路径
    • 4,备份目录
    • cp -r 目录名 目录名.bak     --将目录备份
    • 5,移动/剪切目录
    • mv 目录名 路径              --将目录移动在某个路径
    • 6,改名路径
    • mv 旧目录 新目录      --给目录改名
    • 7,查看目录大小
    • du -sh 目录名
    • 8查看目录结构
    • tree 目录名                    (备注:如果没有tree命令,要先安装:yum -y install tree)
    • 举例:
    • 1.mkdir a
    •   mkdir -p b/c
    • 2.rmdir a
    •   rm -rf b
    • 3.cp -r a /home/xumeng
    • 4.cp -r a a.bak
    • 5.mv a /
    • 6. mv a b
    • 7.du -sh a
    • 8. tree a
    • 练习:
    • 1.在根目录下创建目录abc
    •    mkdir /abc
    • 2.删除/home目录下的x目录
    •    rm -rf /home/x
    • 3.将/opt目录下的y目录复制到/home
    •    cp -r /opt/y /home
    • 4.将/opt目录下的y目录剪切到家目录
    •    mv /opt/y ~
    • 5.将根目录下的目录abc改名为aaa
    •   mv /abc /aaa

    七,文件操作

    • 1.创建文件 
    • touch 文件名
    • 2.删除文件
    • rm -f 文件名
    • 3.复制文件
    • cp 文件名 路径
    • 4.备份文件
    • cp 文件名 文件名.bak
    • 5.移动/剪切文件 
    • mv 文件名 路径
    • 6.改名文件
    • mv 旧文件名 新文件名
    • 7.查看文件大小 
    • du -sh 文件名
    • 8.查看文件内容
    • cat 文件名          :一次性查看文件内容,适用于小文件
    • more 文件名       :按空格键继续,按Q键退出--到了文件结尾会退出 
    • less 文件名         :按空格键继续,按Q键退出--到了文件结尾不会退 出,可以上下翻页
    • head -n 文件名    :查看文件的前N行
    • tail -n 文件名        :查看文件的后N行
    • head -n 文件名 | tail -n          :先从前面查N行,再从查询结果中后面取N行 备注:如果查看日志文件:tail -n 日志文件名
    • 9.查看文件行数 
    • wc -l 文件名
    • 10.查找文件/目录
    • find 路径 -name 文件名
    • 通配符: *
    • 前模糊: *值
    • 后模糊: 值*
    • 前后模糊: *值*
    • 备注:find可以将文件和目录都找出来
    • find . -name '*a*'       --查找当前位置下名字中包含a的文件或者目录
    • --只查找文件
    • find 路径       -type f    :遍历
    • ll | grep ^-                    :仅查找当前位置的文件
    • --只查找目录
    • find 路径 -type d
    • 11,在文件中查找关键字
    • grep 关键字 文件名     --显示关键字所在的行的内容
    • grep -n 关键字 文件名  --显示关键字所在的行的内容的行号
    • grep -i 关键字 文件名    --忽略大小写查找
    • 12,覆盖文件
    • cat x1>x2   --用x1覆盖文件x2
    • >:定向输出符,把前面文件的内容定向输出到后面的文件中
    • 九.网络命令
    • 13,清空文件
    • cat /dev/null>x2      :用空文件/dev/null清空文件x2
    • 14,追加文件
    • cat x1 >> x2             :将文件x1的内容追加到文件x2的后面
    • >>:追加符,把前面文件的内容追加到后面的文件后
    • 15,监控文件
    • tail -f 日志文件   :监控日志文件
    • tail -f -n 数字 日志文件     :监控日志文件的后n行
    • tail -f -n 3 install.log          :监控日志文件的后三行
    • 练习:
    • 1,查看文件1.nul的第五行至第十行
    • head -10 1.nul | tail -6
    • 2,查看文件1.nul的倒数第二行
    • tail -2 1.nul | head -1
    • 3,查看文件1.nul的倒数第五行到倒数第10行
    • tail -10 1.nul | head -6
    • 常用命令:
    • clear:清屏
    • ctrl + c :终止命令
    • ctrl + z :撤销命令

    八,编辑文件【vi编译器】

    • vi编辑:是Linux的编辑器,可以对Linux的文件进行编辑
    • vi编辑有三种模式      编辑模式          末行模式
    • 如何进入vi编辑:  vi    文件名      ----首先进行的命令模式
    • 8.1 命令模式:
    • gg     --跳转到首页
    • ngg   --跳转n行
    • G      --跳转到最后一行
    • ^       --行首
    • $      --行尾
    • yy    --复制一行
    • nyy  ---复制n行
    • dd     --剪切/删除一行
    • ndd   --剪切/删除n行
    • p(大写)  --向上粘贴
    • p(小写)  ---向下粘贴
    • u                --撤销操作
    • x                   --删除当前字符
    • /字符              --向下查找字符,按n健继续查到下一个
    • ?字符            --向上查到字符,按n健继续查到下一个
    • 练习题:
    • 1,将一行复制到最后一行
    • gg -- yy -- G -- p(小)
    • 2,将第五行移动到到倒数第二行
    • 5gg -- dd --  G -- p(大)
    • 3,将6-9行放到文件的最后
    • 6gg -- 4dd -- G -- p
    • 4,将5-10行放在文件的最前面
    • 5gg -- 6dd -- gg -- p
    • 8.2 编辑模式
    • a:在光标后插入内容
    • i:在光标前插入内容
    • s:替换当前字符插入
    • o:另起一行插入nr
    • 8.3 末行模式
    • :set nu ---显示行号
    • :set noun --取消行号
    • :w --只保存,不退出
    • :q --只保存,不退出(对于未修改的文件)
    • :wq --保存退出
    • :q!--强制退出(如果有改动,会提示使用!)
    • :wq!--强制保存退出(文件所有者通过 wq!可以保存只读文件)
    • :%s:值1:值2 --将每一行的第一个 值1 替换为值2
    • :%s:值1:值2:g --将每一行的每一个的 值1 替换为值2
    • :数字1,数字2s:值1:值2 --将数字1到数字2的每一个 值1 替换为为值2
    • :数字1,数字2s:值1:值2:g --将数字1到数字2的每一个 值1 替换为值2
    • 举例
    • :%s:abc:aaa   --将每一行的每一个abc替换为aaa
    • :%s:abc:aaa:g  --将每一行的每一个abc替换为aaa
    • :3,5s:abc:aaa  --将3-5行的每一个abc替换为aaa
    • :3,5s:abc:aaa:g  --将3-5行的每一个abc替换为aaa

     九,用户操作

    • useradd tracy  创建用户,叫tracy
    • cat /etc/passwd  查看用户信息
    • usermod -1 lily tracy  修改用户tracy为lily(usermod -1 新用户 旧用户 -1 :login)
    • usermod -u 505 lily  修改用户lily的用户id为505
    • usermod -g 500 lily 修改用户lily的用户id为500(组id要存在)
    • useradd -g 500 lucy 创建一个用户lucy,把他指定添加500的组(组id要存在)
    • passwd lucy  修改用户lucy的密码
    • id lucy  查看lucy的用户信息
    • su - lily  切换到用户lily,并拥有lily的权限
    • exit  退出用户
    • userdel lily 只删除用户,不删除用户的文件
    • userdel -r lucy 彻底删除用户,包括用户的文件
    • 备注:没创建一个用户,Linux会自动创建以用户命名的组,以及家目录文件

    十,组的操作

    • groupadd abc  创建一个组叫abc
    • cat /etc/group  查看组的信息
    • groupmod -n aaa abc  把abc的组改名为aaa(groupmod -n 新组名 旧组名)
    • groupmod -g 502 abc 把组abc的id更改为502 (groupmod -g 新组id 组名 -- 组id是没有组使用的id)
    • groupdel abc  删除组abc

    十一,打包压缩

    • zip:
    • zip:可以对文件和目录及进行压缩,可以一次压缩多个,压缩完之后,源文件还存在---以.zip结尾
    • zip -r 压缩包名.zip 文件/目录           --对文件/目录进行压缩
    • unzip 压缩包.zip                            ---解压
    • unzip 压缩包.zip -d 路径               --将压缩包解压到指定路径
    • 举例:
    • zip x.zip x1 x2 a                        --将x1 x2文件和目录一起压缩成x.zip
    • unzip x.zip                               --解压x.zip
    • unzip x.zip -d ..                       ---将x.zip压缩包解压到上级目录
    • 备注:
    • 1.zip只压缩文件或者单层目录,可以用zip 压缩包名 文件/目录名
    • 2.zip压缩非空目录,要用    zip  -r 压缩包名   目录名
    • gzip:
    • gzip:对文件进行压缩,一次只能压缩一个文件,压缩之后源文件消失--以.gz结尾
    • gzip 文件名  --对文件进行压缩
    • gzip -1 文件.gz  --查看压缩比例
    • gunzip 文件.gz  解压文件
    • gzip -d 文件.gz 解压文件
    • gzip -n 文件 --按照指定压缩等级压缩文件gzip -n 文件 --按照指定压缩等级压缩文件[n表示压缩等级,是一个1-9的数字,数字越大,表示压缩机别越 高]
    • 举例:
    • gzip x --对文件x进行压缩,会自动生成x.gz
    • gzip -l x.gz --查看x.gz的压缩包
    • gunzip x.gz --解压x.gz
    • gzip -n 文件 --按照指定压缩等级压缩文件[n表示压缩等级,是一个1-9的数字,数字越大,表示压缩机别越 高]
    • tar:
    • tar:打包,可以将多个文件或者目录打包成一个,打包后的文件不改变大小 -- 以.tar结尾
    • tar -cvf a_x1_x2.tar a x1 x2 --将a 和x1 x2 打包成a_x1_x2.tar
    • tar -tvf a.tar --查看包a.tar
    • tar -xvf a.tar --解包 a.tar
    • 因为打包后的文件大小不变,如果要压缩还需要进一步操作,所以延伸为打包压缩:-以.tar.gz
    • tar -czvf  a.tar.gz  a x1 x2               --将a目录和x1 x2文件打包压缩成a.tar.gz
    • tar -tzvf  a.tar.gz --查看压缩包a.tar.gz
    • tar -xzvf  a.tar.gz--解压解包 a.tar.gz
    • tar -xzvf  a.tar.gz -C /home --将压缩包解压解包到/home目录

    十二,权限

    • 12.1,linux里面的权限类型:r w x
    • r:read 读
    • w:write 写
    • x : execute 执行
    • 12.2,权限对应的对象有:
    • u :user            用户自己
    • g :group          组内
    • o :other           其他人
    • a :all                所有人,指 ugo
    • 12.3,查看权限
    •  ls -l :以列表的形式显示当前目录下所有内容信息,包含文件类型,权限,大小等
    • ll :等同于 ls -l
    • ls -lh:等同于ls -l ,只是文件大小以kb为单位,当文件很大是会以M或者G显示
    • drwxr-xr-x. 2 root root 4096 4月 26 16:12 a
    • 第一位:代表文件类型,d表示目录,-表示文件
    • 2-10位:表示文件的权限  
    • 2: 表示硬链接的个数(了解)
    • root:所属用户--这个文件属于哪一个用户
    • root:所属组--这个文件属于哪一个组
    • 4096:文件大小,以字节为单位
    • 4月 26 :表示创建日期
    • 16:12 :表示最后修改时间
    • a :表示文件或者目录的名字
    • rwxr-xr-x:
    • 前三个:代表用户的权限
    • 中间三个:代表组的权限
    • 后三个:代表其他人的权限
    • 备注:权限的顺序必须是 rwx,针对的对象的顺序也必须是有序的:用户 组内 其他人
    • 没有的权限就用 - 表示
    • 12.4,chmod修改权限
    • chmod :change mode
    • chmod g+w aa ---给文件aa修改权限:组内人增加写的权限
    • chmod u+x,o-r aa ---针对文件aa给自己增加执行权限,其他人减少读的权限
    • chmod u-x,g+w,o-r c --针对C目录,自己减少执行权限,组内增加写的权限,其他人减少读的权限
    • chmod u=rwx,g=rw,o=x b --修改b目录的权限为自己读写执行,组内读写,其他人执行chmod 761 b
    • chmod u=rw,g=wx,o=rx b --修改b目录权限为:自己:读写 组内:写执行 其他人 :读执行
    • chmod 635 b
    • 12.5,权限的数字表示法
    • r:读 4
    • w:写 2
    • x:执行 1  
    • chmod u=rw,g=wx,o=rx b --修改b目录权限为:自己:读写 组内:写执行 其
    • 他人 :读执行
    • 等同于
    • chmod 635 b
    • chmod 63 b ===chmod 063 b --自己没有权限,组内人有读写权限,其他人写执行权限 
    • chmod 7 b —自己和组内人没有权限,其他人有读写执行的权限
    • chmod -R 653 a.bak --将目录a.bak以及子内容的权限都修改为自己读写,组 内读执行,其他人写执行   
    • 12.6,chown 修改文件所属用户
    • chown lily x1 --将x1文件的所属用户更改为lily
    • 备注:更改的用户一定要存在
    • chown -R lily a --将a以及子内容的所属用户修改为lily
    • 12.7,chgrp 修改文件所属组
    • chgrp 修改文件所属组
    • chgrp -R abc a.bak --将a.bak以及子内容的所属组修改abc
    • chown lily:abc b.unl --同时修改b.unl文件的所属用户为lily,所属组为abc
    • chown -R lily:abc a.bak --同时修改a.bak以及子内容的所属用户为lily,所属组为abc

    十三,网络命令

    • 1.查看ip地址
    • ifconfig
    • 2.查看网络是否连通
    • ping ip地址    --如果有返回值,表示网络连通,否则不是
    • 3.查看端口
    • netstat -an    —查看系统目前在使用的端口
    • netstat -an | grep 端口号    --查看端口是否被占用
    • 4.启动网卡
    • ifup eth0
    • 启动第三张网卡
    • ifup eth2
    • 5.关闭网卡
    • ifdown eth0  
    • 6.重启网络
    • service network restart   
    • 7.修改ip地址
    • 1.setup---网络设置中修改--保存--重启网络      —永久修改ip地址
    • 2.ifconfig eth0 ip地址 netmask 子网掩码 ---临时修改ip

    十四,系统命令

    • 关机:
    • halt
    • init 0
    • shutdown -h now  —立即关机
    • shutdown -h 00:00  —12:00关
    • 重启:
    • reboot
    • init 6
    • shutdown -r now  --立即重启
    • ps -ef --查看进程
    • ps  -ef | grep java    --查看java的进程
    • kill pid(进程id)   ----杀掉进程
    • kill -9 pid   ---强制杀死进程
    • yum -y install 服务名   ---安装程序
    • 举例:
    • yum -y install httpd
    • service httpd start/restart/stop/status --apache服务启动/重启/停止/查看状态
    • free -m     --查看内存
    • df -h     --查看磁盘
    • top    --动态查看系统资源
    • vmstat  2  3   --每2秒打印一次系统资源,一共打印3次
    • env        --查看环境变量
    • date    --查看时间
    • date -s '2020-04-28 11:00:00'    --修改时间
    • cal --查看日历
    • 查看系统版本:
    • cat /etc/centos-release
    • 远程复制:
    • scp -r root@192.168.0.130:/opt/x1 .
    •  --从ip为192.168.0.130的root用户的/opt目录下将x1复制到当前位置
    • scp -r /opt/x1 root@192.168.0.130:/
    • -将自己的/opt/x1复制到ip为192.168.0.130的root用户的根目录下
    • scp -r 别人的用户名@别人的ip地址:要复制的文件的路径 目的地路径--从别人那复制给自己
    • scp -r 要复制的文件的路径 别人的用户名@别人的ip地址:目的地路径 --从自己这里复制给别人
  • 相关阅读:
    JVM运行内存分配和回收
    关于评审--从思想到落地
    从浏览器或者Webview 中唤醒APP
    控制台的艺术(附原理实现)
    深入研究嵌入式web服务器的视频监控应用
    css中url的路径含义及使用
    epoll
    C++中智能指针的设计和使用
    wget命令的使用
    UPNP
  • 原文地址:https://www.cnblogs.com/wangqiangya/p/15543703.html
Copyright © 2011-2022 走看看