几个简单的命令:
- date:显示当前系统的时间和日期。
- cal:显示当月的日历。
- df:查看磁盘驱动器当前可用空间。
- pwd:查看当前工作目录。
- cd:改变目录。
- ls:列出目录内容。
- file:确定文件类型,file filename
- cp:复制文件和目录
- mv:移动或重命名文件和目录
- mkdir:创建目录
- rm:删除文件和目录
- ln:创建硬链接和符号链接,ln file link创建硬链接,ln -s item link 创建符号链接。item可以是文件也可以是目录。
使用less查看文件内容:less命令属于“页面调度器(pagers)”程序类
less操作命令:
- PAGE UP或b 后翻一页
- PAGE DOWN 或Spacebar 前翻一页
- 向上箭头键 向上一行
- 向下箭头键 向下一行
- G 跳转到文件末尾
- 1G或g 跳转到文件开头
- /string 向前查找到指定的字符串
- n 向前查找下一个出现的字符串
- h 帮助
- q 退出
通配符 | 匹配项 |
* | 匹配任意多个字符(包括0个和1个) |
? | 匹配任一单个字符(不包括0个) |
[characters] | 匹配任意一个属于字符集中的字符 |
[!characters] | 匹配任意一个不属于字符集中的字符 |
[[:class:]] | 匹配任意一个属于指定字符类中的字符 |
[:alnum:] | 匹配任意一个字母或数字 |
[:alpha:] | 匹配任意一个字母 |
[:digit:] | 匹配任意一个数字 |
[:lower:] | 匹配任意一个小写字母 |
[:upper:] | 匹配任意一个大写字母 |
什么是命令
- 可执行程序
- shell内置命令。bash支持许多在内部称之为shell builtin的内置命令
- shell函数。shell函数是合并到环境变量中的小型shell脚本
- alias命令。自定义命令
1.type——显示命令的类型(例如:type ls)
2.which——显示可执行程序的位置(例:which ls)
3.man——显示程序的手册页(例如:man ls)
4.apropos——显示合适的命令
5.info——显示程序的info条目
6.whatis——显示命令的简要描述
7.alias——自定义命令(alias name='string')
I/O重定向。这个功能可以把命令行的输入重定向为从文件中获取内容,也可以吧命令行的输出结果重定向到文件中。将多个命令行关联起来,将形成强大的命令——管道。
- cat:合并文件。
- sort:对文本行排序
- uniq:报告或删除文件中重复的行
- wc:打印文件中的换行符、字和字节的个数
- grep:打印匹配行
- head:输出文件的第一部分内容
- tail:输出文件的最后一部分内容
- tee:读取标准输入的数据,并将其内容输出到标准输出和文件中
1. 标准输入(stdin)、标准输出(stdout)和标准错误(stderr)
默认情况下,标准输出和标准错误都将被链接到屏幕上,并且不会被保存在磁盘文件中,标准输入默认情况下连接到键盘。I/O重定向功能可以改变输出内容发送的目的地,也可以改变输入内容的来源地
2. 标准输出重定向
重定向操作符 “>” ,后面接文件名,就可以把标准输出重定向到另一个文件中,而不是显示在屏幕上。直接使用”> 文件名“会得到一个空的文件或者是删除该文件的内容。
“>” 操作符会从文件的首位值开始覆盖文件,如果需要从文件末尾添加内容则可以使用操作符“>>”来实现。
3. 标准错误重定向
将标准错误输出到文件中则使用“2>”,如果希望将标准输出和标准错误重定向到同一个文件中,则(1).ls -l /bin/usr > out.txt 2>&1 (2).ls -l /bin/usr &> out.txt
如果不想有任何输出则可以重定向到/dev/null 的特殊文件中
4. 标准输入重定向
使用重定向符“<”就可以把标准输入的源从键盘修改为文件了(cat < in.txt)
cat命令读取一个或多个文件,并把他们复制到标准输出文件中,格式:cat [file ...]
将多个文件合并为一个文件——例:将file1.txt,file2.txt,file3.txt合并在一起,cat file*.txt > file.txt
命令从标准输入到读取数据,并将数据发送到标准输出的能力,是使用了名为管道的shell特性。使用管道操作符“|”可以吧一个命令的标准输出传送到另一个命令的标准输入中。例:ls -l /usr/bin | less
管道功能经常用来对数据执行复杂的操作,也可以把多条命令合在一起构成一个管道,这种方式中用到的命令通常被称为过滤器(filter)。过滤器接收输入,按照某种方式对输入进行改变,然后再输出。
bash使用了一个名为Readline的库(供不同的应用程序共享使用的线程集合)来实现命令行的编辑。
1.1光标的移动
1.2 修改文本
1.3 剪切和粘贴文本
2. 自动补齐功能——按下Tab键触发
涉及命令:
1.文件类型:
2.查看文件属性:
3.权限属性
属性 | 文件 | 目录 |
r | 允许打开和读取文件 | 如果设置了执行权限,那么允许列出目录下的内容 |
w | 允许写入或者截短文件;如果也执行了执行权限,那么目录中的文件允许被创建、被删除以及被重命名 | 但是该权限不允许重命名或者删除文件。是否能重命名和删除文件由目录权限决定 |
x | 允许把文件当作程序一样来执行,用脚本语言写的程序文件必须被设置为可读,以便能被执行 | 允许进入目录下 |
- ps:显示当前所有进程的运行情况
- top:实时显示当前所有任务的资源占用情况
- jobs:列出所有活动作业的状态信息
- bg:设置在后台中运行作业
- fg:设置在前台中运行作业,fg %作业号
- kill:发送信号给某个进程
- killall:杀死指定名字的进程
- shutdown:关机或重启系统
系统启动时,内核先把它的一些程序初始化为进程,然后云新一个称为init的程序。init程序将依次运行一系列称为脚本初始化的shell脚本,这些脚本将会启动所有的系统服务。其中的很多服务都是通过守护程序来实现的。而后台程序只是在后台做自己的事,并且没有用户界面。一个程序的运行可以触发其他程序的运行,在进程系统中这种情况被表述为父进程创建子进程。
内核会保存每个进程的信息以便确保任务有序进行。每个进程将被分配一个进程ID,init进程的PID始终为1。
进程状态
想要在启动程序时让程序在后台运行,可以在命令后面加上(&)来实现。使用fg %作业号,使进程回到前台运行。暂停进程Ctrl-Z