ubuntu
安装ubuntu出现filesystem.squashfs错误 - 解决方案(作参考)
SquashfsErrors:
unable to boot from the Ubuntu LiveCD, due to SquashFS errors like this:
SQUASHFS error: sb_bread failed reading block 0x9d7f3
SQUASHFS error: Unable to read fragment cache block [275faa28]
SQUASHFS error: Unable to read page, block 275faa28, size 23a7
method1:adding the ide=nodma or acpi=off allowed them to work around this issuemethod2:
You can add those lines to the grub entry, either in the grub.conf file or either entering letter 'e' on the grub menu and after editing Control+x to boot:
Add to the grub line:
all_generic_ide pci=nommconf
Add to the kernel line:
ide=nodma acpi=off
linux整理
《鸟哥的Linux私房菜》是2010年人民邮电出版社出版的图书,作者是鸟哥。
基本内容
1、命令提示符
[root@localhost ~]#
[当前登陆用户@主机名 当前所在目录] 用户区分符号 ~ 用户家目录\# 超级管理员 $ 普通用户
2、文件命名
不要用特殊符号($?-=<>|@…)和 / 命名 不要用 . 和 .. 表示当前目录和上层目录 用 . 开头表示隐藏文件 严格区分大小写
3、文件颜色
bash下可根据文件后缀名自动适配颜色,具体查看 /etc/DIR_COLORS文件描述
4、命令格式
<pre>`命令 [选项] [参数]`</pre>
目录操作命令
ls 命令
用于查看当前目录下的 子目录和子文件
格式:
ls [选项] [参数]
选项:
-a 查看所有文件和目录 (包含隐藏文件和目录)
Linux文件名or目录名前面以 . 小数点 开头, 即为隐藏
-l 以"长格式"显示所有文件和目录 (长格式 就是详情信息)
-d 仅显示当前目录
选项也可以组合使用
-al 以"长格式"显示所有文件和目录( 包含隐藏文件和目录 )
-dl 以"长格式"显示当前目录
-hl 以"长格式"显示所有文件和目录( 大小以常规单位显示, 例如 KB )
参数:
文件名 or 目录名
在文件名or目录名前面加 . (小数点) 都算是隐藏文件or目录
cd 命令
用于切换目录
格式:
cd [目录名]
常见启动菜单快捷键
主板 BOOTMENU: | 快捷键 | 品牌电脑 BOOTMENU: | 快捷键 |
---|---|---|---|
华硕主板 | F8 | 东芝笔记本 | F12 |
映泰主板 | F9 | 华硕笔记本 | F8 |
七彩虹主板 | F11 | 惠普电脑 | F9 |
微星主板 | F11 | 联想笔记本 | F10 |
技嘉主板 | F12 | 联想台式机 | F12 |
富士康主板 | ESC | 清华同方台式机 | F12 |
梅捷主板 | ESC | DELL 电脑 | F12 |
了解Linux目录结构
目录 | 描述 |
---|---|
/ | 根目录, 根目录通常只存放目录, 不存放文件 |
/bin | 存放普通用户可执行的命令 |
/sbin | 存放管理员可执行的命令 |
/etc | 系统管理 和 配置文件 |
/home | 普通用户的主目录 |
/root | 管理员的主目录 |
/boot | 系统启动目录 |
/dev | 设备文件目录, linux中所有内容都是文件, 包括硬件设备 |
/var | 存储动态数据, 例如日志, 缓存等 |
/usr | 超大目录, 大多软件都安装在这个目录中 |
/lib | 系统函数库 |
/mnt | 挂载目录, 最早的挂载目录, 常用于挂载 光盘, 镜像等 |
/media | 挂载目录, 常用于挂载多媒体设备, 例如 U盘, 移动硬盘 |
/misc | 挂载目录, 用于挂载共享目录 偷偷告诉大家, 其实这三个都是挂载, 用久了, 发现挂哪个都差不多, 能正常使用挂载设备就行 |
/opt | 第三方软件的安装位置 |
/srv | 系统服务数据目录 |
/proc | 虚拟文件系统, 存储在内存中, 保存有: 进程, 外部设备,网络状态灯 |
/sys | 虚拟文件系统, 存储在内存中, 保存有: 系统内核相关的信息 |
/lost+found | 备份恢复目录 |
/
, /boot
,/root
,/home
,/etc
,/mnt
pwd 命令
查看当前的位置 ( 以绝对路径的方式 )
tree 命令
查看目录结构
格式:
tree [选项] [目录名]
选项:
-a 查看树结构, 包含所有文件 and 目录 (默认)
-d 查看树结构, 只包含所有目录
-L n 只查看 n层树结构
-f 显示 "完整路径" 的树结构
mkdir 命令
创建目录
格式:
mkdir [选项] 目录名
选项:
-m 创建目录并设置权限
-p 创建多级目录
rmdir 命令
删除空目录
格式:
rmdir [选项] 目录名
选项:
-p 删除多级空目录
-v 删除目录并查看删除过程
rm 命令
删除文件或目录
格式:
rm [选项] 文件or目录
选项:
-r 多级删除
-f 强制删除
-v 删除并显示过程
-i 删除之前, 会向用户进行提示并确认
cp 命令
拷贝文件或目录
格式:
cp [选项] 文件or目录(来源) 文件or目录(目标)
选项:
-r 拷贝多级目录
-p 保留源文件or目录的属性(属性包含时间, 权限等)
-a 保留源文件or目录的属性, 递归拷贝等(基本算是完全拷贝)
-i 拷贝时提示
mv 命令
剪切、重命名目录 (也可以文件)
格式:
mv [选项] 源目录 目标目录
文件操作命令
touch 命令
- 创建一个新的文件
- 更新已存在文件的时间
格式:
touch [选项] 文件名
选项:
-m 仅仅更新修改时间, 内容不影响
unlink 命令
删除文件, 与rm一样, 都可以删除文件
格式:
unlink 文件名
cp 命令
拷贝文件
格式:
cp [选项] 源文件 目标文件
mv 命令
剪切、重命名文件
格式:
mv [选项] 源文件 目标文件
选项:
-b 目标文件已存在, 则先提示, 确认覆盖则会先备份
-i 剪切时提示
-f 目标文件已存在, 不提示, 直接覆盖 类似rm中的-f, 具有强制性, 比较霸道
cat 命令
快速查看文件内容 (注意: cat 适合小量内容, 大量内容建议使用more命令查看)
格式:
cat 文件名
more 命令
滚屏查看文件内容
格式:
more [选项] 文件名
选项:
-数字 指定每屏显示的行数
-
滚屏查看内容
命令:
more 文件名
操作:
回车 下一行
` 空格 下一页`
b 上一页
q 退出
-
指定行数查看内容
命令:
more -5 文件名
每滚屏一次, 显示5行
-
从指定行数开始查看内容
命令:
more +3 文件名
从该文件的 第3行开始查看内容
head 命令
查看文件的前 N 行
格式:
head [选项] 文件名
选项:
-n 数字N 前N行, 默认10行
-c 数字N 前N个字符
-
查看文件的前 5 行
命令:
head -n 5 c.txt
-
查看文件的前 10个字符
命令:
head -c 10 c.txt
tail 命令
查看文件的后 N 行
格式:
tail [选项] 文件名
选项:
-n 数字N 最后N行, 默认10行
-c 数字N 最后10个字符
file 命令
查看文件内容类型
格式:
file [选项] 文件名
选项:
-b 不显示文件名, 直接显示结果
-c 详情显示指令执行过程
帮助命令
help
很多命令都有一些辅助选项, 但由于linux命令太多, 从而记不住这些选项, 可通过help来提示
格式:
命令 --help
man
更加完整的帮助信息, 信息主要来自于man手册, 而help 提示选项是命令本身内置的
格式:
man 命令
文件搜索命令
find
主要用于搜索文件
格式:
find 范围 [选项] 文件名
选项:
-name 根据文件名查询
-iname 根据文件名查询, 不区分大小写
-ctime N 在N天被修改过的文件
grep
一个神奇强大的文本搜索工具, 主要是搜索内容. 可以使用正则
格式:
grep [选项] "搜索内容" 文件名
选项:
-i 不区分大小写
-v 反选
-n 显示行号
权限管理
查看权限
命令: ll
或 ls -l
该文件给不同的人 授予不同的权限
用户: ` rw-` 代表自己可以读 和 写
用户组: r--
代表只能读, 意味着同组成员可以读, 但不能写
其他组: r--
代表只能读
**用户: **一般是指创建该文件的人, 后期可以改变用户
**用户组: ** 用户所在的组
其他组: 用户不在的组都称之为其他组
权限分析
Linux 非常注重权限的分配, 这也是为什么Linux安全系数高的原因.
Linux的每一个文件 or 目录都将权限分给 3块, 分别为:
User: 文件or目录的拥有者
Group: 文件or目录的所在群组
Other: 除以上两个之外, 都属于Other范围
这 3块, 又将权限细分为:
权限 | 权限值 | 简写 |
---|---|---|
读(read) | 4 | r |
写(write) | 2 | w |
可执行(execute) | 1 | x |
无权限( - ) | 0 | - |
权限计算
权限都有权限值:
r
读为 4w
写为 2x
可执行为 1-
无权限为 0
用户的权限是由以上组成的.
例如:
可读可写 4+2 = 6
可读可写可执行 4+2+1 = 7
只读 4 = 4
无权限 0 = 0
用户组 和 其他组也是这么计算
权限设置
格式:
chmod 3位数 文件名
百位 => 用户
十位 => 用户组
个位 => 其他组
修改权限
格式:
chmod 角色+权限 文件
角色:
用户 u
用户组 g
其他组 o
所有人 a
权限:
读 r
写 w
执行 x
添加权限 +
删除权限 -
赋予权限 =
-
添加 读权限
命令:
chmod u+r a.txt
u+r 仅仅是给用户 添加读权限
-
删除 读权限
命令:
chmod u-r a.txt
u-r 仅仅是用户 删除了读权限
-
添加 读写权限
命令:
chmod u+rw a.txt
u+rw 给用户添加 读写权限
-
同时给多个人添加权限
命令:
chmod u+r,g+rw a.txt
u+r, g+r 分别给 用户添加读权限, 用户组添加读写权限
-
给所有人添加权限
命令:
chmod a+rw a.txt
a+rw 给用户, 用户组, 其他组都添加 读写权限 (所有人)
-
给所有人设置权限
命令:
chmod a=rw a.txt
a=rw 给用户, 用户组, 其他组都设置为 读写权限(所有人)
用户管理
管理员
Linux系统是一个多用户,多任务
的分时操作系统.
任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
管理员可以对这些 账号用户做使用跟踪
, 访问限制
, 保护用户
.
管理员对用户的日常工作主要有以下操作:
- 用户账号的添加, 删除, 修改
- 用户密码
- 用户组管理
添加用户
格式:
useradd [选项] 用户名
选项:
-c 备注,描述. 备注会存储在 /etc/passwd 中
-d 指定家目录, 默认家目录 /home
-m 自动建立用户家目录
-g 指定用户所在的组,否则会建立一个和同名的组
设置密码
格式:
passwd 用户名
-
给指定用户设置密码
-
修改指定用户的密码
删除用户
格式:
userdel [选项] 用户名
选项:
-r 删除与用户相关的文件, 例如: 家目录
-f 强制删除,就算已登录也可以删除
添加组
格式:
groupadd 组名
删除组
格式:
groupdel 组名
指派组
格式:
gpasswd [选项] 用户名 组名
选项:
-a 将用户添加进组
-d 将用户从组中移除
查看当前所在组
格式:
groups
切换用户
格式:
su - 用户名
-
切换 管理员用户登录
命令:
su
或su - root
用户信息
里面存储所有用户的相关信息
**命令: ** vim /etc/passwd
分析:
root:x:0:0:root:/root:/bin/bash
以此为例, 冒号作为间隔
-
root 用户名
-
x 密码位, 由于现在都是用shadow技术, 把真正的密码存放在其他位置(/etc/shadow), 以提高安全性
-
0 用户id, 通常 0 代表管理员, 普通用户都是从 500开始
-
0 组id, 与 /etc/group 有关
-
root 用户描述
-
/root 家目录
-
/bin/bash 可以由此shell登录
此文件除了 管理员 和 普通用户, 都是伪用户, 主要是 系统自己使用的账户, 不是给我们使用, 所以称之为伪用户
密码信息
里面存储所有用户的密码信息
命令: vim /etc/shadow
里面每一行存储内容, 分别为:
- 用户名
- 密码, 加过密的, 如果只有
!
or*
, 则代表不能登陆该用户 - 最后一次修改时间 1970年1月1日开始计算的天数
- 最小时间间隔 在该天数内, 无法修改密码, 如果是0, 则没有限制
- 最大时间间隔 密码过期时间, 必须重新密码, 如果是 99999, 则没有限制
- 警告时间 配合最大时间间隔, 会做个提醒
- 不活动时间 超过最大时间间隔, 能用的宽限时间
- 失效时间 过了该日期, 则密码失效
组信息
里面存储了所有的组
命令: vim /etc/group
里面每一行存储内容, 分别为:
- 组名
- 密码位, 一般组用密码的较少
- 组id
- 附加组员
修改所属用户或组
格式:
chown 新用户名 文件名
-
修改文件的所属用户
命令:
chown root a.txt
本来a.txt 是 用户hl的, 经过chown修改后, a.txt成为 用户root的了
格式:
chown 新用户名:新组名 文件名
-
修改文件的所属用户和组
命令:
chown root:root a.txt
本来a.txt 的用户 和 用户组都是 hl的, 经过chown, 变成了 root用户的了
格式:
chown :新组名 文件名
-
修改文件的用户组
命令:
chown :hl a.txt
本来a.txt 的用户组是 root, 经过chown修改后, 用户组变成了 用户hl的了
打包压缩
将文件 or 目录进行压缩, 以更小的体积(二进制)进行存储, 从而获取更多的磁盘利用空间.
在 Linux 中常见的压缩格式为: gzip
, bzip2
这些与windows中见到的rar
,zip
类似, 而且 Linux 和 windows 都能识别 zip 格式
gzip
gzip 只用于压缩文件
gzip文件扩展名: .gz
特性:
- 只能单个压缩文件
- 不能压缩目录
- 会覆盖源文件
格式:
gzip [选项] 文件1 文件2 文件3 ...
选项:
-d 解压
-r 压缩or解压 到 指定目录下的所有文件(包含子目录, 逐个进行压缩)
bzip2
bzip2 只用于压缩文件
bzip2文件扩展名: .bz2
特性:
- 只能单个压缩文件
- 不能压缩目录
- 会覆盖源文件
格式:
bzip2 [选项] 文件1 文件2 文件3 ...
选项:
-d 解压
gzip 和 bzip2的区别?
gzip 压缩速度较快
bzip2 压缩后的体积更小
tar
打包
: 只是将文件存入一个目录中, 文件大小不会有变化
压缩
: 通过一些算法, 将文件以 更小的体积 存储.
特性:
- 可压缩文件和目录
- 不会覆盖源文件
格式:
tar [选项] 压缩包名 被压缩的文件1 被压缩的文件2 ...
选项:
-c 新建一个压缩文件, 这就是打包 (小写)
-C 切换到指定目录 (大写)
-z gz格式, 即 gzip 类型
-j bz2格式, 即 bzip 类型
-f 目标文件( 取一个压缩包的名字, 注意, -f 后面必须立马跟 "压缩文件名", 所以一般 "-f" 在选项的最后面 )
-v 显示过程
-t 不解压查看
-x 解压
-
打包文件
命令:
tar -zcvf demo.tar.gz a.txt b.txt
将 a.txt 和 b.txt 都打包进 demo.tar.gz中
-
查看打包文件
命令:
tar -tf demo.tar.gz
可以查看到 demo.tar.gz 里面有哪些被打包的文件
-
解压文件
命令:
tar -xf ./demo.tar.gz
将 demo.tar.gz 解压到当前目录下
-
解压文件到指定目录下
命令:
tar -xf ./demo.tar.gz -C ./y
将 demo.tar.gz 的内容全部解压到 y目录下
小结:
打包并以 gzip压缩: zcvf
打包并以 bzip2 压缩: jcvf
zip
zip 是 Linux 和 Windows 都能识别的压缩格式, 相对而言, 在Linux 中使用较少, 且压缩比例不如tar
特性:
- 可压缩文件 和 目录
- 不会覆盖源文件
格式:
zip [选项] 压缩包名 文件1 文件2 文件3 ...
选项:
-r 压缩目录
unzip
解压 zip包
格式:
unzip [选项] 压缩包名
选项:
-d 解压到指定目录下
关机重启
重启系统
重新启动Linux, 所有的远程工具连接也会全部失效, 需要等待重新好之后,再次连接
格式:
reboot
关机
格式:
shutdown [选项]
选项:
-h 时间 指定时间关机
-r 时间 指定时间重启
-k 内容 提示警告, 但不会关机
挂载卸载
认识设备
Linux 有时会需要用到光驱, U盘等外接设备, 而我们用的Linux又是命令界面, 而非图形界面, 无法双击打开外设.
那么此时, 就需要用到挂载了. 通过相关命令, 可直接读取光驱, U盘等里面的内容
在Linux的根目录下, 有一个 dev目录, 是专门存放设备的目录. 可以查看所有的设备.
其中, 这些分区目录都是以 sda, sdb, sdc 等名字出现的
Linux 本身分区, 一般都是 sda
外接设备1, 一般为 sdb
外接设备2, 一般为 sdc
以此类推.
我们也可通过 fdisk -l
命令查看, 已有的分区目录
在dev中, 还有cdrom, sr0, sr1 等等的存在
cdrom 代表光驱本身
sr0 是其中的一个光驱0
sr1 是其中的一个光驱1
以此类推
挂载u盘
格式:
mount 设备地址 挂载地址
-
挂载u盘
命令:
ls /dev
命令:
mount /dev/sdd /mnt/usb
挂载光驱
格式:
mount 设备地址 挂载地址
-
挂载 ios镜像
命令:
mkdir /mnt/ios
命令:
mount /dev/sr0 /mnt/ios
卸载挂载
解除u盘与mnt的挂载连接
格式:
umount 挂载地址
# 当前位置一定不能在 挂载地址目录中
系统信息
查看IP
可以查看到自己的IP地址, 网关, DNS 等等
格式:
ifconfig
注意: 是ifconfig 不是ipconfig, 在windows中查看ip是用 ipconfig, 因此有不少熟悉windows的人容易写错
修改IP
网卡信息的存储位置在: /etc/sysconfig/network-scripts/ifcfg-eth0
命令: vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 描述网卡对应的设备别名, 第一个网卡eth0, 第二个eth1, 以此类推
HWADDR=00:0C:29:4C:CE:92 物理网卡地址
TYPE=Ethernet 网卡类型
UUID=86f8d304-55ba-4d0b-bb8d-6e5f9574f1a5
ONBOOT=yes 系统启动时是否设置此网络接口, yes激活此设备, no关闭此设备
NM_CONTROLLED=yes
BOOTPROTO=dhcp 启用地址协议:
static 静态协议
dhcp 自动获取协议
bootp bootp协议
如果是手动修改ip, 则需要做以下调整
BOOTPROTO=none 设为none
IPADDR=192.168.31.10 设置ip 例如: 192.168.31.10
NETMASK=255.255.255.0 子网掩码 例如: 255.255.255.0
GATEWAY=192.168.1.1 网关地址 例如: 192.168.31.1
DNS1=8.8.8.8 DNS设置 例如股: 8.8.8.8
重启网卡
修改ip之后, 必须重新网卡服务, 才能真正的起作用
格式:
service network restart
网络连接测试
可通过ping方式, 来检测网络是否连接成功.
格式:
ping [选项] ip地址
选项:
-c N 只ping N次, 不指定则一直ping测试