首页 > 系统相关 >《鸟哥的Linux私房菜-基础学习篇》读书笔记

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

时间:2022-12-18 19:33:05浏览次数:49  
标签:文件 shell 变量 读书笔记 指令 Linux 鸟哥 root


    写在前面


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

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

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

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

​​Docker(Podman) 容器学习笔记​​

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

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


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


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

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

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

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

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

一、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下更改主机名:

hostname

vim /etc/sysconfig/network

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

#设置字符和背景色
echo -e "\e[31mtest\e[41m"
\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,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep match_pattern file_name
grep "match_pattern" file_name
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三种,:可读可写可执行
  • 《鸟哥的Linux私房菜-基础学习篇》读书笔记_Linux学习_03

  • 4,更改文件的群组支持为chgrp,要被改变的组名必须要在/etc/group 文件内存在才 行,否则就会显示错误!

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

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

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

修改文件的权限用chmod

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

  • 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,绝对路径:由根目录写起,相对路径相对当前路径写起。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

观察文件隐藏属性 file

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

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


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

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

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

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

12,文件名的搜寻

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

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

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

find

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

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

第七章,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):
  • 编辑模式(insert mode):
  • 指令列命令模式(command-line mode):

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


常用的按键有:

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

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

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

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

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

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

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

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

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

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

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相同的功能。

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

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

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


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

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

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

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

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

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

read [-pt] variable 
#选项与参数: -p :后面可以接提示字符! -t :后面可以接等待的『秒数!』这个比较有趣~不会一直等待使用者啦!

#范例一:让用户由键盘输入一内容,将该内容变成名为 atest 的变量
read atest This is a test <==此时光标会等待你输入!请输入左侧文字看看
echo ${atest} This is a test <==你刚刚输入的数据已经变成一个变量内容!

#范例二:提示使用者 30 秒内输入自己的大名,将该输入字符串作为名为 named 的变量内容
read -p "Please keyin your name: " -t 30 named Please keyin your name: VBird Tsai <==注意看,会有提示字符喔!
echo ${named} VBird Tsai <==输入的数据又变成一个变量的内容了!

 declare 宣告变量类型:

declare [-aixr] variable 
#选项与参数: -a :将后面名为 variable 的变量定义成为数组 (array) 类型
# -i :将后面名为 variable 的变量定义成为整数数字 (integer) 类型
# -x :用法与 export 一样,就是将后面的 variable 变成环境变量;
# -r :将变量设定成为 readonly 类型,该变量不可被更改内容,也不能 unset

#范例一:让变量 sum 进行 100+300+50 的加总结果
sum=100+300+50
echo ${sum} 100+300+50 <==咦!怎么没有帮我计算加总?因为这是文字型态的变量属性啊!
declare -i sum=100+300+50

[root@liruilong ~] declare -i sum=12+34+34
[root@liruilong ~] echo ${sum}
80


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

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

#范例一:列出你目前身份(假设为一般账号)的所有限制数据数值
[dmtsai@study ~]$ ulimit -a


[root@liruilong ~]22 ulimit -f 10240

[root@liruilong ~]24 ulimit -a | grep 'file size'
core file size (blocks, -c) 0
file size (blocks, -f) 10240

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

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

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

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

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

[Demo_Li@liruilong home]$alias lm='ls -al|more'
[Demo_Li@liruilong home]$lm
total 16
drwxr-xr-x. 4 root root 4096 Jul 17 18:57 .
dr-xr-xr-x. 22 root root 4096 Jul 17 16:41 ..
drwxrwxrwx. 4 Demo_Li Demo_Li 4096 Jul 17 18:57 Demo_Li
drwx------. 25 itcast itcast 4096 Oct 22 2017 itcast
[Demo_Li@liruilong home]$unalias lm



[Demo_Li@liruilong home]$history
# n :数字,意思是『要列出最近的 n 笔命令行表』的意思!
-c :将目前的 shell 中的所有 history 内容全部消除
# -a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles , 则预设写入 ~/.bash_history
# -r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中;
# -w :将目前的 history 记忆内容写入 histfiles 中!

5)执行历史命令:

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

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

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


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

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

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

[dmtsai@study ~]$ source 配置文件档名 

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

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

[dmtsai@study ~]$ stty [-a] 
#选项与参数: -a :将目前所有的 stty 参数列出来;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = M-^?; start = ^Q;
stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts -cdtrdsr
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
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 的程序。 

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

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

3)通配符与特殊符号: 

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

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


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

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

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

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

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

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




标签:文件,shell,变量,读书笔记,指令,Linux,鸟哥,root
From: https://blog.51cto.com/liruilong/5950998

相关文章

  • Linux学习资料
    国内的专业Linux网站​​ChinaUnix​​:创办于2001年,是一个以讨论Linux/Unix类操作系统技术、软件开发技术、数据库技术和网络应用技术等为主的开源技术社区网站。 ​​Li......
  • Linux之特殊符号(通配符,重定向,引号)
    特殊符号:三剑客日志处理系统-特殊符号引号系列;重定向符号系列; 引号:引号:单引,双引,反引,不加引号,4种引号系列,对Linux大部分命令通用,四剑客单独记忆与使用;......
  • Linux使用yum install报错:Disable the repository, so yum won't use it by default
     已加载插件:fastestmirror,langpacksOneoftheconfiguredrepositoriesfailed(未知),andyumdoesn'thaveenoughcacheddatatocontinue.Atthispointthe......
  • Linux桌面系统解压Windows用户发来的zip压缩包乱码
    现象Linux桌面用户大多数都遇到这个问题,对Windows桌面用户发来的zip压缩包,双击打开或者解压,发现中文文件名和路径都是乱码。通过命令行unzip解压也会得到一样的结果:1......
  • Linux中为AppImage类型的软件添加应用程序图标
    有的时候Linux的一些软件是不带桌面图标的,可能直接通过命令启动程序,但是习惯了GUI界面的话就需要创建一个图标来加快效率了。首先明白图标展示的一些原理:应用要能展示......
  • linux回炉第二天
    -文件b块设备文件c字符设备文件d目录文件l链接文件p管道文件ssocket套接字文件accesstime:访问时间modifytime:修改时间changetime:元属性时间cp......
  • Linux 7/Centos 7实现双网卡绑定—team方式
    文档课题:Linux7实现双网卡绑定—team方式.实验目标:实现网络高可用,防止一条网线或交换机故障影响物理机的数据交互.系统:centos7.964位环境介绍:vmware虚拟机+网卡为桥......
  • Linux syscall setns
    setns调用可以用来加入现有进程的namespace函数原型#define_GNU_SOURCE/*Seefeature_test_macros(7)*/#include<sched.h>intsetns(intfd,intnstype)......
  • archlinux 安装微信QQ
    DEEPIN服务器可以下载依赖库的包,不过装不上:https://community-packages.deepin.com/deepin/pool/non-free/u/udis86/#1.deepin-udis86install:gitclonehttps://aur.......
  • AlmaLinux 系统搭建 K8s 集群
    前言容器技术:有效的将单个操作系统的资源划分到孤立的组中,技术核心就是通过对资源的限制和隔离把进程运行在一个沙盒中。并且这个沙盒可以被打包成容器镜像(Image),任意地跨平......