filesystem ======== Check the size of a directory -------- :code:`$ du -hs ` Check size of all subdirectories -------- :code:`$ du -hs *` Check specifc lines inside a text file -------- :code:`$ sed -n :p ` Find files contain specifc text -------- :code:`$ grep -rin .` Sync folderA into folderB -------- .. code-block:: bash $ rsync -avu --delete folderA_path/ folderB_path Options: -a # sync preserving all filesystem attributes -v # run verbosely -u # only copy files with a newer modification time --delete # delete the files in target folder that do not exist in the source folderA_path/ # slash is required folderB_path # slash not required Searches directory recursively in subdirectories -------- :code:`$ find . -type d -name ` Searches file recursively in subdirectories -------- :code:`$ find . -type f -name ` Delete file/directory recursively in subdirectories -------- :code:`$ find . -name -exec rm -rf {} \\;` :code:`$ find . -name '._*' -exec rm -rf {} \\;` # example :code:`$ find . -name '.DS_Store' -exec rm -rf {} \\;` # example Get number of all files -------- When number of file is small, less than 10, 000 :code:`$ ls -ls *. | wc -l` When more than 10, 000 files :code:`$ find -type f -name '*.' | wc -l` Move large number of files -------- :code:`$ find src_directory/ -type f -name '*.' -exec mv {} dst_directory \;`