Linux下怎样搜索文件

/ Linux / 没有评论 / 2693浏览

使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索。搜索文件的命令为”find“;”locate“;”whereis“;”which“;”type“

方法/步骤

find

linux下最强大的搜索命令为”find“。它的格式为”find <指定目录> <指定条件> <指定动作>“;比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find / -name 'interfaces'“

[root]# find /mnt -name "install"
/mnt/install

locate

使用locate搜索linux系统中的文件,它比find命令快。因为它查询的是数据库(/var/lib/locatedb),数据库包含本地所有的文件信息。使用locate命令在根目录下搜索interfaces文件的命令为”locate interfaces“

[root]# locate install
/var/lib/docker/overlay/40ed1898b3d4a445a2b565a2df2ac3aebc48e64c1985827d55f4e8a974ff5a5e
	/root/usr/share/icons/Adwaita/96x96/apps/system-software-install-symbolic.symbolic.png
/var/lib/docker/overlay/40ed1898b3d4a445a2b565a2df2ac3aebc48e64c1985827d55f4e8a974ff5a5e
	/root/usr/share/icons/Adwaita/scalable/apps/system-software-install-symbolic.svg
/var/lib/docker/overlay/40ed1898b3d4a445a2b565a2df2ac3aebc48e64c1985827d55f4e8a974ff5a5e
	/root/usr/share/icons/gnome/16x16/apps/system-software-install.png
.....

没有找到命令参见如下解决方案:

yum install mlocate
sudo updatedb
locate install

具体执行结果:

[root]# locate install
-bash: locate: command not found 
[root]# yum install mlocate
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cloud.aliyuncs.com
 * epel: mirrors.cloud.aliyuncs.com
 * extras: mirrors.cloud.aliyuncs.com
 * updates: mirrors.cloud.aliyuncs.com
Resolving Dependencies
--> Running transaction check
---> Package mlocate.x86_64 0:0.26-6.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================
 Package                 Arch                   Version                       Repository            Size
=========================================================================================================
Installing:
 mlocate                 x86_64                 0.26-6.el7                    base                 113 k

Transaction Summary
=========================================================================================================
Install  1 Package

Total download size: 113 k
Installed size: 378 k
Is this ok [y/d/N]: y
Downloading packages:
mlocate-0.26-6.el7.x86_64.rpm                                                     | 113 kB  00:00:02     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : mlocate-0.26-6.el7.x86_64                                                             1/1 
  Verifying  : mlocate-0.26-6.el7.x86_64                                                             1/1 

Installed:
  mlocate.x86_64 0:0.26-6.el7                                                                            

Complete!
[root]# sudo updatedb

[root]# locate install
/var/lib/docker/overlay/40ed1898b3d4a445a2b565a2df2ac3aebc48e64c1985827d55f4e8a974ff5a5e
	/root/usr/share/icons/Adwaita/96x96/apps/system-software-install-symbolic.symbolic.png
/var/lib/docker/overlay/40ed1898b3d4a445a2b565a2df2ac3aebc48e64c1985827d55f4e8a974ff5a5e
	/root/usr/share/icons/Adwaita/scalable/apps/system-software-install-symbolic.svg
/var/lib/docker/overlay/40ed1898b3d4a445a2b565a2df2ac3aebc48e64c1985827d55f4e8a974ff5a5e
	/root/usr/share/icons/gnome/16x16/apps/system-software-install.png
.....

whereis

使用”whereis“命令可以搜索linux系统中的所有可执行文件即二进制文件。使用whereis命令搜索grep二进制文件的命令为”whereis grep“。

[root]# whereis grep
grep: /usr/bin/grep /usr/share/man/man1/grep.1.gz

which

使用which命令查看系统命令是否存在,并返回系统命令所在的位置。使用which命令查看grep命令是否存在以及存在的目录的命令为”which grep“。

[root]# which grep
alias grep='grep --color=auto'
        /usr/bin/grep

type

使用type命令查看系统中的某个命令是否为系统自带的命令。使用type命令查看cd命令是否为系统自带的命令;查看grep 是否为系统自带的命令。

[root]# type grep
grep is aliased to `grep --color=auto'

Linux下按两下Tab键可以显示所有的命令:

[root]# 
Display all 1322 possibilities? (y or n)
:                               iconvconfig                     psfgettable
!                               iconvconfig.i686                psfstriptable
./                              iconvconfig.x86_64              psfxtable
[                               id                              pstree
[[                              idiag-socket-details            pstree.x11
]]                              idlj                            pstruct
{                               idn                             ptaskset
}                               if                              ptx
a2p                             ifcfg                           pushd
accessdb                        ifconfig                        pwck
addgnupghome                    ifdown                          pwconv
addpart                         ifenslave                       pwd
addr2line                       ifnames                         pwdx
adduser                         ifstat                          pwhistory_helper
agetty                          ifup                            pwmake
alias                           igawk                           pwscore
aliyun-service                  in                              pwunconv
alternatives                    info                            pydoc
anacron                         infocmp                         python
appletviewer                    infokey                         python2
applygnupgdefaults              infotocap                       python2.7
apropos                         init                            ranlib
ar                              insmod                          raw
arch                            install/                        rdisc
arp                             install-info                    rdma-ndd
arpd                            installkernel                   read
arping                          intel-microcode2ucode           readarray
as                              ionice                          readelf
aserver                         iostat                          readlink
at                              ip                              readonly
atd                             ip6tables                       readprofile
atq                             ip6tables-restore               realpath
atrm                            ip6tables-save                  reboot
atrun                           ipcalc                          recode-sr-latin
audispd                         ipcmk                           red
audit2allow                     ipcrm                           redhat_lsb_trigger.x86_64
audit2why                       ipcs                            redis-benchmark
auditctl                        ipmaddr                         redis-check-aof
auditd                          iprconfig                       redis-check-dump
augenrules                      iprdbg                          redis-cli
aulast                          iprdump                         redis-sentinel
aulastlog                       iprinit                         redis-server
aureport                        iprsos                          rename
ausearch                        iprupdate                       renice
ausyscall                       ipset                           repoclosure
authconfig                      iptables                        repodiff
authconfig-tui                  iptables-restore                repo-graph
autoconf                        iptables-save                   repomanage
autoheader                      iptables-xml                    repoquery
autom4te                        iptunnel                        repo-rss
autoreconf                      irqbalance                      reposync
autoscan                        isosize                         repotrack
autoupdate                      jar                             reset
autrace                         jarsigner                       resize2fs
auvirt                          java                            resizecons
avcstat                         javac                           resizepart
awk                             javadoc                         restorecon
badblocks                       javafxpackager                  return
base64                          javah                           rev
basename                        javap                           rm
bash                            javapackager                    rmail
bashbug                         java-rmi.cgi                    rmail.postfix
bashbug-64                      javaws                          rmdir
batch                           jcmd                            rmic
bc                              jconsole                        rmid
bg                              jcontrol                        rmiregistry
bind                            jdb                             rmmod
biosdecode                      jdeps                           route
biosdevname                     jhat                            routef
blkdeactivate                   jinfo                           routel
blkdiscard                      jjs                             rpcgen
blkid                           jmap                            rpm
blockdev                        jmc                             rpm2cpio
bond2team                       jmc.ini                         rpmdb
bootctl                         jobs                            rpmkeys
break                           join                            rpmquery
bridge                          journalctl                      rpmverify
btrfs                           jps                             rsyslogd
btrfsck                         jrunscript                      rsyslog-recover-qi.pl
btrfs-convert                   jsadebugd                       rtacct
btrfs-debug-tree                jsondiff                        rtcwake
btrfs-find-root                 jsonpatch                       rtmon
btrfs-image                     jsonpointer                     rtpr
btrfs-map-logical               jstack                          rtstat
btrfs-select-super              jstat                           runcon
btrfstune                       jstatd                          runlevel
btrfs-zero-log                  jvisualvm                       run-parts
build-locale-archive            kbdinfo                         runuser
builtin                         kbd_mode                        rvi
busctl                          kbdrate                         rview
c2ph                            kdump                           rvim
c89                             kdumpctl                        rz
c99                             kernel-install                  s2p
cacertdir_rehash                kexec                           sadf
cal                             keytool                         sandbox
ca-legacy                       kill                            sar
caller                          killall                         sasldblistusers2
cancel                          killall5                        saslpasswd2
cancel.cups                     kmod                            schemagen
capsh                           kpartx                          scp
captoinfo                       l.                              screen
case                            last                            script
cat                             lastb                           scriptreplay
catchsegv                       lastlog                         sdiff
catman                          lchage                          secon
cbq                             lchfn                           sed
cc                              lchsh                           sedismod
cd                              ld                              sedispol
centrino-decode                 ldattach                        sefcontext_compile
certutil                        ld.bfd                          selabel_digest
cfdisk                          ldconfig                        selabel_lookup
c++filt                         ldd                             selabel_lookup_best_match
chacl                           ld.gold                         selabel_partial_match
chage                           less                            select
chardetect                      lessecho                        selinuxconlist
chat                            lesskey                         selinuxdefcon
chattr                          lesspipe.sh                     selinuxenabled
chcat                           let                             selinuxexeccon
chcon                           lexgrog                         selinux_restorecon
chcpu                           lgroupadd                       semanage
checkmodule                     lgroupdel                       semodule
checkpolicy                     lgroupmod                       semodule_package
cheetah                         lid                             sendmail
cheetah-analyze                 link                            sendmail.postfix
cheetah-compile                 linux32                         seq
chfn                            linux64                         serialver
chgrp                           linux-boot-prober               servertool
chkconfig                       ll                              service
chmod                           ln                              sestatus
chown                           lnewusers                       set
chpasswd                        lnstat                          setarch
chronyc                         loadkeys                        setcap
chronyd                         load_policy                     setenforce
chroot                          loadunimap                      setfacl
chrt                            local                           setfiles
chsh                            locale                          setfont
chvt                            localectl                       setkeycodes
cifsiostat                      localedef                       setleds
cksum                           logger                          setmetamode
clear                           login                           setpci
clock                           loginctl                        setpriv
clockdiff                       logname                         setsebool
cloud-init                      logout                          setsid
cloud-init-per                  logrotate                       setterm
cloud-init-upgrade              logsave                         setup-nsssysinit
cmp                             look                            setup-nsssysinit.sh
cmsutil                         losetup                         setvtrgb
col                             lp                              sexp-conv
colcrt                          lpasswd                         sfdisk
colrm                           lpc                             sftp
column                          lpc.cups                        sg
comm                            lp.cups                         sh
command                         lpoptions                       sha1sum
compgen                         lppasswd                        sha224sum
complete                        lpq                             sha256sum
compopt                         lpq.cups                        sha384sum
consoletype                     lpr                             sha512sum
continue                        lpr.cups                        shift
ControlPanel                    lprm                            shopt
coproc                          lprm.cups                       show-changed-rco
coredumpctl                     lpstat                          showconsolefont
cp                              lpstat.cups                     show-installed
cpio                            lrb                             showkey
cpp                             lrx                             shred
cpupower                        lrz                             shuf
cracklib-check                  ls                              shutdown
cracklib-format                 lsattr                          signtool
cracklib-packer                 lsb                             signver
cracklib-unpacker               lsblk                           size
create-cracklib-dict            lsb_release                     skill
crlutil                         lscpu                           slabtop
crond                           lsinitrd                        slattach
crontab                         lsipc                           sleep
csplit                          lslocks                         sln
csslint-0.6                     lslogins                        slogin
ctrlaltdel                      lsmod                           smtp-sink
ctstat                          lsns                            smtp-source
curl                            lsof                            snice
cut                             lspci                           soelim
date                            lsscsi                          sort
db_archive                      lsx                             sotruss
db_checkpoint                   lsz                             source
db_deadlock                     lua                             spax
db_dump                         luac                            splain
db_dump185                      luseradd                        split
db_hotbackup                    luserdel                        sprof
db_load                         lusermod                        sqlite3
db_log_verify                   m4                              ss
db_printlog                     machinectl                      ssh
db_recover                      mail                            ssh-add
db_replicate                    Mail                            ssh-agent
db_stat                         mailq                           ssh-copy-id
db_tuner                        mailq.postfix                   sshd
db_upgrade                      mailx                           sshd-keygen
dbus-binding-tool               make                            ssh-keygen
dbus-cleanup-sockets            makedb                          ssh-keyscan
dbus-daemon                     makedumpfile                    ssltap
dbus-monitor                    man                             stat
dbus-send                       mandb                           stdbuf
dbus-uuidgen                    manpath                         strace
db_verify                       mapfile                         strace-log-merge
dc                              mapscrn                         strings
dd                              markdown_py                     strip
deallocvt                       matchpathcon                    stty
debugfs                         mcookie                         su
debuginfo-install               md5sum                          sudo
declare                         mesg                            sudoedit
delpart                         mii-diag                        sudoreplay
depmod                          mii-tool                        sulogin
devlink                         mixartloader                    sum
df                              mkdict                          sushell
dgawk                           mkdir                           suspend
dhclient                        mkdumprd                        swaplabel
dhclient-script                 mke2fs                          swapoff
diff                            mkfifo                          swapon
diff3                           mkfs                            switch_root
dir                             mkfs.btrfs                      sync
dircolors                       mkfs.cramfs                     sysctl
dirname                         mkfs.ext2                       systemctl
dirs                            mkfs.ext3                       systemd-analyze
disown                          mkfs.ext4                       systemd-ask-password
dmesg                           mkfs.minix                      systemd-cat
dmfilemapd                      mkfs.xfs                        systemd-cgls
dmidecode                       mkhomedir_helper                systemd-cgtop
dmsetup                         mkinitrd                        systemd-coredumpctl
dmstats                         mklost+found                    systemd-delta
dnsdomainname                   mknod                           systemd-detect-virt
dnsmasq                         mkswap                          systemd-escape
do                              mktemp                          systemd-firstboot
docker                          modinfo                         systemd-hwdb
docker-containerd               modprobe                        systemd-inhibit
docker-containerd-ctr           modutil                         systemd-loginctl
docker-containerd-shim          more                            systemd-machine-id-setup
dockerd                         mount                           systemd-notify
docker-init                     mountpoint                      systemd-nspawn
docker-proxy                    mpstat                          systemd-path
docker-runc                     msgattrib                       systemd-run
domainname                      msgcat                          systemd-stdio-bridge
done                            msgcmp                          systemd-sysv-convert
dracut                          msgcomm                         systemd-tmpfiles
du                              msgconv                         systemd-tty-ask-password-agent
dumpe2fs                        msgen                           sys-unconfig
dumpkeys                        msgexec                         sz
dwp                             msgfilter                       tabs
e2freefrag                      msgfmt                          tac
e2fsck                          msggrep                         tail
e2image                         msghack                         tailf
e2label                         msginit                         tapestat
e2undo                          msgmerge                        tar
e4defrag                        msgunfmt                        taskset
eapol_test                      msguniq                         tbl
easy_install                    mv                              tc
easy_install-2.7                nail                            tcpdump
ebtables                        namei                           tcpslice
ebtables-restore                nameif                          tcsd
ebtables-save                   native2ascii                    teamd
echo                            ndptool                         teamdctl
ecs_mq_rps_rfs                  needs-restarting                teamnl
ed                              neqn                            tee
egrep                           netreport                       telinit
eject                           netstat                         test
elfedit                         nettle-hash                     testgdbm
elif                            nettle-lfib-stream              then
else                            NetworkManager                  tic
enable                          newaliases                      tickadj
eni-ifscan                      newaliases.postfix              time
eni-version                     newgrp                          timedatectl
env                             new-kernel-pkg                  timeout
envsubst                        newusers                        times
eqn                             nf-ct-add                       tload
esac                            nf-ct-list                      tmon
ether-wake                      nf-exp-add                      tnameserv
ethtool                         nf-exp-delete                   toe
eval                            nf-exp-list                     top
ex                              nf-log                          touch
exec                            nf-monitor                      tput
exit                            nf-queue                        tr
expand                          nfsiostat-sysstat               tracepath
export                          ngettext                        tracepath6
expr                            nice                            trap
extcheck                        nisdomainname                   troff
factor                          nl                              true
faillock                        nl-addr-add                     truncate
fallocate                       nl-addr-delete                  trust
false                           nl-addr-list                    tset
fc                              nl-class-add                    tsort
fdformat                        nl-class-delete                 tty
fdisk                           nl-classid-lookup               tune2fs
fg                              nl-class-list                   tuned
fgconsole                       nl-cls-add                      tuned-adm
fgrep                           nl-cls-delete                   turbostat
fi                              nl-cls-list                     type
file                            nl-fib-lookup                   typeset
filefrag                        nl-link-enslave                 tzselect
find                            nl-link-ifindex2name            udevadm
find2perl                       nl-link-list                    ul
findfs                          nl-link-name2ifindex            ulimit
findmnt                         nl-link-release                 umask
find-repos-of-install           nl-link-set                     umount
fipscheck                       nl-link-stats                   unalias
fipshmac                        nl-list-caches                  uname
firewall-cmd                    nl-list-sockets                 unexpand
firewalld                       nl-monitor                      unicode_start
firewall-offline-cmd            nl-neigh-add                    unicode_stop
fixfiles                        nl-neigh-delete                 uniq
flock                           nl-neigh-list                   unix_chkpwd
fmt                             nl-neightbl-list                unix_update
fold                            nl-pktloc-lookup                unlink
for                             nl-qdisc-add                    unpack200
free                            nl-qdisc-delete                 unset
fsck                            nl-qdisc-list                   unshare
fsck.btrfs                      nl-route-add                    until
fsck.cramfs                     nl-route-delete                 unxz
fsck.ext2                       nl-route-get                    unzip
fsck.ext3                       nl-route-list                   unzipsfx
fsck.ext4                       nl-rule-list                    update-alternatives
fsck.minix                      nl-tctree-list                  update-ca-trust
fsck.xfs                        nl-util-addr                    update-mime-database
fsfreeze                        nm                              update-pciids
fstrim                          nmcli                           uptime
function                        nm-online                       urlgrabber
funzip                          nmtui                           useradd
fuser                           nmtui-connect                   userdel
fxload                          nmtui-edit                      usermod
gapplication                    nmtui-hostname                  usernetctl
gawk                            nohup                           users
gcc                             nologin                         usleep
gcc-ar                          nproc                           usx2yloader
gcc-nm                          nroff                           utmpdump
gcc-ranlib                      nscd                            uuidgen
gcov                            nsenter                         vdir
gdbus                           nstat                           verifytree
gencat                          ntpd                            vi
genhomedircon                   ntpdate                         view
genhostid                       ntpdc                           vigr
genl                            ntp-keygen                      vim
genl-ctrl-list                  ntpq                            vimdiff
geoiplookup                     ntpstat                         vimtutor
geoiplookup6                    ntptime                         vipw
geoipupdate                     numfmt                          virt-what
geqn                            objcopy                         virt-what-cpuid-helper
getcap                          objdump                         visudo
getconf                         od                              vlock
getenforce                      oldfind                         vmcore-dmesg
getent                          open                            vmstat
getfacl                         openssl                         vpddecode
getkeycodes                     openvt                          vxloader
getopt                          orbd                            w
getopts                         os-prober                       wait
getpcaps                        ownership                       wall
getsebool                       p11-kit                         watch
gettext                         pack200                         watchgnupg
gettext.sh                      package-cleanup                 wc
gio                             packer                          wdctl
gio-querymodules-64             pam_console_apply               weak-modules
glib-compile-schemas            pam_tally2                      wget
glibc_post_upgrade.i686         pam_timestamp_check             whatis
glibc_post_upgrade.x86_64       parted                          whereis
gmake                           partprobe                       which
gneqn                           partx                           while
gnroff                          passwd                          whiptail
gpasswd                         paste                           who
gpg                             patch                           whoami
gpg2                            pathchk                         wipefs
gpg-agent                       pax                             wpa_cli
gpgconf                         pchrt                           wpa_passphrase
gpg-connect-agent               peekfd                          wpa_supplicant
gpg-error                       perl                            write
gpgparsemail                    perl5.16.3                      wsgen
gpgsplit                        perlbug                         wsimport
gpgv                            perldoc                         x86_64
gpgv2                           perlthanks                      x86_64-redhat-linux-gcc
gpg-zip                         pflags                          x86_energy_perf_policy
gpic                            pgawk                           xargs
gprof                           pgrep                           xfs_admin
grep                            pic                             xfs_bmap
groff                           piconv                          xfs_copy
grops                           pidof                           xfs_db
grotty                          pidstat                         xfs_estimate
groupadd                        pinentry                        xfs_freeze
groupdel                        pinentry-curses                 xfs_fsr
groupmems                       ping                            xfs_growfs
groupmod                        ping6                           xfs_info
groups                          pinky                           xfs_io
grpck                           pip                             xfs_logprint
grpconv                         pip2                            xfs_mdrestore
grpunconv                       pip2.7                          xfs_metadump
grub2-bios-setup                pivot_root                      xfs_mkfile
grub2-editenv                   pk12util                        xfs_ncheck
grub2-file                      pkaction                        xfs_quota
grub2-fstest                    pkcheck                         xfs_repair
grub2-get-kernel-settings       pkcs1-conv                      xfs_rtcp
grub2-glue-efi                  pkexec                          xgettext
grub2-install                   pkg-config                      xjc
grub2-kbdcomp                   pkill                           xmlcatalog
grub2-macbless                  pkla-admin-identities           xmllint
grub2-menulst2cfg               pkla-check-authorization        xmlwf
grub2-mkconfig                  pkttyagent                      xtables-multi
grub2-mkfont                    pl2pm                           xxd
grub2-mkimage                   pldd                            xz
grub2-mklayout                  plipconfig                      xzcat
grub2-mknetdir                  plymouth                        xzcmp
grub2-mkpasswd-pbkdf2           plymouthd                       xzdec
grub2-mkrelpath                 plymouth-set-default-theme      xzdiff
grub2-mkrescue                  pmap                            xzegrep
grub2-mkstandalone              pod2html                        xzfgrep
grub2-ofpathname                pod2man                         xzgrep
grub2-probe                     pod2text                        xzless
grub2-reboot                    pod2usage                       xzmore
grub2-render-label              policytool                      yes
grub2-rpm-sort                  popd                            ypdomainname
grub2-script-check              postalias                       yum
grub2-set-default               postcat                         yum-builddep
grub2-setpassword               postconf                        yum-complete-transaction
grub2-sparc64-setup             postdrop                        yum-config-manager
grub2-syslinux2cfg              postfix                         yumdb
grubby                          post-grohtml                    yum-debug-dump
gsettings                       postkick                        yum-debug-restore
gshelld                         postlock                        yumdownloader
gsoelim                         postlog                         yum-groups-manager
gtar                            postmap                         zcat
gtbl                            postmulti                       zcmp
gtroff                          postqueue                       zdiff
gunzip                          postsuper                       zdump
gzexe                           powernow-k8-decode              zegrep
gzip                            poweroff                        zfgrep
h2ph                            pppd                            zforce
halt                            pppdump                         zgrep
hardlink                        pppoe-discovery                 zic
hash                            pppstats                        zip
hdsploader                      ppp-watch                       zipcloak
head                            pr                              zipgrep
help                            preconv                         zipinfo
hexdump                         pre-grohtml                     zipnote
history                         printenv                        zipsplit
hostid                          printf                          zless
hostname                        prlimit                         zmore
hostnamectl                     prtstat                         znew
hwclock                         ps                              zramctl
i386                            psed                            zsoelim
iconv                           psfaddtable