……………………这只是笔记
词汇补充
- path 环境变量
由于早年的Unix年代,发展者众,所以由于shell依据发展着的不同就有了许多版本
https://zhidao.baidu.com/question/310105307.html
Shell的发展史
第一个-------------Steven Bourne -->Bourne shell ---->简称sh
第二个------------bill joy --------依附于BSD版的Unix系统中的shell-----C shell 简称Csh -------语法类似于C
CentOS是一种Linux的发行版本
http://baike.baidu.com/link?url=8R-QpCO8IqJfGxseRnLlsE6d0okkEQA4xYU5ZuUwx5OOO1nhUq40UDh35QredcWavrcyIPlS9MuvDeia8WhB4q#6_4
各种档案名
/etc etc是等等的意思,在linux中/etc文件存放配置文件
/etc/shell 虽然各家 shell 的功能都差不多,但是在某些语法的下达方面则有所不同,因此建议你还是得要选择某一种 shell 杢熟悉一下较佳。 Linux 预设就是使用 bash ,所以最初你只要学会 bash 就非常了不起了!
^_^! 另外,咦!为什么我们系统上合法的 shell 要写入 /etc/shells 这个档案啊? 这是因为系统某些
朋务在运作过程中,会去检查使用者能够使用癿的shells ,而这些 shell 的查询就是藉由 /etc/shells 这个
档案啰!
/bin bin本身不是一个文件,但是一般linux下可执行的命令都是放到bin目录下的 比如/bin或者/usr/bin等
.sh 是UNIX/LINUX 操作系统的脚本文件。
/bin/ — 用来贮存用户命令。目录 /usr/bin 也被用来贮存用户命令。
/sbin/ — 许多系统命令(例如 shutdown)的贮存位置。目录 /usr/sbin 中也包括了许多系统命令。
/root/ — 根用户(超级用户)的主目录。
/mnt/ — 该目录中通常包括系统引导后被挂载的文件系统的挂载点。譬如,默认的光盘挂载点是 /mnt/cdrom/ .
/boot/ — 包括内核和其它系统启动期间使用的文件。
/lost+found/ — 被 fsck 用来放置零散文件(没有名称的文件)。
/lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。
/dev/ — 贮存设备文件。
/etc/ — 包含许多配置文件和目录。
/var/ — 用于贮存variable (或不断改变的)文件,例如日志文件和打印机假脱机文件。
/usr/ — 包括与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。
/proc/ — 一个虚拟的文件系统(不是实际贮存在磁盘上的),它包括被某些程序使用的系统信息。
/initrd/ — 用来在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。
/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
介绍Bash
命令编修能力(history)
这么多的指令记录在哪里呢?在你的家目录内的 .bash_history 啦! 不过,需要留意的是,
~/.bash_history 记录的是前一次登入以前所执行过的命令, 而至于这一次登入所执行的指令都被暂存
在内存中,当你成功的注销系统后,该指令记忆才会记录到 .bash_history 当中!
命令与档案补全能力:(【tab】按键的好处)
- [Tab] 接在一串指令的第一个字的后面,则为命令补全;
- [Tab] 接在一串指令的第二个字以后时,则为『档案补齐』!
命令别名设定功能(alias)
查看别名 alias
设定命名 alias xx= ‘xx(初始)’ ,例如 alias lm =’ls -al’
工作控制、前景背景控制—-待定
程序化脚本(shell scripts)
可以将你平时管理系统常需要下达的连续指令写成一个档案, 该档案并且可以透
过对谈交互式的方式来进行主机的侦测工作!也可以藉由 shell 提供的环境发量及相关指令来进行设计
通配符(Wiledcard)
ls -l /usr/bin/X* 列出/usr/bin下所有
以X开头的档案
Bash shell的内建命令:type—– 待定
指令的下达
指令太长 如 cp /var/spool/mail/root/ etc/crontab \
/etc/fstab/root
取用变量
- echo $变量名
定义变量名
- 1.myname = dskdhskld
- 2.echo $myname
- 以上变量内容中如果有空格符,则使用双引号或单引号将变量内容结合起来。
但是单引号和双引号最大不同在于双引号仍然可以保有变量的内容,双引号仍然可以保持内部符号的作用
2.可以使用跳脱字符\ 将特殊的符号变成一般的字符—待定
3.当内容为一个指令时候,可以用 ()或者一般先执行 ()内的内容
比如version= (uname−r)−−−−−−ehco version —可得2.6.18-128.el5
- 以上变量内容中如果有空格符,则使用双引号或单引号将变量内容结合起来。
取消变量
- unset 变量名称
PS1——-待定 368
?:(关于上个执行指令的回传值)
echo $?
如果非0则错误。0则正确
OSTYPE, HOSTTYPE, MACHTYPE:(主机硬件不核心的等级)
export——待定 371
变量键盘读取、数组与宣告:read,array,declare
read
read [-pt] variable
-p 后面可以接提示符!
-t 后面可以接等待的秒数
variable 变量名称
declare/typeset(宣告变量的类型)
declare [-aixr] variable
-a 将后面名为variable的变量定义成为数组类型
-i 将后面名为variable的变量第一成为整数类型
-x 用法与export 一样,就是将后面vairabel变成环境变量
-r 将变量设定成为readonly类型,,该变量不可被梗概内容,也不能unset
variable 变量名称
- 数组类型
[root@www ~]# var[1]=”small min”
[root@www ~]# var[2]=”big min”
[root@www ~]# var[3]=”nice min”
[root@www ~]# echo “ var[1], {var[2]}, ${var[3]}”
small min, big min, nice min
与文件系统及程序的限制关系:ulimit
- 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)数量。
linux下ctrl 常用组合键
http://blog.csdn.net/a_ran/article/details/38387495
Ctrl+c 结束正在运行的程序
Ctrl+d 结束输入或退出shell
Ctrl+s 暂停屏幕输出【锁住终端】
Ctrl+q 恢复屏幕输出【解锁终端】
Ctrl+l 清屏,【是字母L的小写】等同于Clear
Ctrl+a 切换到命令行开始
Ctrl+e 切换到命令行末尾
Ctrl+u 清除剪切光标之前的内容
Ctrl+k 清除剪切光标及光标之后的内容
Ctrl+y 在光标处粘贴剪切的内容
Ctrl+r 查找历史命令【输入关键字,就能调出以前执行过的命令】
Ctrl+t 调换光标所在处与其之前字符位置,并把光标移到下个字符
Ctrl+x+u 撤销操作
Ctrl+z 转入后台运行
history [n -c ]
history [-r -a-w] histfiles
n:数字,意思是要列出最近的n笔命令行表的意思
-c :将目前的shell 中的所有 history 内容全部消除
-a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles ,
则预设写入 ~/.bash_history
-r :将 histfiles 的内容读取目前这个 shell 的 history 记忆中;
-w :将目前的 history 记忆内容写入 histfiles 中!
!!执行红色那个一个命令
!n执行第n个命令 (默认存储1000条命令)
所有的Bash都有自己的1000笔记录在内存中,,等到注销时才会更新记录文件,所以注销的那个Bash才会是最后写入的数据。其实有被记录,只是被后来的最后一个Bash所覆盖更新了。
login 与 non-login shell 待定—
终端机的环境设定: stty, set
查看按键内容
stty [-a]
- -a :将目前所有的stty参数列出来
- 出现 ^ 表示 [Ctrl] 那个按键的意思。
- eof : End of file 的意思,代表『结束输入』。
- erase : 向后初除字符,
- intr : 送出一个 interrupt (中断)的讯号给目前正在 run的程序;
- kill : 初除在目前指令列上的所有文字; quit : 送出一个 quit的讯号给目前正在 run 的程序;
- start : 在某个程序停止后,重新启动他的 output
- stop : 停止目前屏幕的输出;
- susp : 送出一个 terminal stop 的讯号给正在 run 的程序
set 待定392
[root@www ~]# set [-uvCHhmBx]
选项不参数:
-u :预设不启用。若启用后,当使用未讴定发量时,会显示错诨讯息;
-v :预设不启用。若启用后,在讯息被输出前,会先显示讯息的原始内容;
-x :预设不启用。若启用后,在挃令被执行前,会显示指令内容(前面有 ++ 符
号)
-h :预设启用。与历史命令有关;
-H :预设启用。与历史命令有关;
-m :预设启用。与工作管理有关;
-B :预设启用。与刮号[]的作用有关;
-C :预设不启用。若使用 > 等,则若档案存在时,该档案不会被覆盖。
>
将原本需要由键盘输入的数据,改由档案内容来取代
范例六:利用 ca指令来建立一个档案的简单流程
[root@www ~]# cat > catfile
testing
cat file test
<==这里按下[ctrl]+d 来离开
[root@www ~]# cat catfile
testing
cat file test
由亍加入 > 在 cat 后,所以那个 catfile 会被主劢癿建立
cat > catfile << “eof”
This is a test.
OK now stop
eof <==输入这关键词,立刻就结束而丌需要输入 [ctrl]+d
[root@www ~]# cat catfile
This is a test.
OK now stop
<==叧有这两行,不会存在关键词那一行
397—–