• linux基础_02


    1.什么是Bash shell(壳)

    BashShell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。
    当我们使用远程连接工具连接linux服务,系统则会给打开一个默认的shell,我们可在这个界面执行命令、比如:获取系统当前时间,创建一个用户等等...

    2.Bash Shell能干什么?
    使用Shell实现对Linux系统的大部分管理,例如:
    1.文件管理
    2.权限管理
    3.用户管理
    4.磁盘管理
    5.网络管理
    6.软件管理
    .等等.

    3. Bash shell执行方式
    输入命令方式 --->效率低--->适合少量的工作
    shell script --->效率高--->适合复杂的工作

    4.了解
    Bash ---> GNU/Bash
    [root@www ~]# bash -version
    GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)

    Bash是默认的shell,其实上还有很多其他的shell


    5.shell提示符
    $ = 普通用户, # = root用户(超级管理员)
    [root@xuliangwei ~]# whoami
    root

    [root@beua ~]# echo $PS1
    [u@h W]$
    root: 当前登录系统的用户
    www: 当前系统的主机名称
    ~: 当前所在的位置
    #: 通常情况下,是超级管理员的身份
    $: 只要是普通用户,则为$符号

    [oldboy1@beua ~]$


    命令行bash shell, 为用户提供输入, 执行命令的界面

    #命令 选项 参数
    command [-options] [arguments]

    [root@beua ~]# ls #命令
    [root@beua ~]# ls -a #命令+选项
    [root@beua ~]# ls -a /home/ #命令+选项+参数

    #命令: 整条shell命令的主体
    #选项: 用于调节命令的具体功能
    #以 “-”引导短格式选项(单个字符),例如“-a”
    #以“--”引导长格式选项(多个字符),例如“--all”
    #多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
    #参数: 命令操作的对象,如文件、目录名等

    PS: 选项和参数在有些命令的时候时,位置可以发生变化.
    PS: 命令必须开头, 选项和参数位置可以发生变化

    [root@beua ~]# ls-a
    bash: ls-a: command not found... 找不到命令(要么命令写错了,要么就真的没有该命令)

    [root@beua ~]# ls /.bashrc
    ls: cannot access /.bashrc: No such file or directory 没有这个文件或目录

    PS:相信电脑,永远不要相信自己


    bash shell特性

    1.tab键补全支持
    命令补全 选项补全 参数补全
    在实际生产中tab补全往往是我们使用的最多的, 因为可以减少执行命令以及路径出错率。


    命令补全: 按一下tab键没有任何反应,因为以user开头的命令有很多,系统并不知道你需要使用哪一个
    [root@beua ~]# user
    useradd userdel userhelper usermod usernetctl users


    路径补全:

    beua
    2.bash shell常用的快捷键
    ctrl +a 跳转光标至本行的首部
    ctrl +e 跳转光标至本行的尾部
    ctrl +u 删除从光标到行首的所有字符
    ctrl +k 删除从光标到行末的所有字符
    ctrl +l 清屏,还可以使用clear命令
    ctrl +c 终止当前的任务
    ctrl +d 退出服务器, 还可以使用logout或exit
    ctrl +w 按空格删除光标之前的内容
    ctrl +z 将当前的任务挂起
    ctrl +r 搜索命令,
    ctrl +s 锁住屏幕,解锁ctrl+c [忽略]
    ctrl + 左右方向键 按照单词快速的跳转光标, Xshell工具提供的
    #号符: 注释(代表不执行)

    3.历史记录history
    history 命令直接查看当前的shell所执行过的命令
    !100 调用history历史命令中编号为100
    !! 执行上一次执行过的指令

    选项
    -w 保存命令历史到历史文件 write #写入到当前用户的家目录下.bash_history
    -c 清空命令历史记录, 不会情况文件 clear
    -d 删除命令历史的第 N 条行 delete
    Ecs + . 获取上一个命令的参数


    4.命令别名alias

    1.如何设定别名
    alias oldboy=ping www.baidu.com

    2.如何取消别名
    unalias oldboy

    3.为什么系统默认存在一些别名:
    防止在执行危险指令时,发生误操作的情况,比如:
    alias rm='rm -i'

    PS: 当前的别名全部都是针对当前的Shell生效,临时生效.
    4.永久生效{扩展}
    将内容写入到 /etc/bashrc 所有的shell都生效


    5.命令帮助--help man

    [root@beua ~]# ls --help
    用法:ls [选项]... [文件]...

    #ls 常见选项
    -a #查看目录下的所有文件,包括隐藏文件
    -l #以长格式的方式显示文件的详细内容
    -h #以人性化的方式显示内容,配合-l使用
    -d #只列出目录名,不列出目录以下的内容
    -t #按修改时间进行排序
    -i #显示文件的inode(该文件在该分区的一个编号)

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

     习题:

    1.超级用户(管理员用户)提示符是__#__,普通用户提示符是__$_。


    2.linux关机重启的命令有哪些 ?
    linux关机命令 shutdown
    shutdown -h 10 #计算机将于10分钟后关闭,且会显示在登录用户的当前屏幕

    shutdown -h now #计算机会立刻关机
    shutdown -h 22:22 #计算机会在这个时刻关机
    shutdown -r now #计算机会立刻重启
    shutdown -r +10 #计算机会将于10分钟后重启
    reboot #重启
    init 0 #关机
    halt #关机
    linux重启命令 reboot

    3.如何查看当前所在的目录?
    [root@beua ~]# ls
    anaconda-ks.cfg


    4.如何快速从当前目录切换到家目录?
    cd
    cd ~
    cd /root


    5.如何快速返回上一次所在的目录?
    cd ..

    cd -


    6.在家目录下创建一个名为oldboy的目录,然后进入该目录
    [root@beua ~]# mkdir oldboy;cd oldboy


    7.在oldboy目录下进入根目录下的etc目录下的yum.repos.d目录
    [root@beua ~]# cd /oldboy
    [root@beua oldboy]# cd /etc/yum.repos.d/
    [root@beua yum.repos.d]#


    8.在当前所在的yum.repos.d目录快速返回到当前目录的上级目录(根目录下的etc目录)
    [root@beua yum.repos.d]# cd ..
    [root@beua etc]#


    9.在oldboy下创建一个名为student.txt的文件
    [root@beua ~]# cd /oldboy;touch student.txt

    10.在家目录下创建oldboy目录下名为oldboyedu的目录,然后将先前创建的名为
    student.txt的文件复制到家目录下
    [root@beua ~]# mkdir -p /oldboy/oldboyedu
    [root@beua ~]# cd ../oldboy
    [root@beua oldboy]# ls
    oldboyedu student.txt
    [root@beua ~]# cp /oldboy/student.txt /home


    11.在家目录下创建一个名为job的目录,并将先前创建的名为oldboy目录及目录下的文件
    一次性复制到job目
    [root@beua ~]#mkdir jobo
    [root@beua ~]# cp -r oldboy/. job


    12.将根目录etc下的resolv.conf和hosts文件一次性复制到job目录下
    [root@beua etc]# echo /etc/resolve.conf /etc/hosts | xargs -n 1 cp -v /job
    ‘/job’ -> ‘/etc/resolve.conf’
    ‘/job’ -> ‘/etc/hosts’


    13.返回到家目录,删除家目录下oldboy目录及该目录下的所有文件
    [root@beua etc]# cd
    [root@beua ~]# rm -rf oldboy


    14.查看根目录下etc下passwd文件所有内容
    [root@beua etc]# cat /etc/passwd

     

    15.分页查看passwd的所有内容
    [root@beua etc]# more /etc/passwd


    16.只查看passwd文件头部5行内容
    [root@beua ~]# head -5 /etc/passwd


    17.只查看passwd文件尾部5行内容
    [root@beua ~]# tail -5 /etc/passwd



     

     

     

     

     

     

  • 相关阅读:
    My.NET.ClassLibrary.Note.1
    DesignPattern.Ch12.Facade.Node
    DesignPattern.Ch10.Template Method.Note
    Oracle.sql.Note
    C#.Static Field And Static Constructor.Autocriticism
    DesignPattern.Ch4.Open Closed Principle.Note
    关于n!被整除的问题【算法实现】
    令人费解的编译错误:error C2144: syntax error : 'double' should be preceded by ';' 和 error C3646: ';' : unknown override specifier
    诡异难解决的错误:Windows已在xxx.exe中触发一个断点
    Linux(Ubuntu10.04 )下libxml2的安装以及使用示例
  • 原文地址:https://www.cnblogs.com/longren/p/10725772.html
Copyright © 2020-2023  润新知