第三天上课内容&总结


执行命令自己的三种方式 es6

\COMMANDshell

'COMMAND'数据库

经过which查 用绝对路径执行命令vim


wKioL1eY0IXxU4yxAAEOgSMHIJM499.jpg



man 也有文件路径,centos

man的配置文件  /etc/man.config  (centos6.8)缓存

/etc/man_db.conf  (centos7.2)安全

wKiom1eY0IjQRfpDAAEZK-osspM627.jpg


像执行一个man  ls  命令  他怎么找到ls 的第一章节帮助呢?bash

正常状况下是咱们能够经过whereis ls 执行查看ls的帮助文件的路径以下图,ide


wKioL1eY0IjyqO_fAAAbNM9QunQ392.png


该文件是放在/usr/share/man下面的,在man的配置文件中设定了man命令的PATH路径(能够经过vim /etc/man.config)ui


         wKiom1eY0ImwxjDhAABA4fRBOzY766.png




vim  /etc/man_db.conf  (centos7.2)

wKioL1eY0IqiD1eTAABiQwgYpyQ664.jpg


man ls 命令一执行,就会根据配置文件下的路径去找对应ls命令文件的帮助文件(由于外部命令的帮助文件均放在以上的路径下)


静态库文件.a

动态库.so

2,3,9开发相关的,不须要了解


wKioL1eY0IvgoBBNAACqUK4FDjQ585.jpg

whatis 查看命令的基本帮助,能够知道man的章节

whatis 数据库默认是不存在的,刚装完系统可能会没有,centos6.8执行命令makewhatis (centos7.2执行mandb)

man -a  COMMAND 选项列出该命令的全部的章节,看完一个后q键退出进入下一个章节



wKiom1eY0IyBZTTVAABQSE76bGU713.jpg


man  -f 至关于whatis

wKiom1eY0I7glkFnAACXMgO3pbM660.jpg


man搜索是重点

对于内部命令来讲,若是用help 查找命令帮助文档不全的化,能够到bash里面去找,man bash 

打开后,里面存放的是bash的相关内容,以及内部命令的帮助文档

man -k password 在whatis数据库里面查找全部包含password字符(string)的信息


wKioL1eY0I_gY_a-AADp9fUjc3s533.jpg

wKiom1eY0JHxfLMDAAEoMZlh4yw540.jpg


shutdown -h

wKioL1eY0JLShMblAAB9JMmxp00396.jpg


运行shutdown -h 9:54 "system will halt"后,centos6.8会出现一直运行该命令,作不了其余事,可是centos7.2能够经过按回车键,就能够继续操做,若该命令后面加一个& 代表在后台运行该命令,不会影响继续操做

wKiom1eY0JSBSK0WAACvchOcRLk020.jpg



wKioL1eY0JTBDIbnAAArRwUCIF0216.png


第一种方法,直接修改.bash_profile(查一下该文件是干什么用的)

/etc/profile:此文件为系统的每一个用户设置环境信息,当用户第一次登陆时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每一个用户均可使用该文件输入专用于本身使用的shell信息,当用户登陆时,该
文件仅仅执行一次!默认状况下,他设置一些环境变量,执行用户的.bashrc文件.

~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登陆时以及每次打开新的shell时,该
该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

wKiom1eY0JbT6xrzAACBOXPO0x0536.jpg


  第二种方法就是 修改配置文件/etc/issue  


                    wKioL1eY0JaRmD9WAAAduELuojs411.png


就是上述\r  \m  参数怎么查找呢???

经过man帮助,

wKioL1eY0JfSwrXPAABfv1r1JPQ279.png

而后 再man 8 mingetty(7.2找不到相应的帮助)

找到相应的\   

而后再修改/etc/issue配置文件便可

wKiom1eY0JnRB-GPAABweS74HuE739.png


history

historysize存放在/etc/profile 文件(能够修改历史命令的条数)是针对全部用户的

以前的命令历史是放在一个.bash_history的文件里,当前登陆的用户使用的命令历史是放在内存中的,须要exit正常退出(不正常退出会丢失数据),则内存的内容会写到上述文件里,再此查看就能够查到

不一样用户的历史不同的

文件是当前用户的home下的.bash_history


wKiom1eY0JqCbkQuAABtDSkdbx0132.jpg


!shut 执行以shut开头的命令历史,执行最近的


wKioL1eY0JvCya9oAACG39j_bWg600.jpg




wKioL1eY0Jui-bJQAAA5u9ZzQes614.jpg


!!表示上一条命令

ctrl+p调用上一条命令

利用上下键

!-1

以上四种方式均为执行上一条命令

ctrl+r  string  搜索最近的包含string的历史

按esc松手再按点号 快捷键找出上一条命令执行的参数

!$也能够(多个参数的化,!$调用的是最后一个参数,$的含义是命令的结束)

alt+.   alt+点号在虚拟机上能够(Xshell不行)

!^  调用第一个参数

!:N调用第几个参数

!*调用全部的参数


wKiom1eY0J2BGKqnAADfhM1Nq9Y953.jpg

修改本身的用户的HISTSIZE=0   到当前用户的 ~/.bash_history文件里面修改

修改全部人的  到/etc/profile


wKioL1eY0J7yo4rVAAB6qUcMkPY065.jpg



先删文件再修改历史

history -c 至关于将HISTSIZE=0(仅对当前有效),退出够仍会记录1000条

history -d 删除指定行数的命令

history  -a 将内存的历史命令写到历史文件中,正常退出登陆就能够,不想退出就执行-a选项


wKioL1eY0J-h5A8DAABIl4H5tUk251.jpg


两个比较,来理解,好比从新开一个终端而且是同一个用户登陆,这时候执行一些命令后,而后执行history -a  

将当前的历史列表放在了历史文件中了,而后再回到以前的终端,使用history -r 选项他会从新读历史文件,而后把历史文件的内容附加到当前的历史列表里,无论有没有重复的,使用history会发现历史列代表显增长不少,而使用history -n 的化,一样他也去读历史文件,可是他会和本身当前的历史列表作比较,不会重复读取,只会把本身没有的历史附加到当前的历史列表中



wKiom1eY0J-BpxobAAAk3guzvxk964.jpg


若是我记不得命令历史文件叫什么了

直接使用history -w XXX



wKioL1eY0KCzTWGIAAAqswYHrK8659.png

能够伪造历史

或者修改文件


wKiom1eY0KGQZdQVAAAi18OOhW4454.jpg

执行 history -s rm -rf /

并不会执行后面的命令,可是会把后面的命令写到历史列表里面,至关于伪造



echo $HISTFILE查看当前用户的历史文件路径

找到以后也能够利用nano修改

wKiom1eY0KKBH0wkAAB6yE2gE1s975.jpg



若是内部命令的help不够详细,就到man bash

而后用/string查找字符串

wKioL1eY0KOhDfbIAAC2_ADxRss395.jpg



(配置文件)新增并修改历史文件,用nano编辑,不用默认的./.bash_history文件存放历史wKiom1eY0KTS7fdwAAATQQXptek292.png






wKioL1eY0KXgKXOTAADJM1bdxgs864.jpg

wKiom1eY0KehygenAADUDQVakW8972.jpg

注意是反向单引号`hostname`的用法




wKioL1eY0KnDsMc9AAGw7hTa6Vg604.jpg

忽略以空格开头的命令历史


wKiom1eY1LCgZtnlAAAY0N6EOWw580.jpg不论是否连续出现重复的命令就要删除


上述变量若是须要对当前用户或者全部用户永久生效 须要到配置文件中增长须要的功能(/etc/profile或~/.bash_profile)

export 变量名=“值”  会将该变量变为环境变量

以上变量从 man bash 里面搜HISTCONTRL 查看帮助

用help history 查询帮助内容不够详细

wKioL1eY1LKDc2AeAAFM7m_VZM0743.jpg

HISTCONTROL  多个参数用冒号隔开

wKioL1eY1LOjzW5nAABbaIRqm4U100.jpg


reset 命令结束乱码界面

wKiom1eY1LXjSxE-AAEMDlf9REU884.jpg


文件系统



centos 6,7和以前老版本的文件的安全性问题  


老版本里面的普通用户登陆查看PATH路径是找不到sbin的是属于管理类的命令,正常状况下是不能执行的没有足够的权限,可是有个缺陷就是使用绝对路径,我不用去找你的PATH路径,直接绝对路径是能够执行管理类的命令

可是6,7在这已经作出改善,尽管PATH路径有/sbin 的路径,你用普通用户是执行不了管理命令的

centos6和7目录结构共有的是属于标准目录结构

不是共有的,就不属于标准的目录结构

查看内核文件的大小/boot


块设备 随机访问  biock ,有缓存

character 字符设备 顺序访问,无缓存

空设备

spacer.gif

/dev/null   /dec/zero

相关文章
相关标签/搜索