First, File search
1.locate command: Locate keyword common options: -i perform case-sensitive search -n n only lists the pre-built file index database on the first n matching items query system on:/var/lib/mlocate/mlocate.db, because the index is established beforehand, so the search speed is fast. 2.find command: Real-time search tool, through the path of the specified paths to complete the file lookup, query speed slightly slower, accurate search, real-time search. It is possible to search only directories where the user has read and execute permissions. find - search for files in a directory hierarchyfind [-h] [- L] [-p] [-d debugopts] [-olevel] [path ...] [expression]find [option]... [Find path] [find condition] [processing action] Find path: Specify specific target path; default to current directory Search criteria: The specified search criteria, can be file name, size, type, permissions, such as standards; The default is to find all files under the specified path processing action: to the conditions of the file, the default output to the screen 1) based on the file name and Inode lookup -name "file name": Support wildcard *,? [],[^] -iname "file name": Case insensitive -inum n Search by inode number  2) Search by genus, genus: -user username: Search by username -group GroupName: Find -uid by group name: Search by UID &nbsP;-gid: Search by GID -nouser: Find files that are not master -nogroup: Find non-group files 3) file type find-type: by file type find f: normal file d: Directory b: block devices c: character devices l: Symbolic link Files p: Named pipes s: socket     4) combination conditions (Morgan Law) -a: with, while satisfying -o: or, -not, !: Non, take anti non A, and non b: non-(A or B) -not ( -user hadoop -o -iname "*.txt" ) non-A, or non-b: (A and B) instances: ! a -a ! b = ! (a -o b) ! a -o ! b = ! (a -a b) find -name "file.txt" find -iname "file.txt" find / -name "*.txt" find /var/ -name "*log*" find -user alren -group gentoo find -user chen -not group chen find -user gentoo -o -user archlnux find /- User alren -o -uid 1001 find -not \ (-user chen -o -user alren\) equivalent to Find -not -user chen -a -not -user alren 5) file size find -size [+|-] #UNIT Common units:k, m, g #UNIT: (#-1, #] as:6k (5k,6k] -#UNIT:[0,#-1] as:-6k means [0,5k] + #UNIT: (#,∞) such as:+6k (6k,∞) 6) timestamp lookup based on time stamp: in "days" as a unit; the following #=1 as an example-atime [+| -]#, #: [#,#+1) find /etc/ -atme 1 : represents greater than or equal to 1 days, less than 2 days time period is visited; +#: [#+ 1,∞] find /etc/ -atime +1 : Indicates that one day, including one day, has been visited-#: [0,#) find /etc/ -atime -1 : Indicates that the;-mtime -ctime was visited a day ago in minutes: -amin -mmin - cmin7) Search by permissions:-perm [+|-]mode mode: Exact Match +MODE: Any one of a class of users to match, often used to find a certain type of user's specific permissions exist (cetos6.x); /mode: Any class of User (U,g,o) object permissions as long as one can match, or relationship, + Start-out from Centos7 -MODE: each class of users specifies that the permission bits to check match, or the relationship; find -perm 755 Match permission mode is exactly 755File as long as any person has write permission, find -perm +222 will match such as: find /var/ -perm +222 or find /var/ -perm /222 can be matched as long as any user has permission to write find -perm -222 matches only when everyone has write permissions such as: find -perm -222 only when everyone has Read permission can it be matched to find -perm -002 matches when other people (other) have write permissions can match to if only other people have read permissions, such as:find /var/ -perm -002 Handling Action:-print: Default processing action, display value screen-ls: similar to executing ls -l command on found file -delete: Delete found file -exec command {} \; Execute command-specified commands on each file found the command does not accept too many arguments, and the command execution may fail, as follows to circumvent this problem find | Xargs command fidn instance:find -name "*.conf" -exec cp {} {}.com \; #备份配置文件, and renamed find /tmp -ctime +3 -user chen -ok -rm {} \;# Prompt to delete Chen user temporary files that exist longer than three days find ~ -perm -002 -exec chmod o-w {} \; #在你的主目录中寻找可被其它用户写入的文件 find /data –type f -perm 644 -name "*.sh" –exec chmod 755 {} \; find /home –type d -|xargs rm -rf
Ii. compression, decompression and archiving tools
gzip Command:
1) gzip Command: gzip [option]... file ... options: -d: Unzip, equivalent to Gunzip               -C: Outputs compressed or decompressed results to standard output [[ email protected] ~]# gzip -c awk.txt >awk.gz[[email protected] ~]# lsawk.gz awk.txt passwd test.sh test.x[[email protected ] ~]# gzip -c passwd >passwdddddd.gz[[email protected] ~]# lsawk.gz awk.txt passwd passwdddddd.gz test.sh test.x[[email protected] ~]# gunzip passwdddddd.gz[[email protected] ~]# lsawk.gz awk.txt passwd passwdddddd test.sh test.x[[email Protected] ~]# gzip -d awk.gz[[email protected] ~]# lsawk awk.txt passwd passwdddddd test.sh test.x[[email protected] ~]#
Bzip2 command:
2) bzip2 Command:bzip2 [option]... file ... -k: keep, keep the original file -d: Unzip [[email protected] ~]# lsawk awk.txt passwd passwdddddd test.sh test.x[[email protected] ~]# bzip2 -k passwd[[email protected] ~]# lsawk awk.txt passwd passwd.bz2 passwdddddd test.sh test.x[[email protected] ~]# bzip2 passwdddddd[[email protected] ~]# lsawk awk.txt passwd passwd.bz2 passwdddddd.bz2 test.sh test.x[[email protected] ~]# bunzip2 passwdddddd.bz2[[email protected] ~]# lsawk awk.txt passwd passwd.bz2 passwdddddd test.sh test.x[[email protected] ~]#&Nbsp;bunzip2 -d passwd.bz2bunzip2: output file passwd already exists. [[email protected] ~]# lsawk awk.txt passwd passwd.bz2 passwdddddd test.sh test.x[[email protected] ~]# mv passwd passwd1[[email protected] ~]# bunzip2 -d passwd.bz2[[email protected] ~]# lsawk awk.txt passwd passwd1 passwdddddd test.sh test.x[[email protected] ~]#
Zip command:
3) Zip command: zip - package and compress (archive) files    1) package zip package file name files to package        ZIP PASSWD.ZIP PASSWD    2) Decompression unzip .zip End of File unzip passwd.zip [email protected] ~]# lsawk awk.txt passwd passwd1 passwdddddd test.sh test.x[[email protected] ~] # zip -r passwd.zip passwd adding: passwd (deflated 63%) [[Email protected] ~]# lsawk awk.txt passwd passwd1 passwdddddd passwd.zip test.sh test.x[[email protected] ~]# Unzip passwd.ziparchiVe: passwd.zipreplace passwd? [y]es, [n]o, [a]ll, [n]one, [r]ename: y inflating: passwd[[email protected] ~]# lsawk awk.txt passwd passwd1 passwdddddd passwd.zip test.sh Test.x[[email protected] ~]# rm -f passwd[[email protected] ~]# unzip passwd.ziparchive: passwd.zip inflating: passwd[[email protected] ~ ]# lsawk awk.txt passwd passwd1 passwdddddd Passwd.zip test.sh test.x
Tar command:
Archive Tool: tar [options] -f file.tar file1 ... -c: Create an archive -x: expand an archive -t: View archived files without expanding      -V: show the process of creating compression or decompression tar -cvf archive.tar file1 Create a non-compressed tarball tar -cvf archive.tar file1 file2 dir1 Create an archive file containing ' file1 ', ' file2 ' and ' Dir1 ' tar -tf archive.tar Display the contents of a package tar -xvf archive.tar Release a package tar -xvf archive.tar -C /tmp release the compressed package to the  /TMP directory tar -cvfj archive.tar.bz2 dir1 Create a compressed package in BZIP2 format tar -xvfj archive.tar.bz2 unzip a BZIP2-formatted compression package tar -cvfz archive.tar.gz dir1 Create a zipped package in gzip format tar -xvfz archive.tar.gz unzip an gzip-formatted compression
[[email protected] ~]# lsawk awk.txt passwd passwd1 passwdddddd passwd.zip test.sh[[email protected] ~]# tar -zcvf passwd.tar.gz passwdpasswd[[email protected] ~]# lsawk awk.txt passwd passwd1 passwdddddd passwd.tar.gz passwd.zip test.sh[[email protected] ~]# tar -jcvf passwd.tar.bz2 passwdpasswd[[email protected] ~]# lsawk passwd passwdddddd passwd.tar.gz test.shawk.txt passwd1 passwd.tar.bz2 passwd.zip[[email protected] ~]# tar -zxvf passwd.tar.gzpasswd[[email protected] ~]# lsawk passwd passwdddddd p asswd.tar.gz test.shawk.txt passwd1 passwd.tar.bz2 passwd.zip[[ Email protected] ~]# rm -f passwd[[email protected] ~]# tar -zxvf passwd.tar.gzpasswd[[email protected] ~]# lsawk passwd passwdddddd passwd.tar.gz test.shawk.txt passwd1 passwd.tar.bz2 passwd.zip[[email protected] ~]# rm -f Passwd[[email protected] ~]# tar -jxvf passwd.tar.bz2passwd[[email protected] ~]# lsawk passwd passwdddddd passwd.tar.gz test.shawk.txt passwd1 Passwd.tar.bz2 passwd.zip
Third, the actual practice of small exercises
1. Find the main root of the/var directory and all files belonging to the group Mail [[email protected] ~]# find /var/ -user root-a -group mail/var/spool/mail/var/spool/mail/root/var/spool/mail/rooter[[email Protected] ~] #2, find all files that are not root, LP, GDM under the/var directory [[email protected] ~]# find /var/ -not \ ( -userroot -o -user lp -o -user gdm \) |wc -l125 [[Email protected] ~]# find /var/ -not -userroot -a -not -user lp -a -not -user gdm |wc -l125[[email protected] ~]# 3, Find/ The contents of the Var directory have been modified in the last week and are not root or postfix files [[email protected]~]# find /var/ - mtime -7 -a -not -user root -a -not -user postfix/var/lib/ Setroubleshoot/setroubleshoot_database.xml/var/spool/abrt/ccpp-2016-07-19-15:47:15-3568[[email protected] ~]# find /vAr/ -mtime -7 -not \ ( -user root -o -user postfix \)/ var/lib/setroubleshoot/setroubleshoot_database.xml/var/spool/abrt/ccpp-2016-07-19-15:47:15-3568[[email Protected] ~]# 4, find files that are not owned or owned by the current system, and have been interviewed asked in the last week [[email protected] ~]# Find / \ ( -nouser -o-nogroup \) -a -atime -7find: '/proc/8419/ Task/8419/fd/6 ': no suchfile or directoryfind: '/PROC/8419/TASK/8419/FDINFO/6 ': nosuch file or directoryfind: '/PROC/8419/FD/6 ': no such file ordirectoryfind: '/PROC/8419/FDINFO/6 ': no such fileor directory[[email Protected] ~]# 5, find all files that are larger than 1M in the/etc directory and are of the normal file type [[email protected] ~]# find / etc/ -size +1m -type f/etc/selinux/targeted/policy/policy.29/etc/udev/hwdb.bin/etc/ brltty/zh-tw.ctb[[email protected] ~]# 6, find files with no write permission for all users in/etc directory [[email protected] ~]# find /etc/ -not -perm /222[[email protected] ~]# find /etc/ -not - perm +222 [[email protected] ~]# find /etc/ -not -perm /222 |wc -l23[[email protected] ~]# find /etc/ -not -perm + 222 |wc -l23[[email protected] ~] #7, find at least one class of users who do not have permission to execute files in/etc directory [[email protected] ~]# find /etc/ -not-perm -1118, find the/ETC/INIT.D directory, all users have execute permissions, and other users have write permissions files [[email protected] ~]# find /etc/init.d/ -perm-113
Small series summary also hard, if think also can, handy point a praise:) ....
This article is from "Wake up your not alarm clock but dream" blog, please be sure to keep this source http://purify.blog.51cto.com/10572011/1838930
Linux file search and compression common knowledge summary