1 Linux介绍

1.1 Linux的版本

Linux的版本分为两种:内核版本和发行版本

  • Linux内核版本:Linux内核运维开发小组。 源码在一定程度上不是开源的
  • Linux发行版本:由各大互联网/软件公司定制。 外围的样式功能的源码完全开源

一个内核版本是有多种多样的发行版本:

  • Ubuntu:以强大的桌面应用为主,吸收不少Windows用户

    • 因为桌面应用会在一定程度上大量占用系统资源,开发。
    • 服务器部署上,不会优先选择Ubuntu
  • CentOS:对服务器性能进行了一定程度的优化,性能比较高,比较稳定

    • 服务器操作系统的优选CentOS

1.2 Linux目录介绍

1538621186769

  • /Linux系统根目录

  • /etc:(etcetera) 系统配置文件存放的目录,不建议在此目录下存放可执行文件。

    重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

    注:/etc/X11存放与 x windows 有关的设置(防火墙文件,网络设置文件,JDK环境配置文件,mysql)

  • home:存放所有普通用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示

  • /root系统管理员root(超级用户)的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下

    每一个用户都有家目录,超级管理员root家目录 /root

    Linux命令行模式中相当于Windows的桌面

  • /usr:(unix shared resources):应用程序存放目录,比较重要的目录/usr/local本地系统管理员软件安装目录(安装系统级的应用)

    /usr/bin 存放应用程序

    /usr/share 存放共享数据

    /usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件

    /usr/local:存放软件升级包

    /usr/share/doc: 系统说明文件存放目录

    /usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间。
    ​ Jdk,tomcat,mysql,redis,nginx

  • /opt额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里

以上建议并不是强制性约束

2 常用命令【重点】

# 指令格式
[root@study ~]$ command [-options] parameter1 parameter2 ...
                指令     选项        参数1       参数2
# 说明
1.一行指令中第一个输入的部分绝对是 "指令(command)" 或 "可可执行文件案(例如批次脚本,script)"
2.command 为指令的名称,例如变换工作目录的指令为 cd 等
3.中刮号"[]"并不存在于实际的指令中,而加入选项设置时,通常选项前会带"-"号,例如 -h;有时候会使用选项的完整全名,则选项前带有"--"符号,例如"--help"
4.parameter1 parameter2 为依附在选项后面的参数,或者是 command 的参数
5.指令、选项、参数等,这几个中间以空格来区分,不论空几格shell都视为一格。所以空格是很重要的特殊字符
6.按下[Enter]按键后,该指令就立即执行。[Enter]按键代表着一行指令的开始启动
7.指令太长的时候,可以使用反斜线"\" 来跳脱[Enter]符号,使指令连续到下一行

Linux命令中参数,一般都是无序的。特殊情况下除外
注意:Linux中的命令严格区分大小写的!如 cdCD 并不同

2.1 磁盘管理命令

ls 列出目录内容

  1. ls(list)功能:列出目录内容
  2. 格式:

    ls [参数] [文件或目录]
    
    # 参数
    -a或--all   查询所有文件和文件夹,包含隐藏。注意隐藏文件、特殊目录、. 和 ..
    -l           查询详细列表    ls -l-->简写:ll
    -h             友好展示信息    ll -h (d目录,-普通文件, l链接)
    
    -t          用文件和目录的更改时间排序。
    -r             反向排序
    --help       在线帮助
    
  3. 常用:

    ls -l        --> 此命令非常常用,提供简化版命令 ll
    ls -al
    ll /home/    --> 显示指定目录下的内容
    
  4. eg:

    需求:展示某个目录下的内容    ls 目录名
    所在位置:/root
    想要查看:/etc目录下的内容
    命令:ll -h /etc
    

cd 切换目录

  1. cd(change directory) 功能:切换目录
  2. 语法:

    # 格式
    cd [目录]
    
    # 常用
    cd /目录名   ,任意目录切换到指定目录中     /目录名-->Linux的绝对路径
                                           windows绝对路径-->c:/xxxx/xxx.jpg?raw=true
    cd ../      ,向上一层目录
    cd ~        ,切换到当前用户 家目录。root用户家目录 /root
    cd /        ,切换到Linux的 根目录
    cd -          ,切换到上一次访问的目录。   只能两个目录相互切换
    cd ..        ,上一级目录
    cd            ,缺省当前用户目录
    
  • Linux绝对
    • eg:cd /etc/x1 先切换到 /目录,然后在 /目录 中找到子目录 etc,在 etc 中找 子目录x1
    • 特点:在任意目录都可以随意切换
  • Linux相对
    • eg:cd x1/x2 在当前目录中寻找子目录x1, 在x1中寻找子目录x2
    • 特点:必须确定 当前目录 下有子目录x1

pwd 显示当前的所在目录

  • pwd(print working directory) 功能:显示工作目录(当前的所在目录)。返回绝对路径

mkdir 创建目录

  1. mkdir(make directoriy)功能: 创建目录
  2. 语法

    # 格式
    mkdir -p 文件夹名称
    
    # 参数
    -p  父目录不存在情况下先生成父目录 (parents)
    -v    显示命令执行过程中的详细信息
    
  3. 注意:
    使用mkdir创建带后缀的文件时,创建的是目录,不是文件(创建文件使用touch命令)
    1539658915126
    1539659032657

  4. eg:

    # 1
    需要在/root/t1目录下创建一个t2目录
    位置:/root
    命令:相对路径:mkdir t1/t2
    绝对:mkdir /root/t1/t2
    
    # 2
    需要在/root/t3目录下创建一个t4目录
    位置:/root
    条件:t3和t4都不存在
    命令:mkdir -p t3/t4
    

rmdir 删除空目录

  • rmdir(remove directory) 功能:删除空目录

指令快捷键

  1. 历史输入
    使用上、下箭头可以找出上一条指令和下一条指令
  2. Tab代码补全
    使用tab键可以快速输入指令
    比如:我要输入shutdown指令,这时,我们可以只输入shut然后按下tab键,即可自动把shutdown补全

    注意:使用两下Tab补全时,如果匹配的结果有多个,这时候将会把所有匹配的结果展示出来。当结果很多时将会出现以下结果:

    1539654279277

    y之后会列出所有匹配的结果,但因为129个比较多,而在电脑中无法一次全显示出来,所以先显示一部分:(More代表还有更多,这时按回车就可以向下滚动,按下Ctrl+C将会退出)

    1539654354678

2.2 文件浏览(管理)命令

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页
  • head 只看头几行
  • tail 只看尾巴几行
  • od 以二进制的方式读取文件内容

直接浏览文件内容

cat 查看文件全部内容

  1. cat: Concatenate(连续)的简写,快捷查看当前文件的内容

    cat适合查看少量信息的文件

  2. 语法

    # 格式
    cat [-AbEnTv] 文件名
    # 参数:
    -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已
    -b :列出行号,仅针对非空白行做行号显示,空白行不标行号
    -E :将结尾的断行字符 $ 显示出来
    -n :打印出行号,连同空白行也会有行号,与 -b 的选项不同
    -T :将 [tab] 按键以 ^I 显示出来;
    -v :列出一些看不出来的特殊字符
    

nl 添加行号打印

nl 可以将输出的文件内容自动的加上行号

# 格式
nl [-bnw] 文件名
# 选项与参数:
-b :指定行号指定的方式,主要有两种:
    -b a :表示不论是否为空行,也同样列出行号(类似 cat -n)
    -b t :如果有空行,空的那一行不要列出行号(默认值)
-n :列出行号表示的方法,主要有三种:
    -n ln :行号在屏幕的最左方显示
    -n rn :行号在自己字段的最右方显示,且不加 0
    -n rz :行号在自己字段的最右方显示,且加 0
-w :行号字段的占用的字符数

可翻页浏览

more 一页一页翻动

  1. more:分页显示文件内容,还支持直接跳转行等功能

  2. 语法

    more 文件名
    
  3. 操作:

    • 空格键(space) :向下翻一页
    • Enter :向下翻一行
    • /字串 :代表在这个显示的内容当中,向下搜寻“字串”这个关键字
    • :f :立刻显示出文件名以及目前显示的行数
    • q :代表立刻离开 more ,不再显示该文件内容
    • b 或 Ctrl+B :代表往回翻页,不过这动作只对文件有用,对管线无用

less 一页一页翻动

  1. less:分页显示文件内容,操作更详细

  2. 语法

    # 格式
    less -mN 文件名 
    
    # 参数
    -m  显示类似more命令的百分比
    -N  显示每行的行号
    
  3. 操作:

    空格键    向下滚动一屏 或 Ctrl+F
        b    返回上一屏 或 Ctrl+B
        q    退出less
    
        d    前进半页
        u    后退半页
    Enter    (或方向键向下)前进一行
        y    (或方向键向上)后退一行
        v    进入vim编辑器
    /字符串   向下搜索
    ?字符串   向上搜索
        n    重复前一个搜寻(与 / 或 ? 有关)
        N    反向的重复前一个搜寻(与 / 或 ? 有关)
        g    跳到文件第一行
        G    跳到文件最后一行
    左右方向键 相当于水平滚动条
    
  4. 特点:

    适用于大量数据的查看

数据撷取

head 取出前面几行

显示一个文件的前几行内容

# 格式
head [-n number] 文件名
# 选项与参数:
-n :后面接数字,代表显示几行的意思

tail 取出后面几行

  1. 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件

  2. 语法

    # 格式
    tail [-n number] [文件]
    
    # 参数
    -n : 后面接数字,代表显示几行的意思
    -f : 循环读取,通过Ctrl+C结束循环
    
  3. eg:

    img

    • & 表示后台运行,否则占用终端
    • Ctrl + C 退出

2.3 文件操作命令

文件

  1. 隐藏文件

    Linux中以 点. 开头的是隐藏文件,使用ls命令是查看不到的,需使用ls -a

  2. 目录与文件的区别

    当我们使用ls命令列出目录中的所有子目录和文件时,如何区分哪些是文件哪些是目录?
    可以通过详细信息中第一列的信息来区分:以 d 开头的是目录,以 - 开头的是文件

    1539658318279

touch创建文件

  1. 功能:创建文件

  2. 语法:

    touch 绝对路径/相对路径
    

cp 复制

  1. cp(copy):复制文件或者复制目录

  2. 复制文件

    • 语法

      cp 需要复制的文件 复制的位置
      

      注意:cp可以进行重命名操作:

      • cp demo1.java t1/ddd.java

        当将一个 文件位置 以不同名字复制到当前文件时,意思是复制并重命名;即 将demo1.java复制到t1目录中,并重命名成ddd.java

    • eg:

      需求:把/root/Demo1.java文件 复制到  /root/t1 目录中
      位置:/root
      命令:cp Demo1.java t1
           cp /root/Demo1.java /root/t1
      
      需求:把/root/Demo1.java文件 复制到  /root/t1 目录中,改名为ddd.java
      位置:/root
      命令:cp Demo1.java t1/ddd.java
      
  3. 复制目录

    • 语法

      # 格式
      cp -r 需要复制的目录 复制的位置
      
      # 参数
      -r或--recursive  递归处理,将指定目录下的文件与子目录一并处理 复制目录必须使用-r
      
  • eg:

    需求:把/root/t5目录 复制到  /root/t1目录中
    位置:/root
    命令:cp -r t5 t1
         cp -r /root/t5 /root/t1
    
    cp ./abc ./xxx                #无法复制目录
    cp -r ./abc ./xxx            #复制目录必须使用 -r参数
    

mv 移动、更名

  1. mv(move) 功能: 移动更名 现有的文件或目录

  2. 移动文件

    • 语法

      # 格式
      mv -f 需要移动的文件 移动的位置
      
      # 参数
      -f或--force  若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录,不进行询问
      
    • eg:

      需求:把/root/t5 目录 移动到 /root/t3目录中
      位置:/root
      命令:mv t5 t3
      
      需求:把/root/t5 目录 移动到 /root/t3目录中
              不询问,直接覆盖
      位置:/root
      已知:/root/t3目录中 已经有一个t5目录了
      命令:mv -f t5 t3
      
  3. 文件更名

    • 格式:

      mv 需要移动的文件 新名字
      ## 必须是在同一目录中进行此操作
      
    • eg:

      文件/目录更名操作:
      需求:把/root/Demo1.java  改名为 hehe.java
      位置:/root
      命令:mv Demo1.java hehe.java
      

rm 删除

  1. rm(remove) 功能:删除文件或目录

  2. 删除文件

    • 语法

      rm 文件名
      
  3. 删除目录

    • 语法

      # 格式
      rm -rf 目录名
      
      # 参数
      -f或--force          强制删除文件或目录,不进行询问
      -r或-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。删除目录必须使用-r
      
  4. 注意

    rm -rf *     删除 当前目录 下所有内容
    rm –rf /*    删除Linux系统 根目录 下所有内容
    
  5. eg:

    需求:删除/root/t5 目录, 
    位置:/root
    已知:t5目录下有子目录或者文件
    命令:rm -rf t5
    

find 查找

  1. find功能:查找文件或目录

  2. 语法

    find 目录名 -name '需要查找的字符串'
    
    -name 指定字符串作为寻找文件或目录的范本样式
    * 表示0~多个任意字符 eg:find t1 -name '*.txt'
    
  3. eg:

    需求:查找/root目录下 所有以ins开头的文件或者目录
    位置:/root
    命令:find /root -name 'ins*'
    

2.4 文档编辑命令

Windows是有记事本
Linux也有类似的记事本功能 VIM编辑器

VI 编辑

  1. 操作:

    • 输入 vi 文件名 进入 “命令(一般)模式”
    • 按下 “i” 从一般模式,进入“插入模式”
    • 按下 “esc” 从“插入模式”退出到“一般模式”
    • 在“一般模式”下,输入 “:wq”,退出编辑

    1538637143785

vim 命令

  1. 操作:

    • 输入 vim 文件名vi 文件名 进入 “一般模式”
    • 按下 “i” 从一般模式,进入“插入模式”
    • 按下 “esc” 从“插入模式”退出到“一般模式”
    • 在“一般模式”下,输入 “:wq”,退出编辑

    1538637143785

    • 一般(命令)模式:
      • 可以浏览文件内容,可以进行文本快捷操作(单行复制,多行复制,单行删除,多行删除…)
      • i/a/o 可以切换到 插入模式
        : 可以切换到 底行模式
    • 插入模式:
      • 可以编辑文件内容。
      • ESC 可以切回 一般模式
    • 底行模式:
      • 可以进行强制退出不保存操作 q!
      • 可以进行保存并退出操作 wq

2.5 grep* 、 管道|、重定向输出>>

grep 正则表达式

  1. grep:正则表达式,进行字符串搜索工作

    用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活

  2. 语法

    # 格式
    grep -i 需要搜索的字符串 搜索的文件
    
    # 参数
    -i 忽略大小写查找数据
    

    符合规则,就会返回符合规则的

管道

  1. 管道命令: 可以连接多个Linux命令,其作用是将一个命令的输出用在另一个命令的输入

    1538638149167

  2. 格式:

    命令1 | 命令2 | 命令3……
    
  3. eg:

    需求:查询当前目录中,所有带ins关键字的行数据
    位置:/root
    思考:查询当前目录内容  ll
         查询字符串,返回字符串所在行  grep
    命令:ll | grep ins
    
    需求:分页显示ls的help信息
    命令:ls --help | more
    

重定向输出> >>

  1. 重定向输出

    • >

      定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空

    • >>

      将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响

    1539671830735

  2. 格式:

    注意:

  3. 使用:

    • 将一个文件夹的内容保存到文本文件中去,也就是将ls命令打印出来的内容都写到文本中去可以这样:

      # a.txt文件中就是ls命令打印出来的内容了
      ls -al >> a.txt
      

2.6 压缩 / 解压

gzip

# 格式
gzip [-cdtv#] 文件名
# 选项与参数:
-c :将压缩的数据输出到屏幕上,可通过数据流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩文件的一致性~看看文件有无错误;
-v :可以显示出原文件/压缩文件的压缩比等信息;
-# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6

# 例子
gzip -v services #压缩
gzip -d services.gz #解压
zcat services.gz #查看压缩文件的内容

使用 gzip 进行压缩时,在默认的状态下原本的文件会被压缩成为 .gz 的文件名,原始文件就不再存在了;与 gzip 相反, gzip -d 会将原本的 .gz 删除

bzip2

# 格式
bzip2 [-cdkzv#] 文件名
# 选项与参数:
-c :将压缩的过程产生的数据输出到屏幕上!
-d :解压缩的参数
-k :保留原始文件,而不会删除原始的文件喔!
-z :压缩的参数 (默认值,可以不加)
-v :可以显示出原文件/压缩文件的压缩比等信息;
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

# 例子
bzip2 -v services #压缩
bzip2 -d services.bz2 #解压
bzcat services.bz2 #查看压缩文件的内容

bzip2压缩率gzip 要好些。不过,对于大容量文件来说,bzip2压缩时间会比 gzip 要更久一些

xz

# 格式
xz [-dtlkc#] 文件名
# 选项与参数:
-d :就是解压缩啊!
-t :测试压缩文件的完整性,看有没有错误
-l :列出压缩文件的相关信息
-k :保留原本的文件不删除~
-c :同样的,就是将数据由屏幕上输出的意思!
-v :可以显示出原文件/压缩文件的压缩比等信息;
-# :同样的,也有较佳的压缩比的意思!

# 例子
xz -v services #压缩
xz -d services.xz #解压
xzcat services.xz #查看压缩文件的内容

压缩率从高到低:xz > bzip2 > gzip
压缩时间从长到短:xz > bzip2 > gzip

tar 打包

打包:将多个文件或目录包成一个大文件

  1. Linux常见压缩包: .tar 打包,大小不会进行压缩
    .tar.gz 打包并压缩文件大小
# 格式
tar [-j|-z] [cv] [-f 创建的档名] filename...        #打包与压缩
tar [-j|-z] [tv] [-f 创建的档名]                    #察看档名
tar [-j|-z] [xv] [-f 创建的档名] [-C 目录]        #解压缩
# 选项与参数:
-c  :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
-t  :查看打包文件的内容含有哪些档名,重点在察看『档名』就是了;
-x  :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
      特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。
-z  :通过 gzip  的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
-j  :通过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-J :通过 xz 的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz
特别留意, -z, -j, -J 不可以同时出现在一串命令行中
-v  :在压缩/解压缩的过程中,将正在处理的档名显示出来!
-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项罗!
-C 目录    :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

tar 并不会主动的产生创建的文件名,如果不加 [-z|-j|-J] 的话,文件名最好取为 .tar 即可

  1. 压缩:(参数顺序不变)

    # 格式
    tar -zcvf 压缩包名字.tar.gz 需要压缩的内容
    
    # 选项与参数:
    -z 是否需要用 gzip 压缩
    -c 建立一个压缩文件的参数指令(create)--压缩
    -v 压缩的过程中显示文件(verbose)
    -f 使用档案名称,在 f 之后要立即接档名(file)
    
    

    eg:

    例如:tar -zcvf hehe.tar.gz *   将当前目录下所有内容进行打包压缩,文件名hehe.tar.gz
    
  2. 解压:(参数顺序不变)

    # 解压到当前目录
    tar -zxvf 需要解压的压缩包名称 解压到当前目录
    # 解压到指定目录
    tar -zxvf 需要解压的压缩包名称 -C 指定压缩路径  解压到指定目录中
    
    # 参数
    -z 是否需要用 gzip 压缩
    -x 解开一个压缩文件的参数指令(extract)--解压
    -v 压缩的过程中显示文件(verbose)
    -f 使用档名,在 f 之后要立即接档名(file)
    
    

    eg:

    # 把 /root/t5/abc.tar.gz 解压到 /root/t5/t5 目录中
    tar -zxvf /root/t5/abc.tar.gz -C /root/t5/t5
    tar -zxvf hehe.tar.gz -C t5
    

2.7 系统命令

系统服务

服务,是指常期运行,常驻内存中的进程,比如,apache、mysql、ssh等

服务与端口

每个服务软件一般在运行时都会对应一个端口。
查看监听的端口:

ss –lntp

1539792074690

防火墙及防火墙设置

CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

查看防火墙状态:

firewall-cmd --state
# running 防火墙处于开启状态
# not running 防火墙处于关闭状态
直接关闭防火墙

停止firewall

systemctl stop firewalld.service

禁止firewall开机启动:

systemctl disable firewalld.service 

查看系统进程:ps -ef

需求:查看进程中 和 vim相关的进程
命令:ps -ef|grep -i vim

-e  此参数的效果和指定"A"参数相同,显示所有程序
-f  显示UID,PPIP,C与STIME栏位

强制杀死某个进程:kill -9 pid号

需求:查看进程 和 vim相关的进程有哪些,并将vim进程杀死
命令:ps -ef|grep -i vim
     Kill -9 pid号

-l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称
kill 9 表示强制终止

  1. 查看网络配置:ifconfig
    • 显示网络设备
  2. 测试和目标的连通性:ping 主机名或ip地址
    • 测试与目标主机的连通性
    • 会持续不断一直测试,直到ctrl+c
  3. Linux centos重启命令:reboot
  4. Linux centos关机命令:halt

关机

# 格式
shutdown [-krhc] [时间] [警告讯息]

选项与参数:
-k:不要真的关机,只是发送警告讯息出去!
-r:在将系统的服务停掉之后就重新开机(常用)
-h:将系统的服务停掉后,立即关机(常用)
-c:取消已经在进行的 shutdown 指令内容。
时间:指定系统关机的时间

特殊:
shutdown -h now    #立刻关机,其中 now 相当于时间为 0 的状态
shutdown -h 20:25 #系统在今天的20:25关机,若在21:25才下达此指令,则隔天才关机
shutdown -h +10 #系统再过十分钟后自动关机
shutdown -r now #系统立刻重新开机
shutdown -r +30 'The system will reboot' #再过三十分钟系统会重新开机,并显示后面的讯息给所有在线上的使用者
shutdown -k now 'This system will reboot' #仅发出警告信件的参数!系统并不会关机啦!吓唬人!

其他关机或重启的命令

reboot        #直接重启系统
poweroff    #系统关机,所以没有提供额外的电力,屏幕空白
halt        #系统停止,屏幕可能会保留系统已经停止的讯息

其实上面这些命令都是调用了 systemctl 这个指令,这个指令跟关机有关的语法如下:

systemctl [指令]
指令:
halt        进入系统停止的模式,屏幕可能会保留已有些讯息,这与你的电源管理模式有关
poweroff    进入系统关机模式,直接关机没有提供电力
reboot        直接重新开机
suspend        进入休眠模式

2.8 其他命令

su -    #切换root账号

基础命令

# 显示日期与时间
date [+%Y/%m/%d]

# 显示日历
cal [month] [year]
# eg: cal 2021、cal 12 2021

# 简单好用的计算机 运算符号:+(加)、-(减)、*(乘)、/(除)、%(余)、^(指数)
bc
# bc默认仅输出整数,如果要输出小数,需使用下面命令指定小数点位数
scale=number
# eg:
# 1/100        #0
# scale=3
# 1/100        #.010
# 退出bc
quit

热键

  • Tab 命令补全文件补齐
  • Ctrl+C 中断目前的程序
  • Ctrl+D 相当于输入exit
  • Shift+PgUp/PgDn 向前/后翻页

chmod 文件权限

  1. chmod(change mode) 功能:变更文件或目录的权限

  2. 语法:

    # 格式
    chmod [参数] [<权限范围><符号><权限代号>]
    
    # 参数
    -R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理
    
  • 权限范围的表示法如下:
    • u:User,即文件或目录的拥有者
    • g:Group,即文件或目录的所属群组
    • o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围
    • a:All,即全部的用户,包含拥有者,所属群组以及其他用户
      • 符号:
    • ‘+’添加权限
    • ‘-‘取消权限
      • 有关权限代号的部分,列表于下:
    • r:读取权限,数字代号为”4”
    • w:写入权限,数字代号为”2”
    • x:执行或切换权限,数字代号为”1”
    • -:不具任何权限,数字代号为”0”
  1. eg:

    mkdir xxx
    ll | grep xxx
    chmod u-rwx xxx        #取消xxx目录,用户“读写执行”权限
    chmod g-rwx xxx     #取消xxx目录,组“读写执行”权限
    chmod 777 xxx        #给xxx目录添加所有权限
    
    
  2. linux 权限格式:<类型><用户><组><其他用户>

    img

网络配置

  1. VIM命令配置

    • 网卡配置 cat /etc/sysconfig/network-scripts/ifcfg-eth0

    • 概要信息如下:

      DEVICE=eth0                 #网卡名称
      TYPE=Ethernet               #网卡类型
      ONBOOT=yes                  #是否开机启动网卡
      BOOTPROTO=static            #静态获取IP,其他取值:dhcp (如果设置dhcp下面红色不需要)
      IPADDR=192.168.44.100       #ip地址
      GATEWAY=192.168.44.2        #网关
      NETMASK=255.255.255.0       #子网掩码
      
  2. setup设置

    1. image-20210105112211914

    2. 选择“网络配置”

      img

    3. 选择“设备配置”

      img

    4. 选择“第一块网卡”

      1538642891449

    5. 设置IP地址等详细信息

      img

3 命令总结 和 帮助

  • 内部命令:属于Shell解析器的一部分 (系统启动直接加载到内存的)

    cd   切换目录(change directory)
    pwd  显示当前工作目录(print working directory)
    help 帮助
    
  • 外部命令:独立于Shell解析器之外的文件程序(独立的可执行文件)

    ls    显示文件和目录列表(list)
    mkdir 创建目录(make directoriy)
    cp    复制文件或目录(copy)
    
  • 查看帮助文档

    • 内部命令:help + 命令(eg:help cd)

      image-20210105112458072

    • 外部命令:man + 命令(eg:man ls);在man中空格键为翻页,按q离开

      image-20210105112551955

  • 不用特意记忆命令分类,开发中,如果需要查看命令参数,先使用man,如果没有结果,再使用help

man page

# 格式
man [命令]    # 查看某个命令的操作说明

举个栗子👇:

[root@localhost ~]$ man date
DATE(1)         User Commands             DATE(1)
Name
...
SYNOPSIS
...

DATE(1)中括号内的数字具体表示内容如下:

数字 代表内容
1 使用者在shell环境中可以操作的指令或可执行文件【重要】
2 系统核心可调用的函数与工具等
3 一些常用的函数(function)与函数库(library),大部分为C的函数库(libc)
4 设备文件的说明,通常在/dev下的文件
5 配置文件或者是某些文件的格式【重要】
6 游戏(games)
7 惯例与协定等,例如Linux文件系统、网络协定、ASCII code等等的说明
8 系统管理员可用的管理指令【重要】
9 跟kernel有关的文件

man page的内容以 NAME 作为开始介绍,最后还有个 SEE ALSO 来作为结束,大致分成下面这几个部分:

名称 内容说明
NAME 简短的指令、数据名称说明
SYNOPSIS 简短的指令下达语法(syntax)简介
DESCRIPTION 较为完整的说明,这部分最好仔细看看!
OPTIONS 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS 当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的指令
FILES 这个程序或数据所使用或参考或链接到的某些文件
SEE ALSO 可以参考的,跟这个指令或数据有相关的其他说明!
EXAMPLE 一些可以参考的范例

在man page当中可以使用 PgUp/PgDn 来翻页,可以输入 /word 来查询关键字,按下 q 可以退出


参考资料与延伸阅读


YOLO