Linux重要知识点

/dev/tty*(本地终端设备,虚拟终端)一共6个:/dev/tty1-/dev/tty6

/dev/pts/*(伪终端设备,伪终端),用于远程登录,个数无限制

uname -r 查看系统内核版本信息

cat /etc/xxx-release 查看系统发行版本信息

Ctrl + Z    挂起(暂停)一个正在前台运行的进程,fg 恢复

Ctrl + C    终止一个正在前台运行的进程(强行含义)

Ctrl + D     终止一个正在前台运行的进程(正常含义)

用fdisk在建立lvm之前一定要存在一个主分区,因为系统一定放在主分区上,系统不可以放在逻辑分区上。

最多4个主分区,最多1个扩展分区,只有划分了扩展分区后,才可以在扩展分区内划分逻辑分区,也就是说逻辑分区是在扩展分区内的。

与系统启动相关的信息不能存放在lvm 中。

sda一般是指SATA接口的硬盘,sda指第一块硬盘,sdb指第二块硬盘。

sdb1和sdb2表示系统第二块SATA接口的硬盘第1个和第2个分区。

1-4 为主分区,5以上为逻辑分区。

静态IP配置文件路径:/etc/sysconfig/network-scripts/ifcfg-ens33

所有的网络接口配置文件均在其目录下

和服务相关的命令有systemd,systemctl,chkconfig,service

系统启动之后第一个进程就是systemd (init),其PID是1,systemd 是唯一一个由系统内核直接运行的进程。

chkconfig 启动、停止、重启系统服务,以及查询系统服务(service)运行级信息。

chkconfig 是一个用于维护 /etc/rc[0-6].d 目录的命令行工具。

service命令的作用是去 /etc/init.d目录下寻找相应的服务

systemctl 显示、启动、停止、重启指定的服务

systemctl start foo.service        启动名为foo的服务

systemctl restart foo.service        重启名为foo的服务

systemctl stop foo.service        停止服务

systemctl reload foo.service        重新加载配置文件(不终止服务)

systemctl status foo.service       查看服务状态信息及日志信息

systemctl 设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令

systemctl enable foo.service        开机自动启动名为foo的服务

systemctl disable foo.service    开机不自动启动

systemctl is-enabled foo.service    查看名为foo的服务是否在开机自动启动

systemctl list-unit-files --type=service    查看所有服务是否在启动系统时启用

软链接:目标文件的快捷方式(相当于快捷方式)

建立f1的软链接(符号连接)文件f2:ln -s f1 f2;

软链接和原始文件不是同一个文件,将一个文件指向另一个文件名。

如果删除f2 ,对f1并不产生任何影响;而删除f1,f2就因无法找到文件名f1的文件而成为死链接。

硬链接:目标文件的替身

建立f1的硬链接文件f2:ln f1 f2;

硬链接和原始文件使用文件系统中的同一个文件,将两个文件名指向硬盘上一个存储空间。

如果删除其中的一个文件,就是删除了该文件和硬盘空间的指向关系,该硬盘空间不会释放,另外一个文件的内容也不会发生变化,但是目录详细信息中的链接数会减少。

dd—文件复制和转换

创建虚拟磁盘:

dd  if=/dev/zero  of=virtual.img  count=1  bs=1M  count=256

从/dev/zero设备生成一个容量为256M的空文件。

dd  of=test  bs=10  count=1//从键盘输出到test文件

df—查看磁盘容量,显示指定的文件或目录已占用的磁盘空间

df -h以人类易读方式显示  -a显示所有文件系统信息

du—查看目录的容量,显示文件系统磁盘的使用情况

du -h /home/zhangsan    //列出每个子目录的大小

du -h -d 0  ~   //显示当前一级目录信息

du通常针对的是目录,而df通常针对的是文件系统

用root超级管理员用户登入系统的umask值是多少?基于umask值创建的目录和文件的权限是多少?

umask 0022 目录权限:755 文件权限:644

系统用户:umask 022

普通用户:umask 002

$n  //n代表大于等于1的整数,代表第n个位置参数,1 为执行脚本的第一个参数,2为执行脚本的第二个参数,以此类推……当n>=9时,要使用${n}的形式进行引用。

$0 脚本名称(包含文件路径)

$# 位置参数的个数

$? 在此之前执行的命令或脚本的返回值。0表示成功,其他任何值表明有错误。

$$:脚本运行的当前进程ID号

$!:后台运行的最后一个进程的ID号

$*:以一个单字符串显示所有向脚本传递的参数

$@:与$*相同,但是使用时加引号,并在引号中返回每个参数

$-:显示Shell使用的当前选项,与set命令功能相同

压缩解压tar

tar-cvf myball.tar mydir  :将mydir 目录打包为myball.tar文件

tar-tf myball.tar  :查看myball.tar 包中的内容

tar -xvf myball.tar  :将myball.tar在当前目录下解包

tar -zcvf myball.tar.gz mydir  :将mydir目录打包后压缩(调用gzip压缩工具)

tar-ztf myball.tar.gz  :查看myball.tar.gz 包中的内容

tar -zxvf myball.tar.gz  :解压缩(调用gzip压缩工具)

tar -jJcvf myball.tar.bz2xz mydir  :将mydir目录打包后压缩(调用bzip2xz压缩工具)

tar-jJtf myball.tar.bz2xz  :查看myball.tar.bz2xz 包中的内容

tar -jJxvf myball.tar.bz2xz  :解压缩(调用bzip2xz压缩工具)

-c:创建归档          -x:释放归档
-f:指定归档文件名称,必须放在所有选项的最后
-z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
-t:显示归档中的文件清单

vim /etc/fstab配置自动挂载表,使用mount -a在其当前生效

自动挂载表用于保存硬件信息×

用于设置命令规则×

系统时间(SC):指在Linux kernel 中的时钟,当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。用date 查看

硬件时间(RTC):指在主机板上的由电池供电的硬盘时钟设备,也就是通常可在BIOS画面中设定的时钟。用/sbin/hwclock查看

时间戳:mtime:最后修改时间(ls -lt)

        ctime:状态改变时间 (ls -lc)

        atime:最后访问时间 (ls -lu) 用stat命令

查看日期,时间和地区:timedatectl

 

‘ ’:在‘ ’的字符均被当作文字处理器,指令,文件名,保留字等都不再具有原来的意义。单引号字符串中的变量是无效的;单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用

“”:在“ ”的字符会被当作文字处理器,并允许变量值置换。

' ':命令替换,置换’...’中命令的执行结果。

():在子shell中执行一组命令。

{}:在当前shell中执行一组命令。

[ ]是 bash 程序语言的关键字。

使用 env 命令来查看到 Linux 系统中所有的环境变量

文件和变量是区分大小写的并且路径分隔符为:

以 : 为分隔,显示/etc/passwd中每行的第1和第7个字段

awk -F ":" '{print $1,$7}' /etc/passwd 或 awk 'BEGIN{FS=":"}{print $1,$7}' /etc/passwd

以 : 为分隔,显示/etc/passwd中含有 root 的行的第1和第7个字段

awk -F ":" '/root/{print $1,$7}' /etc/passwd

以 : 为分隔,显示/etc/passwd中以 root 开头行的第1和第7个字段

awk -F ":" '/^root/{print $1,$7}' /etc/passwd

创建用户账号时对/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow四个文件的修改,在文件中添加了该用户和组的相关信息。

运行shell脚本的两种方法:

作为可执行程序,如:chmod +x ./test.sh  #给下面的文档赋权

                                   ./test.sh   #执行脚本

作为解释器参数,如:bash test.sh

配置环境变量:

全局变量是存在/etc下的profile那个文件里,barshrc文件里

私有环境变量存在个人家目录里的.barshrc或.profile里边

/etc/profile 用来设置系统环境参数,为系统的每个用户设置环境变量信息,是永久性的环境变量,影响所有用户。

/etc/bashrc 设置系统bash shell相关的东西,对系统内所有用户生效

/etc/profile.d 目录中存放的是一些应用程序所需的启动脚本

~/.bash_profile 功能和/etc/profile 类似,但是这个是针对用户来设定的

~/.bashrc  作用类似于/etc/bashrc,用于设置alias别名、全局变量之类的。只是针对用户自己而言,不对其他用户生效

Vi三种状态转换:

 

包管理(rpm)和下载命令的区别和使用方法:

wget安装:类似于windows系统里的网页下载
rpm安装:对已经下载的rpm包进行安装,类似于windows系统里.exe的安装
yum安装:就像是Linux里面的一个软件,系统安装完成,这个软件也就安装完成了,使用yum命令会自动去/etc/yum.repo.d/XXX.repo 结尾的文件进行配置.

包管理属于CentOS下的一个软件安装方式,基于linux。下载命令属于一种在线下载软件的方式,是一种下载工具。

包管理可以直接基于linux内限有的软件进行直接安装,下载命令可根据网址进行网络下载软件。

文件权限相关:基本权限 rwx、修改属主属组等,高级权限facl、suid、sgid、sbit、特殊权限

读权限    r    可以读文件的内容    可以列出目录中的文件列表

写权限    w    可以修改该文件    可以在该目录中创建、删除文件

执行权限 x    可以执行该文件    可以使用cd命令进入该目录

chmod 改变文件或目录的操作权限 

对文件a的属主添加执行权限:chmod u+x a

对文件a的属主添加读,写,执行权限,对所属组用户和其他用户设置读和执行权限:

chmod 755 a

chown 改变文件或目录的属主和组

将文件user1 的属主改成os:   chown os user1

将文件user 的属主和属组都改成os:   chown os:os user

将mydir 目录及其子目录下的所有文件或目录的属主和属组都改为os:

chown -R os:os mydir

FACL文件访问控制列表,主要是针对三个用户以上的权限灵活权限分配控制

允许os用户对myfile文件(目录)进行读写执行:setfacl -m u:os:rwx myfile

允许market对/share/marketdir目录进行读写:setfacl -m g:market:rw /share/marketdir

suid:使用命令的所属用户的权限来运行,而不是命令执行者的权限,占用属主的X位来表示 

为程序/usr/bin/myapp添加suid 权限

chmod u+s /usr/bin/myapp或者chmod 4755 /usr/bin/myapp

sgid:使用命令的组权限来运行,占用属组的X位来表示

目录的特殊权限

sgid:在设置了 sgid 权限的目录中创建的文件会具备该目录的组权限

为程序/usr/bin/myapp添加sgid 权限

chmod g+s /usr/bin/myapp或者chmod 2755 /usr/bin/myapp

sticky-bit:在带有粘滞位的目录中的文件只能被文件的所属用户和root用户删除,不管该目录的写入权限是如何设置的,占用其他人的X位

为程序/usr/bin/myapp添加sticky 权限

chmod o+s /usr/bin/myapp或者chmod 1755 /usr/bin/myapp

shell程序的解释和理解

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。

Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

shell程序是shell编写的程序类似于dos下的批量处理程序,用户在文件中存取一系列命令,就叫shell程序或脚本。

磁盘阵列(RAID)的种类和区别

种类:

RAID0,RAID1,RAID10,RAID5等

区别:

磁盘分区格式化挂载操作

用fdisk /dev/sda 等命令形式磁盘分区操作,并创建分区,确定分区大小。

用mkfs -t  vfat /dev/sdb1等命令形式格式化分区,建立文件系统。

在linux文件系统中创建文件系统挂载目录。

用mount [-t vfstype ]]-o options]device dir 命令形式将创建的文件系统挂载。

shell脚本创建30个用户并更改文件/目录组

#!/bin/sh

i=1 #用于记录第几个用户

groupadd class1 #创建用户组class1 

while [ $i -le 30 ] #当用户的数量在1-30之间 -le 小于等于30

do 

    if [ $i -le 9 ] ;then #当用户的数量是1-9之间一位数

    USERNAME=stu0${i}

else 

    USERNAME=stu${i} #用户的数量在10-30之间

fi 

useradd $USERNAME #创建用户

mkdir /home/$USERNAME #在根目录下的home目录下创建与刚创建的用户同名目录

chown -R $USERNAME /home/$USERNAME  #修改文件/目录的拥有者

chgrp -R class1 /home/$USERNAME  #递归修改文件/目录的组

i=$(($i + 1)) 

Done

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值