赞
踩
《Linux命令行与shell脚本编程大全(第3版)》读书笔记
Nginx 学习笔记(《深入理解Nginx:模块开发与架构解析》读书笔记)
关于 Linux 运维中安全方面的一些笔记
https://liruilong.blog.csdn.net/article/details/119474679从零搭建Linux+Docker+Ansible+kubernetes 学习环境(1*Master+3*Node)
https://liruilong.blog.csdn.net/article/details/120300517Linux红帽证书考试笔记
https://liruilong.blog.csdn.net/article/details/109488160基于Docker部署 Tomcat集群、 Nginx负载均衡
https://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 ]
参数解释:
File 指定操作的目标文件名称
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。
tail可运行文件一般在/usr/bin/以下。
2)Linux下更改主机名:
- hostname
-
- vim /etc/sysconfig/network
-
- #设置字符和背景色
- 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: 未知的名称或服务问题解决:
修改文件的拥有者为chown,更改一个文件的拥有者与群组,使用什么指令。chown chgrp
修改文件的权限用chmod。
文档名有【.】开头表示为隐藏文档,需要使用ls-a这个-a选项才可以显示出隐藏文档的内容,而使用ls -al才能显示出属性。
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
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 要解压缩的目录
Linux底下的配置文件多为文本文件,故用vim即可以进行设定编辑,vim 可视为程序编辑器,可以编辑 shell script配置文件等,避免打错字。
vi 为所有的unixlike的操作系统都会存在的编辑器,且执行速度快。vi有三种模式,一般指令模式可变换到编辑模式与指令列命令模式,但编辑模式和指令列之不能互换。
基本上vi共分为三种模式,分别是「一般指令模式」、「编辑模式」与「指令列命令模式」。这三种模式的作用分别是:
常用的按键有:
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可以变更没一列的行尾断字符。
1,由于核心在内存是受到保护的块区,因此必须要透过shell将我们输入的指令与Kernet沟通,好让Kernet可以控制硬件类正确无误的工作。
2,学习shell的主要原因:文字接口的shell在各大distribution都一样,远程管理文字时接口速度更快。
3,系统合法的shell均写在 :/etc/shells文件中。
4,用户默认登录取得shell记录与/etc/passwd 的最后一个字段。
cat /ect/passwd
5,bash的功能主要有:
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
7,变量就是由文字或者符号组成,用来取代一些设定或者一串保留的数据。
- echo ${PATH}
- echo $PATH
- #
- PATH=$PATH:/home/dmtsai/bin
- PATH=${PATH}:/home/dmtsai/bin
- PATH="$PATH":/home/dmtsai/bin
- #
8,变量主要有环境变量和自定义变量,
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)
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)路径与指令搜寻顺序 :
- [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 的配置文件读取流程 :
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
3)通配符与特殊符号:
- [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 ,使用 > 或 >> ;
3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;
16,使用vim 时,如果不小心按了crtl+s则画面会冻结,可以使用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。