Linux and File system introduction 1 Internet Industry Status
In the server-side market:
-
-
Super computer
-
- The November 2014 data shows that 485 systems in the top 500 systems are running Linux publishing systems, with only one running Windows system
- Up to now, there are 22,851,693 processors running Linux systems, while Windows systems are only 30,720
-
-
Cloud computing
-
The 2014 Linux Foundation wrote a report that found that 75% of large companies use Linux as their primary platform, compared with only 23% of Windows systems.
Mobile-Market:
Linux-based Android, the market share of andriod devices rose from 81.4% last year to 83.6% in the third quarter of 2014 with smartphone shipments
.
Embedded system:
research figures from 2013 show that about half of embedded systems are planned to be Linux-based. More and more Linux-based smart hardware devices, such as smart routers, are also being created.
As this series of articles is mainly about the Internet software development and testing, according to the current industry trends, Linux system has become the Internet industry's most important productivity platform, the relevant practitioners fully need to learn and understand the Linux system.
2 Typical computer systems
A typical computer system is composed of two parts: software and hardware.
The hardware system is composed of the following parts:
- Cpu
- Memory
- External input/output (IO) devices
The components of the sections are as follows:
The software of the computer is the running program on the hardware and the corresponding document.
The operating system is the most basic software system running on the computer hardware, and the common system is as follows:
-
-
PC-Side
-
- Windows
- Linux
- Mac OS
- Other
-
-
Mobile side
-
- Ios
- Android
- Windows Phone
- Other
In today's mobile devices have become so popular in the era, I believe you have been able to realize that the operating system is not just windows, but based on a certain principle to be able to blossom the basic software system.
3 Basic Linux Introduction
As mentioned earlier, a basic computer system consists of "hardware" and "Software", a Linux device, the main composition as shown:
In general, we refer to the Linux system, specifically the intermediate kernel level of the section, we see the desktop of Linux desktops, for example: Kde,gnome are just ordinary applications. The core of Linux is its kernel, which is the link between applications and hardware programs.
There are two types of human-computer interaction in Linux:
- Graphical Interactive interface
- command-line interaction Interface (CLI)
Graphical interface, the user from under Windows should not be unfamiliar, but the graphical interface is not the essence of Linux, as a senior computer workers, should be able to see through the phenomenon of nature, all the essence of computing software is actually data processing and circulation. Desktop is not Linux, so it's going to move away from desktop and turn to Linux for learning and research.
4 Linux two ways of interacting
To look at the files under the root file system of Linux as an example, compare the differences between the two modes of interaction.
Under Desktop, open the file Management graphics application:
Enter the LS command below the CLI:
? / lsbin deepinhost etc initrd.img.old lost+found opt run sys varboot Dev home lib media proc sbin tmp VMLINUZCXASSOC disk initrd.img lib64 mnt root srv usr vmlinuz.old
In the graphical interface through different views or properties can see more files directory and information, also in the CLI interface can enter a different command parameters, to obtain the corresponding file directory text description information.
Similarly, Linux's other common system management tools, such as:
- Disk Management
- Network management
- Process Management
- Software Management
Have a corresponding desktop program and CLI program to provide management, follow-up will be detailed, not mentioned here. In summary, the two interactions are essentially equivalent in terms of bearer information, and even the CLI can provide even more operations than a graphical user interface. Because the graphical user interface can be said to be a higher-level application, it is a graphical representation of the further encapsulation of the CLI functionality.
If you are a normal desktop-level consumer, master graphical interaction and graphical interface applications, but for Linux developers, you must be familiar with CLI commands to complete the various operations and calls to the system.
5 File directory and system
Unlike Windows, all directories under Linux are from the "/" directory and do not partition the hard disk into C, D, E drives. All file systems under Linux are derived from the same root node, and all disks must be mounted under the corresponding directory in the file system.
Both Windows and Linux have the following processes:
The newly purchased physical hard disk must be partitioned, regardless of whether it is in one or more zones. This partition is actually data-entry for the partition table of the disk, which is related to the boot location
-
-
The partition's hard disk must be formatted with the appropriate file system
-
- Windows systems are generally NTFS file systems
- Linux systems are generally EXT4 file systems
-
-
The formatted disk must be mounted to the appropriate file directory of the operating system
-
- Windows is the equivalent of a root directory on top of the c/d/e disk, but apparently it does not actually follow this idea to popularize the system. The Windows system automatically helps the user to mount the partition to the directory, which automatically mounts the disk partition to the "directory" of the c/d/e disk
- Linux, in addition to automatically mount the root partition startup items, the other needs to be configured by the user.
In a Linux system, the basic organizational unit of information is called a file. For physical devices, Linux also provides a simplified way of accessing the file system, which allows users to use the same commands to handle common files and physical devices.
6 standard file structure
Under the root directory, list the main directories for Linux:
? /ll Total dosage 104Kdrwxr-xr-x2Root root4.0K September - Ten: -BINDRWXR-xr-x3Root root4.0K September7 the: toBOOTDRWXR-xr-x -Root root4.3K September - +: -DEVDRWXR-xr-x3Root root4.0K September7 -: GenevaDISKDRWXR-xr-x141Root root 12K September - +: -ETCDRWXR-xr-x4Root root4.0K August to A: onHOMEDRWXR-xr-x ARoot root4.0K September7 -: onLib Drwxr-xr-x4Root root4.0K September One +: onMEDIADRWXR-xr-x5Root root4.0K August to -: -MNTDRWXR-xr-x8Root root4.0K August to the: *OPTDR-xr-xr-x211Root root0September + -procdrwx------ -Root root4.0K September - -: -ROOTDRWXR-xr-x ARoot root720September - +: -RUNDRWXR-xr-x2Root root 12K September7 -: onSBINDRWXR-xr-x2Root root4.0K April - xx: toSRVDR-xr-xr-x -Root root0September + -SYSDRWXRWXRWT8Root root4.0K September - A: toTMPDRWXR-xr-xTenRoot root4.0K April - xx: +USRDRWXR-xr-x -Root root4.0K August to -: thevar ...
With regard to the file description under the root directory, Linux is a set of criteria for reference: FHS (Filesystem Hierarchy Standard).
This article describes only the features of the main catalog.
-
Boot directory
-
includes system boot program, Linux kernel program file Vmlinuz, disk memory image file INITRD, and grub initialization bootstrapper and configuration file
In addition to the boot directory, the system must have 5 directories to boot:
-
-
Dev
-
System device directory. Under the Linux system, any device corresponds to one or more device files, for example, the disk corresponds to the/dev/sd* file
-
-
etc
-
Configuration text file for Linux system operation
-
-
Lib
-
This directory contains the system boot process, and the need to run system commands to coerce kernel modules and a variety of dynamic link shared library files
-
-
Sbin
-
System commands used by the Super users group
-
-
Bin
-
Various common command programs shared by system administrators and ordinary users
Memory methods
Directory abbreviation splicing: DELSB, delete sb, who deleted this directory, who is that what what ^_^
Other directories that are most often encountered:
-
-
Home
-
The root directory of the user home directory, each add a new user, the system will add a directory under this directory with the same user name, store user-related configuration and data
-
-
Media
-
mount point for Removable Storage media
-
-
Mnt
-
Temporary mount points for file systems
-
-
Opt
-
installation directory for additional software such as applications
-
-
Var
-
Store various variable-length data files, such as log files, etc.
-
-
Usr
-
Unix Soft Resource Storage System provides a variety of shared data (user commands, library functions, header files, documents, etc.)
-
-
Root
-
Super Administrator's home directory
-
-
Tmp
-
Temp file directory, automatically emptied after system restart
-
-
Proc
-
The root directory of the process file system is a virtual file system that can obtain a lot of information about the system's running state by reading the file in this directory: CPU, memory, uptime, etc.
For a detailed description of the other directories and their subdirectories under the root directory and the differences between the directories, please refer to the latest update on the Linux website for FHS (which is basically updated every year).
7 File description and Permissions
In Linux under the face of the operation of the file has a very important concept, that is: file permissions. Many beginners think that Linux is not good to use, basically a big reason is to stop at this place is not in-depth study down. Because for any system, the various operations of file data is certainly very high-frequency interaction, under the Linux system, if you do not understand the concept of file system permissions, then in the operation of the file data, will inevitably encounter various obstacles, and then forced to abandon the continuation of the Linux research.
In the graphical interface, the file's permissions are visualized by the file icon (or x number, etc.), and in the CLI interface, it is displayed by a special text tag:
? / ll | grep bindrwxr-xr-x 24. 0K : bindrwxr -xr-x 2 root root 12K : sbin
For a total of 7 paragraphs, the description of the table of contents and documents:
- Permissions: File details, mainly permissions information/type information
- Link: Number of hard links or directory subdirectories of a file
- User: File Owner
- Group: Groups to which the file belongs
- Size: File size
- Time: File creation times
- File: Name
Memory methods
The English abbreviation for paragraph seven is ligatures:
Plugstf
Reference memory: Insert TF Card
- Plugs: Plug
- TF: The small SD expansion card currently used on the phone
PLUG Part is an important part of the authority, operating under Linux, the most important basic concept is the concept of file permissions, if this is not clear, you will often encounter various obstacles.
7.1 File Types and permissions
Typical text file permission descriptor characters are as follows:
Drwxr-xr-x
A total of 10 bits, grouped by function, can be divided into 4 functional segments, as shown in the following table:
File permissions and type information
type |
User Rights |
Group Permissions |
Additional Permissions |
1 |
3 |
3 |
3 |
D |
Rwx |
R-x |
R-x |
The first paragraph represents the type of file:
D:directory, indicating the directory
-: Dash "empty" means ordinary files, for example: text file, binary file
L:link, which represents a linked file, for example: shortcut
B:block, which represents a block device, for example: disk
C:character, which represents special files for characters, such as console terminal/printer, etc.
P:pipe, managing Files
-
-
Other types
-
Generally for the application layer developers, the most contact is the directory and ordinary documents two kinds, other interested can go to specific access to the corresponding information.
There are three types of pure file manipulation permissions:
- R readable
- W Writable
- X executable
The user identity for file operations is divided into three categories:
- U User Direct dependent users
- G group files belong to groups
- O other users who do not belong to the above two
The three paragraphs of the file permissions, which correspond to different user identities for this file, do not allow any of the users to do anything more than their permissions on the file.
Pay special attention to the Linux system:
- The type of the program is not determined by the extension.
- Rather than using the. exe to determine whether the program is executable, the X property indicates that the file can be executed
- Unlike files, the x attribute of the directory indicates that the work path can be switched to the directory
Permissions related to the 9-bit, respectively by 1 or zero to indicate that it does not have the appropriate permissions, it will produce some of the following common numeric values to represent the permissions of the file (using an integer less than 8 to represent the state value of 3 bit):
-
-
777
-
111 111 111 for U,g,o all read/write/execute Full development permissions
-
-
666
-
110 110 110 Indicates that the u,g,o is read-write but not executable
-
-
644
-
110 100 100 means that for U is read-write, for u and O is read-only
So if you want to modify a file to be read-write and execute for all users/groups/others, you can execute the following command:
chmod 777 Xxx_file
Or use a way to add permissions:
chmod a+rwx xxx_file
With regard to file permissions and operator qualification, the CLI provides a rich command-line tool that basically allows the user to complete all the operations required for the file system. Specific commands and operations, you can consult the corresponding books and documents, more practice, skilled operation can be.
7.2 Other descriptive information
- File size
- Creation time
- File name
The use of this information is as intuitive and unambiguous as its name, and is not discussed here.
8 basic operations for files and directories
Basic operations on files and directories include, but are not limited to:
- Directory Creation and deletion
- File creation/modification/deletion
- The movement of a file or directory
- File or directory name modification
- File Lookup
And so on, the use of these tools and proficiency, belong to the relatively low level of knowledge, understanding the theoretical framework of the previous, only need to constantly repeat the operation of the exercise can be, so that the brain can quickly operate the basic skills.
These command lines, which are everywhere in the corresponding Linux introductory books, or Web technical articles, are also omitted from the table.
9 Summary
The goal of this article is to the minimum space, as soon as possible to Linux beginners to build the overall understanding of Linux, the specific parts of the extension of details and tools, this article is limited in length, do not do a detailed introduction. The fragmentation of the information, there is a low threshold of access (through the web search engine), and the low threshold of the strengthening of learning methods (continuous exercise, practice makes perfect), is not the focus of this article, and the following series of articles, mainly in the assumption that practitioners have a certain basis of the Linux operation of the case, and expand the Linux application domain skills.
Finally, a word: The tool is important, but not the purpose, for the tool, the best estimate is the "free time to continue to strengthen practice, skilled operation," so that it becomes the habit of the brain, and then have more time and more efficient way to solve high-level problems.
Author: |
Harmo ha mo |
Author Introduction: |
Https://zhengwh.github.io |
Technical Blog: |
Http://www.cnblogs.com/beer |
Email: |
[Email protected] |
Qq: |
1295351490 |
Time: |
2015-09-18 |
Copyright Notice: |
Unlawful transmission for commercial purposes is prohibited without permission |
To contact or reward: |
Http://zhengwh.github.io/contact-donate.html |
Basic introduction to Linux and file systems