1. 显示当前目录pwd和改变目录cd
1.1pwd命令
作用:显示当前目录,即工作目录
用法:pwd
示例:
1.2cd命令
作用:改变目录位置
用法:cd ...[OPTION]...[FILE]...
cd 目录路径 — 进入指定目录去
cd .. — 返回父目录
cd / — 进入根目录
cd 或 cd ~ — 进入用户主目录
cd ./* — 进入当前目录下*表示子目录
示例:
![]()
2. ls命令
用法:ls ...[OPTION]...[FILE]...
常用参数:
①. 不带任何参数 列出当前目录下所有文件和子目录
②. -F 分类显示,方便阅读
③. -a 显示隐藏文件即(.FILE)
④. -l 查看文件的各类属性
示例:

3. 列出目录内容:dir 和vdir
用法:dir ...[OPTION]...[FILE]...
vdir ...[OPTION]...[FILE]...
dir和ls差不多,就比ls功能少
vdir 相当于ls -l命令
4. 建立目录makdir
用法:mkdir ...[OPTION]...[FILE]...
mkdir一次可以建立一个或多个目录
常用参数:
不带参数 创建相应目录,如果目录的父目录路径不存在,则创建失败。
-p 创建相应目录,如果目录的父目录路径不存在,则一起创建。
示例:

5.移动,复制和删除
5.1 移动命令 mv
用法:mv ...[OPTION] 源文件 目标文件
常用参数:
不带参数 将源文件移动到目录文件,注意:如果目标文件存在则替换。
-i 将源文件移动到目录文件,如果目标文件存在则提示是否替换。
-b 将源文件移动到目录文件,如果目标文件存在则不进行覆盖,而是在目标文件后加~。
示例: 
5.2复制命令cp
用法: cp ...[OPTION] 源文件 目标文件
常用参数:
不带任何参数 将源文件复制到目标文件,注意:如果目标文件存在则替换。
-i 将源文件复制到目标文件,如果目标文件存在则提示是否替换。
-b 将源文件复制到目标文件,如果目标文件存在则不进行覆盖,而是在目标文件后加~。
-r 将子目录及其中的文件一起复制到另一个子目录下。
示例:
5.3删除命令 rm
删除命令可以一次永久性删除一个或几个文件(包括目录)
用法: rm ...[OPTION]...[FILE]...
常用参数:
不带参数 删除文件或相应的目录,不给予任何提示。
-i 删除文件或相应目录,删除时进行提示。
-f 强制性删除文件或相应目录。
-r 将子目录及其中的文件一并删除(谨慎,特别是在root权限下)。
示例:

6.文件链接ln
ln建立文件链接
用法:ln ...[OPTION]...[FILE]...
常用参数:
不带参数 创建硬链接,ls -i可以查看到两个文件的innode值是否一致。
-s 创建软链接,即别名,如果源文件删除,则软链接(别名)也无法访问。
示例:
可以发现cpplint.py和test1的innode值是相同的。
7.改变文件所有权chown和chgrp
7.1 chown命令用于改变文件的所有权。(在root权限下进行)
用法:chown ...[OPTION] [OWNER] [:[GROUP]] FILE...
常用参数:
不带参数 改变单个或多个文件的属主和属组。
-r 改变一个目录及其下所有文件(和子目录)的所有权设置。
示例:

改变了文件的用户和属组。
7.2 chgrp 用于单独设置文件的属组。(在root权限下进行)
用法:chgrp ...[GROUP] FILE...
示例:

只改变文件的属组。
8.改变文件权限chmod
chmod用于改变一个的权限。它以“用户组 +/-权限”的表达方式来增加/删除相应的权限。具体来说,用户组包括了文件属主(u),文件属组(g),其他人(o)和所有人(a),而权限则包括读取(r,w,x)。
用法: chmod ...[OPTION]...[FILE]...
示例:

可以发现cpplint.py文件组和其他人的访问权限多个写的权限。
9.阅读文件的头部和尾部:head和tail
用法:head/tail ...[OPTION]...FILE
常用参数:
不带参数 显示文件的头部/尾部10行。
-n 按指定的行数显示文件的头部/尾部。
示例:
10.查看文本文件:cat,more和less
cat命令用来一次性查看全部文本文件的内容,后跟文件名作为参数。也可以带上-n显示行号,如果文件长达几十页上百页,不建议使用cat。
more命令用来分页查看文本文件,空格翻页,回车向下一行,Q键退出。
less更人性化的文本阅读工具
11.编辑器:vim
vim是UNIX和Linux上标配的编辑器,功能十分强大。
用法:vim file
11.1插入模式
操作:输入字符,并可以按光标键移动输入字符位置。
| 命令 | 操作 |
|---|---|
| a | 在光标后插入 |
| i | 在光标所在位置插入 |
| o | 在光标所在位置的下一行插入 |
| Esc | 进入命令模式 |
| : | 进入行命令模式 |
模式切换
11.2命令模式
执行除输入字符之外的所有操作,包括保存,搜索,移动光标等。
vim启动默认是在命令模式,如果在编辑模式,需要按Esc切换回命令模式。
可以使用光标键控制上下左右移动,或者h,j,k,l移动。
11.2.1保存和退出
保存文件,退出等需要切换到命令模式,在插入模式下按Esc键后输入:w、:q或:wq等。
前提:须切换到命令模式,注意组合命令执行顺序。
| 命令 | 操作 |
|---|---|
| :w | 保存文件 |
| :w filename | 另存为filename |
| :q | 退出Vim |
| :q! | 强行退出,放弃保存 |
11.2.2搜索字符串
前提:须切换到命令模式
/string用于向下搜索一个字符串
?string用于向上搜索一个字符串
如果需要启动或关闭大小写敏感执行:
:set ignorecase或:set noignorecase
11.2.3替换字符串
前提:须切换到命令模式。
语法::[range]s/pattern/string/[c、e、g、i]
这条命令将pattern所代表的字符串替换成string。开头range用于指定替换的范围,如“1,10”表示从第1行到第10行,“1,$”表示从第一行到最后一行,全文也可以用“%”表示。
最后的放括号是可选选项,含义如下:
| 标 志 | 含 义 |
|---|---|
| c | 每次替换前询问 |
| e | 不显示错误信息 |
| g | 替换一行中的所有匹配项(这个选项通常需要使用) |
| i | 不区分大小写 |
11.2.4 删除,复制,粘贴
前提:须切换到命令模式。
| 命令 | 操作 |
|---|---|
| x | 删除光标所在位置的字符 |
| dd | 删除光标所在的行, 2 dd 表示删除2行 |
| D | 删除光标所在位置到行尾之间所有的字符 |
| d | 普遍意义上的删除命令,和移动命令配合使用。例如dw 表示删除光标所在位置到下一单词词头之间所有的字符 |
| yy | 复制光标所在的行 |
| y | 普遍意义上的复制命令,和移动命令配合使用。例如yw表示复制光标所在位置到下一个单词词头之间所有的字符 |
| p | 在光标所在位置粘贴最近复制/删除的内容 |
11.2.5 撤销和重做
前提:须切换到命令行模式
| 命令 | 操作 |
|---|---|
| u | 撤销一次操作 |
| Ctrl+R | 重做被撤销的操作 |
12.查找find命令
作用:在指定范围内迅速查找到文件。
用法:find [OPTION] [path . . .] [expression]
常用参数:
-type 查找时指定文件的类型,可使用参数如下表;
-atime n 查找最后一次使用在n天前的文件,n 使用负数表示;
-mtime n 查找最后一次修改在n天前的文件;
-maxdepth n 查找目录的最大深度
-mindepth n 从指定的目录的第几层深度开始查找
| 参数 | 含义 | 参数 | 含义 |
|---|---|---|---|
| b | 块设备文件 | f | 普通文件 |
| c | 字符设备文件 | p | 命名管道 |
| d | 目录文件 | l | 符号链接 |
示例:
![]()
13.快速定位文件-locate命令
作用:火箭般的速度定位文件
用法:locate [expression]pattern
locate 并不进入子目录进行搜索,它通过检索数据库来确定文件的位置。可以使用 updatedb 来更新检索数据库。
示例: