linux files

Posted on 2014-09-04
Last Modified: 2014-09-11
Hi Experts,

We are using the SUSE OS and I have 2  questions on the file stucture.

1) would like to know how i can search for specific .c files.
2) once i find the files how do i see the associated MD5 hashes.

Question by:talltree
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +2
LVL 68

Assisted Solution

woolmilkporc earned 200 total points
ID: 40303973

find /dir -name "*.c"

where "/dir/ is the directory where you want to start searching.

"*.c" searches for all files ending with ".c". You can refine the search e. g. with "abc*.c" which will search for all files starting with "abc" and ending with ".c".


find /dir -name "*.c" -xargs md5sum
LVL 34

Assisted Solution

by:Seth Simmons
Seth Simmons earned 100 total points
ID: 40304034
correction on the second command; find output should be piped to xargs not specified as an option

find -dir -name "*.c" | xargs md5sum
LVL 68

Expert Comment

ID: 40304045
Right! That was a typo. Thx for the correction.
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 84

Expert Comment

ID: 40304781
How are you specifying these specific .c files?

Author Comment

ID: 40304974
not sure what you mean by specifying? I am just trying to find a group of files with the .c extension and check the md5 hash to make sure they have been altered.

LVL 84

Expert Comment

ID: 40304995
When you ask about searching for "specific" .c files, how are you distinguishing those specific .c files you would be searching for from other non-specific .c files?
When you say you are trying to find a "group" of files, how are you grouping them?
Do you want all .c files under /dir, as presumed by the answer of
find /dir -name "*.c" | xargs md5sum
or is there some other kind of specific group you are interested in?

If you want to do this to be sure they have been altered, do you have a list of files and md5 hashes that you want to compare with?
If so, what is the format of that list?
Also, would you need to be sure whether that list has been altered?

Author Comment

ID: 40305008
Yes a security issue,  I do have a list of specifc files

 you want to do this to be sure that they have not been altered, do you have a list of files and md5 hashes that you want to compare with?

If so, what is the format of that list?

name.c (example)

Also, would you need to be sure that that list had not been altered

No, looking to see if these files  and hash are on our server
LVL 84

Accepted Solution

ozo earned 200 total points
ID: 40305259
name.c (example)
Does "example" in parenthesis represent the original md5 hash of name.c that we want to compare to the current md5 hash?
Can there be more than one file in that list?
Of so, does the order matter?
Can we assume that the list will always be in alphabetical order?
Are all the files in the list .c files?
What do you want to do when you find a file who's md5 hash matches the  md5 hash in the list?
What do you want to do when you find a file who's md5 hash  does not match the md5 hash in the list?

This produces files for altered and unaltered .c files in list,
assuming that each line of the list consists of a file name, blank space, and an md5sum in parenthesis to compare,
preserving the original order, not assuming alphabetical order, an ignoring non .c files in list

cat list | while read line ; do
  shopt -s extglob
  if [[ -z "${line##*.c+([[:blank:]])\(*}" ]] ; then 
    md5=`md5sum $file`
    if [[ "$md5" = "$example" ]] ; then
      echo $file $example matches>> unaltered
      echo $file $example does not match $md5 >> altered

Open in new window

LVL 29

Expert Comment

ID: 40306555
You should probably use shasum -a 256 or sha256sum instead of md5sum.

If you have the original files in some backup location, you could also just diff them directly.

Author Comment

ID: 40318371
thanks guys

Featured Post

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

SSL stands for “Secure Sockets Layer” and an SSL certificate is a critical component to keeping your website safe, secured, and compliant. Any ecommerce website must have an SSL certificate to ensure the safe handling of sensitive information like…
This paper addresses the security of Sennheiser DECT Contact Center and Office (CC&O) headsets. It describes the DECT security chain comprised of “Pairing”, “Per Call Authentication” and “Encryption”, which are all part of the standard DECT protocol.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question