什么是shell
shell 就是一个程序,它接受从键盘输入的命令, 然后把命令传递给操作系统去执行。几乎所有的Linux发行版都提供一个名为bash的来自GNU项目的shell程序。
“bash”是“Bourne Again SHell”的首字母缩写, 所指的是这样一个事实,bash是最初Unix上由 SteveBourne写成shell 程序 sh的增强版。
基本初体验
Linux 里 Ctrl-c 和Ctrl-v 不代表粘贴复制,其定义要早于window。
沿着文本拖动鼠标,高亮的文字会被X窗口系统缓存到缓冲区,通过鼠标中键可以快速粘贴。
cal 当月日历
df 磁盘剩余空间数量
free 空闲内存数量
exit 退出终端会话
Ctrl-Alt-F1~F6 切换虚拟终端,F7是返回图形桌面
三. 文件系统中跳转
pwd —— 打印当前工作目录名
cd —— 更改目录
ls —— 列出目录内容
绝对路径和相对路径:
cd /usr/bin
是绝对路径,始于根目录 /
cd .
或者 cd ..
是相对路径,始于当前工作目录
. (点)指工作目录, ..(点点)指工作目录的父目录
实际使用中,选输入量最少的那个!
另外,几乎所有情况下,可以省略 ./
,会被隐含的输入。
规则:
- 大小写敏感
- "."开头的隐藏文件,需要 ls -a
Linux 没有文件拓展名的概念,一切皆文件
用下划线代替需要空格的命名
四. 研究操作系统
ls
用来展示anglian目录下所包含的文件和子目录列表
除了当前工作目录外,可以制定要列出内容的目录,并支持列出多个目录
ls /usr
ls命令选项
选项 | 长选项 | 描述 |
---|---|---|
-a | --all | 列出所有文件,甚至包括文件名以圆点开头的默认会被隐藏的隐藏文件。 |
-d | --directory | 通常,如果指定了目录名,ls 命令会列出这个目录中的内容,而不是目录本身。把这个选项与 -l选项结合使用,可以看到所指定目录的详细信息,而不是目录中的内容。 |
-F | --classify | 这个选项会在每个所列出的名字后面加上一个指示符。例如,如果名字是 目录名,则会加上一个'/'字符。 |
-h | --human-readable | 当以长格式列出时,以人们可读的格式,而不是以字节数来显示文件的大小。 |
-l | 以长格式显示结果。 | |
-r | --reverse | 以相反的顺序来显示结果。通常,ls命令的输出结果按照字母升序排列。 |
-S | 命令输出结果按照文件大小来排序。 | |
-t | 按照修改时间来排序。 |
file filename 可用来打印文件类型,一切皆文件。
五. 操作文件和目录
cp
-a --archive 参数:复制文件和目录,以及它们的属性,包括所有权和权限
-r --recursive 参数:递归地复制目录及目录中的内容,当复制目录时,需要此参数(或者 -a)
cp -r dir1 dir2
, 如果目录dir2存在,则dir1和其内容copy到dir2里;如果dir2不存在,则创建dir2,把dir1内容copy到dir2里,然后dir2和dir1一样。
mv
不存在 -a 和 -r 参数
mv dir1 dir2
,如果目录dir2存在,则移动目录dir1和其内容到目录dir2中;如果dir2不存在,则创建dir2,把dir1内容移动到dir2中,然后删除dir1目录(其实就是类似重命名的操作)。
rm
不存在 -a 参数,但是有-r参数,同样表示递归删除目录和文件。