Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

LPI Linux Certification/Perform Basic File Management

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

Detailed Objective (LPIC-1 Version 5.0) Weight: 4 Description: Candidates should be able to use basic Linux commands to manage files and directories. Key Knowledge Areas: Copy, move and remove files and directories individually. Copy multiple files and directories recursively. Remove files and directories recursively. Use simple and advanced wildcard specifications in commands. Use find to locate and act on files based on type, size, or time. Usage of tar, cpio and dd. The following is a partial list of the used files, terms and utilities: cp find mkdir mv ls rm rmdir touch tar cpio dd file gzip gunzip bzip2 xz unxz file globbing Create and Remove directories To create a directory, use mkdir. mkdir [options] dir Common options: -m mode: set permission mode. Default use umask. -p parent: create parent directory as needed. Examples: mkdir -m 0700 bin mkdir -p bin/system/x86 To delete an empty directory, use rmdir. rmdir [options] dir Common options: -p parent: remove empty superdirectories. Examples: rmdir tmp rmdir -p bin/system/x86 Copy files and directories To copy one file to another, or to a directory, use cp. cp [options] source target Source and target can be a file or a directory. Common options: -i interactive: prompt to overwrite -r recursive: copy the subdirectories and contents. Use -R for special files. -f force: force the overwriting The default is to silently clobber the target file. (This does not alter the source. Examples: cp *.[a-z] /tmp cp readme readme.orig cp ls /bin cp -ri bin/* /bin Move & Rename files To rename a file or directory or to move a file or directory to another location, use mv. mv [options] source target Source and target can be a file or a directory. Common options: -i interactive: prompt to overwrite -f force: force the overwriting -v verbose The default is to silently clobber the target file. Examples: mv *.[a-z] /tmp mv readme readme.orig mv ls /bin mv -fi bin/* /bin Listing filenames and information The command to list files in the current directory is ls. ls [options] [filenames] Common options are: -l For a long format -F Append a file type character -a All files, including hidden files -R Recursive listing of subtree -d Do not descend into directory The ls is equivalent to the dir command on DOS. Examples of ls output: $ ls -l /bin/ls -rwxr-xr-x 1 root root 46784 mar 23 2002 /bin/ls $ ls -ld /bin drwxr-xr-x 2 root root 2144 nov 5 11:55 /bin $ ls -a . .bash_history .bash_profile .bashrc ... $ ls -dF /etc .bashrc /bin/ls .bashrc /bin/ls* /etc/ File types The long format means: $ ls -l /etc/hosts #List a long format of the file hosts -rw-r—r-- 1 root root 677 Jul 5 22:18 /etc/hosts File content and location Linux/Unix does not distinguish file by filename extension, like Windows. To determine the file content use file. $ file /etc .bashrc /bin/ls /dev/cdrom /etc: directory .bashrc: ASCII English text /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped /dev/cdrom: symbolic link to /dev/hdc To determine if a command is a built-in shell command or a program, use type, and use which to find its location. $ type cp cd ls which type cp is /bin/cp cd is a shell builtin ls is aliased to `ls $LS_OPTIONS' which is aliased to `type -p' type is a shell builtin $ which cut /usr/bin/cut Creating and using filenames Filenames can be created with: I/O redirection cat chapter1 chapter2 > book An editor, such as vi. vi mynewfile Many of the Unix utilities cp file newfile An application netscape The touch command, which creates empty files (or updates the "date modified" of existing files) touch memo The valid filename may have (or be): Maximum 255 characters per filename Any character except forward '/' Recommended alphanumeric characters as well as plus, minus, and underscore characters. Case sensitive ('A' and 'a' are treated differently) Characters to avoid Hyphen character. touch my-file -lt White space. touch more drink touch "more drink" Most other special characters !@#$%^&*():;"'}{|\<,>.?~` touch memo* Remove files or directories To remove files or subtree directories, use rm. rm [options] files Files can be a file or a directory. Common options: -i interactive: prompt for each removal -f force: force the overwriting -r recursive: remove subtree directories and contents There is no 'unremove' or 'undelete' command. Examples: rm *.[a-z] rm readme readme.orig rm ls /bin rm -rfi /bin cd; rm -rf * .* # This removes all files in the home directory of the current user, as well as those in the subdirectories therein! Locating files in a subtree directory To search for a file in a subtree directory, use find. find [subtrees] [conditions] [actions] The command can take multiple conditions and will search recursively in the subtree. Some possible conditions are: -name [FNG] # Search for the FNG name -type c # Type of file [bcdfl] -size [+-]# # Has a +- size in blocks (c: bytes, k: kilobytes) -user [name] # Own by user -atime [+-]# # Accessed days ago. +n means the file has not been accessed for the last n days. -n means the file has been accessed in the last n days. -mtime [+-]# # Modified days ago -perm nnn # Has permision flags nnn Some possible actions are: -print # Print the pathname -exec cmd {} \; # Execute cmd on the file -ok cmd {} \; # Same as -exec but ask first Examples: find . -name '*.[ch]' -print find /var /tmp . -size +20 -print find ~ -type c -name '*sys*' -print find / -type f -size +2c -exec rm -i {} \; find / -atime -3 -print find ~jo ~toto -user chloe -exec mv {} /tmp \; To locate a binary, source file, or man page, use whereis. whereis [options] Common options: -b: Search only for binaries. -m: Search only for manual sections. -s: Search only for sources. Examples: $ whereis host host: /usr/bin/host /etc/host.conf /usr/share/man/man1/host.1.gz $ whereis -m host host: /usr/share/man/man1/host.1.gz To locate a file located somewhere defined by the PATH variable, use which. $ which -a ls /bin/ls The -a will look for all possible matches in PATH, not just for the first one. Exercises Compose an interactive command to remove all .tmp files in your home directory. Respond y to every prompt. List all the files in the user's home directories ending with .pdf that are bigger than 50 blocks and have not been accessed for a month. Create a file file.h that will contain all the filenames ending with .h found in the /usr directory. Do a touch on all the c files found in /usr/src/packages directory. What are the default permissions when you create a new file and a new directory? How would you create a new file or directory that contains a space in the filename? (Example: 'new dir') What is the command to remove all the files of types char and block in your home directory? How would you find the location of the program find? Delete all files in /tmp which are not owned by root and have not been accessed for a week. Exercises results linux