发表于: 2016-10-17 21:42:27

0 838


今天学到的内容

内置命令都是放在/bin/bash里面,开机直接加载到内存里面。它没有hash表,直接输入help就能看到一共有多少条内部,内部命令。

禁止内部命令:enable –n 内部命令,不可以禁止外部命令。

enable   -n 查看所有被禁用的内部命令

外置命令放置在环境变量里面的。查询环境变量的时候从左到右的搜索,执行第一个。但是这里有一个哈希缓存的问题。不会跑到硬盘里面去再搜索,而是直接去hash缓存中去找,速度快。看条数:echo $PATH 然后挨个目录查看有多少条。

有些命令即在内部命令里面也在外部命令里面。一个内部命令直接man的话没有什么显示,若是有显示的话,就说明有存在的外部命令。

 

 

删除hash缓存的命令 hash  -d 命令

hash –p /usr/bin/tty newtty   tty起一个别名,这个跟alias不一样,重启会消失,只存在于hash的缓存中

alias grep=’grep  --color=auto’  这个是存在内存中的,要想永久保存就要写在配置文件里面.bashrc里面

 

nano 编辑很简单的编辑,都有提示符号,不需要记住命令就可以根据提示进行操作。

别名优先级>内部命令>外部命令

type 可以查看到外部命令的路径。

which不加参数时也是显示命令所在的第一个目录,

-a之后就能显示所有的目录了。

--skip--alias   查看用法

which –skip-alias

 

bc 启动计时器

ibase=需要的进制

输入数字 回车就得到10进制了

ibase=8

16

14

设置obase=其他进制的,这样就能输出其他进制的了

ibase=8;10;obase=2

1000

退出计算器使用:quit

修改ps1,要想永久保存,就保存在.bashrc里面。

whereis 查看命令的详细信息:包括路径、man的目录配置等详细的信息。

别名设置好之后要启用可以用exit然后再登入或者说 source配置文件或者是配置文件名

慎用对所有用户有效。

外部命令在被加使用了别名之后若不想用的话

 

方法三是使用命令的绝对路径

几个命令在同一行执行:命令;命令;命令;命令与命令之间通过;间隔开来

把一个长的命令分开写:命令的一部分 \

                     >命令的一部分\

                     >命令的一部分\

例如分开执行pwd命令

[root@localhoast ~]# p\

> w\

> d

/root

[root@localhoast ~]#

P管道文件:涉及到重定向的

S套接字文件:两个应用程序之间通讯用的文件

PC硬盘

IDE

SATA

 

Server硬盘

SCSI

SAS

/dev/vd (虚拟硬盘)

Mount 挂载(可以成为映射),把一个设备映射到一个目录上面

把设备挂载到某一个文件夹上(目录上),这个目录就是挂载点。一个设备可以挂载到多个挂载点上,也就是说一个设备可以起多个名字。

dd if=/dev/zero of=f1 bs=1 count=1

dd if=/dev/sda of=/dev/null  让整个磁盘一直在读,可以测试硬盘的读的速度,不会对硬盘有什么伤害的

hexdump

修改文件颜色的设置/etc/DIR_COLORS

Ctrl +C强制退出(可能丢数据)执行的命令,在当前情况下执行无反应

Ctrl+d 安全退出执行的命令,在当前情况下键入的话就是相当于logout

rpm  -vih   安装的.rpm

centos6上面cd  /misc/cd这样就挂载了光盘了

断网的话可以用 screen 连接,程序不断。剥离回话和exit退出是不一样的,exit的话就退出了所有的对话了。但是screen的剥离再恢复的时候还是恢复到之前的对话。

echo  –e  ‘ ’  这个时候里面加上转译时转译一样被执行。

echo  -e  “a\nb”  强制加换行(本来就有换行的,又加一个换行)

[root@localhost ~]# echo -e "a\nb"

a

b

反引号的用法:命令调用另外一个命令的时候,被调用的命令被引起来。

[root@localhost ~]# echo `echo $USER`

root

 

反引号和$()是等价的

\n 回车但不换行

[root@localhost ~]# echo -e "aaa\rbb"

bba

[root@localhost ~]# echo -e "aaa\rbb\rc"

cba

回车不换行,把光标移到本行的最左边然后把r后面的字符输出相应的把之前的字符给覆盖掉了。

目录里面的文件的排序是按照ASSCCI编码来的,数字在前,字母在后,大写在小学前面。

{000…100..2}

最前面的那个可以做做一个格式设置。

[root@localhost ~]# echo  {000..10}

000 001 002 003 004 005 006 007 008 009 010

[root@localhost ~]# echo  {0..10}

0 1 2 3 4 5 6 7 8 9 10

 

Centos7上面命令的参数都可以使用tab键补齐,但是centos6不可以补选项

Centos7 写出命令之后连按两次tab可以显示所有的字命令

/ 按下两个tab 就会显示所有的目录

/boot 内核存放在这个目录里面

/home 普通用户家目录的父目录

/etc   edit the config

whatis  命令/目录  就能知道这个在man哪个章节里面出现过(manN里面出现过)

 

last 命令

/var/www :http网页的数据

/var/ftp ftp的数据放在这里

/usr/local  :源码编译的时候放里面

/usr 是安装系统后最大的目录

/tmp 临时目录任何用户都能使用

/proc   文件大小为0,都是存在内存上的,不占磁盘所以大小为0

/sys

echo  ‘----’ > /sys/class/scsi_host/host2/sacn

启动磁盘搜索,新加载的硬盘直接就能添加

!$ 上一个命令的最后一个字符串

ESC .  alt.(在虚拟终端先不支持)

[root@localhoast ~]# cat unsort.txt

xyz 987

abc 123

fgh 012

[root@localhoast ~]# ll !$---------》上一个命令为cat命令,最后一个字符为unsort.txt

ll unsort.txt

-rw-r--r--. 1 root root 24 Oct 14 06:50 unsort.txt

!*上一个命令的所有参数

搜索历史命令:ctrl  -r

^上一个指令的第一个参数

!:n 上一个指令的第n个参数

!n:m调用第n条命令的第m个参数

!n:* 调用第n条命令的所有参数

history  -p ‘命令执行的命令不被记录

history  -s 伪造历史记录

HISTTIMEFORMAT=%F  %T 记录历史命令的执行时间

HISTIGONRE=’ 命令:命令….’  不记录执行的命令:登陆数据库等含有密码或口令的命令可以添加这个

HISTCONTROL=ignorespace 设置好之后

空格+命令:就能执行命令不被记录

 

Ctrl +o=重复执行同一条命令=向上的方向键

Ctrl+s 输入的命令在屏幕上不显示

Ctrl+q 退出上面的那个设置

Ctrl+a 跳到命令行首

Ctrl+e 跳到命令行尾

Ctrl+u 删除光标到行首的所有内容

 



返回列表 返回列表
评论

    分享到