Originally by: 于俊杰
| Join | ||
| Join a1.txt a2.txt | inner join by the first column | |
| join -a1 a1.txt a2.txt | left join by the first column | |
| join -a1 -1 1 -2 3 a1.txt a2.txt | left join by the first column in first file, and third col in the third column | |
| mkdir | ||
| mkdir -p ./a1/a2/a3/a4/a6 | mamke dirs in all the specified places | |
| alias | ||
| alias work="cd ~/data" | ~/.bashrc; ~/.bash_profile | |
| ? | mkdir & cd | |
| function mkdircd () { mkdir -p "$@" && eval cd "\"\$$#\""; } | ||
| cd - | 在最近访问的两个目录间转换 | |
| ssh | ssh -V | 显示ssh版本 |
| ssh -l junjie.yjj 10.242.94.1 | ||
| grep | ||
| grep junjie /etc/passwd | 文件下查找所有含有“junjie” 的行并全部显示出来 | |
| grep -v junjie /etc/passwd | 参数-v会显示出所有不包含匹配文本的内 | |
| grep -c junjie /etc/passwd | 显示了在“/etc/password/”下含有“junjie”的行的总数 | |
| grep -cv junjie /etc/passwd | 显示了在“/etc/password/”下不含有“junjie”的行的总数 | |
| grep -i junjie /etc/passwd | 查找时忽略大小写 | |
| grep -r junjie /home/users | 在所有的子目录下执行相应的查找 | |
| grep -rl junjie /home/users | 利用参数‘l‘, 只显示文件名 | |
| find | ||
| find /etc -name "*mail*" | 找在文件名中含有指定关键字的文件;查找在“/etc”目录下所有文件名中含有“mail”的文件 | |
| find / -type f -size +100M | 列出系统中所有大于100M的文件 | |
| find . -mtime +60 | 列出在当前目录下在最近60天没有被修改过文件 | |
| find . -mtime -2 | 列出在当前目录下在最近2天被修改过文件 | |
| 2> /dev/null | ||
| cat a.txt 2>/dev/null | 用“2>/dev/null”禁止错误输出 | |
| tr | tr a-z A-Z < employee.txt | 将文件中小写字母转化成大写字母 |
| tr A-Z a-z < employee.txt | 小写字母 --> 大写字母 | |
| xargs | 可以取一个命令的输出作为另一个命令的参数 | |
| cat url-list.txt | xargs wget -c | ||
| find ~ -name "*.conf*" | xargs ls -l | ||
| find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz | ||
| tar | 压缩 | |
| tar -zcvf filename.tar.gz filename | ||
| 解压 | ||
| tar -zxvf filename.tar.gz | ||
| sort | sort name.txt | 文本升序排列 |
| sort -r name.txt | 文本降序排列 | |
| sort -t: -k 2 name.txt | 以: 为分隔符的,第二列为key进行排序 | |
| sort -t: -u -k 3 name.txt | 排序且去掉重复项 | |
| sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts | 基于ip地址进行排序 | |
| ? | ls -al | sort +4n | 使用升序对ls -al的输出以文件大小进行排序(第5项) |
| ls -al | sort +4nr | 使用降序对ls -al的输出以文件大小进行排序(第5项) | |
| uniq | ||
| sort name.txt | uniq | sort -u name.txt #equalient | |
| sort name.txt | uniq -c | 去除重复,同时进行计数 | |
| sort name.txt | uniq -cd | 紧显示有重复项的记录&其计数 | |
| cut | 显示一个文本文件中特定的列或者其它命令的输出 | |
| cut -d: -f 1 names.txt | 取冒号分割的文件中的第一列 | |
| cut -d: -f 1,3 names.txt | 取冒号分割的文件中的第一&第三列 | |
| cut -c 1-8 names.txt | 去文件中每行前八个字符 | |
| stat | 显示一个文件或目录的属性 | |
| stat /etc/my.conf | 查看文件属性 | |
| stat -f / | 查看系统属性 | |
| diff | 比较两个文件并显示差异 | |
| diff -w names.txt names2.txt | w: 忽略空白 | |
| ac | 显示用户的连接时间 | |
| ac -d | 显示当前用户,在不同时间(天)上的连接时间长度 | |
| ac -p | 显示所有用户,今天的已连接时间长度 | |
| ac -d junjie.yjj | 显示用户不同时间上的连接时间长度 | |
| PS1 | 默认提示符 | |
| export PS1="\u@\h \w>" | add this to bashrc or bash_profile | |
| \u 用户名 | ||
| \h 主机名 | ||
| \w 当前完整工作目录 | ||
| PS2 | 多行命令默认连接符 (>) | |
| addsfs cont\ | ||
| >inue | ||
| PS3 PS4 | skip | |
| PROMPT_COMMAND | ||
| 环境变量 | ||
| Bash在显示PS1之前先执行PROMPT_COMMAND定义的内容 | ||
| export PROMPT_COMMAND = "date +%k:%m:%S" | 22:08:42 | |
| zip | zip log-files.zip /var/log/* | 压缩多个文件 |
| zip -r log-files.zip /var/log/* | 递归的压缩一个目录及目录下的文件 | |
| unzip -v log-files.zip | v查看解压缩过程中的详细信息 | |
| unzip -l log-files.zip | l在不解压缩的情况下,查看其中的文件 | |
| zip -6 log-files.zip /var/log/* | 0-9 压缩程度,数值越大,压缩程度越大; 默认为6 | |
| zip -P password log-file.zip /var/log/* | 设置压缩密码 | |
| zip -e log-files.zip | 交互式设置压缩密码(相对于上面的明文方法) | |
| zip -t log-files.zip | 显示文档的完整性;及其包含的内容 | |
| tar (tape archive) | ||
| tar 【选项】 【档案文件名】 【需要归档的文件】 | ||
| tar cvf /tmp/my_home_directory.tar /home/junjie.yjj | ||
| c:创建档案文件 | ||
| v:verbose模式,即在命令执行过程中显示更多信息 | ||
| f:在命令中之处归档文件名 | ||
| tar tvf /tmp/my_home_directory.tar | 查看归档文件中包含哪些文件 | |
| tar xvf /tmp/my_home_dirctory.tar | x:从归档文件中提取所有文件 | |
| tar xvfz /tmp/my_home_dirctory.tar.gz -C home/junjie.yjj | ||
| 将tar.gz文件解压到制定文件 | ||
| tar中使用gzip | ||
| tar cvfz /tmp/my_home_directory.tar.gz /home/junjie.yjj/ | 创建tar.gz | |
| tar xvfz /tmp/my_home_directory.tar.gz | ||
| tar tvfz /tmp/my_home_directory.tar.gz | ||
| tar中使用bzip2 | ||
| tar cvfz /tmp/my_home_directory.tar.bz2 /home/junjie.yjj/ | 创建tar.bz2 | |
| tar xvfz /tmp/my_home_directory.tar.bz2 | ||
| tar tvfz /tmp/my_home_directory.tar.bz2 | ||
| gzip 要比bzip2快 | ||
| ctrl + r(R) | ||
| 搜索含有关键字的历史命令 | ctrl + r (R ) + keyword | |
| source | 环境变量设置 | |
| source ~/.bash_profile | 用户环境变量设置 | |
| source . | 在当前shell下执行脚本 | |
| cd | ||
| cd - | 进入上次的路径 | |
| cp | ||
| cp -r SourceDir TargetDir | 递归拷贝文件夹下的文件 | |
| touch | ||
| touch filename | 新建文件 | |
| ln | ||
| ln -s SourceFile TargetFile | 创建软链接,相当于快捷方式 | |
| ln -s /home/junjie.yjj/data/buy/ buy | ||
| w | who | 显示当前登录的用户 |
| last | 显示历史登录的用户 | |
| yum | ||
| yum list | grep company | 查看当前提供的公司的包 | |
| yum install *.rpm | 安装某个包 | |
| yum remobe *.rpm | 删除某个包 | |
| 进程管理 | ||
| ps | ||
| ps aux | 查看所有进程信息 | |
| ps -ef pid | 查看某个进程的详细信息 | |
| pstree | 查看进程树 | |
| kill | ||
| kill pid | 杀死某一进程 | |
| kill -9 pid | 强制杀死某一进程 | |
| top | 查看当前系统的进程占用资源信息,试试刷新 | |
| nohup cmd & | 后台执行,且当前shell退出时,不结束任务 | |
| su | su junjie.yjj | 切换到junjie.yjj |
| su | 切换到root用户 | |
| su - | 切换到root用户 | |
| su root | 切换到root用户 | |
| rz | 将windows 的文件传到linux | |
| sz | sz filename | 将linux文件传到本地 |
| 光标移动 | ||
| ctrl + a | 光标移到命令行开始 | |
| ctrl + e | 光标移到命令行结尾 | |
| ctrl + r | 从命令历史中找 | |
| ctrl + l | ‘=clear 清屏 | |
| wc | ||
| wc -l | 统计行数 | |
原文地址:http://www.cnblogs.com/jsquare/p/3834624.html