Linux基础

it2022-05-05  136

操作系统概述

操作系统:操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,位于硬件和应用程序之间。

操作系统内核:操作系统的内核是一个管理和控制程序,负责管理计算机的所有物理资源,包括文件系统、内存管理、设备管理和进程管理等。

UNIX:UNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。具有多用户和多任务的特点,多用户表示在同一时刻可以有多个用户同时使用UNIX操作系统且他们互不干扰;多任务表示任何一个用户在同一时间可以在UNIX操作系统上运行多个程序。

Linux:Linux是一套免费使用和自由传播的类UNIX操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

Linux终端:Linux终端又称虚拟控制台,Linux采用字符命令行方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制,root用户登录后系统提示符为#,普通用户登录后系统提示符为$,exit命令用于退出终端。可以通过组合键Ctrl+Alt+F[1-6]在6个虚拟终端之间进行切换。

Linux命令格式:命令 [选项] [参数]

命令:告诉Linux操作系统执行什么

选项:说明命令的运行方式(可以改变命令的功能),通常以“-”字符开始

参数:说明命令操作的对象

init 0  关机

whoami  列出当前登陆Linux系统所使用的用户名

who  显示当前登陆的所有用户,以及当前的日期和时间

date  显示系统当前的日期和时间

date命令设置时间的格式:date 月日时分年

例如将时间设定成2031年12月24日上午10点18分:date 122410182013

cal  显示某月的日历

例如显示2008年8月的日历:cal 8 2008

clear  清除屏幕,快捷键为Ctrl+l

su  从当前用户切换到另一个指定的其他用户

例如切换到root用户:su -root

passwd  修改用户密码

man  获取某个Linux命令的使用说明

命令 --help  查看命令帮助

 Linux目录文件

在Linux和UNIX操作系统中,所有的文件和目录都被组织成一个一根节点开始的倒置的树状结构。

/  表示根目录

.  表示当前目录,即用户所在的工作目录

..  表示父目录,即当前目录的上一级目录

bin目录  用来存放常用的可执行文件

sbin目录  用来存放系统的可执行文件

家目录  用来存放用户自己的文件或目录。root用户的家目录是/root,普通用户的家目录存放在/home下,并使用用户名作为家目录

dev目录  设备文件目录

etc目录  配置文件目录

挂载点目录  通常可移除式硬件会被挂载在/media或/mnt目录之下

pwd  返回当前所在的工作目录

cd  切换目录

cd ..  进入上一级目录

cd ~  切换到用户的家目录

cd -  切换到用户之前的工作目录

ls  列出当前目录或指定目录中的内容

ls -a  列出目录下的所有文件,包括以“.”开头的隐藏文件

ls -l  列出某个目录中每一个文件的详细资料

cp 源文件 目标文件  将文件复制到一个指定的目标文件或目标目录

-r  递归地复制目录-f  在目标文件已经存在时不询问直接强制复制

mv  既可以在不同的目录之间移动文件和目录,也可以重新命名文件和目录

mkdir  创建一个新目录

touch  创建一个空文件

rm  永久地在文件系统中删除文件或目录

-r  递归地删除目录-f  系统不询问直接删除原有文件

cat  将一个或多个文件的内容显示在屏幕上,该命令会不断地以只读的方式显示整个文件的内容

head  默认将显示文件的前10行

-n  改变显示的行数

tail  默认显示文件的后10行

-n  改变显示的行数

more  每次在屏幕上显示一屏的文件内容,并在屏幕的尾部出现一个“--More--(n%)”的信息,n%是已经显示文件内容的百分比

用户、群组和权限

passwd文件

/etc/passwd文件存储所有用户的相关信息,也被称为用户信息数据库,该文件中每个字段含义如下:

第1字段  用户的名字第2字段  如果是x,表示该用户登陆系统时必须使用密码;如果为空,表示用户登录时无需提供密码第3字段  用户的uid第4字段  用户所属群组的gid第5字段  用户的注释信息(如全名或通信地址)第6字段  用户的家目录的路径第7字段  用户登陆后,第一个要执行的进程

shadow文件

/etc/shadow文件存储所有用户的密码,每一个用户占用一行记录,该文件实际上就是存放用户密码的数据库,该文件中每个字段的含义如下:

第1字段  用户名第2字段  密码,该密码是经过MD5加密算法加密过的密码

group文件

/etc/group文件存放了Linux系统中所有群组的信息,它实际上是一个存放群组信息的数据库,该文件中每个字段的含义如下:

第1字段  群组的名字第2字段  x表示这个群组在登陆Linux系统时必须使用密码第3字段  群组的gid第4字段  群组里还有那些群组成员

useradd  新增用户

-u  指定用户的uid-g  指定用户所属群组-d  指定用户的家目录-c  指定用户的备注信息-s  指定用户所用的shell

usermod  修改用户的账户信息

-u  修改用户的uid-g  修改用户的gid-G  将一个用户加入到指定的群组中-d  修改用户的家目录-c  修改用户的备注信息-s  修改用户所用的shell-L  将用户账户锁住-U  将用户账户解锁

userdel  删除账户

-r  在删除用户的同时删除该用户的家目录及其邮箱

groupadd  创建一个新的群组账号

-g  指定群组的gid

groupmod  修改群组账号的信息

-g  修改群组的gid-n  修改群组的名称

groupdel  删除一个群组账号

ls -l命令可以查看文件上所设定的权限,该命令返回结果的第一列分成4组:

第1组  第1个字符,代表这是一个文件(-)或是一个目录(d),也可以是其他资源第2组  第2-4个字符,定义了文件或目录的所有者(owner)所具有的权限,用u代表所有者对文件的所有权限第3组  第5-7个字符,定义了文件或目录的所有者所在的群组中其他用户所具有的权限,用g代表这一组(group)的权限第4组  第8-10个字符,定义了既不是owner也不和owner在同一群组中的其他用户对文件或目录所具有的权限,用o代表其他用户(other)的权限

ls -l命令显示结果的第3、4列为文件的属主和属组

root用户:root用户也称为超级用户,它可以不受限制地访问任何用户的账号和所有文件及目录

Linux系统将系统中所有用户分成3类:

第1类  所有者第2类  同组用户第3类  非同组的其他用户

文件的操作权限包括读(read)、写(write)和执行(execute)

r  表示read读权限,也就是可以阅读文件或者使用ls命令列出目录内容

w  表示write写权限,也就是可以编辑文件或者在一个目录中创建和删除文件

x  表示execute权限,也就是可以执行程序或者使用cd命令切换到这个目录以及使用ls -l命令列出目录中详细内容

-  表示没有相应的权限

chown  修改文件的属主信息

chown 属主:属组 文件

chown :属组 文件

chown 属主 文件

chgrp  修改文件的属组信息

chgrp 属组 文件

chmod  设定或更改文件或目录上的权限

-R  不但设置或更改该目录权限,而且还要递归地设置或更改该目录中所有文件或子目录的权限

符号表示法是使用几个特定的符号来设定权限状态,权限状态可以分为3部分:

第1部分  表示要设定或更改谁的权限状态

  u:表示所有者(owner)的权限

  g:表示群组(group)的权限

  o:表示其他用户(other)的权限

  a:表示所有用户(all)的权限

第2部分  运算符

  +:表示加入权限

  -:表示去掉权限

  =:表示设定权限

第3部分  表示权限

  r:表示读权限

  w:表示写权限

  x:表示执行权限

例如在dog文件上添加所有者和同组用户的可执行权限:chmod ug+x dog

数字表示法是使用一组三位数的数字来表示文件或目录上的权限状态,其中:

第1个数字  表示所有者的权限第2个数字  表示群组的权限第3个数字  表示其他用户的权限

数字代表的资源权限状态:

4  读权限

2  写权限

1  执行权限

0  没有相应的权限

例如使用数字表示法对owner开放/home/dog/babydog目录及其中所有文件的一切权限,对同组用户开放读和执行权限,对其他用户开放读权限:chmod 754 /home/dog/babydog

正文处理

cat命令实现文件的纵向合并:

cat baby.age baby.kg >baby  将baby.age和baby.kg两个文件纵向合并为baby文件

cat baby.age >>baby  将baby.age文件内容添加的baby文件中

归档:归档(archiving)就是将许多文件(或目录)打包成一个文件,归档的目的是方便备份、还原及文件的传输操作

tar  将多个文件(可能包括目录)放在一起存放到一个磁带或磁盘归档文件中

c:创建一个新的tar文件

t:列出tar文件中目录的内容

x:从tar文件中抽取文件

f:指定归档文件

v:显示所打包的文件的详细信息

z:使用gzip压缩算法来压缩打包后的文件

j:使用bzip2压缩算法来压缩打包后的文件

例如使用tar命令将arch目录打包成一个名为arch.tar的归档文件(要求显示所有打包的文件和目录):tar cvf arch.tar arch

使用tar命令显示arch.tar归档文件中所有的文件:tar tf arch.tar

使用tar命令恢复arch.tar中全部内容:tar xvf arch.tar -C 路径

使用tar命令将arch目录打包同时使用gzip的技术压缩打包后的文件:tar cvfz arch.tar.gz arch

vi编辑器

vi:vi是一个UNIX和Linux系统内嵌的标准正文(文字)编辑器,它是一种交互类的正文编辑器,也可以用来创建和修改正文文件。

vi编辑器的三种模式:

命令行模式  vi的默认模式,在这一模式中所有的输入被解释成vi命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出vi的操作等

编辑模式  在编辑模式中可以往一个文件中输入正文。在该模式下,输入的每一个字符都被vi编辑器解释为输入的正文,使用ESC键返回命令行模式

扩展模式  在一些UNIX系统上也叫最后一行模式。在该模式下可以使用一些高级编辑命令,如搜寻和替换字符串、存盘或退出vi编辑器等。要进入最后一行模式,需要在命令行模式中输入冒号(:),冒号这一操作将把光标移到屏幕的最后一行

vi编辑器中光标的移动:

0  光标移到当前行的开始

$  光标移到当前行的结尾

进入编辑模式:

a  进入插入模式并在光标之后进行添加

i  进入插入模式并在光标之前进行插入

o  进入插入模式并在当前行之下开启新的一行

在命令行模式下编辑

dd  删除光标所在的那一行

ndd  n为数字,删除光标所在的向下n行

yy  复制光标所在的那一行

nyy  n为数字,复制光标所在的向下n行

p  将已复制的数据在光标下一行粘贴

P  将已复制的数据在光标上一行粘贴

U  复原前一个操作

ctrl+r  重做上一次操作

扩展模式下命令:

:w  将文件存入磁盘

:q  退出vi编辑器

:wq  将文件存入磁盘并推出vi编辑器

移动光标的位置:

G  光标移动到文件的最后一行

nG  n为数字,光标移动到这个文件的第n行

gg  移动到这个文件的第一行

H  光标移动到这个屏幕的最上方那一行的第一个字符

M  光标移动到这个屏幕的中央那一行的第一个字符

L  光标移动到这个屏幕的最下方那一行的第一个字符

系统初始化

Linux系统引导顺序:BIOS-->MBR-->Kernel-->init

其中,BIOS的工作是检查计算机的硬件设备,如CPU、内存和风扇速度等;MBR在启动盘的第一个块中,大小为512B,前446中的代码用来选择boot partition,即由那个分区装入开机用的代码;内核部分主要是装入计算机设备的驱动程序以便操作系统可以控制计算机上的设备,并以只读的方式挂载根(/)文件系统,即此时的操作系统只能读到根文件系统所在的分区;init程序的进程id为1,即Linux操作系统第一个执行的程序。

GRUB:GRUB是Grand Unified Bootloader(多重操作系统启动管理器)的缩写,其配置文件为grub.conf。

grub-MD5-crypt  设置grub MD5加密,Password=明文或Password --md5 密文

init的配置文件:/etc/inittab

init程序的工作:

决定默认要使用那个run levels(运行级别)

执行一些系统初始化的程序来初始化操作系统

根据run level的设置来执行对应目录中的程序,以决定要启动哪些服务

设定某些组合键

定义UPS不间断电源系统,即当电源出现问题时或电源恢复时要执行哪些程序

产生6个virtual consoles,即tty1-tty6

run levels(运行级别):

0  关机,不能设置为initdefault(即不能设置为默认的运行级别)

1  单用户模式,只有root用户可以登录,用于系统维护

2  多用户模式,但是没有启动网络功能

3  多用户模式,启动了网络功能,但是为文字界面

4  用户自定义模式,默认与run level 3相同

5  与run level 3相同,并且启用了X11(即图形界面)

6  重新启动系统,不能设置为initdefault

常用关闭系统命令:

shutdown -h now

halt

poweroff

init 0

重启系统命令:

shutdown -r now

reboot

init 6

系统监控

top  实时显示系统中各个进程的资源占用情况

free  显示内存的使用状态

ps  显示当前进程的状态

Ps -aux  显示所有与用户相关的完整信息

pstree PID  以树状图显示程序(需要安装yum -y install psmisc)

kill PID  终止进程

kill -9 PID  终止进程

pgrep  通过名称或其他属性查找进程

pkill  通过名称或其他属性终止进程

分区、格式化及文件系统

fdisk  创建磁盘分区

d  删除一个已经存在的分区

l  列出已经存在的分区的类型

m  列出fdisk中使用的所有命令

n  添加一个新的分区

p  列出分区表的内容

q  退出fdisk,但不存储所做的变化

t  改变分区系统的id

w  退出fdisk并保存所做的变化

partprobe  重新初始化内存中内核的分区表

格式化:将分区中的硬盘空间划分成大小相等的一些数据块(blocks),以及设定这个分区中有多少个i节点可以使用等

文件系统:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在磁盘上组织文件的方法

常用的文件系统类型:

ext2:Linux系统中标准的文件系统

ext3:一种日志式文件系统

ext4:一种针对ext3系统的扩展日志式文件系统

lvm:逻辑盘卷管理

iso9660:目前唯一通用的光盘文件系统

mkfs  格式化磁盘

例如将分区/dev/sdb1格式化为ext4文件系统:mkfs.ext4 /dev/sdb1

e2label  设定或查看一个设备的label名称

例如查看/dev/sdb1分区的label:e2label /dev/sdb1

将/dev/sdb1分区的label设定为sg:e2label /dev/sdb1 sg

挂载:将一个设备(通常是存储设备)挂接到一个已存在的目录上

mount  实现文件系统的挂载

例如将/dev/sdb1分区挂载到/wg目录上:mount /dev/sdb1 /wg

umount  卸载文件系统

例如卸载/wg上的文件系统:umount /wg

虚拟内存:将一块硬盘空间当做内存使用,也被称为交换分区(swap),Linux上交换分区的类型为0x82

mkswap  设置交换分区

例如将分区/dev/sdb1设置为交换分区:mkswap /dev/sdb1

swapon  启动交换分区

-a  启动全部的交换分区-s  列出当前正在使用的所有系统交换分区的状态

i节点:i节点实际上是一个数据结构,它存放了有关一个普通文件、目录或其他文件系统对象的基本信息

软链接:软链接是指向另一个文件的一个文件

例如为wolf/dog.txt文件建立一个dog_wolf.txt软链接并放在bodydog目录中:ln -s wolf/dog.txt bodydog/dog_wolf.txt

硬链接:一个硬链接是一个文件名与一个i节点之间的对应关系,也可以认为一个硬链接是在所对应的文件上添加一个额外的路径名

例如为wolf/dog.txt文件建立一个dog_wolf.txt硬链接并放在bodydog目录中:ln wolf/dog.txt bodydog/dog_wolf.txt

Linux中常见的文件类型:

-  普通文件

d  目录

l  符号(软)链接

b  块特殊文件,一般指块设备,如硬盘

c  字符特殊文件,一般指字符设备,如键盘

df  显示文件系统中磁盘使用和空闲区的数量

-a  显示所有磁盘

-h  单位转换

du  显示目录和文件的大小

-a  显示所有磁盘

-h  单位转换

网络基础设置

ifconfig  显示所有正在启动的网卡的详细信息或设定系统中网卡的IP地址

例如修改eth0网卡的IP地址为172.18.48.56和子网掩码255.255.255.128:ifconfig eth0 172.18.48.56 netmask 255.255.255.128

ifup  启动系统上指定的网卡

ifdown  停用指定网卡

网卡的配置文件存放在/etc/sysconfig/network-scripts目录中,且每个网卡对应的配置文件的文件名以ifcfg-开始。

 

转载于:https://www.cnblogs.com/xdldxcw/p/9376431.html


最新回复(0)