目录名 | 含义 |
/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 | 查看路由,查看网关配置是否正常 |
mkfifo | 创建一个管道文件 |
通配符 | 功能(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(方向键上) | 键入上一条命令 |