英文版,请点击English Version
| 命令 | 说明 |
|---|---|
Up Down |
查看命令历史 |
| date | 显示系统当前时间和日期 |
| cal | 显示当前月份的日历 |
| df | 查看磁盘剩余空间的数量 |
| free | 显示空闲内存的数量 |
| exit | 退出终端 |
Ctrl-Alt-[F1-F6] |
打开虚拟终端 |
Alt-F7 |
返回图形桌面 |
| printenv | 打印部分或所有的环境变量 |
| set | 设置 shell 选项 |
| export | 导出环境变量,让随后执行的程序知道 |
| 命令 | 说明 |
|---|---|
| pwd | 显示当前工作目录 |
| ls | 包含的文件及子目录 |
| cd | 更改工作目录(-上一路径 ~家目录) |
| file | 确定文件的类型 |
| less | 浏览文件内容 |
| cp | 复制文件和目录 |
| mv | 移动/重命名文件和目录 |
| mkdir | 创建目录 |
| rm | 删除文件和目录 |
| ln | 创建硬链接和符号链接 |
| du -h --max-depth=1 | 查看当前目录下文件夹大小 |
- ls 命令选项
| 选项 | 长选项 | 说明 |
|---|---|---|
| -a | --all | 列出所有文件,包括隐藏文件 |
| -d | --directory | 列出这个目录中的内容,而不是目录本身 |
| -F | --classify | 在每个所列出的名字后面加上一个指示符。例如,如果名字是目录名,则会加上一个 '/' 字符 |
| -h | --human-readable | 以人们可读的格式,而不是以字节数来显示文件的大小 |
| -l | 以长格式显示结果 | |
| -r | --reverse | 默认按照字母升序排列,此项会以相反的顺序来显示结果 |
| -S | 输出结果按照文件大小来排序 | |
| -t | 按照修改时间来排序 |
- 通配符
| 通配符 | 意义 |
|---|---|
| * | 匹配任意多个字符(包括零个或一个) |
| ? | 匹配任意一个字符(不包括零个) |
| [characters] | 匹配任意一个属于字符集中的字符 |
| [!characters] | 匹配任意一个不是字符集中的字符 |
| [[:class:]] | 匹配任意一个属于指定字符类中的字符 |
- 常用字符类
| 字符类 | 意义 |
|---|---|
| [:alnum:] | 匹配任意一个字母或数字 |
| [:alpha:] | 匹配任意一个字母 |
| [:digit:] | 匹配任意一个数字 |
| [:lower:] | 匹配任意一个小写字母 |
| [:upper:] | 匹配任意一个大写字母 |
- cp 命令选项
| 选项 | 意义 |
|---|---|
| -a, --archive | 复制文件和目录,以及它们的属性,包括所有权和权限 |
| -i, --interactive | 在重写已存在文件之前,提示用户确认 |
| -r, --recursive | 递归地复制目录及目录中的内容 |
| -u, --update | 仅复制目标目录中不存在的文件,或者是文件内容新于目标目录中已经存在的文件 |
| -v, --verbose | 显示翔实的命令操作信息 |
- mv 选项包括-i,-u,-v; rm 选项包括-i,-r,-v,-f; 意义类似 cp
| 命令 | 说明 |
|---|---|
| type | 说明怎样解释一个命令名 |
| which | 显示会执行哪个可执行程序 |
| man | 显示命令手册页 |
| apropos | 显示一系列适合的命令 |
| info | 显示命令 info |
| whatis | 显示一个命令的简洁描述 |
| alias | 创建命令别名 |
| 命令 | 说明 |
|---|---|
| > | 将标准输出重定向到文件(覆盖) |
| >> | 将标准输出重定向到文件(追加) |
| 2> | 将标准错误重定向到文件,标准输入、输出和错误分别用文件描述符0/1/2表示 |
| 2>&1或&> | 将标准输出和错误重定向到文件 |
| tee | 同时输出数据到标准输出(终端)和文件 |
| cat | 复制文件到标准输出 |
| sort | 排序 |
| unique | 忽略重复行 |
| wc | 显示文件所包含的行数、字数和字节数 |
| grep | 打印匹配文本,-i选项忽略大小写 |
| head | 打印文件开头部分,-n选项指定行数 |
| tail | 打印文件结尾部分,-n选项指定行数 |
- 移动光标
| 按键 | 行为 |
|---|---|
Ctrl-a |
移动光标到行首 |
Ctrl-e |
移动光标到行尾 |
Ctrl-f |
光标前移一个字符;和右箭头作用一样 |
Ctrl-b |
光标后移一个字符;和左箭头作用一样 |
Alt-f |
光标前移一个字 |
Alt-b |
光标后移一个字 |
Ctrl-l |
清空屏幕,移动光标到左上角。clear 命令完成同样的工作 |
- 文本编辑
| 按键 | 行为 |
|---|---|
Ctrl-d |
删除光标位置的字符 |
Ctrl-t |
光标位置的字符和光标前面的字符互换位置 |
Alt-t |
光标位置的字和其前面的字互换位置 |
Alt-l |
把从光标位置到字尾的字符转换成小写字母 |
Alt-u |
把从光标位置到字尾的字符转换成大写字母 |
- 剪切和粘贴
| 按键 | 行为 |
|---|---|
Ctrl-k |
剪切从光标位置到行尾的文本 |
Ctrl-u |
剪切从光标位置到行首的文本 |
Alt-d |
剪切从光标位置到词尾的文本 |
Alt-Backspace |
剪切从光标位置到词头的文本。如果光标在一个单词的开头,剪切前一个单词 |
Ctrl-y |
把剪切环中的文本粘贴到光标位置 |
- 自动补全
| 按键 | 行为 |
|---|---|
Alt-? |
显示可能的自动补全列表,相当于按两次Tab 键 |
Alt-* |
插入所有可能的自动补全 |
- 历史命令
| 按键 | 行为 |
|---|---|
Ctrl-p |
移动到上一个历史条目。类似于上箭头按键 |
Ctrl-n |
移动到下一个历史条目。类似于下箭头按键 |
Alt-< |
移动到历史列表开头 |
Alt-> |
移动到历史列表结尾,即当前命令行 |
Ctrl-r |
反向增量搜索。从当前命令行开始,向上增量搜索 |
Alt-p |
反向搜索,非增量搜索。(输入要查找的字符串,按下 Enter来执行搜索) |
Alt-n |
向前搜索,非增量 |
Ctrl-o |
执行历史列表中的当前项,并移到下一个 |
| 命令 | 说明 |
|---|---|
| ps | 报告当前进程快照 |
| top | 显示任务 |
| jobs | 列出活跃的任务 |
| bg | 把一个任务放到后台执行 |
| fg | 把一个任务放到前台执行 |
| kill | 给一个进程发送信号 |
| killall | 杀死指定名字的进程 |
| shutdown | 关机或重启系统 |
详细信息,请点击Vim常用命令
- 主要的包管理系统家族
| 包管理系统 | 发行版 (部分列表) |
|---|---|
| Debian Style (.deb) | Debian, Ubuntu, Xandros, Linspire |
| Red Hat Style (.rpm) | Fedora, CentOS, Red Hat Enterprise Linux, OpenSUSE, Mandriva, PCLinuxOS |
- 包管理工具
| 发行版 | 底层工具 | 上层工具 |
|---|---|---|
| Debian-Style | dpkg | apt-get, aptitude |
| Fedora, Red Hat Enterprise Linux, CentOS | rpm | yum |
- 软件包查找工具
| 类型 | 命令 |
|---|---|
| Debian | apt-get update; apt-cache search search_string |
| Red Hat | yum search search_string |
- 软件包安装工具
| 类型 | 命令 |
|---|---|
| Debian | apt-get update; apt-get install package_name |
| Red Hat | yum install package_name |
- 底层软件包安装命令
| 类型 | 命令 |
|---|---|
| Debian | dpkg --install package_file |
| Red Hat | rpm -i package_file |
- 软件包删除命令
| 类型 | 命令 |
|---|---|
| Debian | apt-get remove package_name |
| Red Hat | yum erase package_name |
- 软件包更新命令
| 类型 | 命令 |
|---|---|
| Debian | apt-get update; apt-get upgrade |
| Red Hat | yum update |
- 底层软件包升级命令
| 类型 | 命令 |
|---|---|
| Debian | dpkg --install package_file |
| Red Hat | rpm -U package_file |
- 列出所安装的软件包命令
| 类型 | 命令 |
|---|---|
| Debian | dpkg --list |
| Red Hat | rpm -qa |
- 软件包状态命令
| 类型 | 命令 |
|---|---|
| Debian | dpkg --status package_name |
| Red Hat | rpm -q package_name |
- 查看软件包信息命令
| 类型 | 命令 |
|---|---|
| Debian | apt-cache show package_name |
| Red Hat | yum info package_name |
- 包文件识别命令
| 类型 | 命令 |
|---|---|
| Debian | dpkg --search file_name |
| Red Hat | rpm -qf file_name |
| 命令 | 说明 |
|---|---|
| locate | 通过名字来查找文件 |
| updatedb | 数据库更新 |
- find 文件类型
| 文件类型 | 说明 |
|---|---|
| b | 块特殊设备文件 |
| c | 字符特殊设备文件 |
| d | 文件夹 |
| f | 普通文件 |
| l | 符号链接 |
- find 大小单位
| 字符 | 单位 |
|---|---|
| b | 512个字节块,默认值 |
| c | 字节 |
| w | 两个字节的字 |
| k | 千字节(1024个字节单位) |
| M | 兆字节(1048576个字节单位) |
| G | 千兆字节(1073741824个字节单位) |
- find 测试条件
| 测试条件 | 说明 |
|---|---|
| -cnewer file | 匹配内容或属性最后修改时间晚于 file 的文件或目录 |
| -ctime n | 匹配内容和属性最后修改时间在 n*24小时之前的文件和目录 |
| -empty | 匹配空文件和目录 |
| -iname pattern | 就像-name 测试条件,但是不区分大小写 |
| -mmin n | 匹配内容被修改于 n 分钟之前的文件或目录 |
| -mtime n | 匹配的文件或目录的内容被修改于 n*24小时之前 |
| -name pattern | 用指定的通配符模式匹配的文件和目录 |
| -newer file | 匹配内容晚于指定的文件的文件和目录 |
| -size (+/-) n | 匹配大小(大于/小于)为 n 的文件 |
| -type c | 匹配文件类型是 c 的文件 |
- find命令的逻辑操作符
| 操作符 | 说明 |
|---|---|
| -and | 默认情况。如果操作符两边的测试条件都是真,则匹配。可以简写为 -a |
| -or | 若操作符两边的任一个测试条件为真,则匹配。可以简写为 -o |
| -not | 若操作符后面的测试条件是假,则匹配。可以简写为一个感叹号(!) |
| () | 把测试条件和操作符组合起来形成更大的表达式。这用来控制逻辑计算的优先级。 |
- find命令预定义的操作
| 操作 | 说明 |
|---|---|
| -delete | 删除当前匹配的文件 |
| -ls | 对匹配的文件执行等同的 ls -dils 命令。并将结果发送到标准输出 |
| 把匹配文件的全路径名输送到标准输出,默认操作 | |
| -quit | 一旦找到一个匹配,退出 |
- 实例说明
| 命令 | 说明 |
|---|---|
find ~ -type d | wc -l |
搜索Home下的文件夹并统计个数 |
find ~ -type f -name "*.JPG" -size +1M | wc -l |
查找所有文件名匹配*.JPG”和文件大小大于1M 的普通文件 |
find ~ -type f -name '*.BAK' -delete |
删除扩展名为“.BAK”的文件 |
-
gzip: 压缩/解压缩一个或多个文件,直接在原始文件上替代, 扩展名.gz
- gzip 选项
选项 说明 -c 把输出写入到标准输出,并且保留原始文件。也有可能用--stdout 和--to-stdout 选项来指定 -d 解压缩。同 gunzip。也可以指定--decompress或--uncompress选项 -f 强制压缩,即使原始文件的压缩文件已经存在了,也要执行。也可以用--force 选项来指定 -h 显示用法信息。也可用--help 选项来指定 -l 列出每个被压缩文件的压缩数据。也可用--list 选项 -r 若命令的一个或多个参数是目录,则递归地压缩目录中的文件。也可用--recursive 选项来指定 -t 测试压缩文件的完整性。也可用--test 选项来指定 -v 显示压缩过程中的信息。也可用--verbose 选项来指定 -number 设置压缩指数。number 是一个在1(最快,最小压缩)到9(最慢,最大压缩)之间的整数。 数值1和9也可以各自用--fast 和--best 选项来表示。默认值是整数6 -
bzip2: 与
gzip类似,压缩程度更高(压缩速度变慢),扩展名.bz2 -
zip: windows 下常用压缩工具,扩展名
.zip- zip 示例
命令 说明 zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成 myfile.zip文件zip -d myfile.zip smart.txt删除压缩文件中 smart.txtzip -m myfile.zip ./rpm_info.txt向压缩文件 myfile.zip中添加rpm_info.txtunzip -o -d /home/sunny myfile.zip把 myfile.zip文件解压到/home/sunny/,-o在不提示的情况下覆盖文件,-d指明解压路径 -
tar: 归档,tape archive 的简称,收集许多文件并捆绑成一个大文件,扩展名
.tar- tar 模式
模式 说明 -c 创建新的归档文件 -x 抽取归档文件 -r 追加新的文件到归档文件的末尾 -t 列出归档文件的内容,以上4个只能选一个 -v 详细报告 tar 处理的文件信息 -f 指定归档文件名字,该参数必须有且放在最后 - 示例
命令 说明 tar -cf all.tar *.jpg将所有 .jpg的文件打成一个名为all.tar的包tar -rf all.tar *.gif将所有 .gif的文件增加到all.tar的包里面去tar -tf all.tar列出 all.tar包中所有文件tar -xf all.tar解压出 all.tar包中所有文件 -
总结
命令 说明 tar –xvf file.tar解压 file.tartar -xzvf file.tar.gz解压 file.tar.gztar -xjvf file.tar.bz2解压 file.tar.bz2tar –xZvf file.tar.Z解压 file.tar.Zunrar e file.rar解压 file.rarunzip file.zip解压 file.ziptar –cvf jpg.tar *.jpg将目录里所有 jpg 文件打包成 jpg.tartar –czf jpg.tar.gz *.jpg将目录里所有 jpg 文件打包成 jpg.tar后,并且将其用gzip压缩为jpg.tar.gztar –cjf jpg.tar.bz2 *.jpg将目录里所有 jpg 文件打包成 jpg.tar后,并且将其用bzip2压缩为jpg.tar.bz2tar –cZf jpg.tar.Z *.jpg将目录里所有 jpg 文件打包成 jpg.tar后,并且将其用compress压缩为jpg.tar.Zrar a jpg.rar *.jpgrar 格式的压缩 zip jpg.zip *.jpgzip 格式的压缩
-
grep: global regular expression print
选项 描述 -i忽略大小写,也可用 --ignore-case来指定-v打印不匹配项,也可用 --invert-match来指定-c打印匹配的数量(或者是不匹配的数目,若指定了 -v选项),也可用--count选项来指定-l打印包含匹配项的文件名,而不是文本行本身,也可用 --files-with-matches选项来指定-L相似于 -l选项,但是只是打印不包含匹配项的文件名,也可用--files-without-match来指定-n在每个匹配行之前打印出其位于文件中的相应行号,也可用 --line-number选项来指定-h应用于多文件搜索,不输出文件名,也可用 --no-filename选项来指定 -
元字符
字符 说明 .匹配在此位置的任意一个字符 ^在文本行的开头匹配 $在文本行的结尾匹配 []从一个指定的字符集合中匹配单个字符 -
元字符被放置到中括号里会失去了它们的特殊含义,除了以下两种元字符:
字符 说明 -表示一个字符范围 ^作为第一个字符时,表示否定
-
-
扩展的正则表达式(ERE):
egrep或grep -E,增加了元字符字符 说明 |交替,允许从一系列表达式之间选择匹配项 ()分离多个匹配项 ?限定符,匹配零个或一个元素 *限定符,匹配零个或多个元素 +限定符,匹配一个或多个元素 {}限定符,匹配特定个数的元素 - 指定匹配的数目
限定符 意思 {n}匹配前面的元素,如果它确切地出现了 n次{n,m}匹配前面的元素,如果它至少出现了 n次,但是不多于m次{n,}匹配前面的元素,如果它出现了 n次或多于n次{,m}匹配前面的元素,如果它出现的次数不多于 m次 -
示例
命令 说明 grep bzip dirlist*.txt在所有列出的文件中搜索字符串 bzipgrep -h '.zip' dirlist*.txt查找包含正则表达式 .zip的文本行grep -h '^$' dirlist*.txt匹配空行 grep -i '^..j.r$' /usr/share/dict/words查找五个字母的单词,它的第三个字母是 j,最后一个字母是rgrep -h '[bg]zip' dirlist*.txt匹配包含字符串 bzip或者gzip的任意行grep -h '[^bg]zip' dirlist*.txt包含字符串 zip,并且zip的前一个字符不是b和ggrep -h '^[A-Za-z0-9]' dirlist*.txt匹配了所有以字母和数字开头的文件名 grep -h '[-AZ]' dirlist*.txt匹配包含一个连字符,或 A,或Z的文件名grep -Eh '^(bz|gz|zip)' dirlist*.txt匹配以 bz,或gz,或zip开头的文件名grep -Eh '^bz|gz|zip' dirlist*.txt匹配任意以 bz开头,或包含gz,或包含zip的文件名^\(?[0-9]\)? [0-9]-[0-9]$匹配 n n-n或(n) n-n,n为数字
-
sort: 给文本行排序
- 常见的 sort 选项
选项 长选项 描述 -b--ignore-leading-blanks忽略每行开头的空格,从第一个非空白字符开始排序 -f--ignore-case让排序不区分大小写 -n--numeric-sort基于字符串的数值来排序 -r--reverse按相反顺序排序 -k--key=field1[,field2]对从 field1到field2之间的字符排序,而不是整个文本行-m--merge把多个文件合并成一个排好序的文件,而没有执行额外的排序 -o--output=file把排好序的输出结果发送到文件,而不是标准输出 -t--field-separator=char定义域分隔字符。默认情况下,域由空格或制表符分隔 -
uniq: 删除相邻的重复行
-
常见的 uniq 选项
选项 描述 -c输出所有的重复行,并且每行开头显示重复的次数 -d只输出重复行,而不是特有的文本行 -f n忽略每行开头的 n个字段,字段之间由空格分隔-i在比较文本行的时候忽略大小写 -s n忽略每行开头的 n个字符-u只输出独有的文本行。这是默认的
-
-
tr: 更改字符
echo "lowercase letters" | tr a-z A-Z输出LOWERCASE LETTERSecho "lowercase letters" | tr [:lower:] A输出AAAAAAAAA AAAAAAAtr -d '\r' < dos_file > unix_file转换MS-DOS文本文件为Unix风格文本
-
sed: stream editor,流编辑器
- sed 地址表示法
地址 说明 n行号, n是一个正整数$最后一行 /regexp/所有匹配该基本正则表达式的文本行 addr1,addr2从 addr1到addr2范围内的文本行,包含地址addr2在内first~step匹配由数字 first开始,然后每step间隔处的文本行addr1,+n匹配地址 addr1和随后的n个文本行addr!匹配所有的文本行,除了 addr之外,addr可能是上述任意的地址形式- sed 基本编辑命令
命令 描述 =输出当前的行号 a在当前行之后追加文本 d删除当前行 i在当前行之前插入文本 p打印当前行 q退出 sed,不再处理更多的文本行。如果不指定-n选项,输出当前行Q退出 sed,不再处理更多的文本行s/regexp/replacement/只要找到一个 regexp匹配项,就替换为replacement的内容,在replacement末尾的斜杠之后,可以指定一个可选的标志,来修改s命令的行为- 示例
命令 描述 echo "front" | sed 's/front/back/'把 front替换为backecho "front" | sed '2s/front/back/'把第二行中 front替换为back,因此输出仍为frontsed -n '1,5p' distros.txt打印出一系列的文本行,开始于第一行,直到第五行 /etc/passwd | sed '/root/p'搜索 /etc/passwd有root关键字的行/etc/passwd | sed '/root/d'删除 /etc/passwd所有包含root的行,其他行输出sed -i 's/\.$/\!/g' regular_express.txt将 regular_express.txt内每一行结尾若为.则换成!sed -i '$a # This is a test' regular_express.txt在 regular_express.txt最后一行加入# This is a test
详细信息,请点击conda常用命令