美文网首页
基础篇(七)—Linux常用基本命令

基础篇(七)—Linux常用基本命令

作者: 白羊鱼 | 来源:发表于2018-12-02 11:14 被阅读0次

    帮助命令

    man

    • 基本语法:man [命令或配置文件]
    • 功能描述:获得帮助信息
    • 内容说明:
      • NAME 命令的名称和单行描述
      • SYNOPSIS 怎样使用命令
      • DESCRIPTION 命令功能的深入讨论
      • EXAMPLES 怎样使用命令的例子
      • SEE ALSO 相关主题(通常是手册页)
    • 案例:[root@hadoop101 home]# man ls

    help

    • 基本语法:help 命令
    • 功能描述:获得shell内置命令的帮助信息
    • 案例:[root@hadoop101 bin]# help cd
    • 补充:
      • shell内置命令和外部命令的区别:
        内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bashy源码里面的,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。比如:exit,history,cd,echo等。
        外部命令是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin......等等。可通过“echo $PATH”命令查看外部命令的存储路径,比如:ls、vi等。
        内部命令和外部命令最大的区别之处就是性能。内部命令由于构建在shell中而不必创建多余的进程,要比外部命令执行快得多。因此和执行更大的脚本道理一样,执行包含很多外部命令的脚本会损害脚本的性能。
      • 用type命令可以分辨内部命令与外部命令:

    常用快捷键

    命令 功能
    ctrl + c 停止进程
    ctrl + z 挂起进程
    ctrl+l 清屏
    reset 彻底清屏
    ctrl + q 退出
    tab 补全
    上下键 查找执行过的命令
    ctrl +alt linux和Windows之间切换

    文件目录类

    cd 切换目录

    命令 功能
    cd 绝对路
    cd 相对路径
    cd 或者 cd ~ 回到自己的家目录(root用户即/root,普通用户即/home/用户名目录)
    cd - 回到上一次所在目录
    cd .. 回到当前目录的上一级目录
    cd -P 跳转到快捷方式指向的实际地址(与软连接相关)

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

    ls 列出目录的内容

    命令 功能
    ls 展示所有文件,但隐藏文件不展示
    ls -a [目录或是文件] 全部的文件,连同隐藏的( 开头为 . 的文件) 一起列出来
    ls -l [目录或是文件] 长数据串列出,包含文件的属性与权限等等数据

    mkdir 创建一个新的目录

    命令 功能
    mkdir 要创建的目录
    mkdir -p 要创建的目录 创建多级目录

    rmdir 删除一个空的目录

    touch 创建空文件

    cp 复制文件或目录

    命令 功能
    cp source dest 复制source文件到dest
    cp -r sourceFolder targetFolder 递归复制整个文件夹

    rm 移除文件或目录

    命令 功能
    rmdir deleteEmptyFolder 删除空目录
    rm -rf deleteFile 递归删除目录中所有内容

    mv 移动文件与目录或重命名

    命令 功能
    mv oldNameFile newNameFile 重命名
    mv /temp/movefile /targetFolder 递归移动文件

    cat 查看文件内容

    查看文件内容,从第一行开始显示。

    命令 功能
    cat 要查看的文件 在命令行显示目标文件的内容
    cat -A 要查看的文件 相当于下面 -vET 的整合选项,可列出一些特殊字符而不是空白而已
    cat -b 要查看的文件 列出行号,仅针对非空白行做行号显示,空白行不标行号!
    cat -E 要查看的文件 将结尾的断行字节 $ 显示出来
    cat -n 要查看的文件 列出行号,连同空白行也会有行号,与 -b 的选项不同
    cat -T 要查看的文件 将 [tab] 按键以 ^I 显示出来
    cat -v 要查看的文件 列出一些看不出来的特殊字符
    • 当用vim看文件看不出什么特殊符号导致的错误时,可以用cat -A 查看到
    • 如果开发中,通过cat -A 命令发现有^M的特殊字符,这个文件基本上就要重写了,因为该字符很难删除

    tac查看文件内容

    查看文件内容,从最后一行往上倒叙显示。可以看出 tac 是 cat 的倒著写。

    more 查看文件内容

    查看文件内容,一页一页的显示文件内容。

    • 基本语法 :more 要查看的文件
    • 功能使用说明:
    命令 功能
    空白键 (space) 代表向下翻一页
    Enter 代表向下翻『一行』
    q 代表立刻离开 more ,不再显示该文件内容
    Ctrl+F 向下滚动一屏
    Ctrl+B 返回上一屏
    = 输出当前行的行号
    :f 输出文件名和当前行的行号

    less 查看文件内容

    less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用[pageup] [pagedown]往回滚动。

    • 基本语法:less 要查看的文件
    • 功能使用说明:
    命令 功能
    空白键 (space) 代表向下翻一页
    [pagedown] 向下翻动一页
    [pageup] 向上翻动一页
    /字串 向下搜寻『字串』的功能;n:向下查找;N:向上查找
    ?字串 向上搜寻『字串』的功能;n:向上查找;N:向下查找
    q 离开 less 这个程序

    head查看文件内容

    查看文件内容,只看头几行。

    命令 功能
    head -n 10 文件 查看文件头10行内容,10可以是任意行数

    tail 查看文件内容

    查看文件内容,只看尾巴几行。

    命令 功能
    tail -n 10 文件 查看文件尾10行内容,10可以是任意行数
    tail -10f 文件 查看文件尾10行内容,10可以是任意行数
    tail -f 文件 实时追踪该档的所有更新

    重定向命令

    命令 功能
    ls -l > a.txt 列表的内容写入文件a.txt中(覆盖写)
    ls -al >> aa.txt 列表的内容追加到文件aa.txt的末尾(追加写)

    echo

    命令 功能
    echo 要显示的内容xxx >> 存储内容的的文件 将要显示的内容xxx,存储到文件中
    echo 变量 显示变量的值

    ln软链接

    命令 功能
    ln -s [原文件] [目标目录] 给原文件创建一个软链接,软链接存放在目标目录中;类似于快捷方式,即目标文件指向原文件
    rm -rf atguigu(而不是rm -rf atguigu/) 删除软链接
    • 软连接可以指向目录,也可以指向文件
    • 根目录下(即/下)不能创建快捷方式

    history 查看所敲命令历史

    时间日期类

    date显示当前时间

    命令 功能
    date 显示当前时间
    date +%Y(date和+之间有个空格,下面命令都是) 显示当前年份
    date +%m 显示当前月份
    date +%d 显示当前是哪一天
    date +%Y%m%d 或 date +%Y/%m/%d … 显示当前年月日各种格式
    date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒

    date显示非当前时间

    命令 功能
    date -d '1 days ago' 显示前一天日期
    date -d yesterday +%Y%m%d 显示前一天日期
    date -d next-day +%Y%m%d 显示明天日期
    date -d 'next monday' 显示下周一时间

    date设置系统时间

    命令 功能
    date -s "2017-06-19 20:52:18" 设置系统时间

    cal查看日历

    命令 功能
    cal 显示本月日历
    cal -3 显示系统前一个月,当前月,下一个月的日历
    cal 具体年份 显示这一年的日历

    用户管理命令

    添加新用户

    useradd 用户名

    设置用户密码

    passwd 用户名

    判断用户是否存在

    id 用户名

    切换用户

    命令 功能
    su 用户名称 切换用户,只能获得用户的执行权限,不能获得环境变量 ??
    su - 用户名称 切换到用户并获得该用户的执行权限及环境变量 ??

    userdel 删除用户

    命令 功能
    userdel 用户名 删除用户但保存用户主目录
    userdel -r 用户名 用户和用户主目录,都删除

    who 查看登录用户信息

    命令 功能
    whoami 显示自身用户名称
    who am i 显示登录用户的用户名 ??
    who 看当前有哪些用户登录到了本台机器上

    设置atguigu普通用户具有root权限 ??

    修改配置文件:

    • 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)     ALL
    atguigu   ALL=(ALL)     ALL
    
    • 或者配置成采用sudo命令时,不需要输入密码
    ## Allow root to run any commands anywhere
    root      ALL=(ALL)     ALL
    atguigu   ALL=(ALL)     NOPASSWD:ALL
    

    修改完毕,现在可以用atguigu帐号登录,然后用命令 su - ,即可获得root权限进行操作。

    查看创建了哪些用户

    cat /etc/passwd

    usermod修改用户所属组

    命令 功能
    usermod -g 用户组A 用户名a 将用户a加入到用户组A中

    相关文章

      网友评论

          本文标题:基础篇(七)—Linux常用基本命令

          本文链接:https://www.haomeiwen.com/subject/npzdcqtx.html