Linux命令速查手册(第2版)学习
第1章、需要了解的命令行相关事项
| 表1-1 如何在文件名字符中使用特殊字符 | |
| 字符 | 建议 | 
| / | 绝不使用。不能转义 | 
| \ | 必须转义。避免使用 | 
| _ | 绝不能作为文件或目录名的第一个字符 | 
| [] | 必须转义。避免使用 | 
| {} | 必须转义。避免使用 | 
| * | 必须转义。避免使用 | 
| ? | 必须转义。避免使用 | 
| ' | 必须转义。避免使用 | 
| " | 必须转义。避免使用 | 
| <空格> | 必须转义。通常无法避免,但尽量避免 | 
| 表1-2通配符及其匹配含义 | |
| 符号 | 含义 | 
| * | 匹配0个或者多个任意字符 | 
| ? | 匹配单个字符 | 
| [] | 匹配一组单个字符 | 
| {} | 字符串和范围{jpg,png} | 
clear:重置屏幕
第2章、导航文件系统
| ls命令详解 | |||||||||||||||||||||
| ls | 列出文件和文件夹 | ||||||||||||||||||||
| ls path | 列出文件夹内容 | ||||||||||||||||||||
| ls /home/*.wmv | 使用通配符列出文件夹的内容 | ||||||||||||||||||||
| ls -R/ls --recursive | 查看子文件夹中的文件列表 | ||||||||||||||||||||
| ls -1/ls --format=single-column | 以一行显示内容列表 | ||||||||||||||||||||
| ls -m/ls --format=commas | 以逗号分隔列表显示内容 | ||||||||||||||||||||
| ls -a/ls -all | 查看隐藏的文件和文件夹 | ||||||||||||||||||||
| ls -A | 查看不显示.与..隐藏文件夹 | ||||||||||||||||||||
| ls -F/ls --classfy | 直观显示文件的类型 
 | ||||||||||||||||||||
| ls --color | 以各种颜色显示内容 
 | ||||||||||||||||||||
| ls -l/ls --format=long | 列出权限、所有者以及其他信息 
 r 允许读取 w 允许改写 x 允许执行 -出现在什么位置代表没有不能什么 所有者/组(root)的成员/其他用户 | ||||||||||||||||||||
| ls -r/ls --reverse | 倒序显示文件内容 | ||||||||||||||||||||
| ls -t/ls --sort=time | 按日期和时间排序内容 | ||||||||||||||||||||
| ls -S/ls --sort=size | 按文件大小排序内容 | ||||||||||||||||||||
| ls -h/ls --human-readable | 用k、M、G显示文件大小 | ||||||||||||||||||||
| ls -i | 理解Linux存储文件的方式显示文件索引节点号 | ||||||||||||||||||||
| pwd | 显示当前目录路径 pwd -P/pwd --physical 显示目标路径 pwd -L/pwd --logical 显示逻辑路径 | ||||||||||||||||||||
| cd | 切换路径 cd - 切换到之前路径 | ||||||||||||||||||||
第3章、创建和消毁
| touch命令 | |||||||||||||||||
| touch a.txt | 将文件修改为当前时间 | ||||||||||||||||
| touch -t | 将文件修改为任意所需的时间 -t[[CC]YY]MMDDhhmm[.ss] 
 
 | ||||||||||||||||
| touch notexist.txt | 创建空文件notexist.txt | ||||||||||||||||
| mkdir 命令 | |
| mkdir new | 创建新目录 | 
| mkdir -p tets/test mkdir --parents test/test | 创建新目录以及必要的子目录 | 
| cp命令 | |
| cp a.txt a_copy.txt cp 源文件 复制后路径 cp 源文件 .(在当前目录创建源文件快捷方式) | 复制文件 | 
| cp * | 使用通配符复制文件 | 
| cp -v/cp --verbose | 显示复制文件的过程 | 
| cp -i/cp --interactive | 防止在复制是覆盖重要文件 | 
| cp -r/cp --recursive | 复制目录以及子文件 | 
| cp -a/cp --archive/cp -dpr/cp --no-dereference --preserve -recursive | 为建立完善副本而将文件复制到另外的一个目录 | 
| mv命令 | |
| mv a/a a/b mv a/a . | 移动文件和文件夹 | 
| mv a b | 重命名文件和文件夹 a如果是软链接加上/代表软链接指向的目录 | 
| ln命令 | |
| ln a.txt b.txt | 创建指向另一个文件或目录的链接 | 
| sudo ln -s /var/www /www sudo ln -s /var/www . sudo ln -s /var/www | 创建软链接 | 
| unlink a.txt | 移除链接 | 
| 硬链接与软链接区别 | ||
| 类型 | 硬链接 | 软链接 | 
| 链接指向 | 索引节点 | 名称 | 
| 链接到目录 | 否 | 是 | 
| 跨文件系统链接 | 否 | 是 | 
| 移动源文件 | 链接有效 | 链接断开 | 
| 更改目标的名称 | 链接有效 | 链接断开 | 
| 删除链接 | 目标仍然存在* | 目标仍然存在* | 
| 链接的索引节点 | 与目标相同 | 与目标不同 | 
| 存储空间 | 无 | ~4KB | 
| rm 命令 | |
| rm a.txt | 删除文件 | 
| rm *.txt | 使用通配符删除文件 | 
| rm -i | 防止删除关键文件 | 
| rmdir path | 删除空目录 | 
| rm -rf/rm --recursive --force | 删除文件和非空目录 | 
第4章、学习命令
| man命令[manual(手册)] | |||||||||||||||||
| man ls | 查找ls命令相关信息 
 | ||||||||||||||||
| man -f/man --whatis/whatis | 基于命令名称来快速弄清其功能 | ||||||||||||||||
| man -k/man --apropos/apropos | 基于其功能搜索命令 | ||||||||||||||||
| man [1-2] passwd | 读取特定页数的手册 | ||||||||||||||||
| info命令 | |||||||||||||||||||||
| info info | 学习info命令 | ||||||||||||||||||||
| info -d | 添加包含info格式帮助文档的目录 | ||||||||||||||||||||
| info -f | 指定要读取的info格式的帮助文档 | ||||||||||||||||||||
| info -n | 指定首先访问的info帮助文件的节点 | ||||||||||||||||||||
| info按键 | 
 | ||||||||||||||||||||
| whereis 命令 | |
| whereis kword | 查找命令的可执行文件、源文件、手册路径 | 
| whereis -b | 只查找二进制文件路径 | 
| whereis -m | 只查找手册路径 | 
| whereis -s | 只查找源文件路径 | 
| which命令 | |
| which kword | 查找将要运行命令的路径 | 
| which -a kword/whereis -s kword | 显示kword命令全部路径 | 
| type命令 | |||||||||||
| type ls | shell如何解释命令 
 | ||||||||||
| type -t ls | builtin | ||||||||||
第5章、组合命令
命令栈:
5.1、将命令放在一行上,以;分隔命令。
5.2、用&&代替;,紧当前面的命令执行成功后才进行后面的命令。
5.3、||紧当前面的命令执行失败后才执行后面的命令。
5.4、$(),将一条命令的输出插入到另外一条命令中如mkdir $(date "+%Y-%m-%d");
5.5、
| 三种输入/输出流 | |||
| 文字描述符 | 名称 | 常见缩写名 | 典型的默认设备 | 
| 0 | 标准输入 | stdin | 键盘 | 
| 1 | 标准输出 | stdout | 终端 | 
| 2 | 标准错误 | stderr | 终端 | 
| 管道|用法 | |
| ls -1 | less | 将ls -1结果传递到 less | 
| ps ux | grep firefox | 查找是否有firefox程序在运行 | 
5.6、>将结果输出定向输出到文件中
ls -1F > a.txt
5.7、set -o noclobber 防止重定向覆盖文件 如果需要覆盖文件使用>| 替代 >,取消noclobber set +o noclobber.
5.8、将命令输出追加到文件中用>>
5.9、将文件用作命令的输入使用<,例子:tr 'A-Z' 'a-z' < command.txt > command_lower.txt.
5.10、tee命令将输出同时发送到文件和stdout, ls -1 | tee command.txt,追加使用tee -a ls-1 | tee -a command.txt。
第6章、查看文件
| 文件相关命令 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| file a.txt | 显示文件类型 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cat a.txt | 在标准输出设备上查看文件 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cat a.txt b.txt | 将文件拼接到标准输出设备上 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cat a.txt b.txt > c.txt | 将文件拼接到另外的文件 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cat -n | 拼接文件并显示行号 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| less | 逐屏显示文件 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| less -M或者按"="键 | less的结果中显示文件信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ls --color | less -R | 修复特殊字符带来的混淆 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| less搜索命令/ | 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| export EDITOR=vim | 按v进入编辑器,使用左边设置默认编辑器 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| head a.txt b.txt | 查看多个文件的前10行数据没有b.txt就显示单个文件 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| head -n 100 | 显示文件的前100行数据 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| head -c | 
 
 
 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tail | 查看文件倒数10行 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tail -n 10/ tail --lines=10 | 查看文件倒数n行数据 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tail-f | 查看文件经常更新行 tail -f --pid=2112 /var/log/apache2/error.log | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tail --retry | 文件消失或者突然不可访问 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
第7章、使用过滤器操作文本文件
| 过滤器操作文本文件 | |||||||||||||||||
| wc | wc -l/wc --lines 提供行数 wc -m/wc --chars 提供字符数 wc -w/wc --words 提供单词数 默认显示全部 | ||||||||||||||||
| sed '/^$/d' "a.txt" | wc -l | 删除a.txt空白来统计数据 | ||||||||||||||||
| nl | nl 给文件非空行编号 nl -b t给文件非空行编号 nl -b a给文件所有行编号 | ||||||||||||||||
| cut | cut -f(--fields) 1,3 a.txt echo wu.images.xx.com | cut -d '.' -f 2-4 cut -f 1,3 --output-delimiter=',' a.txt | ||||||||||||||||
| sort | sed ld a.txt | sort -t ' ' -k 4 -r -k/--key -r/--reverse du -d 1 -h | sort -h(如果du -h,sort -h才能正确排序 sort -n 会不能正确排序) | ||||||||||||||||
| uniq | 去重命令(uniq去重去的是相邻重复元素 ) history | awk '{print $2}' | sort | uniq | ||||||||||||||||
| tr | tr a-z A-Z 将字符小写转大写 
 
 | ||||||||||||||||
| tr -s | 使用单个实例替换多个重复的字符如: tr -s [:blank:] | ||||||||||||||||
| tr -d | 删除匹配的字符 | ||||||||||||||||
| sed 's/markdown.txt/markdown/g' | 转换文本 | ||||||||||||||||
| awk | 打印文件中的特定字段 wc -c /var/mail/mail | awk '{print $1}' | ||||||||||||||||
第8章、拥有者和权限
| 拥有者和权限命令 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| whoami | 查看身份命令 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| su username | 切换到username用户 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| su -l/su --login user | 登录user账号 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| su如果不行就sudo su | 成为root用户 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| su - | 登录root用户 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chgrp | chgrp admins a.sh 将a.sh用户组修改为admins组 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chgrp -R/--recursive | 递归修改文件用户组 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chown | chown u a.txt 改变文件的拥有者 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chown -R/--recursive | 与chgrp -R类似 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chown owner:group | chown u:admins a.txt同时修改用户以及用户组 chown :group 等价于 chgrp 命令 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chmod | 
 
 
 上表root用户除外 chmod [ugo][-+=][rwx] chmod [0-7][0-7][0-7] 
 
 
 
 chmod 600 a.txt chmod -R 递归修改权限 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chmod u[+-]s chmod 4[0-7][0-7][0-7] | 设置suid chmod u+s a.txt 或 suid 4754 a.txt 取消suid chmod u-s a.txt 或 suid 0754 a.txt | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chmod g[+-]s chmod 2[0-7][0-7][0-7] | 设置或者取消sgid | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chmod [+-]t chmod 1[0-7][0-7][0-7] | 设置或者取消 sticky bit | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第9章、归档和压缩
| 归档与压缩相关命令 | |||||||||||||||||||||||||
| zip a.zip a.txt b.txt | 将文件压缩到a.zip压缩文件中 | ||||||||||||||||||||||||
| zip -[0-9] | 
 | ||||||||||||||||||||||||
| zip -i/--include | zip a.zip . -i \*.txt | ||||||||||||||||||||||||
| zip -r/--recurse-paths | zip -r a.zip reading/ -i \*.txt | ||||||||||||||||||||||||
| zip -P zip -e | 用密码保护压缩的zip文档 zip -P 123456 a.zip *.txt zip -e a.zip *.txt | ||||||||||||||||||||||||
| unzip a.zip | 解压缩文件 unzip -v(verbose) 查看具体操作 unzip -t(测试解压缩文件) zip -l! | ||||||||||||||||||||||||
| gzip | gzip 与 zip类似也有压缩率选项 gzip 可以不需要压缩后压缩文件名,默认删除原压缩文件 gzip a.txt gzip -c a.txt > a.txt.gz(通过-c保留原文件) gzip -r 与zip -r 类似,但是单独压缩 | ||||||||||||||||||||||||
| gunzip | gunzip a.txt.gz 默认会删除压缩文件 gunzip -c a.txt.gz > a.txt (保留原压缩文件) gunzip -t 测试解压缩命令 | ||||||||||||||||||||||||
| bzip2 | bzip2也存在压缩率 bzip2 a.txt 默认生成.bz2文件删除原文件 bzip2 -k a.txt(-k/--keep)保留原文件 | ||||||||||||||||||||||||
| bunzip2 | bunzip2 a.txt.bz2 默认删除压缩文件 bunzip2 -k a.txt.bz2 保留压缩文件 bunzip2 -t 测试解压缩命令 | ||||||||||||||||||||||||
| tar | tar -cf a.tar *.txt tar -cf a.tar a/ -p/--preserve-permissions、--same-permissions保留权限 -z(--gzip) 可以tar调用gzip命令 -v/--verbose tar -pzcvf a.tar.gz moby-dick/ -j使用bzip2命令 tar -zvtf测试解压缩文件如果是bzip2压缩使用 tar -jvtf tar -pzvxf a.tar.gz解压缩文件(-x/--exteact) | ||||||||||||||||||||||||
第10章、查找文件、目录、单词和短语
| 查找相关命令 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| locate | 可能slocate命令或者mlocate locate slocate.db | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| locate -i | 不区分大小写搜索 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| updatedb | 更新locate数据库,time updatedb会显示运行耗时 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| grep | grep xxx a.txt/*.txt 在文件中查找xxx字符串 
 grep 'hello man!' * grep -R递归查找字符串 grep --color=auto搜索单词并突出结果 grep -i 忽略大小写 grep -w 搜索完整单词 grep -n 显示行号 [command] | grep grep [-ABC] -A/--after-context -B/--before-context -C/--context=# grep -v显示文件中没有匹配的行数据 grep -l/--files-with-matches 列出包含搜索词语的文件 grep -c 文件中单词出现的次数 grep -c rocky "a.txt" grep | grep 在搜索结果中搜索 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| find | 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第12章、shell
| shell 相关命令 | |||||||||||
| history | 查询历史shell命令 history history | less history 10 查询最近10条命令 history | grep version 查找包含version的命令 | ||||||||||
| !! | 再次执行上次命令 | ||||||||||
| ![##] | !499 使用命令行号再次运行之前的命令 | ||||||||||
| ![string] | !history 从命令历史从后往前匹配第一条命令 | ||||||||||
| ^-r(ctrl-r) ^-s(ctrl-s) ^-g(ctrl-g) | ctrl-rc查找历史命令并执行 ctrl-s在历史命令中向前搜索,无效需要XOXF流程控制临时禁用stty -ixon ctrl-g 取消搜索 | ||||||||||
| alias | 
 | ||||||||||
| function | mkcd () { mkdir -p "$1"; cd "$1";}//单行模式结束需要加; listfunc(){ for func in $(compgen -A function | grep -v _); do declare -f $func; echo -e "\r"; done } | ||||||||||
| unset -f name | unset -f mkcd;删除函数,在会话中有效 | ||||||||||
第13章、监控资源
| 系统资源相关命令 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uptime | 显示计算机工作时间 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ps | 
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
第14章、安装软件
| 安装软件相关命令 | |
| rpm -ihv rpm -Uhv | 使用-U比-i好 U代表升级 i代表安装 U没有会进行安装 rpm -Uhv a.rpm b.rpm | 
| rem -e [package] | rpm -e nmap 删除安装包 | 
| yum install [package] | yum install shotwell | 
| yum remove [package] | yum remove shotwell yum list installed查看系统安装 | 
| yum update | 更新软件 | 
| yum search [string] yum list available | yum list available | grep wireshark | 
| dpkg -i [package] | dbkg -i a.deb | 
| dpkg -r [package] | dbkg -r skype | 
| apt-get install [package] | apt-get update apt-get install bluefish | 
| apt-get remove [package] | apt-get remove sshfs | 
| apt-get upgrade | 升级软件包及其依赖程序 | 
| apt-cache search | 查找可下载的软件包 | 
| apt-get clean/autoclean.autoremove | |
第15章、连接
| 连接相关命令 | |||||||||||||
| ifconfig ip addr show | 查看网络接口状态 | ||||||||||||
| ping ping -c | ping www.baidu.com ping -c 3 www.baidu.com 后者ping3次结束前者一直ping直到ctrl+c | ||||||||||||
| tracerote tracerote -m 40 | 跟踪数据经过的路由 | ||||||||||||
| host dig | host www.baidu.com dig www.baidu.com a 
 
 | ||||||||||||
| ifconfig ip addr add ip link set | 配置网络端口 | ||||||||||||
| iwconfig nmcli | 查看无线网络接口的状态 | ||||||||||||
| dhclient | 使用DHCP获取新的网络地址 | ||||||||||||
| ifup ip link set | 激活网络连接 ifup eth0 | ||||||||||||
| ifdown ip link set | 关闭网络连接 | ||||||||||||
| route ip route | 显示ip路由表或修改route root <=> netstat -nr/--numeric --route | ||||||||||||
第16章、操作网络
| 操作网络相关命令 | |||||||||||||||||||||
| ssh | 登录另外一台计算机 | ||||||||||||||||||||
| sftp | 
 | ||||||||||||||||||||
| scp | 在主机安全复制文件 | ||||||||||||||||||||
| rsync | 安全传输和备份文件 | ||||||||||||||||||||
| wget | 非交互式下载文件 wget -r -12 -np -w 5 -A.mp3 -R.html,.gif http://www.baidu.com/mp3/ 非交互式下载整个网站 wget -E -r -k -p -w 5 -np http://www.baidu.com | ||||||||||||||||||||
| curl | 顺序下载多个文件和互联网资源 curl -o http://www.wbez.org/ta/[1-10].rm | ||||||||||||||||||||
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号