当前位置:   article > 正文

《鸟哥的Linux私房菜-基础学习篇》读书笔记

《鸟哥的Linux私房菜-基础学习篇》读书笔记

    写在前面


  • 嗯,来这边实训,青软的孔老师给装了一个有Linux系统的虚拟机,讲了一些Linux的常识,决定去看这本书,了解一些Linux的知识  . 加油生活^_^,嗯,希望以后的生活不会枯燥哎!!摘条王小波的句子 :)
  • 这本书看了一小点,就没有在看了,所以笔记烂尾了,感觉有些重,写的比较全面,不适合短期内快速学习,如果时间允许可以看这个。
  •  关于 LINUX ,小伙伴可以移步到我的其他博客笔记。在更新中,适合温习,都是些最基础的知识点。相应的电子档资源都有

《Linux命令行与shell脚本编程大全(第3版)》读书笔记

《Linux就该这么学》读书笔记

  关于 Linux中逻辑卷/物理分区等知识的一些总结

Docker(Podman) 容器学习笔记

Ansible(自动化运维工具)知识梳理

Nginx 学习笔记(《深入理解Nginx:模块开发与架构解析》读书笔记)

关于 Linux 运维中安全方面的一些笔记icon-default.png?t=L892https://liruilong.blog.csdn.net/article/details/119474679从零搭建Linux+Docker+Ansible+kubernetes 学习环境(1*Master+3*Node)icon-default.png?t=L892https://liruilong.blog.csdn.net/article/details/120300517Linux红帽证书考试笔记icon-default.png?t=L892https://liruilong.blog.csdn.net/article/details/109488160基于Docker部署 Tomcat集群、 Nginx负载均衡icon-default.png?t=L892https://liruilong.blog.csdn.net/article/details/120004323

   傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波 


查看配置文件过滤空行和注释

grep -v ^# /etc/sudoers | grep -v ^$

1)项目报错,Tomcat查看错误日志,

一、tail命令语法

tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
参数解释:

  • -f 该参数用于监视File文件增长。
  • -c Number 从 Number 字节位置读取指定文件
  • -n Number 从 Number 行位置读取指定文件。
  • -m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
  • -b Number 从 Number 表示的512字节块位置读取指定文件。
  • -k Number 从 Number 表示的1KB块位置读取指定文件。

File 指定操作的目标文件名称
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。
tail可运行文件一般在/usr/bin/以下。

2)Linux下更改主机名:

  1. hostname
  2. vim /etc/sysconfig/network

3)linux BASH shell下设置字体及背景颜色:

  1. #设置字符和背景色
  2. echo -e "\e[31mtest\e[41m"
  3. \e[40m #\e[47m 设置背景色

linux BASH shell下设置字体及背景颜色 - 琴酒网络 - 博客园

4)可以把shell和bash讲的我能理解的一个博客:

什么是shell? bash和shell有什么关系? - 代码ok - 博客园

5)正则表达式搜索文本

grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

  1. grep match_pattern file_name
  2. grep "match_pattern" file_name
  3. grep "match_pattern" file_1 file_2 file_3 ...

6)创建一个用户

linux 新建用户、用户组 以及为新用户分配权限 - 信则成 - 博客园

7)vim 文件保存退出 文件相关操作汇总

vim 文件保存退出 文件相关操作汇总_maggie_lu-CSDN博客

8)ping: www.baidu.com: 未知的名称或服务问题解决:

kali linux解决:ping: www.baidu.com: 未知的名称或服务(亲测有效)(走了两个弯路,浪费了好多时间)_HWP-CSDN博客_ping: www.baidu.com: 未知的名称或服务

第0章:

  • 1,计算机的定义,接收用户的输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,产生或存储成有用的信息。
  • 2,计算机的五大单元包括:输入单元,输出单元,控制单元,算数逻辑单元,记忆单元五大部分,其中CUP占有控制,算数逻辑单元,记忆单元包括主存储器,与辅助内存。
  • 3,数据会流进流出内存是CPU所发布的控制命令,而CPU实际要处理的数据完全来自主存储器。
  • 4,CUP的设计理念主要包括精简指令集(RISC)和复杂指令集(CISC)系统。
  • 5,关于CPU的频率部分,外频是CUP与外部组件传输时的速度,倍频则是CPU内部用来加速工作效率的一个倍数,两者相乘才是CUP的频率的速度。
  • 6,新的CUP设计中已经将北桥的内存控制芯片整合到CPU内部,而CUP与主存储器,显示适配器沟通的总线成为系统总线,南桥指输入输出总线,主要在联系硬盘,USB,网络卡等接口设备。
  • 7,CUP每次能够处理的数据量称为字组大小(word size),字组大小依据CUP的设计有32位和64位,我们现在使用的计算机称32,64位就是指CUP解析的字组大小。
  • 8,个人计算机的主存储器主要组件有动态随机存取内存(Dynamic Random Access Memory,DRAM),CUP内部的第二层快取称为静态随机存取内存(Static Random Access Memory,SRAM),
  • 9,BIOS(Basic Input Output System)是一套写死在主板上的一个内存芯片中的程序,这个内存芯片在没有通电的情况下也能够将数据记录下来,即只读存储器(Read Only Memory,ROM).
  • 10,目前主流的显卡大多为PCIe界面。
  • 11,传统的硬盘组成为:圆形磁盘盘,机械手臂,磁盘读取头与主轴马达多组成,其中磁盘组成为扇区,磁道,与磁柱。
  • 12,磁盘连接到主板的界面大多为SATA或SAS。
  • 13,操作系统(Operting System,OS)    其实为一组程序,用于管理计算机的所有活动以及驱动系统中的所有硬件。

第一章,Linux如何学习

第二章,主机规划与磁盘分区

第三章、安装 CentOS7.x 

第四章,首次登陆与在线求助

  • 1,为了避免瞬间断电造成的Linux危害,建议做为服务器的Linux主机应该加上不断电的系统来维持提供稳定的电力,
  • 2,养成良好的习惯,尽量不适用root直接登陆系统,应使用一般账户登陆系统,有需要在转换身份。
  • 3,可以通过活动总览查看系统所有的软件及快速启动惯用软件,
  • 4,在X的环境下,想要“强制"重新启动X的组合键,alt+ctrl+backspace;
  • 5,预设情况下,Linux提供tty1~tty6的终端机界面。:切换方法为:Crtl+Atl+F1~F6;
  • 6, 在终端机环境中,可以依据提示字符串为$或者#判断为一般账户还是root账户。
  • 7,取得终端机支持的语系数据可以下达{echo$LANG}或{locale}指令。
  • 8,date可以显示日期,cal可以显示日历,bc可以作为计算机。
  • 9,组合按键中,tab键可以作为:命令补齐,或者文件名补齐,参数选项补齐,crtl+c可以终断正在运行中的程序。
  • 10,Linux区分大小写。
  • 11,联机帮助系统有man和info两种常见的指令。
  • 12,man page说明后面的数字中,1代表账号的可用指令,8 代表系统管理员常用的指令,5,代表 系统可用的格式。
  • 13,info page可将一份说明文件拆成多个节点显示,并具有类似超链接的功能。增加易读性。
  • 14,系统需要正确的关机。可使用shutdown,poweroff等。

第五章,Linux的文件权限与目录配置

  • 1,Linux的每个文件中,可可分别给予使用者,群组,与其他人三种方式的rwx的权限。
  • 2,群组最有用的功能之一,就是当你的团队开发资源的时候,每个账户都可以有多个群组支持。
  • 3,利用ls -l显示的文件属性中,第一个字段是文件的权限,共有十位,
  • 第一位是文件类型,:d:目录,-:文件,I:连接档,b:接口设备。c:串行端口设备。
  • 接下来三个为一组,分为使用者,群组,其他人权限,权限有rwx三种,:可读可写可执行
  • 4,更改文件的群组支持为chgrp,要被改变的组名必须要在/etc/group 文件内存在才 行,否则就会显示错误!

修改文件的拥有者为chown更改一个文件的拥有者与群组,使用什么指令。chown chgrp

修改文件的权限用chmod

  • 5,chmod修改权限的方式有两种,符号法和数字法,数字法中rwx分数为421;当一个文件的修改权限为 -rwx-xr--指令:chmod 754  文件名  或者chmod u=rwx,g=rx,o=r 文件名 ,
  • 6,对文件来讲,权限的效能为
    • 1,r,可读此文件的实际内容,如读取文本文件的文字内容等。
    • 2,w,可以编辑,新增或者修改该文件的内容(不能删除)
    • 3,x,该文件具有可以被系统执行的权利
  • 7,对目录来说,权限的效能为:
    •     r:read contents in directory
    •     w:modify contents directory
    •     x:accessdirectory
  • 8,要开放目录给任何人浏览,应该至少也要给予r及x的权限,但w的权限不可随便给。
  • 9,能否读取到某个文件内容,跟该文件所在的目录权限有关系,目录至少需要x的权限。
  • 10,Linux档名的限制,单一文件或目录最大容许的文件名为255个英文字符或者128 个汉字字符。
  • 11,绝对路径文件名为从根目录/开始写起,否者都为相对路径。
    • /etc/:几乎系统所有的配置文件案都在这里,尤其是passwd和shaow
    • /boot/:开机配置文件。也是预设摆放核心vmlinuz的地方。
    • /usr/bin,/bin:一般执行档摆放的地方。
    • /var/log:摆放系统注册表文件的地方法
    • /dev:摆放所有系统装置文件的目录
    • /use/sbin,/sbin:系统管理员常用的指令集
    • /run:将经常变动的项目移动到内存暂存,

文档名有【.】开头表示为隐藏文档,需要使用ls-a这个-a选项才可以显示出隐藏文档的内容,而使用ls -al才能显示出属性。


第六章,Linux文件与目录管理

1,绝对路径:由根目录写起,相对路径相对当前路径写起。

2,与目录有关的指令为:cd mkdir,rmdir ,pwd 等:

3,rmdir只能删除空目录,要删除非空目录需要使用00“rm -r”指令;

4,用户能使用的指令是依据PATH变量所规定的目录去搜索的

5,ls可以检视文件的属性,尤其-d,-a,-l等。

6,文件的复制,删除,移动可以分别使用:cp, rm,mv等操作。

7,检查文件的内容(读文件)可使用的指令包括cat,tac,nl,more,less,head,tail,od等。

8,cat -n 与 nl均可显示行号,但默认情况下,空白行会不会编号不清楚,

chattr可以配置文件的隐藏属性。

观察文件隐藏属性 file

9,touch的目的在修改文件的时间参数,但亦可用来建立空文件;

 

10.一个文件记录时间的参数有三种,分别是access time(atime) ,status time(ctime),modification time(mtime), ls默认显示的是mtime。

11,指令与文件的搜寻:which寻找执行文件,

12,文件名的搜寻

find

第七章,Linux磁盘与文件管理系统

第八章、文件与文件系统的压缩,打包与备份 

1,压缩指令为透过一些运算方法去将原来的文本进行压缩,以减少文件所占用的磁盘容量。压缩前与压缩后的文件所占用的磁盘容量比值,就可以被称为“压缩比”。
2,压缩的好处是可以减少磁盘容量的浪费,
3,压缩文件案的扩展名大多是{.gz,.bz2,.xz,.tar,.tar.gz,.tar}
4,,  常见的压缩指令有:gzip bzip2,xz 压缩最好的为xz 若可以不计时间成本建议使用xz进行压缩。
5, tar 可以进行文件打包,并可以支持gzip,bzip2,xz的压缩。
6,压缩:tar -Jcv  -f filename.tar.xz 要被压缩的文件或目录的名称。
7,查询:tar -Jtv  -f filename.tar.xz
8,解压缩:tar -Jxv -f filename.tar.xz  -C 要解压缩的目录

 

第九章;vim程序编程器

9.1 vi与vim

Linux底下的配置文件多为文本文件,故用vim即可以进行设定编辑,vim 可视为程序编辑器,可以编辑 shell script配置文件等,避免打错字。

9.2 vi的使用:

vi 为所有的unixlike的操作系统都会存在的编辑器,且执行速度快。vi有三种模式,一般指令模式可变换到编辑模式与指令列命令模式,但编辑模式和指令列之不能互换。

基本上vi共分为三种模式,分别是「一般指令模式」、「编辑模式」与「指令列命令模式」。这三种模式的作用分别是:

  • 一般指令模式(command mode): 以vi打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式)。在这个模式中, 你可以使用『上下左右」按键来移动光标,你可以使用「删除字符」或「删除整列」来处理文件内容, 也可以使用[复制、贴上」来处理你的文件数据。。
  • 编辑模式(insert mode): 在一般指令模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下「i, 1, o,0, a, A, r,RJ等任何一个字母之后才会进入编辑模式。注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现「INSERT或REPLACE 」的字样,此时才可以进行编辑。而如果要回到一般指令模式时, 则必须要按下「Esc」这个按键即可退出编辑模式。
  • 指令列命令模式(command-line mode): 在一般模式当中,输入「:/?」三个中的任何一个按钮,就可以将光标移动到最底下那一列。在这个模式当中, 可以提供你「搜寻资料」的动作,而读取、存盘、大量取代字符、离开vi、显示行号等等的动作则是在此模式中达成的!


常用的按键有:

  • i : 进入编辑模式,
  • [:] : 进入到指令列命令模式,
  • [ESC] : 退出编辑模式或指令列命令模式到一般指令模式, 
  • :wq :存档退出指令列命令模式。

vi的画面分为两部分,上半部分文本 和最后一行的状态加指令列模式。
数字的意义,用来说明进行几次的动作的意思,
如5yy为复制五列的意思。
用vi开启某个文件,要在第34 列向右移动15 个字符,应该在一般指令模式中下达指令为:34G >>15+||15l。

8,光标的移动中,大写的G经常使用,1G、G为移动到文章的头尾的功能移动到当前行头用0,移动到行尾用$.


9,vi的取代功能,:n1,n2s/old/new/g _
10,小数点【.】为重复进行前一次的动作 ,
11,进入到编辑模式要记住 ioR,和新增一列的o与取得的r,
在vi环境一般指令模式下,
将正在编辑的文件另存为新档名为 :w newfilename
在vi环境一般指令模式下,复制一列,n列并粘贴:分别为yy,nyy,p或者P
在vi环境一般指模式下,搜所字符串 ?字符串 或者/字符串
取代字符串::1,$/原字符串/新字符串/g 或者

在vi中做了很多的编辑动作,却想还原为原来的文件内容,使用 :【:e!】
12,vim会主动的建立swap暂存档,所以不能随便断线。
13,如果在文章内有对齐的区块,可以使用ctrl+v进行复制。粘上,删除的行为。
14,使用:sq功能可以分区窗口。
15,若使用vim来写网页,若需要css元素,可以使用crtl+x ,crtl+o来取得关键词。
16,vim的环境设定可以写入在~/.vimrc文件中。
17,可以使用iconv进行文件语系编码的转换。
18,使用dosunix和unix2dos可以变更没一列的行尾断字符。

第十章,认识与学习BASH

1,由于核心在内存是受到保护的块区,因此必须要透过shell将我们输入的指令与Kernet沟通,好让Kernet可以控制硬件类正确无误的工作。

2,学习shell的主要原因:文字接口的shell在各大distribution都一样,远程管理文字时接口速度更快。

  • 每一种 Shell 都各有其特点。至于 Linux 使 用的这一种版本就称为『 Bourne Again SHell (简称 bash) 』,这个 Shell 是 Bourne Shell 的增强版 本,也是基准于 GNU 的架构下发展出来的呦

3,系统合法的shell均写在 :/etc/shells文件中。

4,用户默认登录取得shell记录与/etc/passwd 的最后一个字段。

cat /ect/passwd

5,bash的功能主要有:

  • 命令编修能力(他能记忆使用过的指令!)。
  • 命令与文件补全功能,
    • [Tab] 接在一串指令的第一个字的后面,则为命令补全; 
    • [Tab] 接在一串指令的第二个字以后时,则为『文件补齐』! 
    • 若安装 bash-completion 软件,则在某些指令后面使用 [tab] 按键时,可以进行『选项/参数的补齐』功能!
  • 命令别名设定功能,
    alias lm='ls -al' 
  • 工作控制,前景背景控制,
  • 程序化脚本,通配符。

6,type可以找到用来执行指令为何种类型,即查询指令是否为 Bash shell 的内建命令: type 亦可用于which相同的功能。

  1. type [-tpa] name
  2. 选项与参数:
  3. :不加任何选项与参数时,type 会显示出 name 是外部指令还是 bash 内建指令
  4. -t :当加入 -t 参数时,type 会将 name 以底下这些字眼显示出他的意义:
  5. file :表示为外部指令;
  6. alias :表示该指令为命令别名所设定的名称;
  7. builtin :表示该指令为 bash 内建的指令功能;
  8. -p :如果后面接的 name 为外部指令时,才会显示完整文件名;
  9. -a :会由 PATH 变量定义的路径中,将所有含 name 的指令都列出来,包含 alias
  • 指令太长,  利用『 \[Enter] 』来将 [Enter] 这个按键『跳脱! 
  • [ctrl]+u/[ctrl]+k ,分别是从光标处向前删除指令串 ([ctrl]+u) 及向后删除指令串 ([ctrl]+k)。 
  • [ctrl]+a/[ctrl]+e ,分别是让光标移动到整个指令串的最前面 ([ctrl]+a) 或最后面 ([ctrl]+e)。 

7,变量就是由文字或者符号组成,用来取代一些设定或者一串保留的数据。

  • echo 这个指令来取用变量,变量在被取用时,前面 必须要加上钱字号『 $ 』才行,
  • 变量与变量内容以一个等号『=』来连结, 等号两边不能直接接空格符
  • 变量名称只能是英文字母与数字,但是开头字符不能是数字,
  • 若该变量为扩增变量内容时,则可用 "$变量名称" 或 ${变量} 累加内容,如下所示: 
    1. echo ${PATH}
    2. echo $PATH
    3. #
    4. PATH=$PATH:/home/dmtsai/bin
    5. PATH=${PATH}:/home/dmtsai/bin
    6. PATH="$PATH":/home/dmtsai/bin
    7. #

8,变量主要有环境变量和自定义变量,

  • .使用env和export可以观察环境变量,其中exprot可以将自定义变量转换为环境变量。
  • set可以观察到目前的bash环境下的所有变量。

11,$?表示前一个指令执行完毕后回传的值。在linux回传值为0代表执行成功。

12,locale 可用于观察语系资料。

  1. #默认语系
  2. cat /etc/locale.conf
  3. #修改语系
  4. LANG=en_US.utf8; locale
  5. export LC_ALL=en_US.utf8; locale

13,可用read让用户由键盘输入变量的值。

  1. read [-pt] variable
  2. #选项与参数: -p :后面可以接提示字符! -t :后面可以接等待的『秒数!』这个比较有趣~不会一直等待使用者啦!
  3. #范例一:让用户由键盘输入一内容,将该内容变成名为 atest 的变量
  4. read atest This is a test <==此时光标会等待你输入!请输入左侧文字看看
  5. echo ${atest} This is a test <==你刚刚输入的数据已经变成一个变量内容!
  6. #范例二:提示使用者 30 秒内输入自己的大名,将该输入字符串作为名为 named 的变量内容
  7. read -p "Please keyin your name: " -t 30 named Please keyin your name: VBird Tsai <==注意看,会有提示字符喔!
  8. echo ${named} VBird Tsai <==输入的数据又变成一个变量的内容了!

 declare 宣告变量类型:

  1. declare [-aixr] variable
  2. #选项与参数: -a :将后面名为 variable 的变量定义成为数组 (array) 类型
  3. # -i :将后面名为 variable 的变量定义成为整数数字 (integer) 类型
  4. # -x :用法与 export 一样,就是将后面的 variable 变成环境变量;
  5. # -r :将变量设定成为 readonly 类型,该变量不可被更改内容,也不能 unset
  6. #范例一:让变量 sum 进行 100+300+50 的加总结果
  7. sum=100+300+50
  8. echo ${sum} 100+300+50 <==咦!怎么没有帮我计算加总?因为这是文字型态的变量属性啊!
  9. declare -i sum=100+300+50
  10. [root@liruilong ~] declare -i sum=12+34+34
  11. [root@liruilong ~] echo ${sum}
  12. 80

2)ulimit可用以限制用户使用系统的资源情况

  1. [dmtsai@study ~]$ ulimit [-SHacdfltu] [配额]
  2. #选项与参数: -H :hard limit ,严格的设定,必定不能超过这个设定的数值;
  3. # -S :soft limit ,警告的设定,可以超过这个设定值,但是若超过则有警告讯息。 在设定上,通常 soft 会比 hard 小,举例来说,soft 可设定为 80 而 hard 设定为 100,那么你可以使用到 90 (因为没有超过 100),但介于 80~100 之间时, 系统会有警告讯息通知你!
  4. # -a :后面不接任何选项与参数,可列出所有的限制额度;
  5. # -c :当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除错用), 这种文件就被称为核心文件(core file)。此为限制每个核心文件的最大容量。
  6. # -f :此 shell 可以建立的最大文件容量(一般可能设定为 2GB)单位为 Kbytes
  7. # -d :程序可使用的最大断裂内存(segment)容量;
  8. # -l :可用于锁定 (lock) 的内存量
  9. # -t :可使用的最大 CPU 时间 (单位为秒) -u :单一用户可以使用的最大程序(process)数量。
  10. #范例一:列出你目前身份(假设为一般账号)的所有限制数据数值
  11. [dmtsai@study ~]$ ulimit -a
  12. [root@liruilong ~]22 ulimit -f 10240
  13. [root@liruilong ~]24 ulimit -a | grep 'file size'
  14. core file size (blocks, -c) 0
  15. file size (blocks, -f) 10240

 3)变量内容的删除、取代与替换 (Optional) 

4)命令别名与历史命令:

  1. [Demo_Li@liruilong home]$alias lm='ls -al|more'
  2. [Demo_Li@liruilong home]$lm
  3. total 16
  4. drwxr-xr-x. 4 root root 4096 Jul 17 18:57 .
  5. dr-xr-xr-x. 22 root root 4096 Jul 17 16:41 ..
  6. drwxrwxrwx. 4 Demo_Li Demo_Li 4096 Jul 17 18:57 Demo_Li
  7. drwx------. 25 itcast itcast 4096 Oct 22 2017 itcast
  8. [Demo_Li@liruilong home]$unalias lm
  9. [Demo_Li@liruilong home]$history
  10. # n :数字,意思是『要列出最近的 n 笔命令行表』的意思!
  11. -c :将目前的 shell 中的所有 history 内容全部消除
  12. # -a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles , 则预设写入 ~/.bash_history
  13. # -r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中;
  14. # -w :将目前的 history 记忆内容写入 histfiles 中!

5)执行历史命令:

  1. [dmtsai@study ~]$ !number
  2. [dmtsai@study ~]$ !command
  3. [dmtsai@study ~]$ !!
  4. #选项与参数:
  5. # number :执行第几笔指令的意思;
  6. # command :由最近的指令向前搜寻『指令串开头为 command』的那个指令,并执行;
  7. # !! :就是执行上一个指令(相当于按↑按键后,按 Enter)

6)路径与指令搜寻顺序 :

  • 1. 以相对/绝对路径执行指令,例如『 /bin/ls 』或『 ./ls 』;
  • 2. 由 alias 找到该指令来执行;
  • 3. 由 bash 内建的 (builtin) 指令来执行;
  • 4. 透过 $PATH 这个变量的顺序搜寻到的第一个指令来执行。  
    1. [Demo_Li@liruilong home]$alias echo='echo -n'
    2. [Demo_Li@liruilong home]$type -a echo
    3. echo is aliased to `echo -n'
    4. echo is a shell builtin
    5. echo is /bin/echo

15,bash的配置文件主要分为login shell与non-login shell ,login shell 的配置文件读取流程 :

 1)source :读入环境配置文件的指令

  1. [dmtsai@study ~]$ source 配置文件档名
  2. #范例:将家目录的 ~/.bashrc 的设定读入目前的 bash 环境中
  3. [dmtsai@study ~]$ source ~/.bashrc <==底下这两个指令是一样的!
  4. [dmtsai@study ~]$ . ~/.bashr

2)终端机的环境设定: stty, set : 

  1. [dmtsai@study ~]$ stty [-a]
  2. #选项与参数: -a :将目前所有的 stty 参数列出来;
  3. intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = M-^?; start = ^Q;
  4. stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
  5. -parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts -cdtrdsr
  6. -ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel iutf8
  7. opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
  8. isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
  •  intr  : 送出一个 interrupt (中断) 的讯号给目前正在 run 的程序 (就是终止啰!); 
  • quit  : 送出一个 quit 的讯号给目前正在 run 的程序; 
  • erase : 向后删除字符, 
  • kill  : 删除在目前指令列上的所有文字; 
  • eof   : End of file 的意思,代表『结束输入』。 
  • start : 在某个程序停止后,重新启动他的 output 
  • stop  : 停止目前屏幕的输出; 
  • susp  : 送出一个 terminal stop 的讯号给正在 run 的程序。 

3)通配符与特殊符号: 

  1. [root@liruilong Demo_Li]# ll / > ~/rootfile
  2. [root@liruilong Demo_Li]# ll ~/rootfile
  3. -rw-r--r--. 1 root root 1009 Jul 18 17:05 /root/rootfile
  4. [root@liruilong Demo_Li]# nl ~/rootfile
  5. 1 total 98
  6. 2 dr-xr-xr-x. 2 root root 4096 Oct 22 2017 bin
  7. 3 dr-xr-xr-x. 5 root root 1024 Sep 16 2017 boot
  8. ………………

 1. 标准输入  (stdin) :代码为 0 ,使用 < 或 << ,将原 本需要由键盘输入的数据,改由文件内容来取代;

2. 标准输出  (stdout):代码为 1 ,使用 > 或 >> ;

  • 1> :以覆盖的方法将『正确的数据』输出到指定的文件或装置上; 
  • 1>>:以累加的方法将『正确的数据』输出到指定的文件或装置上; 
  • 2> :以覆盖的方法将『错误的数据』输出到指定的文件或装置上; 
  • 2>>:以累加的方法将『错误的数据』输出到指定的文件或装置上;

3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ; 

16,使用vim 时,如果不小心按了crtl+s则画面会冻结,可以使用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/980357
推荐阅读
相关标签
  

闽ICP备14008679号