• 【Linux】快速入门法宝~你值得拥有


    查阅命令帮助信息

    man

    man是manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用

    man的操作建

    操作键功能说明
    空格键显示手册的下一屏内容
    回车键一次滚动手册页的一行
    b回滚一屏
    f前滚一屏
    q退出
    /内容搜索/后面的内容
    ↑、↓向上或向下滚动一行

    使用格式:

    man 命令

    举例:

    [root@node100 ~]# man find
    

    help

    显示命令帮助文本。

    命令 --help

    [root@node100 /]# find --help
    

    切换目录

    cd

    切换工作目录

    常用选项命令说明
    cd进入用户主目录
    cd ~进入用户主目录
    cd -返回进入此目录之前所在的目录
    cd ..返回上级目录(若当前目录为"/",则执行完后还在"/";".."为上级目录的意思)
    cd ../..返回上两级目录
    cd 相对路径进入到当前目录下的某个目录
    cd 绝对路经进入到指定的绝对路径

    举例:进入到指定路径

    [root@node100 ~]# cd /etc/ntp/
    

    显示工作目录

    pwd

    对应英文(print work directory)其用途:查看当前所在目录

    [root@node100 ntp]# pwd
    

    查看目录内容

    ls

    对应英文(list)显示目录内容列表

    使用格式:ls [选项]... [目录或文件名]

    常用选项命令说明
    ls 目录显示目录内容列表
    ls -l 目录详细信息显示 简写ll
    ls -a 目录显示所有子目录和文件的信息,包括隐藏文件
    ls -R 目录递归显示内容
    ls -h 目录以友好方式显示文件大小

    举例:

    [root@node100 /]# ls
    

    [root@node100 /]# ll
    

    [root@node100 /]# ll -h
    

    [root@node100 /]# ll /etc/ntp/
    

    创建目录

    mkdir

    对应英文( make directory) 创建目录:

    使用格式: mkdir [选项] [参数]

    常用选项命令说明
    mkdir test创建test目录
    mkdir -p demo/test级联创建一级目录demo以及二级目录test
    [root@node100 /]# mkdir test
    

    [root@node100 /]# mkdir -p demo/test
    

    创建文件

    touch

    用途:创建文件,使用格式:touch 文件名

    [root@node100 /]# touch a.txt
    

    删除操作

    rmdir

    对应英文(remove)用途:删除空目录(只能删除目录)

    使用格式:rmdir [-p] dirName

    常用选项命令说明
    rmdir test删除test目录
    rmdir -p demo/test级联删除一级目录demo以及二级目录test
    [root@node100 /]# rmdir test
    

    [root@node100 /]# rmdir demo/test
    

    rm

    使用格式: rm [选项] 文件或目录

    删除文件或目录

    使用 rm 命令要小心,因为文件删除后不能恢复

    常用选项命令说明
    rm a.txt删除文件a.txt
    rm -f a.txt强制删除,忽略不存在的文件,没有提示
    rm -r demo递归删除目录或文件demo
    rm -rf 文件或目录强制递归删除文件或目录
    [root@node100 /]# rm -rf a.txt 
    

    复制文件

    cp

    使用格式: cp [选项] 源文件或目录 目标文件或目录

    命令说明
    cp a a_copy复制文件a,并命名为a_copy
    cp -R demo demo_copy复制目录demo,并命名为demo_copy
    [root@node100 /]# cp -R demo demo_copy
    

    移动文件

    mv

    用途:移动文件,如果与源文件位置一样,则相当于重命名.

    使用格式: mv [选项]... 源文件或目录 目标文件或目录

    常用选项命令说明
    mv a /demo将当前目录下的文件a移动到更目录下的demo目录里
    [root@node100 /]# mv a /demo
    

    查看文件内容

    cat

    用途:连接文件并打印到标准输出设备上

    使用格式:cat [选项] 文件

    常用选项命令说明
    cat bb将文件bb内的内容全部打印出来
    cat -n bb将文件bb内的内容全部打印出来,并显示行号
    [root@node100 /]# cat -n bb
    

    用途:在屏幕上显示指定文件的开头若干行,默认显示 10 行

    使用格式:head [选项] 文件

    常用选项命令说明
    head cc打印文件cc内前十行的内容
    head -15 cc打印文件cc内前15行的内容
    [root@node100 /]# head -15 cc
    

    tail

    用途:在屏幕上显示指定文件的末尾若干行,默认显示 10 行。

    使用格式:tail [选项] 文件

    常用选项命令说明
    tail cc打印文件cc内后十行的内容
    tail -15 cc打印文件cc内后15行的内容
    [root@node100 /]# tail -15 cc
    

    more

    用途:显示文件内容,每次显示一屏。

    使用格式:more 文件

    more的操作键

    按键说明
    按 Space 键显示文本的下一屏内容
    按 Enter 键只显示文本的下一行内容
    按 h 键显示帮助屏,该屏上有相关的帮助信息
    按 b 键显示上一屏内容
    按 q 键退出 more 命令

    less

    用途:分屏上下翻页浏览文件内容

    使用格式:less 文件

    less的操作键

    按键说明
    按 e 键向上滚动一行
    按 y 键向下滚动一行
    G跳到文件末尾
    g跳到文件首行

    查找文件

    find

    findd的命令功能非常强大,通常用在“特定的目录下找符合条件的文件”

    使用格式:find [路径] [选项] 表达式

    常用选项命令说明
    find *1在当前目录下查找名字中最后一位为1的文件或目录
    find / 1*表示从根目录中查找名字是1开头的文件或目录
    find / -name *1*从根目录中查找名字中包含1的文件或目录

    *注意:表示通配符

    [root@node100 /]# find / -name *1*
    

    清屏操作

    clear

    [root@node100 /]# clear
    

    网络测试命令

    ping

    使用格式:ping ip地址或主机名称

    [root@node100 /]# ping www.baidu.com
    

    常用快捷键

    tab

    输入任何文件名或者目录名的部分字符,敲击tab键,它将会自动补充你需要的文件名,或显示全部可能出现的结果。

    上下方向键或者CTRL+P、CTRL+N

    CTRL+P键显示上一条命令,CTRL+N键显示下一条命令。

    CTRL+U

    清除光标前所有的内容。

    CTRL+C

    中断命令或任务,比如我们在ping网络的时候,可以使用CTRL+C来中断命令。

    CTRL+R

    在历史命令中查找,根据输入的字符进行模糊匹配,继续按CTRL+R,切换匹配的多个结果,按回车键选中,按ESC选中。

    复制粘贴

    在Linux命令行中:复制CTRL+INSERT 粘贴SHIFT+INSERT

    关机和重启

    poweroff

    关机命令

    reboot

    重启

    echo 输出

    echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用

    重定向 > 和 >>

    > 表示输出,会覆盖文件原有的内容

    >> 表示追加,会将内容追加到已有文件的末尾

    vi文本编辑器

    Linux中最常用的文本编辑器

    vi:类Unix系统中默认的文本编辑器;

    vim:vi编辑器的增强版本,习惯上也称为vi;

    vi文本编辑器的作用和特性:vi可以执行插入、删除、查找、替换等众多文本操作,而且用户可以根据自己的需要对其进行定制,只是一个文本编辑器,不能排版;

    vi没有菜单,只有命令 ;

    vi的三种工作模式

    vi有三种基本工作模式,分别是:

    命令模式 (command mode):或叫一般模式

    插入模式 (insert mode):或叫编辑模式

    末行模式 (last line mode):命令行模式

    vi操作命令

    插入命令

    在命令模式下进行以下操作:

    按键说明
    i在光标前插入
    I在当前行首插入
    a在光标后一位开始插入
    A在当前行尾插入
    o在当前行下面插入一个新行
    O在当前行上面插入一个新行

    定位命令

    在命令模式下进行以下操作:

    按键说明
    $移至当前行行尾
    0移至当前行行首
    gg移到第一行行首
    G移到最后一行行首
    nG移到第n行行首

    在末行模式下进行以下操作:

    命令说明
    :set nu显示行号
    :set nonu隐藏行号
    :n移到第n行

    删除命令

    在命令模式下进行以下操作:

    命令说明
    x删除光标所在的文字
    nx删除光标后面的n个字符
    X删除光标前面的一个字符
    nX删除光标前面的n个字符
    dd删除光标所在行
    ndd删除从光标所在行开始向下数n行

    复制和剪切命令

    在命令模式下进行以下操作:

    按键说明
    yy、Y复制当前行
    nyy、nY复制从当前行开始以下n行
    p粘贴在当前光标所在行下
    P粘贴在当前光标所在行上

    替换和取消命令

    在命令模式下进行以下操作:

    按键说明
    r替换光标所在处的一个字符
    R进入替换模式,从光标所在处开始替换字符,按Esc结束
    uundo 撤销上一步操作

    在末行模式下进行以下操作:

    s(substitute)指令可搜寻某行列范围

    g(global)指令可搜寻整个编辑缓冲区的资料

    举例:

    :%s/old/new/g # 将文件中所有的“old”替换成“new”
    
    :10,20s/old/new		  #	将第10行至第20行第一次出现“old”的地方替换成“new
    :%s/^/hi/g # 在所有行的行首插入“hi”
    
    :%s/$/goodbye/g	       # 在所有行的行尾添加“goodbye”
    

    保存和退出命令

    在末行模式下进行以下操作:

    按键说明
    :w保存修改
    :q退出
    :wq保存修改并退出
    :q!强制退出
    :wq!保存强制退出

    系统时间管理

    显示系统当前时间和时区

    datedate -R

    [root@node100 ~]# date
    

    [root@node100 ~]# date -R
    

    格式化输出的选项

    选项说明
    %Y
    %m
    %d
    %H
    %M
    %S
    [root@node100 ~]# date "+%Y_%m_%d %H:%M:%S"    # 分隔符可自己定义
    

    网络管理

    ifconfig

    查看当前所有活动网络接口的状态信息,如下图:

    [root@node100 ~]# ifconfig
    

    设置主机名

    命令:hostname查看主机名

    [root@node100 ~]# hostname
    

    CentOS 6修改主机名

    编辑文件:/etc/sysconfig/network

    [root@node100 ~]# vim /etc/sysconfig/network
    

    CentOS 7修改主机名

    编辑文件:/etc/hostname

    [root@node100 ~]# vim /etc/hostname
    

    注意:修改完成保存退出。需要重启虚拟机才能生效。

    配置主机映射

    编辑文件:/etc/hosts

    [root@node100 ~]# vim /etc/hosts
    

    设置防火墙

    CentOS 6命令

    命令说明
    service iptables status查看防火墙状态
    service iptables start开启防火墙
    service iptables stop关闭防火墙

    CentOS 7命令

    命令说明
    systemctl status firewalld查看防火墙状态
    systemctl start firewalld开启防火墙
    systemctl stop firewalld关闭防火墙

    进程管理

    ps命令

    命令说明
    ps查看系统进程的命令
    ps -ef查看系统的所有进程的详细信息
    [root@node100 ~]# ps -ef
    

    kill命令

    命令说明
    kill 进程号结束进程
    kill -9 进程号强制杀死进程

    用户和组

    Linux是一个多任务多用户的操作系统,使用ls –l命令显示如下信息:

    Linux用户类型

    Linux用户信息相关文件:/etc/passwd 和 /etc/shadow

    查看文件/etc/passwd 文件的内容

    root:x:0:0:root:/root:/bin/bash
    

    Linux组类型

    Linux组信息相关文件:/etc/group 和 /etc/gshadow

    查看文件/etc/group 文件的内容

    hadoop:x:500:
    

    \

    用户操作

    注意:以下操作必须使用root用户

    添加用户

    useradd 用户名
    

    设置密码

    passwd 用户名
    

    修改用户

    usermod -l 新名字 旧用户名
    

    删除用户

    1. userdel -r 用户名
    2. # -r 表示把用户及用户的主目录都删除

    组操作

    注意:以下操作必须使用root用户

    添加组

    groupadd 组名
    

    修改组

    groupmod –n 新组名 旧组名
    

    添加用户到组

    gpasswd –a 用户 组
    

    将组中的用户删除

    gpasswd –d 用户 组
    

    删除组

    groupdel 组
    

    创建用户指定组

    useradd -g 组 用户
    

    文件权限

    格式解读

    -:标识节点类型(d:文件夹 -:文件 l:链接)

    文件文件夹
    r可读取内容可以ls
    w可修改文件的内容可以在其中创建或删除子节点
    x能否运行这个文件能否cd进入到这个目录

    数字权限值

    除了用字母rwx来表示权限,还可以使用3位数字来表达文件或目录的权限。

    每个数字是相应对象指派的以下三个值的和:

    读:4

    写:2

    执行:1

    修改权限

    使用格式:chmod [选项] 符号 filename 或者 chmod [选项] 数值 filename

    示例:

    命令说明
    chmod u=rwx demo设定demo目录的拥有者有读、写、和搜索或访问的权限,同时保证组和其它用户的原有权限不变
    chmod ugo-rw demo
    或者
    chmod a-rw demo
    任何用户对目录demo都没有读和写的权限
    chmod -R ugo+rw demo设定所有用户对demo目录及以下所有文件都有读和写的权限
    chmod 664 demo设定demo目录的拥有者和组用户有读和写的权限,其他用户只有读的权限

    更改文件或目录的所有者和组

    注意:以下操作必须使用root用户

    命令:chown

    只修改

    命令说明
    chown 用户 文件只更改所有者,而不更改组
    chown :组名 文件只更改组,而不更改用户
    chown 用户:组 文件同时更改文件的用户和组

    计划任务

    命令:crontab

    功能:

    在固定的间隔时间执行指定的系统指令;

    时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合;

    这个命令非常适合周期性的日志分析或数据备份等工作。

    使用格式:crontab [-u 用户] [选项] (-u 用户:用来设定某个用户的crontab服务,若不指定则表示当前用户) 

    选项说明

    选项说明
    -e编辑某个用户的定时任务。
    -l显示某个用户的定时任务。
    -r删除某个用户的定时任务。

    配置文件

    1. * * * * * command
    2. 分 时 日 月 周 命令
    3. 第 1 列表示分钟 1~59 每分钟用*或者 */1 表示
    4. 第 2 列表示小时 0~23(0 表示 0 点)
    5. 第 3 列表示日期 1~31
    6. 第 4 列表示月份 1~12
    7. 第 5 列标识号星期 0~6(0 表示星期天)
    8. 第 6 列要运行的命令

    特殊符号说明

    1. “*” 代表取值范围内的数字
    2. “/” 代表“每”,
    3. “-” 代表从某个数字到某个数字,
    4. “,” 分开几个离散的数字

    配置示例

    命令说明
    */10 * * * * echo 1 >> /a.txt表示每隔十分钟向a.txt追加数字1
    30 21 * * * echo 1 >> /a.txt表示每晚的 21:30向a.txt追加数字1
    55 5 1,15 * * echo 1 >> /a.txt表示每月 1、 15日的 5 : 55向a.txt追加数字1
    0,30 18-23 * * * echo 1 >> /a.txt表示在每天 18 : 00 至 23 : 00 之间每隔 30 分钟向a.txt追加数字1
    59 23 * * 6 echo 1 >> /a.txt表示每星期六的 11 : 59 pm 向a.txt追加数字1

    压缩打包

    gzip压缩

    使用格式:gzip 文件名
    

    gzip解压缩

    使用格式:gzip  -d  *.gz格式的压缩文件
    

    bzip2压缩

    使用格式:bzip2  文件名
    

    bzip2解压缩

    使用格式:bzip2  -d  *.bz2格式的压缩文件
    

    压缩与解压缩:tar命令

    tar打包

    1. 使用格式:tar -cvf 压缩名 文件名/目录
    2. 相关参数解释:
    3. c: create,创建压缩文件
    4. v: verbose,显示过程
    5. f: file,指定文件

    tar解包

    1. 使用格式:tar -xvf *.tar格式的打包文件
    2. 相关参数解释:
    3. x: extract,解压缩文件,或者叫还原文件

    tar打包并压缩(.tar.gz)

    1. 使用格式:tar -zcvf 打包压缩名 文件名/目录
    2. 相关参数解释:
    3. z: gzip,通过 gzip 格式压缩或者解压缩

    tar解包并解压缩(.tar.gz)

    使用格式:tar  -zxvf  *.tar.gz格式的打包压缩文件
    

    tar打包并压缩(.tar.bz2)

    1. 使用格式: tar -jcvf 打包压缩名 文件名/目录
    2. 相关参数解释:
    3. j:支持 bzip2 压缩和解压缩

    tar解包并解压缩(tar.bz2)

    使用格式: tar  -jxvf  *.tar.gz格式的打包压缩文件
    

    正则表达式

    正则表达式概述

    正则表达式(Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符。
    许多程序设计语言都支持利用正则表达式进行字符串操作。
    正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
    支持正则表达式的程序如:locate |find| vi| grep| sed |awk

    正则的作用:

    匹配邮箱、匹配身份证号码、手机号、银行卡号;
    匹配某些特定字符串,做特定处理等等。

    正则中普通常用的元字符

    名词解释:

    元字符:指那些在正则表达式中具有特殊意义的专用字符,如: 点 (.) 星(*) 问号(?)等。

    前导字符:位于元字符前面的字符. abc* aooo.

    元字符功能备注
    .匹配除了换行符以外的任意字符
    *前导字符出现0次或连续多次
    .*任意长度字符ab.*
    ^行首(以...开头)^root
    $行尾(以...结尾)bash$
    ^$空行
    []匹配括号里任意单个字符或一组单个字符[abc]
     [^]匹配不包含括号里任一单个字符或一组单个字符[^abc]
    ^[] 匹配以括号里任意单个字符或一组单个字符开头 ^[abc]
    ^[^]匹配不以括号里任意单个字符或一组单个字符开头

    正则中其他常用元字符

    元字符功能
    \<取单词的头
    \>取单词的尾
    \< \>精确匹配
    \{N\}匹配前导字符连续出现N次
    \{N,\}匹配前导字符至少出现N次
    \{N,M\}匹配前导字符出现N次与M次之间
    \( \)保存被匹配的字符
    \d匹配数字
    \w匹配字母数字下划线
    \s匹配空格、制表符、换页符

    扩展类正则常用元字符

    扩展元字符功能备注
    +匹配一个或多个前导字符bo+匹配boo、bo
    ?匹配0个或1个前导字符bo?匹配b、bo
    ``
    ()组字符(看成整体)(my|your)self:表示匹配myself或者yourself
    {N}前导字符重复n次
    {N,}前导字符重复至少n次
    {N,M}前导字符重复n到m次
    表达式功能
    [:alnum:]字母与数字
    [:alpha:]字符(包括大小写)
    [:blank:]空格与制表符
    [:lower:]小写字母
    [:upper:]大写字母
    [:punct:]标点符号
    [:space:]包括换行符,回车等在内的所有空白
    [:digit:]数字

    grep

    grep命令是一种强大的文本搜索工具,用于查找文件中符合条件的字符串,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    使用格式: grep [选项] "搜索内容" 文件名 [--color (将搜索结果中的搜索内容加颜色)]

    常用选项说明
    -i忽略大小写
    -n输出行号
    -v反向查找

    示例:

    [root@node100 /]# grep q a.txt --color
    

    也可以使用上面的正则表达

    [root@node100 /]# grep ^[0-9] a.txt --color
    

    sed

    sed是Stream Editor(流编辑器)的缩写,简称流编辑器;用来处理文件的

    sed是一行一行读取文件内容并按照要求进行处理,把处理后的结果输出到屏幕。

    首先sed读取文件中的一行内容,把其保存在一个临时缓存区中(也称为模式空间)

    然后根据需求处理临时缓冲区中的行,完成后把该行发送到屏幕上,由于sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会直接修改原文件。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作,对文件进行过滤和转换操作

    使用格式:sed [选项] '处理动作' 文件名

    常用选项

    选项说明备注
    -e进行多项编辑
    -n取消默认输出不自动打印模式空间
    -r使用扩展正则表达式
    -i原地编辑(修改源文件)
    -f指定sed脚本名称

    常见处理动作

    动作说明备注
    'p'打印
    'i'在指定行之前插入类似vim里的大写O
    'a'在指定行之后插入类型vim里的小写o
    'c'替换指定行所有内容
    'd'删除指定行

    示例:

    1. 1)打印文件内容
    2. [root@tom ~]# sed -n 'p' a.txt # 打印每一行
    3. [root@tom ~]# sed -n '1p' a.txt # 打印第1行
    4. [root@tom ~]# sed -n '2p' a.txt # 打印第2行
    5. [root@tom ~]# sed -n '1,5p' a.txt # 打印1到5行
    6. [root@tom ~]# sed -n '$p' a.txt # 打印最后1行
    7. 2)增加文件内容
    8. [root@tom ~]# sed '$a99999' a.txt # 文件最后一行下面增加内容
    9. [root@tom ~]# sed 'a99999' a.txt # 文件每行下面增加内容
    10. [root@tom ~]# sed '5a99999' a.txt # 文件第5行下面增加内容
    11. [root@tom ~]# sed '$i99999' a.txt # 文件最后一行上一行增加内容
    12. [root@tom ~]# sed 'i99999' a.txt # 文件每行上一行增加内容
    13. [root@tom ~]# sed '6i99999' a.txt # 文件第6行上一行增加内容
    14. [root@tom ~]# sed '/^bin/ih9999' # 以bin开头行的上一行插入内容
    15. 3)修改文件内容
    16. [root@tom ~]# sed '5chello world' a.txt # 替换文件第5行内容
    17. [root@tom ~]# sed 'chello world' a.txt # 替换文件所有内容
    18. [root@tom ~]# sed '1,5chello world' a.txt # 替换文件1到5行内容为hello world
    19. [root@tom ~]# sed '/^bin/c888888' a.txt # 替换以bin开头的行
    20. 4)删除文件内容
    21. [root@tom ~]# sed '1d' a.txt # 删除文件第1行
    22. [root@tom ~]# sed '1,5d' a.txt # 删除文件1到5行
    23. [root@tom ~]# sed '$d' a.txt # 删除文件最后一行
  • 相关阅读:
    实战之AngularJS 的Scope和Service的深入应用心得
    hdlbits系列verilog解答(模块按名字)-22
    MySQL安装及应用合集(5):如何优雅地写MySQL
    YOLOv7改进:CBAM注意力机制
    【Rust日报】2022-09-08 用于稳定泛型关联类型的 Pull Request 进入最后评论期
    【无标题】
    python工具-解析wireshark的rtp抓包
    创邻科技Galaxybase助力SPG推动知识图谱应用落地
    java毕业生设计学生学籍信息管理系统计算机源码+系统+mysql+调试部署+lw
    java毕业设计南京新东方学校家校通系统源码+lw文档+mybatis+系统+mysql数据库+调试
  • 原文地址:https://blog.csdn.net/Hao1999_/article/details/125880298