| 目录名 | 含义 |
| /bin(binary) | 存放二进制文件,一般为可执行二进制文件 |
| /sys(system) | 存放系统文件 |
| /dev(device) | 存放硬件设备文件 |
| /etc(editable text configuration) | 系统配置文件和启动脚本 |
| /home(home) | 普通用户的家目录的父目录 |
| /lib(library) | 系统库文件 |
| /proc(process) | 存放与内核相关的文件,进程内容对文件系统的映射 |
| /usr(unix system resource) | 普通用户可访问的文件,包括库文件,二进制文件和代码文件等 |
| /var(variable) | 存储变化很快的文件,如日志 |
Unix Shell 通常被称作“命令行”,为Unix和类Unix操作系统提供了传统的用户界面。用户通过输入shell所执行的命令,引导计算机的操作。
bash Unix shell的一种,是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。和其他Unix shell 一样,它支持文件名替换(通配符匹配)、管道、here文档、命令替换、变量,以及条件判断和循环遍历的结构控制语句。
| 命令名 | 功能 |
| apt | 命令行下载接口 |
| cat | cat(选项)(文件)执行标准化输出查看文件内容 cat > a.txt 创建一个空文件,编辑完成后,按Ctrl+c或Ctrl+d退出 选项参数: -b 对非空输出行编号 -E 在每行结束处显示$ -n 对输出的所有行编号 -s 不输出多行空行 |
| sudo | 临时获取管理员管理权限 |
| su | 切换用户,从root用户进入其他用户时不需要密码 |
| exit | 退出当前用户 |
| useradd | 添加用户,只有root用户或有sudo权限的用户才能使用 useradd -m(用户名)-s /bin/bash |
| pwd | 打印当前用户名和当前工作目录 |
| cd | cd 进入用户主目录 cd ~ 进入用户主目录 cd - 返回进入此目录之前所在目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd !$ 把上个命令的参数作为cd参数使用 cd / 进入根目录 cd . 当前目录 cd /(目录名)改变工作目录 |
| ls | 对于目录,该命令列出该目录下的所有子目录与文件;对于文件,将列出文件名以及其他信息 ls -a 可以显示隐藏文件 ls -l 显示文件的详细信息 ls -lh 可以将文件的详细信息以人类可读的方式显示 |
| passwd | 密码 passwd(用户名)用于给用户配置密码 |
| userdel | 删除用户 |
| mount | 查看当前系统的挂载信息,将磁盘内容映射到linux文件系统里称为挂载 |
| mkdir | 创建一个目录(目录文件实际上是一个链表,结点存储文件名和地址信息) mkdir dir1;ls -l 第二条ls命令的结果当中就会出现dir1的信息 |
| rmdir | 删除一个空目录(不可删除非空目录) |
| cp | 拷贝文件或目录,目标为目录时,直接在目标目录下拷贝一份副本,文件名与原文件一致,目标为文件时,拷贝原文件内容,重命名为目标文件的名字 cp -i 会出现警告提示 cp -r(如果原文件是一个目录,必须加-r,cp命令会递归地将目录下所有文件都进行拷贝) |
| mv | 移动文件或目录 mv(选项)(原文件)(目标路径|目标文件) |
| rm | 删除文件或目录 rm(选项)(文件|目录)不要以root身份或sudo权限执行 rm -rf,删除后不可恢复 |
| tree | 显示目录的树状结构 |
| chmod | 修改文件的权限 1.文字设定法:chmod (who) [+|-|=] (mode)(文件名) who代表用户类型(u表示文件所有者用户,g表示文件所有者组成员,o表示其他用户,a或不写表示所有用户,ugo三个字母可以组合)+|-|=代表操作符(+表示添加某项权限-表示取消某项权限=表示设置成某种权限)mode代表模式(r表示可读,w表示可写,x表示可执行,rwx可以组合)在一行语句中可对文件调整多次权限,使用逗号来分割 2.数字设定法:chmod(三位八进制数)(文件名) 例如644表示拥有者可读可写不可执行,其他用户仅可读 |
| umask | 文件(默认666)或目录(默认777)创建时在全部权限中要去掉一些权限,普通用户缺省时umask值为002,root用户为022 通过umask 查看默认的缺省的掩码值,通过umask 001 来修改掩码值 |
| find | 根据条件在起始目录之下查找文件,然后再执行指定操作 find(起始目录)(查找条件)(操作) 常见查找条件 -name 字串查找文件名匹配所给字串的所有文件,字串内可用通配符*,?,[] -gid n 查找属于ID号为n的用户组的所有文件(-uid n)查找属于ID号为n的用户的所有文件 -group(字串)查找属于用户组名为所给字串的所有的文件 -user(字串)查找属于用户名为所给字串的所有的文件 -empty 查找大小为0的目录或文件 -perm(权限)查找具有指定权限的文件和目录,权限的表示为三位八进制数 -size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,不写默认为b { b: 代表512字节的块 c: 表示字节数 k: 表示 kilo bytes(1024字节)w: 字(2字节)M: 兆字节(1048576字节)G: 千兆字节(1073741824字节)} -type x 查找类型为x的文件 {其中x为 b: 块设备文件 c: 字符设备文件 d: 目录文件 p: 命名管道(FIFO) f: 普通文件 l: 符号链接文件(symbolic links) s: socket文件 } 可使用逻辑运算符限制查找内容 find后面添加 -exec(新命令)\ 就可以对每个查找出来的文件执行新命令 |
| amin | amin n 查找n分钟以前被访问过的所有文件(+表示n分钟之前,-表示n分钟之内,+,-均不可省略) |
| cmin | cmin n 查找n分钟以前文件状态被修改过的所有文件 |
| mmin | mmin n 查找n分钟以前文件内容被修改过的所有文件 |
| atime | atime n 查找n天以前被访问过的所有文件 |
| ctime | ctime n 查找n天以前文件状态被修改过的所有文件 |
| mtime | mtime n 查找n天以前文件内容被修改过的所有文件 |
| df | df (选项)(文件名)可以列出文件系统的整体磁盘空间使用情况 df -h 显示整个磁盘的使用情况 |
| du | du(选项)(文件名)可以显示每个文件和目录的磁盘使用空间 |
| file | file(文件名.扩展名)可以查看文件的类型 |
| echo | 显示一行文本 echo > a.txt 创建一个空文件(有一个字节) echo -n > a.txt 创建一个空文件(0字节) |
| touch | 更新文件的时间戳 touch a.txt 创建一个空文件 |
| vi | vim 程序员的文本编辑器 vi a.txt 创建一个空文件(按i或a或o进入编辑模式,编辑完成后按Esc退出编辑按 :wd!保存并强制退出) |
| head | 显示文件的最前面的一部分 head(-n 行数值)(文件名) |
| tail | 显示文件的最后面的一部分 tail(-n 行数值)(文件名) |
| more | more(文件名) 单页浏览文件,不可用上下键控制显示,使用f和b向前后翻页,使用q退出浏览 |
| less | less(文件名) 与more类似,可用上下键控制显示,加载速度比more快 |
| sort | 对文件内容进行排序 sort(文件名) |
| uniq | 报告或删除文件中重复的行(仅能去除相邻相同的) uniq(文件名) -c 在输出行前面加上每行在输入文件中出现的次数 -d 仅显示重复的行 -u 仅显示不重复的行 |
| wc | 统计指定文件中的字节数,字数,行数 wc(文件名) -c 统计字节数 -l 统计行数 ls | wc -l 统计当前目录下的文件 find . name "*文件名"| wc -l 统计当前目录以及所有子目录下的文件 ls -l /etc | wc -w 管道,将一个程序或命令的输出作为另一个程序或命令的输入 -m 统计字符数,该标志不能与 -c 标志一起使用 -w 统计字数,一个字被定义为由空格,换行符等分隔的字符串 |
| iconv | 汉字编码转换 iconv(-f 原编码方式)(-t 新的编码方式)(文件命令) |
| grep | 查找文件内容 grep(选项)(查找模式)(文件名1,文件名2,...) -F 每个模式作为固定的字符串对待 -c 只显示匹配行的数量 -i 比较时不区分大小写 -n 在输出前加上匹配串所在的行号 |
| alias | 打印当前所使用的别名情况,一旦给命令起了别名,那么输入命令的别名就可以起到与原命令一样的效果 |
| history | 获取输入命令的历史记录,在history命令后面再添加>文本文件,就可以将历史记录保存到文本文件里面,如: history > History.txt |
| man | 查看帮助信息 man(手册编号)(命令名) |
| tar | 打包,可以将文件加入到某个包文件或是将文件移出某个包文件 tar(主选项+辅选项)(目标文档)(文件或目录) tar cfv packet . tar file* 创建新的包 tar rfv packet . tar test 把存档的文件追加到包文件的末尾 tar xfv packet . tar tar 从包文件中释放文件 tar ffv packet . tar tar 生成使用包文件或设备 tar vfv packet . tar tar 在归档过程中显示处理的文件 tar czvf packet . tar .gz file* *.txt 用gzip来压缩/解压缩文件,后缀名为 .gz,加上该选项后可以将档案文件进行压缩 tar xzvf packet . tar .gz 解压释放文件 |
| gzip | 用于将文件压缩成后缀为 .gz的压缩文件,或将后缀为 .gz的压缩文件进行解压 |
| bzip2 | 用于将文件压缩成后缀为 .bz2的压缩文件,或将后缀为 .bz2的压缩文件进行解压 |
| ping | 向输入网址发送信息,用于检查网络是否接通 |
| scp | 从本机拷贝到远程服务器 |
| ssh | 可以远程执行命令 ssh(用户名@IP地址)(命令) |
| route | 查看路由,查看网关配置是否正常 |
| 通配符 | 功能(find命令使用通配符) |
| * | 用于匹配0至多个任意字符,加在字符末尾,如 file* |
| ? | 用于匹配1个任意字符,加在匹配字符位置,如 file?,结果可以为 file1,file2等 |
| [] | 用于匹配1个在指定集合内的字符,如 file[1-9],结果可以为 file1,file5,file9等 |
| 通配符 | 功能(grep命令使用正则表达式的方式来进行模式匹配) |
| a | b | 匹配 a 或 b 使用 -E |
| gr(a | e)y | 匹配 gary 或 grey |
| . | 匹配任一字符 |
| [abc] | 匹配任一字符,或 a 或 b 或 c |
| [^abc] | 匹配任一字符,但不包括 a,b,c |
| [a-z] | 匹配从 a 到 z 之间的任一字符 |
| [a-zA-Z] | 匹配从 a 到 z ,以及从 A 到 Z 之间的任一字符 |
| ^表达式 | 匹配字符串的头部,使用 -E |
| 表达式$ | 匹配字符串的尾部,使用 -E |
| ( ) | 匹配标记的子表达式,使用 -E |
| \b | 匹配字词边界 |
| \n | 匹配第 n 个标记的子表达式,n 代表 1 到 9 |
| * | 匹配前一项内容 0 或多次 |
| ? | 匹配前一项内容 0 或 1 次,使用 -E |
| + | 匹配前一项内容 1 或多次,使用 -E |
| {x} | 匹配前一项内容 x 次 |
| {x,} | 匹配前一项内容最少 x 次 |
| {,x} | 匹配前一项内容最多 x 次 |
| {x,y} | 匹配前一项内容次数介于 x 和 y 之间,使用 -E |
| \ | 转义字符 |
| 逻辑运算符 | 含义 |
| -a | 命令中表示逻辑与 |
| -o | 命令中表示逻辑或 |
| ! | 命令中表示逻辑非 |
| 标准输入输出描述符 | 含义 |
| 0 | 标准输入:一般指键盘 |
| 1 | 标准输出:一般指屏幕输出 |
| 2 | 错误输出:一般指屏幕输出 |
| 重定向符号 | 含义 |
| < | 重定向输入 |
| > | 重定向输出,与cat一起使用表示创建 |
| >> | 添加输出,与cat一起使用表示追加 |
| << | 与cat一起使用表示以什么结束 |
| 2> | 错误重定向 |
| &> | 错误和信息重定向 |
| 命令输入的常用快捷键 | 功能 |
| Tab | 输入预测,根据前缀自动补全路径名 |
| Ctrl+a | 光标回到命令输入区开始位置 |
| Ctrl+e | 光标回到命令输入区结束位置 |
| Ctrl+r | 搜索之前出现过的命令 |
| PgUp(方向键上) | 键入上一条命令 |










