Linux·Command

Linux终端命令行的常用快捷键

Ctrl+r 然后输入若干字符,开始向上搜索包含该字符的命令,继续按Ctrl+r,搜索上一条匹配的命令
Ctrl+y 粘贴刚才所删除的字符
Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符)
Ctrl+(x u) 按住Ctrl的同时再先后按x和u,撤销刚才的操作
Alt+b 光标向后移动一个单词
Alt+f 光标向前移动一个单词

grep

查找匹配"INSERT"上下10行 输出到tmp
grep -C 10 "INSERT" log/log2019-06-24.out > tmp.txt
在当前文件下递归查找匹配INSERT的
grep -r INSERT . 注意 有个点
当前根目录下查找名字为log2019-06-24.out的文件并且匹配包含"INSERT"的上下两行
find / -name "log2019-06-24.out" -print |xargs grep -2 "INSERT" --color

cp

-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

递归强制复制目录到指定目录中覆盖已存在文件
cp -rfb ./* ../backup
交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中
cp -i /usr/men m*.c /usr/zh
cp 命令 在alias 自动加了 -i 交互式

[root@host-192-168-2-137 webapps]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

直接使用/bin/cp 就不会有交互

scp
从远程机复制到本机目录
scp -r [email protected]:/etc/yum.repos.d/CentOS7-Base-163.repo /etc/yum.repos.d/
从本机目录到远程机复制
scp /opt/soft/nginx-0.5.38.tar.gz [email protected]:/opt/soft/scptest

文件对比命令

comm
comm -1 A B 不显示在A文件中独有内容(显示B文件独有内容+两个文件共有)
comm -2 A B 不显示在B文件中独有内容
comm -3 A B 不显示同时在两个文件中都存在的内容
comm -12 A B 显示A与B公共的部分
comm -23 A B 显示A独有的
comm -13 A B 显示B独有的

-1 不输出文件1 特有的行
-2 不输出文件2 特有的行
-3 不输出两个文件共有的行

diff
diff A B 直接显示两个文件不同,并给出修改一致的建议(主要是对旧文件的建议)
diff -c A B 通过显示两个文件上下文,给出两个文件增减或删除信息,同时也会显示两个文件的修改时间
diff -y A B 模拟将屏幕分成两部分,显示B文件增加或删除的信息
列出两个目录(及其子目录)下有差异的文件名称
diff -rq gmds-web/WEB-INF/etc/ tmp/gmds-web/WEB-INF/etc/

sdiff

sdiff -s /work/Launcher2/src/com/android/launcher2/Workspace.java /root/src/launcher2/Workspace.java
sdiff -l /work/Launcher2/src/com/android/launcher2/Workspace.java /root/src/launcher2/Workspace.java

这两个命令都用来比较两个文件。两个参数的作用分别是:
-l 相同的行只输出在结果的左边(右边则只显示与左边有差异的行的内容);
-s 不显示相同的行(分两栏显示有差异的行的内容)

你可能感兴趣的:(Linux·Command)