10+ commonly using find command switches with example Unix/Linux
2014-03-12 09:28
453 查看
http://crybit.com/find-command-usage-with-example-unixlinux/
find command is one of the best search tool under UNIX/LINUX. Here I’m discussing some common switches of find command with detailed example. Like the name find, the “find” command is using for search files under a directory hierarchy. One simle example is shown below,
find / name linux ;
here the second part that means “/” has an important role in the find command syntax. This is the path for searching the file having name linux. This command will return the file linux if it is exist under “/” .
Numeric arguments
Switchs and usage:
1. -name pattern ==> Find the matched name pattern.
1.1 -iname pattern ==> Like -name, but the match is case insensitive.
Examples;
2. -path pattern ==> It will list out the exact path if it is exist.
Examples,
3. -perm mode ==> File’s permission bits are exactly mode (octal or symbolic).
Example;
# ll
total 8
drwxrwxr-x 2 root root 4096 Sep 5 20:37 ./
drwxr-xr-x 34 root root 4096 Sep 5 19:52 ../
-rwxrwxrwx 1 root eclinux 0 Sep 5 20:37 test1234.txt*
-rwx–x–x 1 root root 0 Sep 5 20:37 test1235.txt*
-rw-rw-r– 1 root root 0 Sep 5 20:38 test123.txt
# find ./ -perm 664
./test123.txt
{./ is the path for searching(current directory). This will find out the file having permission 664}
Example;
4. -gid & -uid
Examples;
Similarly we can use -uid & -user.
5. -empty : this will find all files having empty content.
Example;
6. -size n[cwbkMG] ==> File uses n units of space. The following suffixes can be used:
7. -type ==> Specify the file type.
Example;
8. Switches related to modification time
Example;
9. inode & links
Example;
All three files having single links.
10. -delete & -exec operations
Example;
In this case, -delete switch remove the file test123.txt . Similarly we can remove anything that found by find command.
Example;
Run the command to change the permission.
the chmod command after -exec in find command change the file permission to 777.
This will remove all files in the current working directory.
I think this article gave some ideas about the usages of find command under UNIX/LINUX to you.
Thank you for your time.
More:
groupdel, groupmems, groupmod, useradd , usermod , chgrp, chown, ls, head, tail, top, ps, find,crontab
find command is one of the best search tool under UNIX/LINUX. Here I’m discussing some common switches of find command with detailed example. Like the name find, the “find” command is using for search files under a directory hierarchy. One simle example is shown below,
find / name linux ;
here the second part that means “/” has an important role in the find command syntax. This is the path for searching the file having name linux. This command will return the file linux if it is exist under “/” .
Numeric arguments
+n >> for greater than n, -n >> for less than n, n >> for exactly n.
Switchs and usage:
1. -name pattern ==> Find the matched name pattern.
1.1 -iname pattern ==> Like -name, but the match is case insensitive.
Examples;
# find / -name test123.txt /home/***/crybit/test123.txt # find / -iname TeSt123.txt /home/***/crybit/test123.txt # find / -iname TeSt***.txt /home/***/crybit/test123.txt # find / -name te**.txt /home/***/crybit/test123.txt
2. -path pattern ==> It will list out the exact path if it is exist.
Examples,
# find / -path "/e**wd" /etc/pam.d/chpasswd /etc/pam.d/passwd /etc/cron.daily/passwd /etc/passwd /etc/security/opasswd ............
# find / -path "/us**.conf" /usr/share/onboard/onboard-defaults.conf /usr/share/popularity-contest/default.conf /usr/share/base-files/nsswitch.conf /usr/share/samba/smb.conf ............
# find / -path "/us**.sh" /usr/share/onboard/scripts/changekbd.sh /usr/share/alsa-base/alsa-info.sh /usr/share/libreoffice/shell-lib-extensions.sh /usr/share/debconf/confmodule.sh ............
3. -perm mode ==> File’s permission bits are exactly mode (octal or symbolic).
Example;
# ll
total 8
drwxrwxr-x 2 root root 4096 Sep 5 20:37 ./
drwxr-xr-x 34 root root 4096 Sep 5 19:52 ../
-rwxrwxrwx 1 root eclinux 0 Sep 5 20:37 test1234.txt*
-rwx–x–x 1 root root 0 Sep 5 20:37 test1235.txt*
-rw-rw-r– 1 root root 0 Sep 5 20:38 test123.txt
# find ./ -perm 664
./test123.txt
{./ is the path for searching(current directory). This will find out the file having permission 664}
3.1 -readable >> Matches files which are readable. 3.2 -writable >> Matches files which are writable. 3.3 -executable >> Matches files which are executable.
Example;
# find ./ -executable ./ ./test1235.txt ./test1234.txt
4. -gid & -uid
4.1 -gid n >> File's numeric group ID is n. 4.2 -group gname >> File belongs to group gname (numeric group ID allowed). 4.3 uid n >> File's numeric user ID is n. 4.4 -user name >> File belongs to user name (numeric user ID allowed).
Examples;
# ll total 8 drwxrwxr-x 2 root root 4096 Sep 5 20:37 ./ drwxr-xr-x 34 root root 4096 Sep 5 19:52 ../ -rwxrwxrwx 1 root eclinux 0 Sep 5 20:37 test1234.txt* -rwx--x--x 1 root root 0 Sep 5 20:37 test1235.txt* -rw-rw-r-- 1 root root 0 Sep 5 20:38 test123.txt # find ./ -gid 1003 ./test1234.txt # find ./ -group eclinux ./test1234.txt
Similarly we can use -uid & -user.
5. -empty : this will find all files having empty content.
Example;
# find ./ -empty ./test1235.txt ./test1234.txt ./test123.txt
6. -size n[cwbkMG] ==> File uses n units of space. The following suffixes can be used:
'b' for 512-byte blocks (this is the default if no suffix is used) 'c' for bytes 'w' for two-byte words 'k' for Kilobytes (units of 1024 bytes) 'M' for Megabytes (units of 1048576 bytes) 'G' for Gigabytes (units of 1073741824 bytes)
7. -type ==> Specify the file type.
b block (buffered) special c character (unbuffered) special d directory p named pipe (FIFO) f regular file l symbolic link s socket D door (Solaris)
Example;
# find ./ -type f ./test1235.txt ./test1234.txt ./test123.txt
8. Switches related to modification time
8.1 -amin n >> File was last accessed n minutes ago. 8.2 -atime n >> File was last accessed n*24 hours ago. 8.3 -cmin n >> File's status was last changed n minutes ago. 8.4 -ctime n >> File's status was last changed n*24 hours ago. 8.5 -mmin n >> File's data was last modified n minutes ago. 8.6 -mtime n >> File's data was last modified n*24 hours ago.
Example;
# find ./ -mmin +1 ./test1235.txt ./test1234.txt
9. inode & links
9.1 -inum n >> File has inode number n. 9.2 -samefile name >> File refers to the same inode as name. 9.3 -links n >> File has n links.
Example;
ls -i to find out the inode number. # ls -i test123.txt 1316256 test123.txt # find ./ -inum 1316256 ./test123.txt # ll total 8 drwxrwxr-x 2 root root 4096 Sep 5 20:37 ./ drwxr-xr-x 34 root root 4096 Sep 5 19:52 ../ -rwxrwxrwx 1 root eclinux 0 Sep 5 20:37 test1234.txt* -rwx--x--x 1 root root 0 Sep 5 20:37 test1235.txt* -rw-rw-r-- 1 root root 0 Sep 5 20:38 test123.txt # find ./ -links 1 ./test1235.txt ./test1234.txt ./test123.txt
All three files having single links.
10. -delete & -exec operations
10.1 -delete : This switch is use to remove a particular that already specified in the find command. Use this switch with extra care.
Example;
# find ./ -inum 1316256 ./test123.txt # find ./ -inum 1316256 -delete # find ./ -inum 1316256
In this case, -delete switch remove the file test123.txt . Similarly we can remove anything that found by find command.
10.2 -exec : This will execute commands on the find syntax.
Example;
# ll total 8 drwxrwxr-x 2 root root 4096 Sep 5 20:37 ./ drwxr-xr-x 34 root root 4096 Sep 5 19:52 ../ -rwxrwxrwx 1 root eclinux 0 Sep 5 20:37 test1234.txt* -rwx--x--x 1 root root 0 Sep 5 20:37 test1235.txt* -rw-rw-r-- 1 root root 0 Sep 5 20:38 test123.txt
Run the command to change the permission.
# find ./ -type f -exec chmod 777 {} \;
# ll total 8 drwxrwxr-x 2 root root 4096 Sep 5 20:37 ./ drwxr-xr-x 34 root root 4096 Sep 5 19:52 ../ -rwxrwxrwx 1 root eclinux 0 Sep 5 20:37 test1234.txt* -rwxrwxrwx 1 root root 0 Sep 5 20:37 test1235.txt* -rwxrwxrwx 1 root root 0 Sep 5 20:38 test123.txt*
the chmod command after -exec in find command change the file permission to 777.
# find ./ -type f -exec rm -rf {} \;
This will remove all files in the current working directory.
I think this article gave some ideas about the usages of find command under UNIX/LINUX to you.
Thank you for your time.
More:
groupdel, groupmems, groupmod, useradd , usermod , chgrp, chown, ls, head, tail, top, ps, find,crontab
相关文章推荐
- 20+ Rsync command’s switches and common usages with examples – Unix/Linux--reference
- Linux / UNIX create soft link with ln command
- UNIX / Linux: 10 Netstat Command Examples
- Explain: Linux and UNIX TCP Wrappers – Find Out If a Program Is Compiled With TCP Wrappers
- Unix/Linux Find Command
- 15+ tar command usages with examples – Unix/Linux--reference
- Using Android Phone to recover SD card formatted with DD command under linux
- UNIX / Linux: 10 Netstat Command Examples
- Linux / Unix Command: find命令
- UNIX / Linux: Set your PATH Variable Using set or export Command
- UNIX / Linux: 10 Netstat Command Examples
- 10 examples to help you understand top command usage in Unix/Linux
- 10 xargs command example in linux
- Find command usage in Linux with excellent examples--reference
- Find command usage in Linux with excellent examples--reference
- Locating files using the find command(linux find命令)
- error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
- Understanding free command in Linux/Unix
- error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
- Understanding Unix/Linux Programming 笔记:chapter 9:可编程的shell、shell变量和环境; chapter 10:I/O重定向和管道