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

https://www.jianshu.com/p/753d043e70d8

课程介绍

《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种特殊权限可供运用。
权限范围表示方法
image
image
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"




猜你喜欢

转载自blog.csdn.net/qq_16605855/article/details/79896147