Linux常用命令详解 | find find 命令的基本结构如下:
find 命令手册 : man find
find 命令中的-name选项可以根据文件名称进行检索( 区分大小写 ) 。如需要忽略文件名中的大小写,可以使用-iname选项 。
-name和-iname两个选项都支持wildcards。如:
例1:查找 /usr 目录下所有文件名以.txt结尾的文件
例2:查找 /usr 目录下所有文件名刚好为 4 个字符的文件
例3:查以大写字母开头的文件
例4:查以两个小写字母和两个数字开头的txt文件
类似的还有:
-lname -ilname
-path -ipath
-regx -iregx
有些时候 , 你需要在搜索时匹配某个文件或目录的 完整路径 ,而不仅仅是匹配文件名 。可以使用-path或-ipath选项 。
例1:如查找 /usr 下所有文件名以.txt结尾的文件或目录,且该文件的父目录必须是src。可以使用以下命令:
例2:在当前目录除aa之外的子目录内搜索 txt文件
例3:在当前目录,不再子目录中,查找txt文件
如果只想搜索得到文件 或 目录,即不想它们同时出现在结果中 。可以使用-type选项指定文件类型 。
-type选项最常用的参数如下:
例:检索 /usr 下所有文件名以python开头的目录
find 命令支持-empty选项用来检索 为空 的文件或目录 。空文件即文件里没有任何内容,空目录即目录中没有任何文件或子目录 。
例:检索用户主目录下所有的空目录
find 命令也允许用户对当前的匹配条件进行 “反义” (类似于 逻辑非 操作) 。
如需要检索 /usr 下所有文件名 不 以.txt为后缀的文件 。可以使用以下命令:
也可以“翻转”任何其他的筛选条件,如:检索 /usr 下所有内容不为空的文件
为了检索归属于特定用户的文件或目录,可以使用-user选项 。
例:检索根目录下所有属主为 starky 的文件
类似于-user 选项 , -group选项则可以根据文件或目录的 属组 进行检索 。
有些时候 , 需要根据文件创建或修改的时间进行检索 。
Linux 系统中 , 与文件相关联的时间参数有以下三种:
与此对应的是 find 命令中的-mtime,-atime和-ctime三个选项 。
这三个选项的使用遵循以下示例中的规则:
检索 /usr 下两天前被修改过的文件
如果觉得-mtime等选项以 天 为单位时间有点长 , 还可以使用-mmin,-amin,-cmin三个选项 。
查找比 aa.txt新 的文件
查找比 aa.txt旧 的文件
查找比aa.txt新 , 比bb.txt旧的文件
-size选项允许用户通过文件大小进行搜索(只适用于文件,目录没有大小……) 。
表示文件大小的单位由以下字符组成:
另外,还可以使用或-符号表示 大于 或 小于 当前条件 。
检索文件大小高于 1 GB 的文件
find 命令可以使用-perm选项以文件权限为依据进行搜索 。
9.1使用符号形式
例1:如需要检索 /usr 目录下权限为rwxr-xr-x的文件,可以使用以下命令:
例2:搜索 /usr 目录下所有权限为r-xr-xr-x (即系统中的所有用户都只有读写权限)的文件和目录,可以使用以下命令:
很多时候 , 我们只想匹配文件权限的一个 子集。比如,检索可以直接被任何用户执行的文件,即只关心文件的执行权限,而不用管其读写权限是什么 。
上述的需求可以通过以下命令实现:
其中a=x前面的/符号即用来表示只匹配权限的某个子集(执行权限),而不用关心其他权限的具体设置 。
9.2使用数字形式
例如:搜索 /usr 目录下权限为644 (即rwxr-xr-x )的文件
find 命令默认是以 递归 的方式检索项目的,这有时候会导致得到的结果数量非常巨大 。可以使用-maxdepth限制 find 命令递归的层数 。
例如:搜索时向下递归的层数最大为 3
在之前的例子中有出现多个搜索条件的 组合 以及对某个搜索条件的 反转。
实际上 find 命令支持“and”和“or”两种逻辑运算,对应的命令选项分别是-a和-o。通过这两个选项可以对搜索条件进行更复杂的组合 。
此外还可以使用 小括号 对搜索条件进行 分组。注意find命令中的小括号常需要用 单引号 包裹起来 。因小括号在 Shell 中有特殊的含义 。
如检索 /usr 下文件名以python开头且类型为目录的文件
该命令等同于:
更复杂的组合形式如:
例4:在除dir0及子目录以外的目录下查找txt后缀文件
说明:-a 应该是and的缩写,意思是逻辑运算符‘与’(); -o应该是or的缩写,意思是逻辑运算符‘或’(||), -not 表示非.
命令行的意思是:如果目录dir0存在(即-a左边为真),则求-prune的值,-prune 返回真,‘与’逻辑表达式为真(即-path './dir0*' -a -prune 为真),find命令将在除这个目录以外的目录下查找txt后缀文件并打印出来;如果目录dir0不存在(即-a左边为假),则不求值-prune,‘与’逻辑表达式为假,则在当前目录下查找所有txt后缀文件 。
-delete选项可以用来删除搜索到的文件和目录 。
例如:删除 home 目录下所有的空目录:
-exec选项可以对搜索到的结果执行执行该参数所给出的shell命令 。形式为 command {} \;,注意{}与\;之间有空格。每当 find 命令检索到一个符合条件的文件,会使用其完整路径取代命令中的{} , 然后执行-exec后面的命令一次 。
例1:如需要将 home 目录下所有的 MP3 音频文件复制到移动存储设备(假设路径是/media/MyDrive ),可使用下面的命令:
其中的 大括号 ( {} )作为检索到的文件的占位符,而分号(; )作为命令结束的标志 。因为分号是 Shell 中有特殊含义的符号 , 所以需要使用单引号括起来或前面加上转义符 \。
例2:查看当前目录下的所有普通文件,并在 - exec 选项中使用 ls -l 命令将它们列出
例3:在多个文件中检索某个指定的字符串 。如在用户主目录下的所有文件中检索字符串hello,可以使用如下命令:
创建 Gzip 格式的压缩文件的命令为:
现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包music.tar.gz中,直观的感觉是,其命令应为如下形式:
实际情况是,这样得到的music.tar.gz其实只包含一个 MP3 文件 。原因是 find 命令 每次 发现一个音频文件,都会再执行一次-exec选项后面的压缩命令 。导致先前生成的压缩包被覆盖 。
可以先让 find 命令检索出所有符合条件的音频文件,再将得到的 文件列表 传递给后面的压缩命令 。完整的命令如下:
如果想浏览搜索到的文件(目录)的详细信息(如权限和大小等),可以直接使用-ls选项 。
例如:浏览所有 1G 以上大小的文件的详细信息
与exec作用相同 , 区别在于,在执行命令之前,都会给出提示,让用户确认是否执行
与 exec 作用相同,起承接作用 。区别在于 |xargs 主要用于承接删除操作 , 而 -exec 都可用 如复制、移动、重命名等
例1:查找以ap或may开头的文件
例2:查硬连接数大于2的文件或目录
例3:查找含特定字符串的文件 。查找当前目录下含有"the string you want find…"字符串的文件:
例4:从根目录开始查tmpfile,一旦查到马上删除
例5:如何用find查找某一天更改的文件?可以使用这一行命令来实现:
A Guide to the Linux “Find” Command
linux查找后缀为txt的文件find 命令,比如 find / -name *.txt
其中 / 是路径 。替换成linux查找后缀的命令你linux查找后缀的命令的路径就行 。查找时确保你有该路径的访问权限 。
linux下怎么用grep指令找有字符串结尾的行1、首先在打开的linux终端下,可以使用grep --help查看,如下图所示 。
2、常规用法 , 使用grep 接关键字文件,如下图所示 。
3、对于关键字有空格或者比较长的字符串,可以使用单引号或双引号锁定,如下图所示 。
4、注意grep是检索关键字 , 如果要排除这个关键字,使用 grep -v,如下图所示就完成了 。
linux 按后缀名搜索可以用locate*.后缀名 不过可能要执行一下update更新一下 。或者用find等其linux查找后缀的命令他搜索命令linux查找后缀的命令,用法和locate 差不多 。
Linux 史上最全命令大全1、ls命令
cd /root
ls#显示当前目录下所有的非隐藏文件
ls -a#显示当前目录下所有文件,包含隐藏文件
ls -l#显示当前目录下所有的非隐藏文件的详情
ls -al #显示当前目录下所有文件,包含隐藏文件 的详情
ls -lh #以列表形式显示当前目录下所有的非隐藏文件的大小(KMT)
ls -alh #以列表形式显示所有文件,包含隐藏文件的文件大小(K M T)
常用的组合:
ls
ll#等价于 ls -l
ls/etc#显示/etc目录下的文件
2:pwd命令
用来显示当前所在的路径
绝对路径: 从/目录开始的路径
/root
/etc/sysconf
/opt/server/data-integration/libswt/win64
相对路径: 相对当前的路径
3、mkdir命令
cd /root
mkdir mytest#在当前目录创建文件夹
mkdir -p 111/222/333 #一次创建多级文件夹
mkdir /root/mydemo#使用绝对路径来创建
mkdir mydemo2#使用相对对路径来创建
4、rm命令
这个命令既可以删除文件,也可以删除目录
删文件:
cd /root
rm a.txt#删除时,会给出提醒确认,输入y删除,n不删除
rm -f b.txt #强制删除 等价于 rm -f /root/b.txt
rm ../dir2/b.txt
touch a.java b.java c.java
rm a.java b.java c.java #一次可以删除多个文件
rm *.java -fr #可以删除当前目录下的所有.java文件
cd dir
rm * -fr #删除当前目录的所有内容
删目录:
rm -r 111 #删除目录,依次提醒删除
rm -rf mytest #强制删除等价于 rm mytest -fr
常用组合:
rm -fr 文件或目录
5、cd命令
cd 命令可以进入一个目录,类似于对windows上的文件夹进行双击
cd#直接cd 可以从任何一个目录回到/root目录
cd /root #进入root目录
cd /opt/server/data-integration/system/
cd .. #回到上一级目录
cd ../.. #回到上上一级目录
cd - #可以在最近的两次目录之间切换
cd /root
mdkir dir1 dir2
cd dir1
cd ../dir2#使用相对路径/中国/广东省/深圳市/宝安区/留仙二路/78号
6、历史命令和table补全
使用上下方向键可以找出历史命令
table键:
cd/opt/ #两次table可以列出/opt目录下所有的文件和子目录
cd/opt/s #一次table可以自动补全目录内容,前提是/opt目录下只有一个s开头的目录
7、touch命令
cd /root
touch a.java #在当前目录创建a.txt文件
touch b.java c.java #创建多个文件
touch /root/d.java #通过绝对路径创建
8、mv命令
移动:
1、mv 文件目录#将文件移动到目录中区
cd /root/dir1
touch a.txt
mv a.txt /root/dir2#等价于 mv a.txt ../dir2
2、 mv 目录1 目录2#将目录1移动到目录2下面(前提是目录2必须存在)
cd /root
mv dir2 dir1#将dir2移动到dir1下面
重命名:
1、mv 文件1文件2#给文件重命名(文件2不能存在)
cd /root
mv a.txt aaa.txt #将a.txt 重命名为aaa.txt
2、mv 目录1 目录2 #给目录重命名(目录2不能存在)
cd /root
mv dir1 dirx #将dir1重命名为dirx
9、cat命令
显示文件内容
cd /root
cat user.txt
10、cp命令
复制文件
cd /root
cp user.txt user2.txt
cp user.txt /opt/#将当前目录的user.txt 复制到/opt目录,文件名保持不变
cp user.txt /opt.user2.txt #将当前目录的user.txt 复制到/opt目录,文件名改为user2.txt
cp /opt/server/data-integration/pan.sh ./#将指定目录里的文件复制到当前目录(.后边的/可以去掉)
cp /opt/server/data-integration/pan.sh ./dirx#将指定目录里的文件复制到当前目录下的dirx目录(.后边的/比可以去掉)
cp /opt/server/data-integration/pan.sh /root/dirx#作用同上
11、解压和压缩
Linux的压缩包后缀一般是: .tar.gz
解压:
.tar.gz
将snappy-1.1.1.tar.gz上传到/root/dir1目录
tar -zxvf snappy-1.1.1.tar.gz#默认解压到当前目录
tar -xvf snappy-1.1.1.tar.gz#默认解压到当前目录
tar -xvf snappy-1.1.1.tar.gz -C /opt #将压缩包解压到/opt目录
.zip格式
unzip mysql-connector-java-8.0.13.zip#默认解压到当前目录
unzip -d /optmysql-connector-java-8.0.13.zip#解压到指定目录
压缩:
.tar.gz
tar -czvf snappy-1.1.1.tar.gzsnappy-1.1.1 #将snappy-1.1.1文件夹进行打包压缩
tar -czvf /root/dir/snappy-1.1.1.tar.gz/opt/server/snappy-1.1.1
.zip格式
zip -r mysql-connector-java-8.0.13.zip mysql-connector-java-8.0.13/
12、find命令
用来实现文件的查找
find/-name'a.txt' #从/目录开始查找a.txt文件
find/-name'ins*'#从/目录开始查找以ins开头的文件
find / -type f -size100M #查找/目录下文件大小大于100M的文件
13、grep命令
grep lang anaconda-ks.cfg#从anaconda-ks.cfg文件中查找包含lang的内容
14、ps命令
ps #查看依赖终端的进程
ps -ef #查看Linux系统中所有的进程
15、kill命令
kill -9 进程的pid#每次启动进程时,pid会发生变化 , 但是进程运行期间pid不会变化
16、管道 |
管道就是把前边命令的结果作为后边命令的输入
ps -ef | grep mysql#查找和mysql相关的进程
ll /etc | grep java#在/etc目录中查找java相关的文件
17、用户的操作
用户创建和密码设置
useradd itheima #创建新用户itheima
passwditheima #设置用户itheima密码
用户删除
userdel -r itheima #删除用户itheima
18、文件的权限
所属用户:root文件的创建者
所属用户组:root和文件创建者在一个组的用户
其他用户:itcast既不是文件创建者,也和文件创建者不在同一组
r: 可读
w:可写
x: 可执行
chmod命令:
方式1:
chmod u rwa.txt #在所属用户之前的权限基础上添加可读和可写权限
chmod u=rwa.txt #将所属用户的权限直接修改为可读 , 可写
chmodx#给所属用户,所属用户组和其他用户全部加上可执行权限
方式2:
chmod777 a.txt #给所有用户加上所有权限
19、clear命令
用来清屏
快捷键: ctrll
20、history命令
用来查看所有的历史命令
21:vi编辑器的使用
vi a.txt #打开a.txt文件
vim a.txt #vim是vi的增强
22、网络管理命令
hostname :查看主机名
修改主机名: /etc/hostname
ifconfig :查看ip地址
修改ip地址: /etc/sysconfig/network-scripts/ifcfg-ens33
服务问题:
service network restart
如果一个文件看不到后缀名,那么通过linux的什么命令可以查看出该文件的后缀名linux下默认没有对文件的后缀定义 , 其实这个要看你如何定义了,自己想起什么名字的都可以,但是到windows下想让不同软件识别就修改对应的文件格式就行了 。一般查看文件的命令很多 , 我可以给你推荐下:
ls 、ls -al(可以查看当前目录下的所有文件 , 包括隐藏文件)、file、ls -ld 这些都可以查看的
【linux查找后缀的命令 linux 查找后缀名文件】linux查找后缀的命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 查找后缀名文件、linux查找后缀的命令的信息别忘了在本站进行查找喔 。
推荐阅读
- java循环代码,javafor循环代码
- chatgpt有股票吗,chargepoint股票
- 农村电商如何学会电商技能,农村电商教程
- 如何推广app产品,如何推广app更高效
- java代码动态编译 java动态编译和静态编译
- 台电内存和硬盘怎么样,2g内存80g硬盘的电脑怎么样
- 荣耀play4tpro鸿蒙讲解,荣耀play4t 鸿蒙
- 计算机毕业设计网页答辩,计算机毕设答辩包括哪些内容
- python绘制对数函数 python画对数图