Linuxの基本(包括的)

Linux

0.目次

記事のディレクトリ

1.Linuxの紹介

1.1Linuxとは

  • Linuxは、フリーでオープンソースのUNIXライクなオペレーティングシステムです。1991年にLinner Stowazによって作成され、主にMinixとUNIXのアイデアに触発されました。

  • LinuxはGNUGeneral Public License(GPL)に準拠しており、誰でも自由にソースコードを使用したり、自由に変更して再配布したりできます。

  • Linuxは、POSIXおよびUNIXに基づくマルチユーザー、マルチタスク、マルチスレッド、およびマルチCPUのオペレーティングシステムです。

  • Linuxは、主要なUNIXツールソフトウェア、アプリケーション、およびネットワークプロトコルを実行でき、ネットワークをコアとしてUNIXの設計アイデアを継承します。

1.2 Linuxディストリビューション?

LInuxリリースは、Linuxカーネルとアプリケーションソフトウェアをカプセル化するためのものです。

市場に出回っている主流のディストリビューションは、Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOSなどです。

1.3 LInuxアプリケーションフィールド?

組み込み機器からスーパーコンピューター、そしてサーバーフィールドまで、ステータスが決定されます。通常、サーバーはLAMP(Linux + Apache + MySQL + PHP)とLNMP(Linux + Nginx + MySQL + PHP)の組み合わせを使用します。

現在、Linuxは家庭だけでなく、全国レベルの企業でも使用されています。

1.4 LinuxとWindows?

比較する ウィンドウズ Linux
インターフェース インターフェイスが統一され、シェルプログラムが修正され、すべてのWindowsプログラムのメニューがほぼ同じになり、ショートカットキーがほぼ同じになります。 グラフィカルインターフェイスのスタイルはリリースバージョンによって異なり、相互に互換性がない場合があります。GNU / Linux端末はUNIXから継承されており、基本的なコマンドと操作方法はほとんど同じです。
運転者 ドライバプログラムは豊富で、バージョンは頻繁に更新されます。デフォルトのインストールプログラムには、通常、バージョンがリリースされたときに一般的なハードウェアドライバーが含まれており、その後にリリースされる新しいハードウェアドライバーは、ハードウェアの製造元によって異なります。一部の古いハードウェアでは、元のドライバーがないとサポートが難しい場合があります。さらに、ハードウェアの製造元がWindowsで必要なバージョンのドライバーを提供していない場合があり、これは頭痛の種になる可能性があります。 ボランティアによって開発され、Linuxコア開発チームによってリリースされました。多くのハードウェアメーカーは、著作権を考慮してドライバーを提供していません。ほとんどのハードウェアメーカーは手動でインストールする必要はありませんが、インストールは比較的複雑で、新しいユーザーはドライバーの問題に直面します(それらが存在し、メソッドをインストールするかどうか)は何もできなくなります。しかし、オープンソース開発モデルでは、Windowsでのサポートが難しい場合でも、多くの古いハードウェアはドライバーを簡単に見つけることができます。HP、Intel、AMDなどのハードウェアベンダーは、さまざまな程度でオープンソースドライバーを徐々にサポートしており、問題は軽減されています。
使用する 使い方は比較的簡単で、始めるのも簡単です。グラフィカルインターフェイスは、コンピュータの背景知識がないユーザーにとって非常に有益です。 グラフィカルインターフェイスは使いやすく、使い始めるのも簡単です。テキストインターフェイスは、習得することを学ぶ必要があります。
学ぶ システム構造は複雑で、頻繁に変更され、知識とスキルがすぐに失われるため、詳細な調査が困難になります。 システム構造はシンプルで安定しており、知識やスキルの継承も良好で、比較的深く学ぶことができます。
ソフトウェア 特定の機能ごとに商用ソフトウェアのサポートが必要になる場合があり、対応する認証を購入する必要があります。 ほとんどのソフトウェアは無料で入手でき、同じ機能を持つソフトウェアの選択肢は少なくなっています。

2.Linuxのインストール

VMware仮想マシン:www.vmware.com

VMwareの機能:

  • パーティション分割と再起動を行わない、同じPC上の2つのオペレーティングシステム
  • ローカルマシンと仮想マシンはネットワーク経由で通信できます
  • 仮想マシンの構成はいつでも変更できます

インストール手順:

  • 少し

2.1システムパーティション

  1. パーティションテーブル
    • MBRパーティションテーブル
      • 最大2.1TB、4パーティション
      • プライマリパーティション(最大4つ)
      • 拡張パーティション(1、データは書き込めません)
      • 論理パーティション
    • GPTパーティションテーブル
      • 最大9.4ZB、パーティション数に制限なし(理論上)
  2. フォーマット
    • 論理フォーマットとも呼ばれ、ユーザーが選択したファイルシステムを指します(タイプ:ext4)
  3. マウント

2.2注意が必要な事項

  • Linuxでは大文字と小文字が厳密に区別されます

  • Linuxすべてがファイルである

  • Linuxは拡張子によってファイルタイプを区別しません

  • Linuxのすべてのストレージデバイスは、使用する前にマウントすることはできません。

  • WindowsプログラムをLinuxで直接使用することはできません

3.共通のディレクトリ構造

目次 効果
/置き場 システムコマンドを保存するディレクトリ
/ sbin システムコマンドを保存するディレクトリ
/ブート システム起動ディレクトリ
/ dev デバイスファイルディレクトリ
/等 構成ファイルディレクトリ
/ home 通常のユーザーのホームディレクトリ
/ lib システムコールライブラリ
/ mnt マウントディレクトリ
/ opt ソフトウェアインストールディレクトリ
/ proc 仮想ファイルディレクトリ(カーネル、プロセス、外部デバイスのステータス、ネットワークのステータス)
/ sys 仮想ファイルディレクトリ(カーネル関連)
/ルート ルートホームディレクトリ
/ tmp 一時ディレクトリ
/ usr システムソフトウェアリソースディレクトリ
/どこ 動的データストレージディレクトリ(キャッシュ、ログ、ソフトウェア実行ファイル)

4.一般的に使用されるコマンド

コマンド 効果
ディレクトリ操作 ls ファイルを確認してください
cd ディレクトリを切り替える
pwd 現在のディレクトリを表示
mkdir ディレクトリを作成する
rmdir ディレクトリを削除する
ファイル操作 接する 空のファイルを作成し、メタデータを変更します
統計 詳細情報を確認してください
ネコ ファイルの内容を表示する
もっと 分割画面でファイルの内容を表示する
もっと少なく ブランチ内のファイルコンテンツを表示する
ファイルヘッダーを表示する
ファイルの終わりを表示する
ln ソフト接続
すべてのカタログファイルは操作可能です rm 削除
cp コピー
mv 移動または名前の変更
アクセス制御 chmod 権限を変更する
chown 修改文件所有者和所属组
chgrp 修改文件所属组
帮助命令 man 显示联机帮助手册
info 完整的帮助信息
help 查看内置命令信息
搜索命令 whereis 搜索系统命令(帮助文档位置)
which 搜索系统命令
locate 搜索普通文件
find 在目录中搜索文件
grep 显示匹配的行
|管道 管道
文本操作 awk 匹配截取
grep 匹配
cut 截取
sed 截取
压缩、解压命令 zip 压缩
unzip 解压.zip
gzip 压缩
gunzip 解压.gz
bzip2 压缩
bunzip2 解压.bz2
tar -c 压缩
tar -x 解压.tar
tar -z .tar.gz
tar -j .tar.bz2
关机重启 sync 刷新文件系统缓冲区(数据同步)
shutdown 关机-h或重启-r
reboot 重启
halt 关机(不安全)
poweroff 关机(不安全)
init 关机或重启(不安全)
网络命令 ifconfig 配置网络接口
ping 通过ICMP网络探测
netstat 查看网络状态、查看端口
write 向指定用户发信息
wall 向所有用户发信息(包括自己)
mail 给其他用户发邮件
系统痕迹命令 w 显示正在登陆的用户信息
who 显示正在登陆的用户信息(简单)
last 查看所有登陆过的用户信息
lastlog 查看最后登陆过的用户信息
lastb 查看登陆错误信息
挂载命令 mount 挂载
umount 卸载

5.VI编辑器

vi 、vim 打开文件,进入编辑模式

三种模式:编辑模式、输入模式、末行模式(有不同叫法)

5.1 编辑模式

5.1.1 模式切换

: 进入末行模式
i、a、o 进入输入模式(前、后、下行)
I、A、O进入输入模式(行首、行尾、上行)

5.1.2 移动光标

  • 字符间
    h: 左;j: 下;k: 上;l: 右
  • 单词
    w: 移至下一个单词的词首
    e: 跳至当前或下一个单词的词尾
    b: 跳至当前或前一个单词的词首
  • 行内
    0: 绝对行首
    ^: 行首的第一个非空白字符
    $: 绝对行尾
  • 行间
    G:文章末尾
    3G:第3行
    gg:文章开头
  • 翻屏
    ctrl:f,b

5.1.3 编辑

  • 删除&替换单个字符
    x:删除光标位置字符
    3x:删除光标开始3个字符
    r:替换光标位置字符
  • 删除命令 : d
    dw,dd
  • 复制粘贴&剪切
    yw,yy
    p
    P
  • 撤销&重做
    u 撤销
    ctrl+r 重做 撤销的操作
    . 重复上一步的操作

5.1.4 退出

  • 直接退出

    ZZ:没修改退出

  • 进入末行模式退出

    wq:保存并退出

    q!:不保存退出

5.2 输入模式

  • 标准输入

  • 模式切换

    Esc进入编辑模式

5.3 末行模式

  • 模式切换

    Esc Esc 进入编辑模式

  • 退出

    :q 退出 没有动过文件
    :wq 保存并退出 动过了,不后悔
    :q! 不保存并退出 动过了,后悔了
    :w 保存
    :w! 强行保存
    :wq --> :x

  • 高级操作

    :set 设置 set nu 设置行数
    / 查找
    s/// 查找并替换

6.软件安装

软件包分为源码包和二进制包

6.1 二进制包安装

6.1.1 RPM包安装

  • 命令

    安装命令:rpm -ivh 包全名

    服务启动:service 服务名 start

    升级命令:rpm -Uvh 包全名

    卸载命令:rpm -e 包名

  • 默认安装位置

    /etc/ 配置文件

    /usr/bin/ 可执行文件

    /usr/lib/ 函数库

    /usr/share/doc/ 使用手册

    /usr/share/man/ 帮助文件

6.1.2 yum安装

  1. 安装yum
  2. 安装软件:yum -y install 软件名

6.2 源码包安装

安装步骤

  1. 下载软件包

  2. 解压缩

  3. 进入解压目录

  4. 编译前准备

    ./configure
    
  5. 编译

    make
    
  6. 编译安装

    make install
    

卸载:删除文件目录即可

7.用户管理

7.1 用户相关文件

目录 作用 说明
/etc/passwd 用户信息文件 用户名:密码:用户ID:组ID:用户说明:用户家目录:用户命令行
/etc/shadow 影子文件 用户名:加密密码:更改时间:更改间隔:有效期:到期前警告天数:过期后宽限天数:失效时间:保留
/etc/group 组信息文件 组名:组密码位:组内其他用户(组)
/etc/gshadow 组影子文件 保存组密码
/home/用户名、/root 用户家目录
/var/spool/mail/用户名 邮箱目录
/etc/skel 用户模版目录

7.2 用户管理命令

命令 作用
useradd 添加用户
passwd 设置密码
usermod 修改用户
userdel 删除用户
su 切换用户

7.3 组管理命令

命令 作用
groupadd 添加用户组
groupdel 删除用户组
gpasswd 添加删除组成员
newgrp 改变有效组

8.权限管理(缺)

9.文件系统管理

9.1 硬盘(缺)

9.2 文件系统

9.2.1 linux文件系统特性

super block(超级块):记录date block、inode的情况

date block(数据块):数据实际存储

inode(i节点):类似元数据

9.2.2 常见文件系统

常见文件系统 简介
ext linux早期文件系统
ext2 升级版(更大分区和文件)
ext3 升级版(日志功能和可靠性)
ext4 CentOS6.x默认文件系统(颠覆性)
xfs CentOS7.x默认文件系统(XFS+LVM)
swap 交换分区文件系统(暂时代替内存)
nfs 网络文件系统
iso9660 光盘标准文件系统
fat Windows的fat16
vfat Windows的fat32
NTFS Windows的NTFS
ufs SunOS和Solaris
proc 基于内存的虚拟文件系统
sysfs 基于内存的虚拟文件系统
tmpfs 基于内存的虚拟文件系统

9.3 命令

命令 作用
df 统计空间大小
du 统计文件大小
fsck 文件系统修复命令
dumpe2fs 显示磁盘状态
stat 显示文件状态
file 判断文件类型
fdisk 分区命令
parted 分区命令
parkporbe 强制重读分区文件、重新挂载所有分区(几乎不用)
mkfs 格式化(创建文件系统)
free 查看内存
swapon 增加swap分区容量

9.4 手动创建分区

9.4.1 MBR分区

fdisk /dev/sdb			#进入分区交互界面
	n					#创建分区
	p					#查看分区
	m					#帮助
	l					#显示文件系统类型
	w					#保存退出
mkfs -t ext4 /dev/sdb1	#格式化
mkdir /disk1			#创建挂点
mount /dev/sdb1 /disk1	#挂载
vi /etc/fstab			#自动挂载

#查看
mount
fdisk -l
df

#修复权限
mount -o remount,rw /

9.4.2 GPT分区

parted /dev/sdb			#进入分区交互界面
	mklabel gpt			#修改类型
	mkpart				#创建分区
	mkfs				#创建文件系统
	resize				#修改分区大小
	re					#删除分区
	print				#查看分区
#挂载……

9.4.3 swap分区

fdisk /dev/sdb			#进入分区交互界面
	mkswap /dev/sdb1	#创建swap分区
swapon name				#增加分区

9.5 磁盘配额

9.5.1 依赖

  • 内核支持磁盘配额
    • grep CONFIG_QUOTA /boot/config-2.6.32-279.e16.i686
  • 已安装quota
    • rpm -qa |grep quota

9.5.2 概念

  • 用户配额和组配额
  • 磁盘容量限制和文件个数限制
  • 软限制和硬限制
  • 宽限时间

9.5.3 配额步骤

  1. 将分区挂载到目录上

  2. 用户、用户组、目录(条件)

  3. 开启磁盘配额功能

    mount -o remount,usrquota /disk
    
    vi /etc/fstab
    
    • defaults,usrquota
      
  4. 建立配额文件(需关闭SELinux)

    quotacheck -avug
    quotacheck -avugm(跟目录)
    
  5. 设置配额

    edquota -u username(进入命令行)
    edquota -p user1 -u user2(配额复制)
    
  6. 启动关闭配额

    quotaon -avug /disk/
    quotaoff -avug /disk/
    
  7. 测试

    dd if=/dev/zero of=/disk/testfile bs=1M count=60
    
  8. 非交互式配额

    setquota -u 用户 容量软限制 容量硬限制
    

9.6 LVM逻辑卷

9.6.1 步骤

  1. 将物理硬盘分区(也可以整体分区)

    fdisk 
    
  2. 将分区建立物理卷(PV)

    pvcreate /dev/sdb
    pvscan
    pvdisplay
    pvremove
    
  3. 将物理卷整合为卷组(VG)

    vgcreate 选项 卷组名 物理卷名
    vgscan
    
  4. 把卷组划分为逻辑卷(LV)

    lvcreate 选项 卷组名
    

10.启动引导与修复

10.1 系统运行级别

查看:runlevel

改变级别:init 级别

级别:

  • 0:关机
  • 1:单用户模式
  • 2:不完全的命令行模式(无NFS)
  • 3:标准命令行模式
  • 4:系统保留
  • 5:图形模式
  • 6:重启动

永久默认启动级别设置:/etc/inittab

10.1.1 开机执行文件

文件:/etc/rc.d/rc.local

  • /var/lock/subsys/local 开机触摸

10.2 启动引导程序

10.2.1 grub引导程序

优点:更多的文件系统、查找内核文件、启动时修改启动选项、动态配置grub配置文件

10.2.2 /boot/grub目录

作用:

  • 加载系统内核
  • 选择系统的菜单
  • 调用其他引导程序,实现多系统引导

10.2.3 grub配置文件

前四行:

  • 默认启动系统:0
  • 等待选择时间:5
  • 背景文件:
  • 隐藏按钮

后每四行:可用系统

  • 标题
  • 启动目录:
  • 内核:
  • 虚拟文件系统:

10.2.4 grub加密

  1. grub-md5-crypt
  2. 将秘钥放在grub配置文件背景文件后
  3. 不能加lock

10.3 系统修复模式

10.3.1 单用户模式

修改密码:

  1. 启动时按e,选中grub配置文件内核,按e
  2. grub配置文件内核加空格1,进入系统
  3. passwd root修改密码

修改启动级别:

  • 修改/etc/inittab

10.3.2 光盘修复模式

  1. 光盘启动
  2. chroot /mnt/sysimage
  3. 修复

11.服务管理

11.1 服务分类

  • RPM包安装服务
    • 独立服务
    • 基于xinetd服务
  • 源码包安装服务

11.2 管理

11.2.1 RPM包独立服务

  • 启动

    • 使用/etc/init.d目录下启动脚本启动

      /etc/init.d/httpd start
      
    • 使用service命令启动

      service 独立服务名 start|stop|restart
      
  • 自启动

    • chkconfig命令设置

      chkconfig --level 级别 服务名  on|off
      
    • /etc/rc.d/rc.local文件配置

      vi /etc/rc.d/rc.local
      
    • ntsysv命令设置

      ntsysv --level 级别
      

11.2.2 基于xinetd服务

  • 启动

    • 配置/etc/xinetd.d/telnet
    service 独立服务名 start|stop|restart
    
  • 自启动

    • chkconfig命令设置

      chkconfig 服务名  on|off
      

11.2.3 源码包服务

  • 启动

    • 使用/usr/local/服务/bin/…启动脚本启动

      /usr/local/服务/bin/... start
      
  • 自启动

    • /etc/rc.d/rc.local文件配置

      vi /etc/rc.d/rc.local
      
  • 配置命令识别

    • service命令识别:软连接启动脚本到/etc/init.d目录下

    • chkconfig命令识别:启动脚本前加入

      #chkconfig: 运行级别 启动顺序 关闭
      #description:说明
      
      chkconfig --add 服务名
      

12.系统管理

12.1 进程管理

ps 静态查看进程
top 动态查看进程
pstree 查看进程树
kill 杀死进程
killall 杀死进程
pkill 杀死进程

12.2 工作管理

转入后台:

  • &
  • ctrl+z

后台命令:

  • jobs -l 查看
  • fg %工作号 恢复到前台
  • bg %工作号 后台暂停>后台执行

12.3 资源查看

vmstat					监控系统资源

dmesg					开机时内核检查

free					内存使用情况

/proc/cpuinfo			cpu信息

w						已经登陆用户信息

who      				已经登陆用户信息

uptime					系统启动时间和平均负载

uname					查看系统与内核信息

12.4 定时任务

at						一次性定时任务
crontab					循环定时任务
anacron					关机情况定时任务

13.日志管理(缺)

常见日志文件目录:/var/log/

13.1 rsyslogd服务

配置文件:/etc/rsyslog.conf

13.2 日志轮替

@笔记分享

おすすめ

転載: blog.csdn.net/weixin_44406449/article/details/115351707