Linux系统常用命令

Linux系统常用命令以及详解

1.mv移动文件/目录

#将test.txt文件移动到/tmp目录下
mv test.txt /tmp
#mv命令也可为文件或目录重命名
mv app app-bak

2.cd切换目录

#查看当前目录
pwd
#切换到上一级目录
cd ..
#切换到/app/mysql目录
cd /app/mysql
#若当前目录为/app目录,切换到mysql目录。此时可用相对路径
cd mysql

3.cp复制文件或目录

#复制文件test.txt到/tmp
cp test.txt /tmp
#复制目录
cp -R /app /app-bak

4.压缩解压tar、zip、gzip

#打包压缩多个文件
tar -zcvf app.tar.gz test.txt abc.txt
#解压到/tmp、不加参数-C默认解压到当前目录
tar -zxvf app.tar.gz -C /tmp

#zip压缩
#压缩目录  -r表示对目录进行递归
zip -r app.zip app
#压缩多个文件
zip file.zip test.txt abc.txt
#解压
unzip app.zip

#gzip压缩单个文件abc.txt
gzip abc.txt #这条命令会生成abc.txt.gz文件、原本的abc.txt文件会消失、如果想要保留原文件可使用-c
gzip -c text.txt > test.txt.gz
#gzip解压gz文件
gzip -d abc.txt.gz #同样这条解压命令执行完成后会删除压缩文件、若想保留可使用-c
gzip -d -c abc.txt.gz > abc.txt

5.find命令

按时间查找文件f代表查找的类型为文件、时间可以用0替代代表当天

#查找/tmp目录下7天前创建的文件
find /tmp -type f -mtime +7
#查找/tmp目录下7天内创建的文件
find /tmp -type f -mtime +7

#删除7天前的文件
find /tmp -type f -mtime +7 -exec rm -f {} \;

#查询/tmp目录下名字以foo开头后缀为.txt的文件
find /tmp -name "foo*.txt"

6.grep命令

#查找test.txt文件中包含abc的字符串
grep 'abc' test.txt
#查找test.txt文件中以'abc'开头的那一行的内容
grep '^abc' test.txt
#将test.txt文件中的每一行内容都在abc.txt文件中进行匹配并列出它们所在行的内容
grep -f test.txt abc.txt
#列出test.txt文件中包含abc的那一行以及它的后两行
grep -A2 'abc' test.txt
#列出test.txt文件中包含abc的那一行以及它的前两行
grep -B2 'abc' test.txt
#列出test.txt文件中包含abc的那一行以及它的前两行和后两行
grep -C2 'abc' test.txt
#列出test.txt文件中包含abc或者bcd所在行的内容
grep -e 'abc' -e 'bcd' test.txt


#这条命令需要注意、它是查找test.txt文件中包含fo、foo、fooo等字符串。foo*在这里的作用是匹配以fo开头后面跟着零个或多个o的字符串
grep 'foo*' test.txt

#查找/tmp目录以及子目录下包含abc的字符串并只输出文件名、l只输出文件名、R递归查找
grep -lR 'abc' /tmp

#结合find使用、查找/tmp目录下文件名以.txt结尾的文件中 包含字符串abc的文件
grep -lR 'abc' `find /tmp -name "*.txt"`

7.sed命令

#将test.txt文件中的abc替换成123
#s代表全局查找、g代表全部替换
sed -i 's/abc/123/g' test.txt

#将test.txt文件中的每一个字符都用[]括起来
#   .用于匹配每一个字符&代表匹配到的结果
sed -i 's/./[&]/g' test.txt

#结合find和grep使用
#将/tmp目录下文件名以.txt结尾且文件内容包含abc的文件中的abc全部替换为666
grep -lR 'abc' `find /tmp -name "*.txt"` | xargs sed -i 's/abc/666/g'

#在test.txt文件中包含abc所在行的下一行添加bcd(若有多行包含abc的内容则会添加多个)
sed '/abc\a/bcd' test.txt

#将匹配到的字符串abc删除掉(原文件内容假设为123abcdef执行命令后为123def)
sed -i 's/abc//g' test.txt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值