linux常用命令

sa@Android/linux常用命令

仅记录常用命令的常用用法,不是大全!

搜索文件内容 grep

选项作用实例
-n显示行号
-i忽略大小写
-E支持扩展的正则语法
-r递归查找所有目录
-exclude-dir=忽略目录grep -R --exclude-dir=user keyword /etc
-exclude-dir={ }忽略多个目录grep -R --exclude-dir={proc,boot,sys} keyword /etc
–exclude=*.{ }忽略部分文件grep -rl --exclude=*.{png,jpg} linuxize *

查找文件 find

选项作用实例
-iname忽略大小写、按文件名查找
-size [±]k/M/G按尺寸查找find . -size -10k
-mtime [±]按文件修改天数查找find . -mtime -10
-mmin [±]按文件修改分钟查找find . -mmin -10
-type d/f/l按文件修类型查找find . -type d
-o多种查找方式逻辑或查找find . -type d -o -mmin -10
-exec CMD {}\查找到的文件执行命令CMDfind . -type d -exec ls -l {}\
locate取代find命令基于数据库查找,速度更快

批量修改文件内容 sed

sed不仅仅是命令,而是命令集,其中包含多个子命令

选项作用实例
-e多重编辑,且命令顺序会影响结果
-i直接修改文档读取的内容,不在屏幕上输出
-r使用扩展正则
命令实例解释
ssed -i ‘s/你好/hello/g’ test.txt将文本中所有的“你好”替换为"hello"
dsed -i ‘/hello/d’ test.txt将文本中含有的"hello"的行删除
ased -i ‘/hello/a/goodbye’ test.txt在文本中含有的"hello"的行后追加一行goodbye
sed -i '1, '“$var”'H; 10G test.txt将第一行到第VAR行(VAR是shell变量)复制到第10行

sed没有内置行号变量,要想把递增的数字当做替换内容插入每一行,需要借助shel脚本:

#!/bin/bash
sum=0
total=10
for ((i=1; i<=total; i++))
do
    ((sum +=1))
    sed -i '"sum"'s/^/test_'"sum"'&/g' teset.txt   #每行行首添加行编号的内容
    sed -i '"sum"'s/$/test_'"sum"'&/g' teset.txt   #每行行尾添加行编号的内容

命令过滤器 xargs

选项实例解释
-decho ‘11@22@33’ | xargs -d @自定义一个定界符分割前一命令的输入
-necho ‘11@22@33@44@55@66@77@88@99’ | xargs -d ‘@’ -n 3 echo表示将xargs生成的命令行参数,每次传递几个参数给其后面的命令执行

文本编辑器 vim

「命令模式」:可以进行删除、复制、粘贴等快捷操作。
「编辑模式」:可以编辑文件内容。
「末行模式」:可以通过命令操作文件,比如搜索、保存、退出等。

命令模式常用操作:

命令实例解释
home键光标移动到行首
end键光标移动到行尾
[数字]dd剪切n行或一行
[数字]yy复制n行或一行
p粘贴上一步复制或者剪切的内容
u撤回上一步操作
ctrl + r恢复撤回的操作
/+字符串查找内容
n/N查找的内容下翻与上翻
ctrl+w多窗口时用于切换焦点到不同窗口

编辑模式常用操作:

命令实例解释
home键光标移动到行首编辑模式也可以使用
end键光标移动到行尾编辑模式也可以使用
ctrl+p补全仅编辑模式:可以使用

末行模式常用操作(shift + : 进入):

命令实例解释
%s/old/new/g搜索替换字符串,c代表需用户确认
set+属性设置属性,包括:number、ignorecase、highlight
w+文件名另存为
vs+文件名水平分屏打开另一个文件

归档+压缩 tar

  • 归档:零散文件归为一个归档包但不压缩
  • 压缩:将上一步归档文件进行压缩
命令实例解释
-ctar -cvf pic.tar *.jpg归档文件
-xtar -xvf pic.tar解包文件
-cztar -czvf pic.tar.gz *.jpg基于gzip压缩+归档文件
-xztar -xzvf pic.tar.gz基于gzip解压缩+解包文件
-cjtar -cjvf pic.tar.bz2 *.jpg基于bzip2压缩+归档文件
-xjtar -xjvf pic.tar.bz2基于bzip2 解压缩+解包文件

版本管理 git

实际并不是linux命令,但是都是命令行形式,就放在一起记录吧

命令实例解释
git fetchgit fetch origin master从远程的origin仓库的master分支下载代码到本地的origin maste但未合并
git pullgit pull origin master将远程origin仓库的master分支拉取下来与本地当前分支合并,相当于 git fetch + git merge
git clone相比git pull, git clone只要你想往本地下远程仓库完整的代码就可以用,不用连接远程仓库(即使无权限), 但不适用于更新本地代码
git cherry-pickgit cherry-pick commitID单独将其它的一笔commit内容合入另一分支后继续使用git commit提交
git diff --staged本地目录的修改,加–staged则是查看暂存区内文件的修改
git reset --soft HEAD^回退本地仓库修改,暂存区与本地工作区保留修改
git reset --mixed HEAD^回退本地仓库、暂存区修改,本地工作区保留修改
git reset --hard HEAD^回退本地仓库、暂存区、本地工作区修改
git checkout file将本地文件恢复成暂存区内容或者本地工作区修改前内容,注意与reset的不同:reset是还原提交状态,checkout是还原文件内容
git stash暂存修改,暂存后切换分支仍可保留
git stash list查看所有暂存的改动
git stash apply stash{数字}将某一次暂存提取到工作区,但是不清除暂存区的记录,而pop则是清除,个人一般不使用pop
git stash drop stash{数字}将某一次暂存丢弃
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值