Question

In: Computer Science

Linux Directories, File Properties, and the File System in C Understanding Unix/Linux Programming Your version of...

Linux Directories, File Properties, and the File System in C

Understanding Unix/Linux Programming

Your version of mv command

  1. The mv command is more than just a wrapper around the rename system call. Write a version of mv that accepts two argument. The first argument must be the name of a file, and the second argument may be the name of a file or the name of a directory. If the destination is the name of a directory, then mv moves the file into that directory. Otherwise mv rename the file if possible.
  2. Add comments to code.

Solutions

Expert Solution

root@PANKAJ:~/mydir# mv --version # Checking version of mv
mv (GNU coreutils) 8.25
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Parker, David MacKenzie, and Jim Meyering.

root@PANKAJ:~/mydir# cat > testfile1 # Creating a file in name testfile1
Hello, this is testfile1.
^Z
[4]+ Stopped cat > testfile1

root@PANKAJ:~/mydir# cat > testfile2 # Creating a file in name testfile2
Hello, this is testfile2.
^Z
[5]+ Stopped cat > testfile2

root@PANKAJ:~/mydir# mkdir testdirectory # Creating a directory in name testdirectory

root@PANKAJ:~/mydir# mv testfile1 testdirectory # Move testfile1 to testdirectory

root@PANKAJ:~/mydir# # Below command Renames testfile2 to testfile3 as there is no such directory

root@PANKAJ:~/mydir# mv testfile2 testfile3

root@PANKAJ:~/mydir# #Let us now test if our command worked or not

root@PANKAJ:~/mydir# cat testfile2 # display content of testfile2
cat: testfile2: No such file or directory

root@PANKAJ:~/mydir# cat testfile3
Hello, this is testfile2.

root@PANKAJ:~/mydir# cat testfile1
cat: testfile1: No such file or directory

root@PANKAJ:~/mydir# cd testdirectory # Changing working directory to testdirectory

root@PANKAJ:~/mydir/testdirectory# cat testfile1
Hello, this is testfile1.

-----------------------------------------------------
On analyzing last 5 commands it is clear that mv command has moved the file to the target directory if the directory was found else it just renamed it.

-----------------------------------------------------


Related Solutions

Linux Directories, File Properties, and the File System in C Code your version of mv command...
Linux Directories, File Properties, and the File System in C Code your version of mv command in C The mv command is more than just a wrapper around the rename system call. Write a version of mv that accepts two argument. The first argument must be the name of a file, and the second argument may be the name of a file or the name of a directory. If the destination is the name of a directory, then mv moves...
Linux Directories, File Properties, and the File System in C Your version of find command Try...
Linux Directories, File Properties, and the File System in C Your version of find command Try running the find command in the shell and observe the output. Try it in different folders to make sure you understand what it prints out. $ find Write your version of the find command and add comments.
Systems Programming - File Operations Create your version of the tail command in Linux using C...
Systems Programming - File Operations Create your version of the tail command in Linux using C The lseek system call allows you to move the current position anywhere in a file. The call lseek(fd, 0, SEEK_END) moves the current position to the end of the file. The tail command displays the last ten liens of a file. Try it. tail has to move, not to the end of the file, but to a spot ten lines before the end of...
a) b) c) Compare and contrast systems programming in Windows as against systems programming in Unix/Linux....
a) b) c) Compare and contrast systems programming in Windows as against systems programming in Unix/Linux. CR, 8 Explain the term structured exception handling (SEH) as used in systems programming and give a practical example of how it can be used to handle errors in a block of code. AP, 7 Write a C/C++ system program to delete an unwanted file in the Windows file system. Compile and run the program and copy the source code into your answer booklet....
Systems Programming in Linux using C Remake the version of the ls -ialR command in C.....
Systems Programming in Linux using C Remake the version of the ls -ialR command in C.. In this version of ls, you must also consider symbolic file types. Make sure you have file header comments and function header comments. Also, write inline comments whenever necessary.
UNIX treats file directories in the same fashion as files; that is, both are defined by...
UNIX treats file directories in the same fashion as files; that is, both are defined by the same type of data structure, called an inode. As with files, directories include a nine-bit protection string. If care is not taken, this can create access control problems. For example, consider a file with protection mode 644 (octal) contained in a directory with protection mode 730. How might the file be compromised in this case?
Unix treats file directories in the same fashion as files; that is, both is defined by...
Unix treats file directories in the same fashion as files; that is, both is defined by the same type of data structure, call an inode. As with files, directories include a non-bit protection string. If care is not taken, this can create access control problems. For example, consider a file with protection mode 644 (rw- r-- r--) contained in a directory with protection mode 730 (rwx -wx ---). How might the files be compromised in this case?
Systems Programming - File Operations in Linux using C Preventing copying the same file What does...
Systems Programming - File Operations in Linux using C Preventing copying the same file What does the standard cp do if you try to copy a file onto itself? $ cp file1 file1 cp: 'file1' and 'file1' are the same file Modify cp1.c to handle the situation and include comments. /** * @file cp1.c * @brief Uses read and write with tunable buffer size * usage: cp1 src dest */ #include <stdio.h> #include <unistd.h> #include <fcntl.h> #include <stdlib.h> #define BUFFERSIZE...
IN C PROGRAMMING LINUX how to use makefile to include .a static library and .h file...
IN C PROGRAMMING LINUX how to use makefile to include .a static library and .h file from another directory in C? I have a header file myheader.h and a static library libmylib.a file in directory1. In directory2, I'm writing a program which uses them. Suppose I have main.c in directory2 which uses myheader.h and libmylib.a. How do I create a Makefile to compile and link them? LIBB = -L/../directory1/libmylib.a HEADER = -L/../directory1/myheader.h main: main.o gcc $(HEADER) $(LIBB) main.o: main.c gcc...
In the Linux file system, the majority of the file system code exists in the kernel....
In the Linux file system, the majority of the file system code exists in the kernel. research the anatomy of the Linux file system, then discuss the effectiveness or ineffectiveness of this type of architecture. In addition, explain why you feel the way you do and provide support
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT