二、体验Linux系统(文件目录、shell)
2.1 文件系统
Linux系统下,一切皆文件
1、常用的Linux文件系统
- swap
- ext2
- vfat
- NFS
2、Linux文件类型
- 普通文件:通常是流式文件
- 纯文本文件
- 二进制文件
- 数据文件
- 目录文件:用于表示和管理系统中的全部文件
- 设备文件:包括块设备文件和字符设备文件
- 管道文件:(FIFO)提供进程间通信的一种方式
- 链接文件:用于不同目录下文件的共享
- 套接字文件(socket):该文件类型与网络通信有关。
普通文件 | |
---|---|
2.2 shell使用技巧
Shell是一种命令解释器,在命令行中输入的命令,都是由shell进行解释,并传输给linux内核,linux内核将执行后的内容返回shell,并由shell展示在命令行中,完成用户与内核之间的交互。
Shell是一种编程语言,可书写shell脚本语言和命令文件。
Shell有多种版本:
- Bourne Shell(/usr/bin/sh或/bin/sh)
- Bourne Again Shell(/bin/bash)
- C Shell(/usr/bin/csh)
- K Shell(/usr/bin/ksh)
- Shell for Root(/sbin/sh)
Ubuntu中使用的是bash(Bourne Again Shell),sh的增强版,linux标准默认的Shell。
查看系统Shell类型
echo $SHELL #注意命令区分大小写
1、shell 使用技巧
- 自动补齐
输入命令的前一个或者几个字母,按下Tab键系统就会自动补全命令。如果有多个可能的选择,再按一次Tab键就会列举出来。
cd /u<Tab><sr> #从当前的目录进入到/usr/src/
-
命令行的历史记录
- 通过按向上向下键,可以向后和向前遍历最近在该控制台下输入的命令
- 如果与SHIFT键连用的话还可以遍历以往在该控制台中的输出,也可以编辑旧的命令然后再运行
- ctrl + r:shell就进入向后增量搜索模式。现在相应命令后再按键,上面的命令将再次执行。
history #显示历史使用过的命令
2、编辑命令行
-
控制命令
- ctrl + l :清屏(与clear命令效果相同)
- ctrl + o:执行当前命令,并选择上一条命令
- ctrl + s:阻止屏幕输出
- ctrl + q:允许屏幕输出
- ctrl + c:终止当前正在执行的命令
- ctrl + z:挂起命令,把当前进程转到后台运行,使用fg命令恢复
- ctrl + d:退出当前的shell
-
光标移动快捷键
- ctrl + a: 移到命令行首
- ctrl + e:移到到命令行尾
- ctrl + f:前移(向右移动)一个字符
- ctrl + b: 后移(向左移动)一个字符
- Alt + f:前移(向右移动)一个单词
- Alt + b:后移(向左移动)一个单词
- ctrl +xx:在命令行首和光标之间移动
-
补全、删除、粘贴、宋chunxiao
- tab:自动补全命令
- ctrl + u:从光标处删除至命令行首
- ctrl + k:从光标处删除至命令行尾
- ctrl +w:从光标处删除至字首
- ctrl + d:删除光标处(或光标后)的字符
- Alt + d: 从光标处删除至字尾
- ctrl + h:删除光标前的字符(与backspace键相同)
- Alt + Backspace:与ctrl +w 类似,分隔符有些差别
- ctrl +y:粘贴至光标后
-
命令的排列
-
先执行command1,不管command1是否出错,接下来执行command2
command1;command2;
-
只有当command1 正确运行完毕后,才执行command2
command1&command2
-
-
命令的任务调度
当在终端里运行一个命令或开启一个程序时,终端要等到命令或程序运行完毕后,才能再被使用。任务调度或后台:在命令后面添加一个&可以将当前运用任务或命令置于后台,终端立即解放可以接受新的输入。
gqview & jobs
-
输入输出重定向(数据的流动方向)
- 输入:外部设备到程序如:键盘-> 程序
- 输出:程序-> 显示器或打印机
">“为输出重定向符,可以将命令的输出结果保存到文件中,“>>”和“>”作用类似,不同的是”>“为新建或者重写一个文件,而”>>"为在文件的尾部追加内容。
ps -ef | grep wget Mail-s "hello world" pingzhenyu@163.com <testmail 命令 >> 文件1 2>>文件2 #将正确的结果追加到文件1,把错误的结果追加到文件2 命令&>>文件#无论结果如何都保存到文件中 命令 >> 文件2>&1
stdin 标准输入 从终端设备输入内容 stdout 标准输出 将内容输出到终端上 stderr 标准错误输出 标准错误输出到终端上
2.3 环境变量
路径之间用冒号:隔开;
在root目录下通过使用export修改环境变量:
export PATH=$PATH:/home/liaokezhi/shiyan
增加此条环境变量属于临时路径,重新启动shell后不保存。
加入到 .bashrc中才会别保存下来
vi .bashrc
加入你的路径:export PATH=$PATH:/home/liaokezhi/shiyan
source .bashrc #使当前环境变量起效
环境变量设置
-
使用命令echo显示环境变量
echo $PATH
-
使用env命令显示所有的环境变量
env # env|grep -i "PATH" #找出带有PATH字符的环境变量
-
使用set命令显示所有本地定义的shell变量
-
unset (选项)(参数)
2种参数如下 -f #仅删除函数 -v #仅删除变量
-
使用readonly命令设置只读变量
readonly (选项)(参数)
3种参数设置 -f #定义只读函数 -a #定义只读数组变量 -p #显示系统中全部只读变量列表
注意:程序一会可以正常运行,一会又不行,很可能是环境变量的问题,一定要注意环境变量的配置,要永久生效要把环境变量配置到 .bashrc文件或者其他文件。
遇到问题:一定要注意看系统提示信息,按照系统提示的信息往往可以找到解决方案。
tree -L 1 #显示当前目录下结构