Difference between revisions of "Centos File System Commands"
Line 145: | Line 145: | ||
-f option fsck -f performs a full check | -f option fsck -f performs a full check | ||
[[File:Dfoptions.png|thumb]] | [[File:Dfoptions.png|thumb]] | ||
Just as you can use the mke2fs command to make an ext2, ext3, or ext4 filesystem, you can use the e2fsck command to check an ext2, ext3, or ext4 filesystem. The e2fsck command accepts more options and can check a filesytem more thoroughly than fsck. For example, by using the –c option to the e2fsck command, you can check for bad blocks on the hard disk and add them to a bad block table on the filesystem so that they are not used in the future | |||
e2fsck -c /dev/vg00/data |
Revision as of 22:26, 9 February 2019
Displays type of file
file me.text #output ASCII text
Wildcard Metacharacters
* Matches 0 or more characters in a filename ? Matches 1 character in a filename [aegh] Matches 1 character in a filename—provided this character is either an a, e, g, or h [a-e] Matches 1 character in a filename—provided this character is either an a, b, c, d, or e [!a-e] Matches 1 character in a filename—provided this character is NOT an a, b, c, d, or e
Viewing Text Files
cat -n file.txt # will display the file with line numbers tac file.text #will display the file in reverse
The head command displays the first 10 lines (including blank lines) of a text file to the terminal screen but can also take a numeric option specifying a dif- ferent number of lines to display.
head -3
tail command can be used to display the end of text files. By default, the tail command displays the final 10 lines of a file, but it can also take a numeric option specifying the number of lines to dis- play on the terminal screen
tail -3
The more command gets its name from the pg command once used on UNIX systems. The pg command displayed a text file page by page on the terminal screen, starting at the beginning of the file; pressing the space bar or Enter key displays the next page, and so on.
more file.txt
the less command is named for doing more than the more command (remember that “less is more,” more or less). Like the more command, the less command can browse the contents of a text file page by page by pressing the spacebar and line by line by pressing the Enter key; however, you can also use the cursor keys on the keyboard to scroll up and down the contents of the file. Displaying the Contents of Binary Files
strings /bin/echo | more # strings command piped to the more command
od command, which displays the contents of the file in octal format (numeric base 8 format).
od filename | head -5 # od command piped to head to display 5 lines
Grep command
Grep Command requires a minimum of two arguments, search are case sensitive
grep "find this" filename.txt grep -i "find this" filename.txt # the -i option makes it case insensitive
To view lines that contain the word “toe” or “the” or “tie,” you can enter the following command:
grep "t.e" filename.txt
To view lines that start with the word “I,”
grep "^i" filename.text
Creating Hard and Soft Links
You can HARD LINK a file an unlimited number of times, but the files must reside on the same file system
ln file1 file2
Symbolic Link (Shortcut)
ln -s sourcefile1 destinationfile2 ln -s ../room/closet-a sybolinkname # this links to a folder closet-a in folder room ls -l # view the symbolically linked filename after creation
Get information on a file
stat filename
List permission for a directory instead of listing the content of the dir
ls -ld
File Commands
locate filename
The locate command looks in a premade database that contains a list of all the files on the system. This database is indexed much like a textbook for fast searching, yet can become outdated as files are added and removed from the system, which happens on a regular basis. As a result, the database used for the locate command (/var/lib/mlocate/mlocate.db) is updated each day automatically and can be updated manually by running the updatedb command at a command prompt. You can configure the directories that are searched by the updatedb command by editing the /etc/updatedb.conf file.
find /etc -name inittab updatedb # will update the database
A slower yet more versatile method for locating files on the filesystem is to use the find command. The find command does not use a premade index of files; instead, it searches the directory tree recursively, starting from a certain directory for files that meet a certain criterion.
To use wild card characters with the find command, enclose with "host*"
find /etc -name "host*"
To find all files starting from the /var directory that have a size greater than 4096K (kilobytes), you can use the following command:
find /var -size +4096k Find all the directories only underneath the /boot directory, you can type the following command: find /boot -type d
Which Command searches directories that are listed in a special variable called the PATH variable in the BASH shell
which ls /bin/ls which grep /bin/grep
View devices that are currently used on the filesystem and their major numbers
cat /proc/devices
Mounting Devices
use the mkfs (make filesystem) command and specify the filesystem type using the –t switch and the device file representing the floppy disk device. To format the floppy disk inside the first floppy disk drive in the computer with the ext2 filesystem, place a floppy disk in the floppy disk drive and type the following command:
mkfs -t ext2 /dev/fd0
A list of currently mounted filesystems can be obtained by using the mount command with no options or arguments
mount
To check whether the /media/floppy directory is being used by any users, you can use the fuser command with the –u option,
fuser -u /media/floppy
To mount the first floppy device formatted with the ext2 filesystem to the /media/ floppy directory, simply type the following command:
mount -t ext2 /dev/fd0 /media/floppy # or mount /dev/fd0
Unmount floppy
umount /media/floppy
Mount ISO images
mount -o loop -r -t iso9660 lala.iso /mnt
To crate an ISO image
mkisofs -RJ -o newimage.iso /data
Hard Drive Management
fdisk /dev/sda
To print a list of the partitions currently set on /dev/sda, you could press the p key at the fdisk prompt:
cfdisk command is similar to fdisk
To print a list of partitions using parted
parted /dev/sda print
Working with LVM
LVM's consist of
- PVs (physical volumes) - are unused partitions on hard disks that the LVM can use to store information.
- Volume Groups (VG's) contain one or more PVs. They represent the pools of hard disk storage space that are available to the LVM for creating logical volumes. Additional PVs can easily be added to a VG after creation
- Logical Volumes (LV's) ) are the usable volumes that are created by the LVM from the available storage space within a VG. LVs contain a filesystem and are mounted to a directory in the Linux filesystem hierarchy. In addition, LVs can be resized easily by the LVM to use more or less storage space.
To configure the LVM, you must first create one or more PVs that reference an unused parti- tion on a hard disk in your computer. Say, for example, that you recently created a new par- tition called /dev/sda4. Rather than placing a filesystem on /dev/sda4, you could instead allow the LVM to use the /dev/sda4 partition using the pvcreate command,
pvcreate /dev/sda4 pvdisplay # display detailed information obout each pv
Once you have created PVs, you can create a VG that uses the space in the PVs using the vgcreate command. For example, to create a VG called vg00 that uses the /dev/sda4 PV, you could use the following vgcreate command:
vgcreate vg00 /dev/sda4
To create a VG that uses multiple PVs, simply add multiple device arguments to the vgcreate command. For example, the vgcreate vg00 /dev/sda5 /dev/sdb1 /dev/ sdc3 command would create a VG called vg00 that uses three PVs (/dev/sda5, /dev/sdb1, and /dev/sdc3). When creating a VG, it is important to choose the block size for saving data since it cannot be safely changed later. This is called the physical extent (PE) size of the VG. A large PE size results in larger write operations and a larger maximum filesystem size for LVs. For example, a PE size of 32MB will allow for a maximum LV size of 2TB.
Next, you can create LVs from the available space in your VG using the lvcreate command and view your results using the lvdisplay command. The following commands
create an LV called “data” that uses 15GB of space from vg00 as well as an LV called “extras” that uses 16GB of space from vg00, and it displays the result
lvcreate -L 15GB -n data vg00 lvcreate -L 16GB -n extras vg00 lvdisplay
Notice from the preceding output that the new VGs can be accessed using the device files /dev/vg00/data and /dev/vg00/extras. You can also refer to your new VGs using the device files /dev/mapper/vg00-data and /dev/mapper/vg00-extras, which are typically used by the system when accessing the filesystems on your VGs.
You can work with these files as you would normally work with any other hard disk parti- tion device file. For example, to create an ext4 filesystem on these devices and mount them to the appropriate directories on the filesystem, you could use the following commands:
mke2fs -t ext4 /dev/vg00/data mkdir /data mkdir /extras mount /dev/vg00/data /data mount /dev/vg00/extras /extras
Next, you can edit the /etc/fstab file to ensure that your new logical volumes are automati- cally mounted at system startup,
cat /etc/fstab
/dev/sda1 / ext4 . defaults . 11 /dev/sda2 swap . swap . defaults . 00 /dev/vg00/data /data . ext4 . defaults . 00 /dev/vg00/extras ./extras . ext4 . defaults 00
Three other useful commands that can display information about the PVs, VGs, and LVs that are configured on your system are the pvscan command, the vgscan command, and lvscan command, respectively. Also, you can add additional storage space to your LVs after configuration. More specifically, you can add another PV using the pvcreate com- mand, add this PV to your existing VG using the vgextend command, and then increase the size of your LVs to use the additional space using the lvextend command. Before using these commands, always consult the manual pages to ensure that you are using the command options and arguments that will perform the desired actions.
Monitoring Filesystems
disk free space command
df
To view the size of a directory and its contents in kilobytes,
du -hs /usr |more
To view a summary
du -s /usr
To view the total number of inodes and free inodes for an ext2, ext3, or ext4 filesystem, you can use the dumpe2fs command with the –h switch, as shown in the following output:
dumpe2fs -h /dev/sda1
Checking Filesystems for Errors
To check a filesystem for errors, you can use the fsck (filesystem check) command, which can check filesystems of many different types. The fsck command takes an option specifying the filesystem type and an argument specifying the device to check; if the filesystem type is not specified, the filesystem is automatically detected. It is also important to note that the file- system being checked must be unmounted beforehand for the fsck command to work properly. unmount /dev/vg00/data fsck /dev/vg00/data -f option fsck -f performs a full check
Just as you can use the mke2fs command to make an ext2, ext3, or ext4 filesystem, you can use the e2fsck command to check an ext2, ext3, or ext4 filesystem. The e2fsck command accepts more options and can check a filesytem more thoroughly than fsck. For example, by using the –c option to the e2fsck command, you can check for bad blocks on the hard disk and add them to a bad block table on the filesystem so that they are not used in the future
e2fsck -c /dev/vg00/data