linux(ubuntu)~终端(terminal)shell操作指令

shell是指计算机操作指令,是用户、计算机程序、内核之间沟通的桥梁,是计算机图形化之前操作计算机的方式,现在包含:sh-shell、bash-shell、csh-shell、tcsh-shell、ash-shell等类型。

目录

1. 安装操作

2. 文件操作

3. shell-find指令~查找文件

4. shell-grep指令~查找包含特定字符串的文件


1. 安装操作

  • 安装软件~sudo apt-get install
  • 卸载软件~sudo apt remove
  • 更新软件~sudo apt update
  • 更新已安装软件~sudo apt upgrad

----拓展:ubuntu在终端安装python包~sudo pip install

2. 文件操作

  • 查看当前路径(目录)、子目录及目录内容~pwd、dir、ls
  • 打开文件夹及查看文件~cd、cat
  • 返回终端主目录~cd ~
  • 创建目录(文件夹)~mkdir
  • 强制删除~rm -rf
  • 重命名文件及文件夹~mv a b
  • 移动文件夹~mv /a /b

----拓展:ubuntu终端copy、paste命令:ctrl+shift+c、ctrl+shift+v

3. shell-find指令~查找文件

用途:Linux find 命令用来在指定目录下查找文件

语法:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

参数说明 :

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-type c : 文件类型是 c 的文件。

-ctime n : 在过去n天内被修改过的文件

案例:

  • 根据文件名查找

列出当前目录以及子目录下的所有文件

find . -name "*.c"

找到当前目录下名字为11.png的文件

find . -name "11.png"

找到当前目录下所有的jpg文件

find . -name "*.jpg"

找到当前目录下的jpg文件和png文件

find . -name "*.jpg" -o -name "*.png"

找出当前目录下不是以png结尾的文件

find . ! -name "*.png"
  • 根据正则表达式查找

备注:正则表示式比原先想的要复杂,支持好几种类型。可以参考这里

找到当前目录下,文件名都是数字的png文件。

find . -regex "\./*[0-9]+\.png" 
  • 根据路径查找

找出当前目录下,路径中包含wysiwyg的文件/路径。

find . -path "*wysiwyg*"
  • 根据文件类型查找

通过-type进行文件类型的过滤。

f 普通文件

l 符号连接

d 目录

c 字符设备

b 块设备

s 套接字

p Fifo

举例,查找当前目录下,路径中包含wysiwyg的文件

find . -type f -path "*wysiwyg*"
  • 根据访问/修改/变化时间

支持下面的时间类型。

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。

修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。

变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

举例,找出1天内被修改过的文件

find . -type f -mtime -1

找出最近1周内被访问过的文件

find . -type f -atime -7
  • 找出空文件
touch {1..9}.txt
echo "hello" > 1.txt
find . -empty

参考:https://www.cnblogs.com/soymilk2019/p/11758086.htmlhttps://www.runoob.com/linux/linux-comm-find.html

4. shell-grep指令~查找包含特定字符串的文件

语法:grep [option] pattern file

如果你想在当前目录下 查找"hello,world!"字符串,可以这样:

grep -rn "hello,world!" *

* : 表示当前目录所有文件,也可以是某个文件名(不是文件夹名)

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写

下面是一些有意思的命令行参数:

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写。(files用空格隔开),如:当前目录下,grep -rni "test for grep" test.txt test1.txt

grep -l pattern files :只列出匹配的文件名, 

grep -L pattern files :列出不匹配的文件名, 

grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), 

grep -C number pattern files :匹配的上下文分别显示[number]行, 

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, 

grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 

参考:https://blog.51cto.com/151wqooo/1162118https://www.runoob.com/linux/linux-comm-grep.html

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天狼啸月1990

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值