发表于: 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 删除光标到行首的所有内容
评论