linux入门

来源:互联网 发布:百川江湖淘宝 编辑:程序博客网 时间:2024/05/16 09:06


来自 网易云课堂 Linux 入门基础 笔记



Linux文件基本操作管理

1.如何复制文件?如何复制目录?如何在复制目录的同时给出详细信息?
2.如何移动文件?如何移动文件的同时并且重命名?如何使用mv对文件重命名?
3.如何创建文件?如何删除文件?如何删除文件夹呢?怎样在删除时加入交互呢?(-i)如何强制删除?(-f)

文件夹比文件多了一个-r参数

4.如何创建一个目录?非空的话怎么才能删除呢?


Linux系统目录架构

linux文件系统中各个文件的作用:
bin : binary 保存可执行文件 所有用户都有权限执行
boot :引导目录
里面有个 vmlinuz-2.6.32-431.el6.i686 是linux的内核文件,开机先加载这个文件.跟系统启动相关的文件在该文件夹内.
dev :保存计算机硬件设备的抽象文件.
etc :操作系统配置文件
home :家目录,保存用户私有数据.
lib : 相关库文件
mnt :挂载目录
opt :通常装大型软件
proc :系统实时信息,虚拟文件夹,只存在硬盘上。cat:查看文件内容
proc下的 meminfo 内存信息文件
interrupts 终端信息文件
cpuinfo puc信息文件
sbin : super binary root用户可执行
sys :系统底层信息
tmp :临时目录
usr :保存装的应用软件,一般软件默认在这里
var :服务器信息,经常变化的东西。
var/log 保存日志信息


【vi文本编辑器】

vi 命令行下面的文本编辑工具
vim是vi的增强版本
命令vim可以启动vim编辑器
一般可以通过vim+目标文件路径的形式使用vim
如果目标文件存在,则vim打开该文件
若目标文件不存在,则新建该文件

vi拥有三种模式:命令模式、插入模式和ex模式
任何模式都可以通过esc键回到命令模式
在命令模式中按”i“键可以进入到插入模式,在插入模式中按esc可以返回命令模式
在命令模式中按”:“可以进入ex模式,在ex模式中可以保存、修改和退出
命令模式常用的命令如下:
i 在光标前插入文本
o 在当前行的下面插入新行
dd 删除正行
u 撤销上一个操作
yy 复制当前行
n+yy 先按5,接着按yy,则是将5行内容复制
p 粘贴
r 替换当前关键字
/ 查找关键字

EX模式
:w 保存当前修改
:q 退出
:q! 强制退出
:x 保存并退出
:setr number 显示行号
:! 执行一个系统命令并显示结果
:sh 切换到命令行,使用ctrl+d切换回vim




【磁盘基本概念】
/dev/sda1, /dev/sda2: 第一块硬盘的第一、第二分区
分区不是硬盘的物理功能,而是软件功能。

主流分区:
MBR:Master Boot Record,主引导记录,传统分区机制,应用于绝大多数使用BIOS的PC设备,苹果电脑就不使用BIOS。
* 支持32bit和64bit系统
* MBR支持分区数量有限
* MBR只支持不超过2T的硬盘,超过2T的硬盘将只能使用2T空间(有第三方解决方法)
* MBR结构,占了硬盘头512个字节, 446字节是引导代码,后16字节 x 4 = 4个分区表,最后二个字节一定是55, AA。

最多4个主分区,可以包含3个主分区 + 一个扩展分区,然后在扩展分区上面创建逻辑分区(IDE最多63个逻辑分区,SCSI最多创建15个分区)。

GPT:GUID Paration Table是一个较新的分区机制,解决了MBR很多缺点。

* 支持超过2T的硬盘
* 向后兼容MBR
* 必须在支持 UEFI 的硬件上才能使用,UEFI 是由Intel提出的取代 BIOS 的新一代硬件引导系统。
* 必须使用64bit系统
* Mac、Linux系统都能支持GPT分区格式
* Windows7 64bit、windows Server 2008 64bit支持GPT



【使用fdisk进行磁盘管理】

fdisk 分区工具 来自IBM的老牌分区工具,支持绝大多数操作系统。fdisk是基于MBR的分区,所以如果需要使用GPT,则无法使用fdisk进行分区。

fdisk 命令只有具有超级用户的权限才能够运行
使用fdsik -l可以列出所有安装的磁盘及其分区信息
使用fdisk /dev/sda 可以对目录磁盘进行分区操作
分区之后需要使用partporb命令让内核更新分区信息,否则需要重启才能识别新的分区
/proc/partitions 文件也可以用来查看分区信息


给虚拟机添加一个 8G 硬盘
要先关机后才能添加
------------------fdisk 分区工具
支持 unix / win
MBR only
root
su # 进入超级用户
fdisk -l # 确认是要对 sdb 进行分区
fdisk /dev/sdb
# 对 sdb 进行分区
--------------
创建一个主分区 2 G , 一个扩展分区 6 G , 2G 逻辑分区 , 4G 逻辑分区
根据提示进行就可以 , 注意
1. 常用命令: m 帮助 , p 看信息 , l 看分区类型代号 , t 修改代号 , w 保存并退出
2. 如果是默认值直接回车
3. 逻辑分区从5开始
4. 所谓第几个分区是看 sdb1 的数字 , 忘记了就用 p 看一下
5. 设置为5G用 +5G , 别忘了加号
------------------
partprobe # 刷新分区表 , 好习惯
ls /dev/sd*
fdisk -l
cat /proc/partitions



【Linux文件系统】

操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统之后才能够让操作系统使用,创建文件系统的过程又称之为格式化
没有文件系统的设备又称之为裸(RAW)设备
常见的文件系统有fat32、NTFS、ext2、ext3、ext4、xfs、HFS等等
cent os 6默认的是ext4
cent os 5默认的是ext3
文件系统之间的区别:日志、支持的分区大小、支持的单个文件大小、性能等
Linux支持的文件系统:ext2、ext3、ext4、fat、vfat、nfs、iso9660、proc、gfs、jfs

mke2fs 用来创建文件系统
mke2fs -t ext4 /dev/sda3 创建一个文件系统
-b 指定文件系统块大小
-c 建立文件系统时检查坏损块
-L 指定卷标
-j 建立日志文件系统

mkfs也可以用来创建文件系统,相对于mke2fs比较简单,但是无法进行精细化的控制

dumpe2fs 可以用来查看分区的文件系统信息,一般用来进行计算机性能调整
dumpe2fs /dev/sda1

带日志的文件系统拥有较强的稳定性,在出现错误时可以进行恢复
带日志的文件系统哦会使用一个叫做”两阶段提交“的方式进行磁盘操作
文件系统将准备执行的食物的具体内容写入日志
文件系统进行操作
操作成功后,将事物的具体内容从日志中删除
这样做会丧失一些性能

e2label 该命令可以用来问文件系统家标签
e2label /dev/sdb1 显示sda2的系统标签
e2label /dev/sdb1 LINUX 将sda2的标签设置为LINUX

fsck 检查并修复损坏的文件系统
fsck /dev/sda2
使用参数-y 参数不提示而直接进行修复
若文件系统损坏比较严重,请使用-t参数指定文件系统类型
对于未识别的文件,则会放在lost+found目录中
系统每次启动都会对磁盘进行fsck操作



Linux文件系统挂载管理

磁盘或分区创建好文件系统后,需要挂载到一个目录才能够使用
Windows或Mac系统会自动挂载,但是Linux需要手工挂载

通过mount命令将格式化好的磁盘或分区挂载到一个目录上
mount /dev/sda3 [要挂载的分区] /mnt[需要挂载的地方]

使用不带任何参数的mount来显示已经挂载好的文件系统
-t 指定文件系统的类型
-o 指定挂载项
ro,rw 以只读或读写形式挂载,默认是rw
sync 代表不适用缓存,而是对所有操作直接写入磁盘
async 代表使用缓存,默认是async
noatime 代表每次访问文件时不需要更新文件的访问时间
remount 重新加载文件

umount用来卸载已经挂载的文件
umount 文件系统/挂载点
umount /dev/sda3

如果出现device is busy,则表示该文件系统正在被使用,无法卸载,可以使用下面的命令查看是谁在使用:
fuser -m /mut
也可以使用命令lsof查看正在被使用的文件
lsof /mnt

配置文件/etc/fstab 用来定义需要自动挂载的文件系统,fstab中每一行代表一个挂载配置
配置格式
/dev/sda3[需要挂载的设备] /mnt[挂载点] ext4[文件系统] defaults[挂载选项] 0 0 [dump、fsck相关选项]
要挂载的设备LABEL=LINUXCAST取代/dev/sda3
mount -a 命令会挂fstab中定义的自动挂载项



【】

cat -h
cat --help
参数可以用 -x 或 --x 两种形式
---------------------
man ls
man 5 ls
man 1 ls
man -k pass # 查找包含 pass 的命令
左边是标题
-----------------
info ls
---------
/usr/share/doc # 帮助文档
=============
善用 /+关键字 搜索 (man / info)
nautilus :: 打开主文件夹 , 在资源管理器
nautilus xx.pdf



Linux用户基础

用户和组的概念
每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名
每个用户属于一个主组,并受该用户可访问的资源限制
每个组拥有一个GroupID
每个进程以一个用户身份运行,并受该用户可访问的资源限制
每个可登录用户都拥有一个指定的shell

用户
用户ID为32位,从0开始,但是为了和老式操作系统兼容,用户ID限制在60000以下
-root用户,ID为0的用户
-系统用户 1-499
-普通用户 500以上
系统中的文件都有一个所属用户及所属组
使用ID命令可以显示当前用户的信息
使用passwd命令可以修改当前用户密码

用户信息相关的文件
/etc/passwd //[1.用户名、2.x表示用户密码是保存在shadow之中的、3.用户id号、4.组id、5.用户描述信息、6.用户的家目录、7.用户的登录shell,实际上就是bin下的bash]
/etc/shadow // [1.用户名、2.密码,!!表示用户没有创建过密码(分3个部分,用$隔开,第一个6表示用的是SHA的512位加密)]
/etc/group [组用户名、组密码、组ID]

whoami 显示当前用户
who tty1 是登录终端
pts/0 是图形界面

w 显示那些用户登录,还能显示他们在做什么

创建一个用户
useradd 用户名 //创建一个用户名
[上面这条命令或执行以下操作:
1.在/etc/passwd 中添加用户信息
2.如果使用passwd 命令创建密码,则将密码加密保存在/ect/shadow 中
3.为用户建立一个新的家目录 /home/xxx
4.将/ect/skel 中的文件复制到用户的家目录中
5.建立一个与用户名相同的组,默认的用户属于这个同名组]
命令useradd 支持一下参数
-d 指定家目录
-s 修改登录shell
-u 指定UID
-g 指定主组

passwd 用户名 //给一个用户创建密码

usermod 用来修改用户信息
usermod 参数 username
-l 更新用户名 usermod -l 新用户名 老用户名
-u 更新userid
-d 用户家目录位置
-g 用户所属主组
-L锁定用户使其不能登录
-U 解除锁定
-G 指定附属组
userdel 用户 删除一个用户
userdel -r 用户 删除用户和用户的家目录


每个组有一个组ID
组信息保存在/etc/group中
每个用户拥有一个主组,同时还可以拥有最多31个附属组
groupadd 组名 添加一个组
groupmod -n 新组名 旧组名 修改组名
groupmod -g 新id 旧id 修改组ID
groupdel 组名 可以删除一个组



【Linux中的权限机制】

权限分为3中:读、写、执行
目录必须有x权限,否则无法查看其内容
r,可以列出目录内容
w,可以在目录中创建删除文件
x,可以访问目录内容,所以对于目录必须要有rx权限

linux基于UGO模式进行控制
U user G group O other
ls -l
第一个部分表示UGO权限
第二个表示连接数量
第三个表示文件所属用户
第四个表示所属组
第五个表示大小
第六个表示创建时间
地七个表示文件名

UGO权限中
第一个表示文件类型,d表示目录,-表示文件

chown 改变文件所属用户
chown nash linux 将Linux文件的所属者改为nash
-R 参数表示进行递归修改,就是将一个文件夹及其下面的文件一起改变用户

chgrp 改变文件的所属组,同样可以使用-R参数
chgrp nash tranning 将tranning 文件的所属组百威nash

chmod 模式 文件 //用来修改用户的权限
u、g、o分别代表用户、组和其他
a可以代指ugo
chmod u+rw linuxcast
chomd g-x linuxcast
此命令还可以用R参数
还可以利用chmod 666 linux 来修改权限


【linux 默认权限】

新建文件:-rw-rw-r--
文件夹: -rwxrwxr-x
umask 属性
目录的默认权限:777-umask
文件的默认权限:666-umask
一般对于普通用户默认的umask是002,root用户的默认是022
新建文件的权限是:666-002=664
新建目录的权限是:777-002=775
一般普通用户的umask是002,root用户是022


特殊权限:suid、sgid、sticky
若一个文件被设置为suid权限,则普通用户执行这个文件的时候不是以该用户的身份执行,而是以文件的所属用户身份执行,而非执行文件的用户
which passwd
root是不受任何权限限制的



0 0
原创粉丝点击