Getting file information linux

Unix / Linux — File Management

In this chapter, we will discuss in detail about file management in Unix. All data in Unix is organized into files. All files are organized into directories. These directories are organized into a tree-like structure called the filesystem.

When you work with Unix, one way or another, you spend most of your time working with files. This tutorial will help you understand how to create and remove files, copy and rename them, create links to them, etc.

In Unix, there are three basic types of files −

Ordinary Files − An ordinary file is a file on the system that contains data, text, or program instructions. In this tutorial, you look at working with ordinary files.

Directories − Directories store both special and ordinary files. For users familiar with Windows or Mac OS, Unix directories are equivalent to folders.

Special Files − Some special files provide access to hardware such as hard drives, CD-ROM drives, modems, and Ethernet adapters. Other special files are similar to aliases or shortcuts and enable you to access a single file using different names.

Listing Files

To list the files and directories stored in the current directory, use the following command −

Here is the sample output of the above command −

The command ls supports the -l option which would help you to get more information about the listed files −

Here is the information about all the listed columns −

First Column − Represents the file type and the permission given on the file. Below is the description of all type of files.

Second Column − Represents the number of memory blocks taken by the file or directory.

Third Column − Represents the owner of the file. This is the Unix user who created this file.

Fourth Column − Represents the group of the owner. Every Unix user will have an associated group.

Fifth Column − Represents the file size in bytes.

Sixth Column − Represents the date and the time when this file was created or modified for the last time.

Seventh Column − Represents the file or the directory name.

In the ls -l listing example, every file line begins with a d, , or l. These characters indicate the type of the file that’s listed.

Regular file, such as an ASCII text file, binary executable, or hard link.

Block special file. Block input/output device file such as a physical hard drive.

Character special file. Raw input/output device file such as a physical hard drive.

Directory file that contains a listing of other files and directories.

Symbolic link file. Links on any regular file.

Named pipe. A mechanism for interprocess communications.

Socket used for interprocess communication.

Metacharacters

Metacharacters have a special meaning in Unix. For example, * and ? are metacharacters. We use * to match 0 or more characters, a question mark (?) matches with a single character.

Displays all the files, the names of which start with ch and end with .doc

Here, * works as meta character which matches with any character. If you want to display all the files ending with just .doc, then you can use the following command −

Hidden Files

An invisible file is one, the first character of which is the dot or the period character (.). Unix programs (including the shell) use most of these files to store configuration information.

Some common examples of the hidden files include the files −

.profile − The Bourne shell ( sh) initialization script

.kshrc − The Korn shell ( ksh) initialization script

.cshrc − The C shell ( csh) initialization script

.rhosts − The remote shell configuration file

To list the invisible files, specify the -a option to ls

Single dot (.) − This represents the current directory.

Double dot (..) − This represents the parent directory.

Creating Files

You can use the vi editor to create ordinary files on any Unix system. You simply need to give the following command −

The above command will open a file with the given filename. Now, press the key i to come into the edit mode. Once you are in the edit mode, you can start writing your content in the file as in the following program −

Once you are done with the program, follow these steps −

Press the key esc to come out of the edit mode.

Press two keys Shift + ZZ together to come out of the file completely.

You will now have a file created with filename in the current directory.

Editing Files

You can edit an existing file using the vi editor. We will discuss in short how to open an existing file −

Once the file is opened, you can come in the edit mode by pressing the key i and then you can proceed by editing the file. If you want to move here and there inside a file, then first you need to come out of the edit mode by pressing the key Esc. After this, you can use the following keys to move inside a file −

l key to move to the right side.

h key to move to the left side.

k key to move upside in the file.

j key to move downside in the file.

So using the above keys, you can position your cursor wherever you want to edit. Once you are positioned, then you can use the i key to come in the edit mode. Once you are done with the editing in your file, press Esc and finally two keys Shift + ZZ together to come out of the file completely.

Display Content of a File

You can use the cat command to see the content of a file. Following is a simple example to see the content of the above created file −

You can display the line numbers by using the -b option along with the cat command as follows −

Counting Words in a File

You can use the wc command to get a count of the total number of lines, words, and characters contained in a file. Following is a simple example to see the information about the file created above −

Here is the detail of all the four columns −

First Column − Represents the total number of lines in the file.

Second Column − Represents the total number of words in the file.

Third Column − Represents the total number of bytes in the file. This is the actual size of the file.

Fourth Column − Represents the file name.

You can give multiple files and get information about those files at a time. Following is simple syntax −

Copying Files

To make a copy of a file use the cp command. The basic syntax of the command is −

Following is the example to create a copy of the existing file filename.

You will now find one more file copyfile in your current directory. This file will exactly be the same as the original file filename.

Renaming Files

To change the name of a file, use the mv command. Following is the basic syntax −

The following program will rename the existing file filename to newfile.

The mv command will move the existing file completely into the new file. In this case, you will find only newfile in your current directory.

Deleting Files

To delete an existing file, use the rm command. Following is the basic syntax −

Caution − A file may contain useful information. It is always recommended to be careful while using this Delete command. It is better to use the -i option along with rm command.

Following is the example which shows how to completely remove the existing file filename.

You can remove multiple files at a time with the command given below −

Standard Unix Streams

Under normal circumstances, every Unix program has three streams (files) opened for it when it starts up −

stdin − This is referred to as the standard input and the associated file descriptor is 0. This is also represented as STDIN. The Unix program will read the default input from STDIN.

stdout − This is referred to as the standard output and the associated file descriptor is 1. This is also represented as STDOUT. The Unix program will write the default output at STDOUT

stderr − This is referred to as the standard error and the associated file descriptor is 2. This is also represented as STDERR. The Unix program will write all the error messages at STDERR.

Источник

10 Commands to Collect System and Hardware Info in Linux

It is always a good practice to know the hardware components of your Linux system is running on, this helps you to deal with compatibility issues when it comes to installing packages, drivers on your system using yum, dnf, or apt.

10 Commands to Check Hardware and System Information in Linux

Therefore in these tips and tricks series, we shall look at some useful commands that can help you to extract information about your Linux system and hardware components.

1. How to View Linux System Information

To know only the system name, you can use the uname command without any switch that will print system information or the uname -s command will print the kernel name of your system.

To view your network hostname, use the ‘-n’ switch with the uname command as shown.

To get information about kernel-version, use the ‘-v’ switch.

To get the information about your kernel release, use the ‘-r’ switch.

To print your machine hardware name, use the ‘-m’ switch:

All this information can be printed at once by running the ‘uname -a’ command as shown below.

2. How to View Linux System Hardware Information

Here you can use the lshw tool to gather vast information about your hardware components such as cpu, disks, memory, usb controllers, etc.

lshw is a relatively small tool and there are few options that you can use with it while extracting information. The information provided by lshw was gathered from different /proc files.

Note: Do remember that the lshw command is executed by the superuser (root) or sudo user.

To print information about your Linux system hardware, run this command.

You can print a summary of your hardware information by using the -short option.

If you wish to generate output as an html file, you can use the option -html.

Generate Linux Hardware Information in HTML

3. How to View Linux CPU Information

To view information about your CPU, use the lscpu command as it shows information about your CPU architecture such as a number of CPUs, cores, CPU family model, CPU caches, threads, etc from sysfs and /proc/cpuinfo.

4. How to Collect Linux Block Device Information

Block devices are storage devices such as hard disks, flash drives, etc. lsblk command is used to report information about block devices as follows.

If you want to view all block devices on your system then include the -a option.

5. How to Print USB Controllers Information

The lsusb command is used to report information about USB controllers and all the devices that are connected to them.

You can use the -v option to generate detailed information about each USB device.

6. How to Print PCI Devices Information

PCI devices may include usb ports, graphics cards, network adapters, etc. The lspci tool is used to generate information concerning all PCI controllers on your system plus the devices that are connected to them.

To print information about PCI devices run the following command.

Use the -t option to produce output in a tree format.

Use the -v option to produce detailed information about each connected device.

7. How to Print SCSI Devices Information

To view all your scsi/sata devices, use the lsscsi command as follows. If you do not have the lsscsi tool installed, run the following command to install it.

After installation, run the lsscsi command as shown:

Use the -s option to show device sizes.

8. How to Print Information about SATA Devices

You can find some information about sata devices on your system as follows using the hdparm utility. In the example below, I used the block device /dev/sda1 which is the hard disk on my system.

To print information about device geometry in terms of cylinders, heads, sectors, size, and the starting offset of the device, use the -g option.

9. How to Check Linux File System Information

To gather information about file system partitions, you can use the fdisk command. Although the main functionality of the fdisk command is to modify file system partitions, it can also be used to view information about the different partitions on your file system.

You can print partition information as follows. Remember to run the command as a superuser or else you may not see any output.

10. How to Check Linux Hardware Components Info

You can also use the dmidecode utility to extract hardware information by reading data from the DMI tables.

To print information about memory, run this command as a superuser.

To print information about the system, run this command.

To print information about BIOS, run this command.

To print information about the processor, run this command.

Summary

There are many other ways you can use to obtain information about your system hardware components. Most of these commands use files in the /proc directory to extract system information.

Hope you find these tips and tricks useful and remember to post a comment in case you want to add more information to this or if you face any difficulties in using any of the commands. Remember to always stay connected to Tecmint.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

We are thankful for your never ending support.

Источник

Читайте также:  Windows удаление языков интерфейса
Оцените статью
Sr.No. Prefix & Description
1