《Linux达人养成计划I》笔记分享

作者: 古洞洞 | 来源:发表于2017-03-15 15:19 被阅读142次

    课程介绍

    《Linux达人养成计划I》是慕课网上的一门Linux基础入门课程,主要学习方向是服务器管理使用的基本命令。老师非常认真,讲课简洁明了,我一个Linux文盲一点都不觉得难懂。另外,除了交的好外,此课最大的特点是,课程中被提及次数最多的人是苍老师!
    老师,我膜!!

    快捷键概括

    • 1.清屏:Ctrl+l
    快捷键 作用
    Ctrl + c 强制终止当前命令
    Ctrl + l 清屏
    Ctrl + a 光标移动到命令行首
    Ctrl + e 光标移动到命令行尾
    Ctrl + u 从光标所在位置删除到行首
    Ctrl + z 把命令放入后台
    Ctrl + r 在历史命令中搜索
    • 2.tab键
      • 目录补全(按一次键)
      • 命令补全(按两次),将所有相关命令全部显示,如键入user后,按两次tab,会出现所有user相关命令
    • 3.cat 通常用来显示文件内容。一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行
    cat m1 (在屏幕上显示文件ml的内容)  
    cat m1 m2 (同时显示文件ml和m2的内容)  
    cat m1 m2 > file(将文件ml和m2合并后放入文件file中)
    
    • 4.帮助文档中查找内容:/+[搜索内容],
      • n,一个一个向后查找
      • shift+n,一个一个向前查找
    • 5.中止退出:Ctrl + c
    • 6.chmod命令:变更文件或目录的权限
      chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。
    权限范围表示方法
    imageimage
    Linux中文件的用户权限分析图:

    rw--r--r 含义是:u属用户(管理者)--g属用户(group组员)--o属用户(其他人员)--

    操作命令

    可以直接写命令字符,如u,g,o,r,w,x;也可以使用数字命令符,r=4,w=2,x=1,

    chmod u+x,g+w f01 为文件f01设置自己可以执行,组员可以写入的权限  
    chmod u=rwx,g=rw,o=r f01  
    chmod 764 f01  
    chmod a+x f01  //对文件f01的u,g,o都设置可执行属性
    
    • 7.Linux中的回收站
      文件 /dev/null
      Linux中这个文件是文件“黑洞”,任何放入这个文件夹的文件都会被Linux抛弃,所以类似于Windows的垃圾站

    第一课 发展史

    Linux主要发行版本

    • 服务器:redhat -> centOS(主要使用对象)
    • 图形界面:ubuntu

    Linux 不靠扩展名区分文件类型

    • Linux通过权限区分文件类型
    • 常用约定俗成文件类型扩展名
      • 压缩包:".gz" 、".bz2"、".tar.bz2"、".tgz"
      • 二进制软件包:".rpm"
      • 网页文件: ".html"、".php"
      • 脚本文件: "*.sh"
      • 配置文件: "*.conf"

    命令格式

    命令 【选项】 【参数】

    注意:个别命令使用不遵循此格式,当有多个选项时,可以写在一起。简化选项与完整选项 -a 等于 --all

    如:查询目录中内容:ls

    ls [选项] [文件或目录]

    选项:
    -a 显示所有文件,包括影藏文件
    -l 显示详细信息(ls -l 简化写法 ll)
    -d 查看目录属性
    -lh 人性化显示文件大小
    -i 显示inode即id号

    第二课 Linux目录处理命令

    建立目录:mkdir

    • mkdir -p [目录名]
      • -p 递归创建,意思就是可以创建多层/一串目录,如a/b/c

    切换本地目录:cd

    • cd [目录] 命令英文原意:change directory
    • 简化操作
      • cd ~ 进入当前用户的家目录(也就是指根目录)
      • cd
      • cd - 进入上次目录
      • cd .. 进入上一级目录
      • cd . 进入当前目录
    • 查看现在所在目录 pwd

    绝对路径和相对路径

    • 绝对路径:从根目录开始进行目录切换
    • 相对路径:从当前目录进行目录切换(易出错)

    删除目录、文件

    • 删除空目录:rmdir很少用
      • rmdir + [目录名](remove empty directories)
    • 删除(任何)目录或文件:rm(remove directory)
      • rm -rf [文件或目录]
      • 选项:
        -r 删除目录时必需
        -f 强制(仅仅-r的话,系统会不断确认是否删除目标目录下的子文件,加上-rf后会强制一次性删除目标目录下所有文件)
      • 禁止使用rm -rf /。 切记禁止使用这个命令,会把整个Linux系统和文件全部删掉,一旦删掉Linux就废了

    4.复制命令:cp(copy)

    • cp +[选项]+[原文件或目录]+[目标目录]
    • 选项
      -r 复制目录必需,不加-r复制文件
      -p 连带文件属性复制
      -d 若源文件是链接文件,则复制链接属性
      -a 相当于-pdr,把原文件各种属性原封不动的全部复制到目标目录

    5.剪切或改名命令:mv(move)

    • mv +[原文件或目录]+[目标目录]

      • 剪切文件或目录时都不用加-r
      • 剪切: 原文件与目标文件不在同一个文件,就是剪切
      • 改名: 原文件与目标文件在同一个目录,就会改名

    6. Linux中常见目录作用

    禁止修改的重要目录

    • bin(或sbin):均是保存系统命令的
    • dev:保存特殊文件,如硬件文件
    • usr:系统软件资源目录
    • boot:启动目录,保存用户启动数据
    • etc:保存系统默认配置文件
    • home:普通用户家目录
    • root:超级用户家目录
    • lib:保存函数库目录
    • media和mnt和misc:空目录,用来挂载外接设备
    • tmp:临时目录,临时数据可以放在这里
    • proc:直接写入内存,保存的是内存的过载点
    • sys:同上
    • var:系统相关文档内容
      **可以修改练习的目录
    • 家目录root或home
    • tmp目录。这两个目录都可以随便放文件

    第三课 链接命令:ln(link)

    硬链接与软连接

    语法:ln+[原文件]+[目标文件](默认创建硬链接)

    硬链接

    语法:ln+[原文件]+[目标文件]

    • 硬链接特征:
      • 拥有相同的i节点(即相同iNode号码)和存储block块,可以看做是同一个文件
      • 可通过i节点识别
      • 不能跨分区
      • 不能针对目录使用

    软连接

    语法:ln -s +[原文件]+[目标文件](-s 对源文件建立符号连接,而非硬连接)

    • 软连接特征:
      • 类似Windows快捷方式
      • 软连接拥有自己的i节点和block块,但是数据块中只保存文件的文件名和i节点号,并没有实际的文件数据
      • Irwxrwxrwx I 软连接
         软连接文件权限都为rwxrwxrwx
      • 修改任意文件,另一个都改变
      • 删除源文件,软连接不能使用

    第四课 搜索命令

    文件搜索命令locate

    locate命令格式:locate 文件名

    • 在后台数据库中按文件名进行搜索
    • 后台数据库具体位置是/var/lib/mlocate
    • 这个后台数据库一天一更新,强制更新命令:updatedb
    • 缺点:只能搜索文件名

    搜索命令的命令whereis和which

    whereis
    搜索出系统命令所在的执行文件和帮助文档位置,无法搜索文件位置

    • 选项
      • -b:只查找命令执行文件
      • -m:只查找帮助文档位置
        which
        除了搜索出命令所在执行文件,还能搜索出命令的别名。如which查找ls
    [sysadmin@server3 ~]$ which ls
    alias ls='ls --color=auto'
        /bin/ls
    

    find搜索命令

    命令格式 find + [搜索范围/路径] + [搜索条件]
    如 find / -name install.log(/搜索整个根;-name以名字来搜索;install.log 文件名是install.log),这样搜索的过程非常缓慢,因为搜索整个根范围太广、文件过多,所以过程非常慢。

    注意:

    • 避免大范围搜索,会非常耗费资源
    • 默认全匹配搜索。find搜索内容,默认的是全匹配搜索,也就是说只能搜索到与搜索名完全相同的文件。
    • 模糊搜索需要通配符匹配。
      Linux中通配符:
      • 匹配任意内容 *
      • 匹配任意一个字符 ?
      • 匹配任意一个中括号内字符 []
    find /root -name "install.log*" #*会匹配头部是install.log的所有内容结果如下
    /root/install.log  #不只匹配install.log
    /root/install.log.syslog 
    
    find /root -name "*" #*号后面什么都不写,就是匹配所有文件,返回的结果就是/root下的所有文件,包括隐藏文件
    
    find /root -name "*[cd]" #代表匹配所有文件中以c或d结尾的文件
    
    find /root -name "ab[cd]" #[]代表匹配中括号内任一字符,因此,这个命令就是搜索文件名为“ab”后面跟c或d的文件。
    /root/abc
    /root/abd
    

    find命令

    • 按大小写
      find /root -iname install.log 不区分大小写
    • 按所有者
      find /root -user root 按照所有者搜索,此处是搜索根用户创建的文件
    • 查找垃圾文件
      find /root -nouser 查找没有所有者的文件,即垃圾文件
    • 按时间查找文件
      • mtime 修改文件内容的时间
      • ctime 修改文件属性的时间
      • atime 文件最近一次访问时间
      • 时间格式
        +10 查找10天前修改的文件
        -10 查找10天内修改的文件
        10 查找10天当天修改的文件
    find /tmp -mtime +10 #查找十天前修改的内容
    
    • 按文件大小查找文件
      find . -size 25k
      • -25k 小于25k的文件
      • +25k 大于25k的文件
      • 25k 等于25k的文件
    • 按inode序号来查找文件
      find . -inum 262422
    借助-exec选项与其他命令结合使用
    • find /etc -size +25k -a -size -50k
      查找/etc目录下,大于25k但是小于50k的文件
      • -a(and) 逻辑与,两个条件都满足
      • -o(or) 逻辑或,两个条件满足一个即可
    • find /etc -size +25k -a -size -50k -exec ls -lh {} ;
      查找/etc目录下,大于25k但是小于50k的文件,并显示详细信息
      • -exec标准格式: -exec 命令 {} ;
      • find . -name "*.txt" -ok rm {} ;
        找出自己家目录下所有的.txt文件并删除
        -ok和-exec行为一样,不过它会给出提示,是否执行相应的操作。
    • Linux命令大全中find介绍

    搜索字符串命令grep

    命令格式:grep+ [选项] 字符串 文件名
    选项:

    • -i 忽略大小写
    • -v 排除指定字符串
    grep "size" anaconda-ks.cfg #在文件anaconda-ks.cfg中找包含“size”字符串的内容
    grep -v "size" anaconda-ks.cfg #找出文件中没有“size”字符串的内容
    

    find命令与grep命令的区别

    • find命令:在系统当中搜索符号条件的文件名,如果需要匹配,使用通配符匹配,通配符匹配是完全匹配
    • grep命令:在文件当中搜索符号条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配,即只要包含要求“字符串”即匹配

    第五课 帮助命令

    帮助命令 man(manual)(Linux中最常用的命令)

    • man man + [命令],可以查看外部命令
    • help help +[命令],只可查看内部命令,例cd(通过whereis来区分内部还是外部命令)
    • info
      • up 返回上一层
      • n 查看下一小节
      • p 查看上一小节
      • q 退出
      • 回车进入选定的小节

    第六课 压缩与解压命令

    软件包在Linux系统中以红色显示

    • 常用压缩格式:.zip  .gz  .bz2
    • 常用压缩格式:.tar.gz  .tar.bz2(基本可以满足日常使用需要)

    .zip格式压缩

    命令格式:

    • 压缩文件:zip 压缩文件名 源文件
    • 压缩目录:zip -r 压缩文件名 源目录
    zip longzls.zip longzls #压缩文件
    
    mkdir jp #创建文件夹jp
    touch jp/cangls
    touch jp/longzls
    touch jp/boduols
    zip -r japan.zip japan #压缩目录
    
    • 解压.zip格式文件: unzip [压缩文件或目录]
    unzip longzls.zip #解压文件
    unzip Japan.zip #解压目录,与文件格式完全一样
    

    .gz格式压缩

    命令格式:
    1.压缩

    • 压缩为.gz格式的压缩文件:gzip + [源文件](源文件会消失)
    • 压缩为.gz格式,源文件保留:gzip -c + [源文件] > [压缩文件]
    gzip -c cangls > cangls.gz
    
    • 压缩目录下所有的子文件,但是不能压缩目录:gzip -r + [目录]
    gzip -r jp   #会挨个压缩jp目录下的所有文件,但是不会把所有压缩文件打包为一个压缩文件,只会把他们放在jp文件夹下
    

    2.解压缩

    • 解压文件: gzip -d + [压缩文件]
    • 解压文件:gunzip + [压缩文件]
    • 解压目录:gzip -d -r + [压缩文件]
    • 解压目录:gunzip -r [压缩文件]

    .bz2格式压缩

    命令格式:
    压缩

    • 压缩为.bz2格式(不保留源文件):bzip + [源文件]
    • 压缩后保留源文件:bzip2 -k+ [源文件]
      注意:bzip2命令不能压缩目录

    解压

    • 解压:bzip2 -d [压缩文件](-k保留压缩文件)
    • 解压:bunzip2 压缩文件(-k 保留压缩文件)

    .tar.gz压缩格式

    1.打包和解包命令tar
    由于.gzip、.bz2格式压缩方式存在各种不方便,如.bz2不能压缩目录,.gzip则只能压缩目录下的子文件,但是不能压缩目录本身,另外两种方式都不能保留源文件,因此,我们可以 尝试采用.tar打包方式来进行压缩文件,方法是首先将想要压缩的文件或目录转为.tar格式,然后就可以将.tar文件再转为.gz或者.bz2格式了

    命令格式:tar -cvf 打包文件名 源文件

    • -c :打包
    • -v :显示过程
    • -f:指定打包后的文件名
    tar -cvf longzls.tar longzls
    gzip longzls.tar #会生成一个longzls.tar.gz文件
    

    解包tar命令
    命令格式:tar -xvf + [打包文件名]

    • -x:解打包
    • 例如:
    gzip -d longzls.tar.gz #解压为longzls.tar格式
    tar -xvf longzls.tar
    

    2.一步将文件压缩为.tar.gz或.tar.bz2文件
    由于使用tar中转进行压缩还是很麻烦,因此,可以再次进行简化,方法就是通过直接压缩为.tar.gz方式进行,不再专门生成.tar,直接生成.tar.gz格式。

    命令格式:tar -zvf + 压缩包名.tar.gz + 源文件
    选项:

    • -z:压缩为.tar.gz格式

    解压命令格式:tar -zxvf 压缩包名.tar.gz
    选项:

    • -x:解压缩.tar.gz格式

    一步压缩为.tar.bz2格式同理

    • 压缩命令:tar -jcvf + [压缩包名.tar.gz] + [源文件]
    • 解压命令:tar -jxvf + [压缩包名.tar.gz]

    3.解压时解压到指定文件夹
    命令格式:解压命令 + -C + [指定目录]
    注意:C是大写

    如:

    tar -zxvf jp.tar.gz -C /tmp/ # 解压到tmp目录下
    tar -jxvf jp.tar.bz2 -C /tmp/
    

    4.同时压缩多个文件
    命令格式:tar -zcvf [压缩包名.tar.gz] + [文件1] + [文件2]

    5.仅查看压缩包
    命令格式:tar -ztvf + [压缩包名.tar.gz]

    tar -ztvf test.tar.gz
    

    总结:Linux中比较常用的还是.tar.gz、.tar.bz2格式的压缩文件,因此,熟记这两类文件的压缩和解压方法,基本上就可以满足自己的各种需求了,再有额外的需要可以进行百度Google。

    补充 .7z文件解压

    .7z压缩文件在Linux系统中没有标准工具可以用来进行操作,因此,需要安装第三方的工具进行操作,这里我们使用的是p7zip

    具体步骤来看:

    第一步:安装p7zip命令
    linux上安装7z命令有两种方式:在线安装和安装包安装。

    1 在线安装
    如果你的宿主机Linux可以连接外网,推荐用这种方式,方便简单(由于我的Linux服务器莫名的原因,我无法采用这个方法,小白一个,还不知道如何解决……)。执行命令:

    sudo apt-get install p7zip
    即可在线安装7z命令。

    2 安装包安装
    笔者采用的就是这个方法。
    宿主机linux一般是X86的,而7z提供编译好了的bin包,可以很方便的安装。步骤如下:

    • 1)到p7zip下载网站下载p7zip的最新安装包。目前,2017-2-22,最新版本是16.02;
    • 2)该网站提供两种类型的下载包供人下载,一种是源包,一种是bin包。由于宿主机Linux一般是x86的,所以我们要下的是bin包,具体格式名称以16.02为例:我们要下载的就是"p7zip_16.02_x86_linux_bin.tar.bz2",将它下载到你的Linux上
    • 3)tar命令解压p7zip安装包。具体命令格式:
      • tar -jxvf p7zip_16.02_x86_linux_bin.tar.bz2,而后会解压出一个p7zip_16.02的文件夹。
      • cd p7zip_16.02 将当前目录改为p7zip_16.02
      • sh install.sh 进行安装

    如此,p7zip命令就可以在Linux上运行了

    第二步:解压.7z文件

    • 单个文件解压:7za x [文件.7z]
    • 解压目录下文件:7za x *.7z

    第七课 关机和重启命令

    shutdown命令

    命令格式:shutdown + [选项] + [时间]
    选项:

    • -c:取消前一个关机命令
    • -h:关机(日常禁止使用,一旦关机没法远程打开)
    • -r:重启

    时间:

    • now:当前马上重启
    • 指定时间+ &:在指定时间重启(如:shutdown -r 08:30 &,在八点半重启(查看当前时间用命令:date),&命令是将重启命令放入后台,以便在重启前系统仍能继续使用,否则,不加&,系统在执行了指定时间重启命令后会down机无法使用(这时可以通过Ctrl+c中止退出))

    其他关机命令

    • halt
    • poweroff
    • init0(系统运行级别0:关机)

    其他重启命令

    • reboot
    • init6(系统运行级别6:重启)

    系统运行级别

    • 0:关机
    • 1:单用户(类似安全模式,进行系统修复)
    • 2:不完全多用户,不含NFS服务
    • 3:完全多用户
    • 4:未分配
    • 5:图形界面 X(大写X在Linux中代表图形界面)
    • 6:重启

    查看系统运行级别命令:runlevel

    定义系统默认运行级别:cat /etc/inittab
    id:3:initdefault:
    修改默认运行级别:init +[3或5]
    其他级别都不能选,因为这个是默认运行级别,一旦设为0关机或6重启,服务器就不能使用了

    退出登录命令

    命令格式:logout

    第八课 Linux中挂载命令

    挂载,可以理解为Windows当中的分配盘幅。

    查询与自动挂载

    1.查询系统中已经挂载的设备:mount
    运行结果:
    /dev/sda5 on / type ext4 (rw)

    结果解释:
    /dev:保存所有特殊设备即硬件设备目录
    /sda5:sd代表stata或者scsi等服务器硬盘接口,a代表第一块硬盘,5指第一个逻辑分区,因此,sda5指的就是第一块硬盘的第一个逻辑分区。
    / :代表根分区
    ext4:代表文件系统类型是ext4
    这条命令的意思就是第一块stata硬盘的扩展分区的第一个逻辑分区是根分区,文件系统是ext4,权限是读和写。

    补充:Linux对分区的编号
    /dev/sda1 第一个主分区
    /dev/sda2 第二个主分区
    /dev/sda3 第三个主分区
    /dev/sda4 扩展分区
    /dev/sda5 第一个逻辑分区
    /dev/sda6 第二个逻辑分区

    2.自动挂载(依据的是配置文件/etc/fstab的内容):mount -a
    结果就是会将fstab文件中注明的文件全部挂载一遍。

    挂载命令格式

    命令格式:mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
    选项:

    • -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3,ext4,iso9660(专指光盘)等文件系统。
    • -o 特殊选项:可以指定挂载的额外选项。

    补充:Linux中写脚本文件(.sh),第一行规定必须写 #!/bin/bash,意思就是告诉系统,这一行以下都是Linux的脚本。

    挂载光盘

    1.第一步:建立挂载点
    命令格式:mkdir + /mnt/cdroom/

    2.第二步:挂载光盘
    命令格式:mount -t iso9660 /dev/sr0 /mnt/cdroom

    挂载光盘可以简写为:mount /dev/sr0 /mnt/cdroom,这是由于系统默认知道光盘文件系统是iso9660

    卸载挂载盘

    命令格式:umount 设备文件名或者挂载点

    umount /mnt/cdroom #提醒:卸载前必须保证当前目录不是cdroom
    

    挂载U盘

    第一步:查看U盘设备文件名
    命令格式: fdisk -l

    第二步:挂载U盘
    命令:mount -t vfat /dev/sdb1 /mnt/usb/

    注意:Linux默认是不支持NTFS文件系统的,解决方法是可以下载一个NTFS-3g的程序,下载以后就可以挂载了,但是文件属性是只读,不能写入

    用户登录查看命令

    查看用户登录信息命令:w
    简化查看用户信息:who

    命令输出说明:
    IDLE:用户闲置时间

    JCPU:所有进程占用时间
    PCPU:当前进程占用时间
    以上数字越大表示系统负荷越重

    查看当前登录和过去登录的用户信息命令:last

    命令输出:
    用户名
    登录终端
    登录IP
    登录时间
    退出时间(在线时间)

    第九课 shell概述

    shell是什么?

    • 简单来说,shell是一个命令行解释器,为用户命令和Linux内核执行该命令架起了一座桥梁
    • shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令。

    shell的分类

    • Bourne shell:
    • C Shell:Unix中主要在用
    • Shell的两种主要语法类型有Bourne和C,这两种shell不兼容。Bourne家族主要包括sh、ksh、Bash、zsh;C家族主要有:csh、tcsh。Bash是Linux当中的标准shell。

    查看当前计算机的shell类型:echp $SHELL

    查看Linux支持的shell类型:vi /etc/shells
    返回结果:

    /bin/sh
    /bin/bash
    /sbin/nologin
    /bin/tcsh
    /bin/csh
    /bin/dash
    /bin/zsh
    /bin/mksh
    /bin/ksh
    

    转换或调用shell类型,只需要将shell类型直接输入就行,如想用tcsh,直接键入tcsh,就进入了tcsh类型,退出输入exit

    脚本的执行方式

    1.echo输出命令
    作用是把指定内容输出到屏幕上(输出内容有空格就需要给内容加上双引号)

    • 命令格式:echo [选项] [输出内容]
      选项:
    • -e:支持反斜杠控制的字符转换
    控制字符 作用
    \a 发出警告声
    \b 删除前一个字符
    \c 最后不加上换行符号
    \f 换行但光标仍旧停留在原来的位置
    \n 换行且光标移至行首
    \r 光标移至行首,但不换行
    \t 插入tab
    \v 与\f相同(换行)
    \ 插入\字符
    \0nnn 插入(八进制)所代表的ASCII字符。其中0为数字零,nnn是三位八进制数
    \xhh 按照十六进制ASSII码表输出字符。其中hh是两位十六进制符

    文字着色
    \e[1;31m 将颜色设置为红色
    \e[0m 将颜色重新置回

    颜色码(字体本身):重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
    字体背景着色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

    来自: http://man.linuxde.net/echo

    例如:

    [sysadmin@server3 ~]$ echo -e "\t天\t王\n盖\t地\t虎\t"
        天   王
    盖   地   虎   
    
    [sysadmin@server3 ~]$ echo -e "\x68\t\x65\t\x6c\n\x6c\t\x6f"
    h   e   l
    l   o
    
    [sysadmin@server3 ~]$ echo -e "\e[1;32m 天王盖地虎 \e[0m"
     天王盖地虎 # 结果为绿色
    

    2.第一个脚本

    • 第一步:创建.sh脚本:vi hello.sh
    • 第二步:改为插入模式。直接vi hello.sh进入的是命令模式,按“i”(或a或o)进入插入模式,即可进行粘贴以及其他编辑工作(再按一下ESC即可退回到命令模式)。
    • 第三步:第一行固定。第一行一定要输入 #!\bin\bash
    • 第四步:输入脚本命令(注意加注释)。
      echo -e "\e[1;32m天王盖地虎\e[0m"
    • 第五步:回到命令模式退出。esc回到命令模式,:wq保存退出。
    • 第六步:赋予脚本执行权限。而后,运行
      • chmod 755 hello.sh
      • ./hello.sh
        也可以通过bash调用执行脚本
      • bash hello.sh

    Bash的基本功能

    1.命令别名与快捷键

    • 查看系统中所有的命令别名:alias
    • 设置别名命令:alias 别名=‘原命令’
      如:ls就是一个别名:alias ls='ls --color=auto'

    但是alias这种设置放法在系统重启后就会失效。

    2.别名永久生效与删除别名
    方法:写入环境变量配置文件

    • 设置永久生效命令:vi ~/.bashrc
    • 删除别名命令:unalias + 别名
    命令生效顺序命令生效顺序

    历史命令

    方法一:↑↓箭头进行历史命令使用
    方法二:history
    查看历史命令只需键入history即可。
    命令格式:history [选项] + [历史命令保存文件]
    选项:

    • -c:清空历史命令
    • -w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
      方法三:查看history保存文件  cat ~/.bash_history

    历史命令的调用
    - 使用上下箭头调用以前的历史命令(常用)
    - 使用 "!n" 重复执行第n条历史命令
    - 使用 "!!" 重复执行上一条命令
    - 使用 "!字符串" 重复执行最后一条以该字串开头的命令(常用)

    输出重定向

    标准输出重定向和标准错误输出重定向标准输出重定向和标准错误输出重定向

    注意:
    标准错误输出时 "2>文件"和"2>>文件" 都是没有空格的

    如何让系统同时记录标准输出和标准错误输出如何让系统同时记录标准输出和标准错误输出

    注意:涉及标准错误输出时命令无空格

    管道符

    1.多命令顺序执行

    多命令顺序执行中命令之间的逻辑关系多命令顺序执行中命令之间的逻辑关系

    2.管道符
    命令格式:命令1 | 命令2
    命令1的正确输出作为命令2的操作对象
    案例:

    ll -a /etc/ | more
    
    netstat -an | grep "ESTABLISHED"
    

    相关文章

      网友评论

        本文标题:《Linux达人养成计划I》笔记分享

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