栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux详细命令大全

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux详细命令大全

Linux(ContOS 7)
  • 学完:JavaSE、MySQL、HTML、CSS、JS、JavaWebSSM、Redis、Git、Linux、
  • 未学完:SpringBoot、Vue、SpringCloud
  • 消息队列(Kafka、RabbitMQ、RockeetMQ)、缓存(Redis)、搜索引擎(ES)、集群分布式(购买多台服务器)
  • Linux(CentOS 7)操作系统:Windows、MacOS

Linux一切皆为文件:文件的读、写、权限

一:认识Linux 1.1 为什么学习?
  • 服务器端,在开发领域Linux非常火热
1.2 Linux简介
  • Linux内核最初只是由芬兰人林纳斯·托瓦兹(linus Torvalds)在赫尔辛基大学上学时出于个人爱好编写的
  • Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX(可移植操作系统接口)和UNIX的多用户、多任务、支持多线程和多CPU的操作系统
  • Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位、64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
1.3 Linux发行版
  • Linux的发行版本就是将内核与应用软件做一个打包。
  • Kali Linux:安全渗透测试使用(补天平台)
  • 目前市面上比较知名:UbuntuRedHatCentOS、Debian、Fedora、SuSE、OpenSUSE
1.4 Linux应用领域
  • LAMP:Linux+Apache+MySQL+PHP

  • LNMP:Linux+Nginx+MySQL+PHP

1.5 环境搭建
  • 可以自己安装(比较繁琐)。也可购买云服务器

  • 安装CentOS

    • 通过镜像进行安装

      • 安装VMware虚拟软件,然后打开我们的镜像即可使用
    • 购买阿里云服务器安装

      • 就是远程电脑:服务器一般不会关机;

      • 阿里云购买服务器:https://www.aliyun.com

      • 购买完之后,获得服务器的ip地址,重置服务器密码,就可以远程登录了

        • 关于安全组的说明:(在阿里云这个非常重要,自己需要开放什么端口来这里配置就好了;
      • 下载xshell工具,进行远程连接使用了阿里云服务器了

      • 下载XFTP:文件上传工具

    • 使用xShell

      • 新建一个连接
      • 输入服务器IP和端口号连接
      • 输入账号、密码
      • 连接成功
    • 使用XFTP

      • 直接在xshell中点击打开使用
      • 直接拖到服务器就可以拉
      • 一般的jdk、taomcat等到home文件夹中安装即可搭建环境
二:基本的命令(重点)
  • 开机登录

    • 开机回启动很多程序。他们在Windows叫做”服务“,在Linux就叫做”守护进程“
    • 用户登录方式有三种:
      • 命令行登录
      • ssh登录
      • 图形界面登录
  • 关机

    • 在linux领域内大多数用在服务器上,很少遇到关机操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机

    • 关机指令:shutdown

      #将数据保存,同步到硬盘
      sync
      
      #关机
      shutdown
      
      #延迟关机:10分钟之后关机
      shutdown -h 10
      shutdown -h 20:25
      shutdown now
      
      #就是重启,等同于shutdown -r now
      reboot
      
      #马上重启
      shutdown -r now
      shutdown -r 10
      
      #关闭系统:等同于shutdown -h now 和poweroff
      halt
      
2.1 文件操作
  • 系统目录结构
    • 一切皆为文件
    • 根目录为/,所有目录都在/之下
    • 以下对这些目录对解释:
      1. /bin:bin是Binary的缩写,这个目录存放着最经常使用的命令
      2. /boot:这里存放的是启动linux时使用的一些核心文件,包括一些连接文件以及镜像文件
      3. /dev:dev是Device(设备)的缩写,存放的是linux的外部设备,在linux中访问设备的方式和访问文件的方式相同的
      4. /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录;redis、mysql等
      5. /home:用户的主目录,在linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账户命令的
      6. /lib:这个目录中存放着系统最基本的动态连接共享库,其作用类似于windows里的DLL文件
      7. /lost+found:这个目录一般情况下是空着的,当系统非法关机后,这里就存放了一些文件
      8. /media:linux系统回自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载载/mut下,然后进入该目录就可以查看光驱的内容了
      9. /opt:这里给主机额外安装软件所摆放的目录,比如你安装一个mysql数据库则就可以放在这个目录下。默认是空的
      10. /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息
      11. /root:该目录为系统管理员,也称为超级权限者的用户主目录
      12. /sbin:s就是super user的意思,这里存放的是系统管理员使用的系统应用程序
      13. /srv:该目录存放一些服务启动之后需要提取的数据
      14. /sys:这里linux2.6内核心的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs
      15. /tmp:这个目录是用来存放一些临时文件的
      16. /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下program files目录
      17. /usr/bin:系统用户使用的应用程序
      18. /var:这个目录中存放着不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件
      19. /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清楚
      20. /www:存放服务器网站相关的资源,环境,网站的项目
2.2 目录管理
#绝对路径
#相对路径

#列出所有的目录
ls

#all,查看全部的文件,包括隐藏文件
ls -a

#列出所有的文件,包括文件的属性和权限,没有隐藏文件
ls -l

#组合使用
ls -a -l



#切换目录:目录名字可以绝对和相对都可以
cd Downloads  #绝对目录
cd ../Downloads   #相对目录  


#创建文件夹
mkdir wei
mkdir wei2 wei3 #一次创建多个文件夹
mkdir -p test/test2/test3 #一次创建多个层级文件夹

#删除文件夹
rmdir wei #只能删除一个空文件夹 
rmdir -p test   #删除层叠目录(删除不空文件夹)


#创建文件
touch 文件


#删除文件
rm -f 文件  #忽略不存在的文件
rm -r 文件  #递归删除目录
rm -rf 文件  #删除文件

#复制文件和目录
cp 文件 原来的地方 新地方
cp 文件 新地方


#移动文件
mv 文件 新地方
mv -f 文件 目的地  #强制
mv -u 文件 目的地  #只替换已经更新过的文件
mv wei wei2   #重命名文件夹


#回到用户目录
cd ~

#查看当前目录
pwd
2.3 文件属性
  • boot文件的第一个属性用d表示。则该文件为一个文件夹(目录文件):directry

  • 在Linux中第一个字符代表这个文件是目录、文件、或者链接文件等等:

    • 【d】:目录
    • 【-】:文件
    • 【l】:链接文档(link file):比如windows中的快捷方式
    • 【b】:装置文件里面的可供存储的接口设备(可随机存取装置)
    • 【c】:装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
  • 接下来的字符中,以三个一组,且均为【rwx】的三个参数的组合:

    • r:可读(read)

    • w:可写(write)

    • x:可执行(execute)

    • 注意:三个权限的位置不会变,如果没有权限,就会出现【-】代替;比如:r-xrw-r—

    • 每个文件的属性由10个字符来确定的。

      文件类型属主权限属组权限其他用户权限
      0123456789
      drwxr-xr-x
      目录文件读写执行读写执行读写执行
    • 文件详细解释

      ​ Staff:用户属组

      ​ Wheel:管理员属组

      ​ Admin:超级管理员属组

  • 修改文件属性

    1. 更改文件属组

      chgrp [-R] 属组名 文件名     #-R:这个文件下所有文件都要修改
      chgrp -R root wei #修改wei这个文件夹修改为wheel属组
      
    2. 更改文件属主,也可更改文件属组

      chown [-R] 属主名 文件名
      chown [-R] 属主名:属组名 文件名
      
    3. chmod:更改文件的9个属性:

      • linux文件属性有两种设置方式:

        • 数字

          r:4
          w:2
          x:1
          
        • 符号

          rwx
          rwx
          rwx
          
          chown [-R] 属主名 文件名
          
      • linux文件的基本权限就有9个,分别是owner/group/other三种身份各自有自己的read/write/execute权限。

      • 可以使用数子来代替各个权限

      • 每种身份各自有自己的三个权限,比如:

        owner=rwx=4+2+1=7
        group=rw-=4+2+0=6
        other=---=0+0+0=0
        
        #更改文件的属性
        chown 770 filename
        
  • 文件内容查看

    可以使用man 【命令】来查看各个命令的使用文档;比如man cp

    #由第一行开始显示文件内容cat 文件名字#从文件的最后一行开始显示,倒着显示tac 文件名字#显示的时候,带有行号nl 文件名字#一页一页的显示文件内容#more的文件;空格翻页,enter一行行向下more 文件名字#一页一页的显示文件内容,可以翻页less 文件名字  #空格翻页,上下键代表翻页页面,q代表退出;#文档中查找:/aaa:查找aaa;?aaa:向上查aaa;n表示下一个;N:向下找#只看头前面20行head -n 20 文件名#只看尾巴几行tail -n 20 文件名
    
  • Linux链接文件的概念

    硬链接:允许一个文件有一个多个路径,源文件删除,不影响

    #创建wei的硬链接的2种方式touch wei wei2ln wei wei3
    

    软链接:类似于windows的快捷方式,删除源文件,不可访问

    #创建wei的软链接ln -s wei wei4
    
2.4 vim编辑器
  • 什么是vim编辑器

    • vim是从vi发展出来的一个文本编辑器,代码补全、编译以及错误跳转等变成的功能特别丰富,在程序员种广泛使用

    • Linux中通过vim:查看内容、编辑内容、保存内容

    • vim键盘图

    • 三种模式

      • 命令模式

        i:切换到输入模式

        x:删除当前光标所在的字符

        esc:退出输入模式,切换到命令模式

        :切换到底线命令模式

      • 输入模式

        在命令模式下按i进入了输入模式

        在输入模式中,可以使用以下按键

        • 字符按键以及shift组合:输入字符
        • enter:换行
        • 推格键:删除光标前的一个字符
        • 方向键:在文档移动光标
        • del:删除光标前一个字符
      • 底线命令模式

        • 在命令模式下按:进入底线命令模式
        • 底线命令模式可以输入单个或者多个字符命令,可用的命令非常多
        • 在底线命令模式中,基本的命令有
          • q:退出程序
          • w:保存文件
          • esc:退出底线命令模式
    • 具体使用Vim步骤:

      1. 新建文件:touch hello.txt
      2. 打开文件:vim hello.txt
      3. 编辑文件:i
      4. 输入内容:
      5. 退出模式:esc
      6. 底线命令模式::wq
      7. 完成修改
2.5 账号管理

属主:属于哪个类型的用户

属组:属于哪个分组

  • 添加

    useradd -选项 用户名

    • -m:自动创建这个用户的主目录:/home/wei
    • -c comment:指定一段注释性描述
    • -d 目录:指定用户主目录。如果此目录不存在,则同时使用-m选择可以创建
    • -g 用户组:指定用户所属的用户组
    • -G 用户组:指定用户所属的附加组
    • -s shell文件:指定用户的登录shell
    • -u 用户号:指定用户的用户号。如果同时有-o选项,则可以重复使用其他用户的标示号

    用户号:

    • 指定新账号的登录名
  • 修改

    usermod 对应修改内容 用户名

  • 删除

    userdel -r wei:删除用户的时候,将它的目录删除

  • 切换用户

    1. 切换用户的命令:su username
    2. 从普通用户切换到root用户,还可以使用命令:sudo du
    3. 在终端输入exit 或者logo或者ctrl+d可以退回到原来的用户
    4. $:表示普通用户
    5. #:表示超级用户,也就是root用户
  • 用户的密码设置问题

    • 我们一般通过root创建用户的时候,要配置密码

    • 超级用户

      passwd 用户名密码密码
      
    • 普通用户

      passwd密码密码
      
  • 锁定账户

    #锁定用户wei,这个用户就不能登录了passwd -l wei#将密码删掉,之后就不能登录passwd -d wei
    
2.6 用户组管理
  • 每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root),不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与他同名的用户组,这个用户在创建用户的时候同时创建。

  • 用户组的管理涉及用户的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新

  • 创建一个用户组

    #添加开发用户组,创建完之后,有一个组id,这个id可以在创建的时候指定groupadd dev#创建完之后,有一个组id,这个id可以在创建的时候指定,也可以不指定,自动增加groupadd -g 520 dev
    
  • 删除一个用户组

    groupdel dev
    
  • 修改一个用户组

    #修改dev的名字与idgroupmod -g 555 -n pro dev
    
  • 切换用户组

    #普通用户组切换到root用户组$ newgrp root
    
  • 用户相关的文件(了解)

    • /etc/passwd

    • 这个文件中每一个行都代表这一个用户,我们可以从这里看出这个用户的主目录在哪里,可以看到哪个组

    • 口令在/etc/shadow文件中,不过都是加密过的

      用户名:口令(登录密码,我们不可见):用户标准识号:组标识号:注释性描述:主目录:登录shell
      
2.7 磁盘管理
  • 列出文件系统的整体磁盘使用量

    df -h
    
  • 检查磁盘使用量

    #检查系统中根目录下所占用的大小du -sm /*
    
2.8 进程管理
  • 什么是进程?

    1. 在linux每一个程序都有一个自己的进程,每一个进程都有一个id号
    2. 每一个进程都会有一个父进程
    3. 进程可以有两种存在方式:前台、后台
    4. 一般服务都是后台进程
  • 命令

    1. ps:查看当前中正在执行的进程
    #显示当前终端运行的所有的进程信息(当前进程)ps -a#以用户的信息显示进程ps -u#显示后台运行的进程参数ps -x#查看所有的进程ps -aux#在linux中 | 为管道:比如A|B:#查看文件中符合的字符串grep#把查询结果过滤:只要mysql的进程pps -aux | grep mysql#查看父进程信息ps -ef#结束进程kill -9 进程id
    
三:软件的安装部署
  • 安装软件一个有三种方式:
    • rpm
    • 解压缩
    • yum在线安装
3.1 JDK安装
  • rpm安装方式(发布springboot项目)

  • 我们开发java程序必要的环境

    • jdk下载

    • 检查linux系统是否有java环境:java -version

    • 如果有则需要卸载:rpm -qa|grep jdk #检查jdk版本信息 rpm -e —nodeps jsk1.8 #强制卸载

    • 安装开始

      • rpm -ivh rpm的包
    • 配置环境变量/etc/profile

      • vim /etc/profile #编辑这个文件,在最后面添加以下java配置和windows安装环境变量是一样的

        JAVA_HOME=/usr/java/安装目录CLASSPATH=%JAVA_HOME%/lib;%JAVA_HOME%/jre/libPATH=$JAVA_HOME/bin;$JAVA_HOME/jre/binexport PATH CLASSPATH JAVA_HOME
        
      • 让配置文件生效

        source /etc/profile
        
    • 安装结束

    • 发布一个项目试试

      • 先看服务器哪些端口开启了:

        #查看哪些端口开启了firewall -cmd --list-ports#开启固定的端口:9999firewall -cmd --zone=public  --add-port=9999/tcp --permanent#重启防火墙systemctl restart firewalld.service
        
      • 开启项目需要的端口

      • 在本地运行jar包试试可以用吗?

        #在本地试试可以吗java -jar 项目jar包
        
      • 添加到服务器中

      • 在服务器中运行

        java -jar 项目的jar包
        
3.2 Tomcat
  • 解压式安装方式

  • 安装步骤

    • 下载tomcat

    • 解压

      #解压文件安装tar -zxvf 压缩包
      
    • 启动tomcat测试

      #启动tomcat./startup.sh#结束./shutdown.sh
      
    • 如果防火情8080端口开了,并且阿里云安全组也开放了这个时候就可以直接访问远程了

      #查看防火墙服务systemctl status firewalld#开启firewalld.service服务service firewalld start#重启service firewalld restart#关闭service firewalld stop#查看防火墙规则firewall-cmd --list-all    #查看全部的信息firewall-cmd --list-ports   #只看端口信息#开启端口firewall-cmd --zone=public --add-port=8080/tcp --permanentsystemctl restart firewalld.service   #重启防火墙#命令解释--zone  #作用域--add-port=8080/tcp  #添加端口,格式为:端口/通信协议--permanent   #永久生效,没有此参数重启后失效
      
    • 上传完毕的项目直接购买自己的域名,备案解析过去即可!

    • 阿里云购买域名,备案,填写解析信息即可

    • 域名解析后,如果端口式80-http或者443-https可以直接访问,如果是9000 8080,就需要apache或者Nginx做以下反向代理即可(配置文件的方式,十分简单)

3.3 Doker
  • yum安装方式

  • 官方安装参考手册:https://docs.docker.com/engine/install/centos/

  • 安装一定要有网,因为docker安装是联网安装

  • 安装步骤

    • 检测CentOS 7

      # cat /etc/redhat-release
      
    • 安装准备环境

      yum -y install 包名   #-y自动确认所有的提示都为yesyum -y install gcc   #安装gccyum -y install gcc-c++  #安装gcc-c++
      
    • 清除以前的版本

      $ sudo yum remove docker                   docker-client                   docker-client-latest                   docker-common                   docker-latest                   docker-latest-logrotate                   docker-logrotate                   docker-engine
      
    • 根据官网安装即可

       
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344541.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号