对于一个操作系统来说,shell相当于内核kernel外的一层外壳,作为用户接口。 一般来说,操作系统的接口分为两类:CLI:command line interface命令行接口 常见的有:sh csh ksh zsh bash tcshGUI:graphical user interface 图形化用户接口 常见的有:Gnome KDE Xfce
1、bash实质上是一个可执行程序,一个用户的工作环境。
2、在每一个shell下可以再打开一个shell,新打开的shell可以称为子shell,每一个shell之间 是相互独立的。
3、可以使用pstree命令查看当前shell下的子shell个数。
3.2.1 type指令:查看命令类型是内部命令还是外部命令. 3.2.2 help:内部命令帮助手册 - 查看命令的具体使用细则,附带语法格式,描述 3.2.3 man:外部命令帮助手册 - 使用须用指令进行下载 - yum install man man-pages -y 3.2.4 whereis: 定位命令的位置 3.2.5 file: 文件类型 3.2.6 echo: 打印到标准输出 3.2.7 $PATH: 环境变量--路径 3.2.8 $LANG:定义系统的主语系环境 3.2.9 echo $$:当前shell的进程号 3.2.10 hash -r: 清除缓存 注:shell中对于命令的查找方式是在PATH记录的目录中进行查找,然后缓存到内存hash中
3.3.1 Linux中的变量声明:变量名=变量值 注:=左右不可以有空格 3.3.2 Linux中变量的取值需用$符号进行取值,使用set可以获取所有变量包括环境变量和普通变量 3.3.3 使用unset+变量名,可以删除遍历该变量 3.3.4 注意变量名由数字,字母和下划线组成,不能以数字开头,变量之中有空格用引号括起来 3.3.5 双引号内可以引用变量,单引号内的内容会原样输出 3.3.6 将命令的执行结果赋值给变量有两种方法,方法一:使用``(tab键上的符号)包住执行的命令,方法二:将命令放入$()内执行 3.3.7 变量的拼接:拼接变量时注意$变量名要放在""内才有效
3.4.1 1-用户命令(/bin, /usr/bin, /usr/local/bin) 3.4.2 2-系统调用 3.4.3 3-库用户 3.4.4 4-特殊文件(设备文件) 3.4.5 5-文件格式(配置文件的语法) 3.4.6 6-游戏 3.4.7 7-杂项(Miscellaneous) 3.4.8 8-管理命令(/sbin, /usr/sbin, /usr/local/sbin)
3.5.1文件类型: 1. -:普通文件(f) 2. d:目录文件 3. b:块设备文件(block) 4. c:字符设备文件(character) 5. I:符号链接文件(symbolic link file) 6. p:命令管道文件(pipe) 7. s:套接字文件(socket) 3.5.2 文件权限: 9位,每3位一组,3组 权限(U,G,O)每一组:rwx(读,写,执行), r-- 3.5.3 文件硬连接的次数 3.5.4 文件的属主 3.5.5 文件的属组 3.5.6 文件的大小 3.5.7 文件的时间戳(最后一次被修改的时间) --access:访问 --modify:文件内容发生改变 --change,改变,metedata 元数据
–/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader) –/dev: 设备文件 –/etc:配置文件 –/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME –/root:管理员的家目录; –/lib:库文件 :没有执行入口的应用程序 –/media:挂载点目录,移动设备 –/mnt:挂载点目录,额外的临时文件系统 –/opt:可选目录,第三方程序的安装目录 –/proc:伪文件系统,内核映射文件 –/sys:伪文件系统,跟硬件设备相关的属性映射文件 –/tmp:临时文件, /var/tmp –/var:可变化的文件 –/bin: 可执行文件, 用户命令 –/sbin:管理命令
•df:显示磁盘使用情况 •du:显示文件系统使用情况 •ls:显示目录 •cd:切换工作目录 •pwd:显示当前工作目录 •mkdir:创建目录 •rm:删除 •cp:拷贝 •mv:移动 •ln:链接 •stat:元数据 •touch •df:显示磁盘使用情况 –df -h •du:显示文件系统使用情况 –du -sh –du -a •ls:显示目录 –ls -alhrt •cd:切换工作目录 –cd 或 cd ~ –cd .. –cd / –cd - •pwd:显示当前工作目录 •mkdir:创建目录 –mkdir -p ./a/b/c –mkdir a/{1,2,3}dir •rm:删除 –rm -f –rm -rf / •cp:拷贝 –cp /etc/{profile,inittab} ./ –cp -r ./a ./new –cp -l cp -s •mv:移动 •ln:链接 –ln 默认硬链接 –ln -s 软链接
3.7.1 cat命令:cat 命令用于连接文件并打印到标准输出设备上. -more: Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键 (space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的 说明文件,请按 h 。 -less: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之 前不会加载整个文件。 -head : 显示文件的开头至标准输出中(默认文件开头的前10行) -tail : tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。tail -f filename 会把 filename文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。