C1、shell是什么?
1.更换窗口对焦方式
传统得对焦方式是跟随鼠标点击更换窗口,但对于终端方式来说似乎更繁琐了,因为大部分的操作都有键盘输入完成,鼠标的操作无非是切换窗口,将其更改为随鼠标移动对焦更加方便。
Ubuntu下操作:
-安装 unity-tweak-tool 并启动
sudo apt-get install unity-tweak-tool
-启动后出现一个图形窗口:
- 更换 Focus Mode为Mouse即可
同时注意,Auto-raise以及Auto-raise分别控制对焦后是否自动将当前窗口浮上来以及延迟时间。
C2&3、Linux系统
pwd:打印工作目录(print work directory)
ls:列出目录内容(list files)
file:打印文件内容的简短说明
./.. 分别指代当前目录和当前目录的父目录
ls常用命令:
选项 | 长选项 | 含义 |
-a | --all |
列出所有文件,包括隐藏文件。 |
-d | --directory |
查看目录详细信息。(暂不清楚) |
-F | --classify |
会加上类型指示符, 例如加上斜杠表示目录名。 |
-h | --human-readable | 以人们可读的方式列出。(暂不清楚用途) |
-l | 使用长格式显示结果。 | |
-r | --reverse | 以相反的顺序显示结果。默认为字母升序。 |
-S | 按文件大小排序显示。 | |
-t | 按修改时间排序显示。 | |
关于ls -l 说明:
第一列为权限说明,有十个字符组成,第一个字符指示文件类型('-'表示普通文件,‘d'表示目录文件,'l'表示符号链接l);接下来三个字符指示文件所有者得访问权限;再下面三个字符指示文件所属组中成员的访问权限;最后三个字符指示其他所有人得访问权限。
第二列表示文件硬链接数目。
第三列表示文件所有者得用户名。
第四列表示文件所属组得名称。
第五列表示文件大小(Byte)。
第六&七列表示上次修改文件的时间。
第八列是文件名。
ls -li选项,可以理解为-l选项加上了一项inode(索引节点)而成。
其中第一列为新增加的,表示文件的索引节点编号。
less命令:
less filename:用于查看文本文件。
命令 | 功能 |
q | 退出less程序 |
PAGE UP / b | 后翻一页 |
PAGE DOWN/SpaceBar | 前翻一页 |
上箭头 | 向上一行 |
下箭头 | 向下一行 |
G | 跳转到末尾 |
g/1G | 跳转到开头 |
/string | 向前查找指定的字符串 |
n |
向前查找下一个出现的字符串 这个字符串是之前所查找指定的 |
h | 显示帮助屏幕 |
Linux目录
目录 | 内容 |
/ | 根目录 |
/bin |
包含系统启动和运行所必须得二进制文件(程序) 包含Linux内核、最初的RAM磁盘映像、启动加载程序 |
/boot | |
/dev | 内核将他所识别得所有设备存放在此目录中。 |
/home |
通常情况下,每个用户都会在home目录中有一个属于自己 得目录。普通用户只可以在自己的主目录中创建文件。 |
/lib | 包含核心系统程序使用的共享库文件。类似于WINDOWS得DLL |
/opt | 用来安装其他可选得软件。主要用于存放可能安装在系统中得商业软件。 |
/proc | |
/root | root账户的主目录 |
/tmp | 是存放各类程序创建得临时文件得目录。每次重启后都会清空该目录。 |
/usr | 包含普通用户使用的所有程序和相关文件。 |
C4、操作文件与目录
-常用命令简介
cp:复制文件和目录
mv:移动或重命名文件和目录
mkdir:创建目录
rm:移除文件和目录
in:创建硬链接和符号链接
-通配符
通配符 | 匹配项 |
* | 匹配任意多个字符(包括0个) |
? | 匹配任意一个字符(不包括0个) |
[chars] | 匹配任意一个属于此字符集合得字符 |
[!chars] | 匹配任意一个不属于此字符集合得字符 |
[[:class:]] | 匹配任意一个属于指定字符类中的字符 |
-常用的字符类
字符类 | 匹配项 |
[:alnum:] | 匹配任意一个字母或数字 |
[:alpha:] | 匹配任意一个字母 |
[:digit:] | 匹配任意一个数字 |
[:lower:] | 匹配任意一个小写字母 |
[:upper:] | 匹配任意一个大写字母 |
这个玩意就类似于正则了。
-mkdir——创建目录
1 mkdir directory... 2 mkdir dir1 3 mkdir dir1 dir2 dir3
-cp——复制文件和目录
1 cp item1 item2 //将单个文件/目录item1复制到文件或目录item2中 2 cp item... directory //将多个项目复制进一个目录中
选项 | 含义 |
-a,--archive(档案) |
复制文件和目录及其属性,包括权限。通常来说 复制的文件具有用户所操作文件的默认属性。 |
-i,--interactive(合作的,交互的) |
在覆盖一个已存在的文件前,提示用户确认。 反之cp默认覆盖。 |
-r,--recursive(递归) |
递归地复制目录及其内容。复制目录时需要这个选项 (或-a选项)。 |
-u,--update |
当将文件从一个目录复制到另一个目录时,只复制目标 目录中不存在的文件或是更新后的文件。 |
-v,--verbose(详细的,冗长的) | 复制文件时,显示信息性消息。 |
mv-移除和重命名文件
mv item1 item2 // 将文件(或者目录)移动(或重命名为)item2 mv item... directory //将一个或多个条目从一个目录移动到另一个目录下
mv有许多选项是与cp共享的,如下表所示:
选项 | 含义 |
-i,--interactive |
在覆盖一个已存在的文件前,提示用户确认。 反之mv默认覆盖。 |
-u,--update |
当将文件从一个目录移动到另一个目录时,只复制目标 目录中不存在的文件或是更新后的文件。 |
-v,--verbose | 移动文件时,显示信息性消息。 |
rm-删除文件和目录
rm item...
选项 | 含义 |
-i,--interactive | 删除一个已存在得文件前,提示用户确认。 |
-r,--recursive |
递归删除制目录。要删除一个目录时,必须指定该选项。 |
-f,--force | 忽略不存在的文件并无需提示确认。会覆盖-i选项。 |
-v.--verbose | 删除文件时显示信息性消息。 |
ln(link)--创建链接
ln file link //创建硬链接 ln -s item link //创建符号链接
与OS讲过的类似。硬链接的特点:无法引用目录。不能引用自身文件系统之外的文件
C5、命令的使用
命令有四种类型:
- 可执行程序。如/usr/bin目录里看到的所有文件一样,比如各种语言(C,C++,shell,,Ruby,python,perl...)编写的程序。
- shell内置命令。bash支持许多在内部称之为shell builtin得内置命令。
- shell函数。是合并到环境变量中的小型shell脚本。
- alias命令。我们可以在其他命令得基础上自定义自己的命令。
type——显示命令得类型
type command
which——显示可执行程序的位置
help——获取shell内置命令得帮助文档
help——显示命令得使用信息
- man——显示程序得手册页
man program
man section search-term
部分 | 内容 |
1 | 用户命令 |
2 | 内核系统调用得程序接口 |
3 | C库函数程序接口 |
4 | 特殊文件,如设备节点和驱动程序 |
5 | 文件格式 |
6 | 游戏和娱乐 |
7 | 其他杂项 |
8 | 系统管理命令 |
- apropos——显示合适得命令
- whatis——显示命令得简要概述(这个命令很实用,可以查看命令得英文释义)
- info——显示程序得info条目
命令 | 功能 |
? | 显示帮助命令 |
PageUp/BACKSPACE | 返回上一页 |
PageDown/SpaceBar | 下一页 |
n | 下一个节点 |
p | 上一个节点 |
u | 当前节点得父节点 |
ENTER | 进入光标所☞得超链接 |
q | 退出 |
- alias-》创建自己的命令,unalias-》删除创建得命令。
使用不带参数得alias命令可以显示定义的所有别名。