LinuxCast Linux视频教程笔记 01

su -           切换到root用户并使用一个新的运行环境
sudo           使用管理员身份运行命令
id  显示当前用户信息
在命令后添加一个 & 符号 ,在后台运行进程
jobs     查看后台作业列表
bg 1     继续执行后台任务1
fg 1     将后台任务调1到前台运行

file命令: 查看文件信息
root@iZ23totlue9Z:/alidata/www/default/test/qiniu# file js_index.html 
js_index.html: HTML document, UTF-8 Unicode text 

lsusb命令: 查看USB信息
root@iZ23totlue9Z:/alidata/www/default/test/qiniu# lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd  locate命令: 快速查文件
root@iZ23totlue9Z:/alidata/www/default# locate test.php
/alidata/www/default/rbac-codeigniter/system/libraries/Unit_test.php
/alidata/www/default/weiphp20141015/ThinkPHP/Library/Vendor/phpRPC/pecl/xxtea/test/test.php
/alidata/www/default/wxtest/20141204_lockscreengenerate_joeteddy_v0/image-master/vendor/phpunit/phpunit/Tests/_files/BankAccountTest.test.php 

find命令: 高级查文件 
-name         按名称查找
-perm         按权限查找
-user         按所有者查找
-group        按所属用户组查找
-ctime        按创建时间查找
-type         按文件类型查找
-size         按文件大小查找

柱面(cylinder):每个层叠磁盘盘片相同的圆环所形成的柱面环
扇区(sector):从中心到边缘的一个扇形区域
磁头(header):单位一般是512字节

所有的设备都被当作文件,在/dev目录下
hda, hdb,..., hdz   -> IDE设备,即老硬盘(很长的排形接口)
sda, sdb,..., sdz   -> SATA设备、SCSI设备或USB设备 (目前主流)

所以,硬盘在linux系统下就是形如:
/dev/hda
/dev/sda

分区就是把物理磁盘分成几个可被当作独立磁盘的分区,比如:
/dev/sda 可被分解成:/dev/sda1 和 /dev/sda2 这两个分区 (相当于windows下的C盘、D盘)
其中,sd表明了磁盘类型是SATA、SCSI或USB的一种,
a代表是第1块物理硬盘,1和2代表该硬盘上的分区号

主分区和扩展分区
- 主分区就比如:  sda1, sda2, sda3 直接能用
- 扩展分区就比如:sda4 单单这个扩展分区不能用哦,必须里面放逻辑分区才行
- 逻辑分区就比如:sda5, sda6, sda7 这些都是基于sda4这个扩展分区所创建的逻辑分区,这个能用

分区是软件概念,不是硬件概念,分区机制有两种:
- MBR(比较老,基于BIOS引导的PC用的,苹果不行,最大支持2T硬盘,且只支持有限的分区数量)
- GPT(比较新,基于UEFI引导的才行,苹果都是这个,兼容MBR,支持超过2T硬盘,仅支持64位系统)

fdisk: 分区工具(仅支持基于MBR的分区机制)
fdisk -l 查看硬盘分区信息
fdisk /dev/sdb  对该硬盘执行分区操作,进入交互式分区界面

逻辑分区的分区号永远是从5开始

还可以这样列出分区信息
cat /proc/partitions


文件系统: 刚分完区不能马上用,必须要创建一个文件系统才行,创建文件系统俗称“格式化”
windows的文件系统:  fat32、ntfs
linux的文件系统: ext2、ext3、ext4
mke2fs -t ext4 /dev/sda3   创建文件系统 (参数较多)
mkfs.ext4 /dev/sda3        创建文件系统 (参数较少)

挂载磁盘: 必须把分区挂载到一个目录后才能用
mount /dev/sda3 /mnt   把要挂载的分区挂载到/mnt目录,也可以是其他目录的
mount 显示已经挂载上的文件系统
  /dev/xvda1 on / type ext4 (rw,errors=remount-ro)  比如这个磁盘被挂载到了根分区上

umount /dev/sda3  或者  umount /mnt  相当于windows的安全弹出

lsof 查看系统打开了/在使用哪些文件

配置 /etc/fstab 文件,设置开机时自动挂载

用户 和 组
- 每个用户都有一个用户ID(userid)
- 每个用户都属于一个主要组,并属于一个或多个附属组
- 每个组都有一个组ID(groupid)
- 每个进程都以某个用户id执行, 其访问资源的权限受到该用户的权限限制
- 每个用户都有一个shell
- 每个文件都有一个所属用户和用户组

用户
- 用户id为32位,所以理论上支持2^32个用户,但一般在60000以下
- root用户 (id 为 0, root用户不一定叫root, 只要id为0它就是超级管理员用户)
- 系统用户 (id为1-499)
- 普通用户 (id大于等于500)
- 用id命令查看当前用户信息
  root@iZ23totlue9Z:~# id
  uid=0(root) gid=0(root) groups=0(root) -> groups指附属组
- 用passwd命令修改当前用户密码
- /etc/passwd 保存用户信息
 root:x:0:0:root:/root:/bin/bash
 root代表用户名
 x代表密码保存在shadow文件中
 0代表用户id
 0代表组id
 root代表描述信息
 /root 用户的home目录的位置
 /bin/bash 用户的登录shell, /sbin/nologin表示用户无法登录
- /etc/shadow 保存用户密码
 两个感叹号代表用户没有创建密码
 root:$6$DOqlw17L$Wd2s2kHnWCN9ybexKpt1CKtMiPh5tQcjOPIDMcfYaq1dhR31eI2ShgatCsQ4Y2uvISwiBbSAVmng4z5DwqNXQ1:16468:0:99999:7:::
 加密密码段分三部分,用$分开,第一部分的6表示加密类型,第二部分代表salt,第三部分代表密码
- /etc/group 保存组信息
  www-data:x:33:
  x代表组密码,现在已经不用这个了,仅作向后兼容保留
- whoami 
  root@iZ23totlue9Z:~# whoami
  root
- root@iZ23totlue9Z:~# who 
  root     pts/0        2015-02-15 11:38 (103.15.38.12)
- root@iZ23totlue9Z:~# w (不光显示哪些用户登录进来了,还能显示他们在干嘛)
  12:01:22 up 12 days, 19:38,  1 user,  load average: 0.00, 0.01, 0.05
  USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
  root     pts/0    103.15.38.12     11:38    0.00s  0.18s  0.00s w

* 一般命令越短,显示内容越多!

- 创建用户
useradd phx

tail /etc/passwd
phx:x:1003:1003::/home/phx:/bin/sh

tail /etc/shadow
phx:!:16481:0:99999:7:::

passwd phx 
tail /etc/shadow
phx:$6$B5dVHyE9$hZyVXGMUlWtZ6DmKvFCoR/3n.aCDju8bZRnvKgOg.S/NQ7.0y3.8XVAXQ46DHqFJXcBqXPXToEu12HKySbBoq1:16481:0:99999:7:::
 
默认创建用户后所属的组名就是用户名

- 修改用户
usermod phx

- 删除用户
userdel phx

 
组

创建组
groupadd 组名

修改组
groupmod -n 新组名 旧组名
groupmod -g 新组id 旧组id

删除组
groupdel 组名


权限(读、写、执行,可限定到用户或用户组)

权限    
对文件  
对目录
r
可以读取
可以列出里面的文件
w
可以修改
可以修改里面的文件
x
可以执行
可以查看里面的文件?

默认以哪个用户创建的文件,该文件就是所属该用户和该用户组
默认创建文件时的文件权限是:
 -rw-rw-r--
默认创建文件夹时的文件夹权限是:
 drwxrwxr-x

文件的默认权限是777减去umask, 文件夹的默认权限是666减去umask
用umask命令查看umask值,普通用户一般是002,root用户一般是022
因此,
新建文件的权限是:  666 - 002 = 664 即: -rw-rw-r--
新建文件夹的权限是: 777 - 002 = 775 即: drwxrwxr-x
 
修改文件所属用户
chown 旧用户 新用户

修改文件所属用户组
chgrp 旧组 新组

修改权限(a代表ugo全部)
chmod u+rw 文件名称
chmod g-x 文件名称
chmod go+r 文件名称
chmod a-x 文件名称

特殊权限: suid、sgid、sticky 略
chmod u+s filename # 设置suid权限
chmod g+s filename # 设置sgid权限
chmod o+t filename # 设置sticky权限

suid = 4, sgid = 2, sticky = 1
chmod 4755 filename

root用户不受任何权限限制!!!

ip协议
ip地址: 192.168.1.168 子网掩码: 255.255.255.0
子网掩码定义了网络部分,所以192.168.1是网络部分(即网段),168是主机部分

192.168.1.0/24, 24是简写,代表前24位是网络部分,即子网掩码是:255.255.255.0
操作系统是通过比较ip地址中的网络部分来确定是否属于同一网络的

而在同一个网络之内,主机通过mac地址(网卡的硬件地址)通信(arp协议)


不同网络之间的通信
路由器/网关根据路由表来转发数据

要配置一个局域网通信的计算机,需要设置: ip地址、 子网掩码
要配置一个跨网段通信的计算机,需要设置: ip地址、 子网掩码、 网关
要配置一个可上网的计算机, 需要设置: ip地址、 子网掩码、 网关、 DNS


以太网接口: eth0 代表第一块网卡, eth1 代表第二块网卡
用 lspci 或 lsusb 可查看网卡硬件信息 ( 但我在阿里云上执行却看不到 )

ifconfig -a 查看所有接口
ifup eth0 启用eth0接口
ifdown eth0 禁用eth0接口

用setup命令设置网卡
网卡信息保存在: /etc/sysconfig/network-scripts/ifcfg-eth0等里, 可通过直接编辑文件修改配置

DNS配置保存在: /etc/resolv.conf, 可通过直接编辑文件修改配置

主机名配置保存在: /etc/sysconfig/network

测试
测连通性: ping 
测DNS: host 和 dig
root@iZ23totlue9Z:~# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 180.149.131.98
www.a.shifen.com has address 180.149.132.151
root@iZ23totlue9Z:~# dig www.baidu.com


; <<>> DiG 9.8.1-P1 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37338
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 0


;; QUESTION SECTION:
;www.baidu.com. IN A


;; ANSWER SECTION:
www.baidu.com. 917 IN CNAME www.a.shifen.com.
www.a.shifen.com. 241 IN A 180.149.131.98
www.a.shifen.com. 241 IN A 180.149.132.151


;; AUTHORITY SECTION:
a.shifen.com. 540 IN NS ns3.a.shifen.com.
a.shifen.com. 540 IN NS ns1.a.shifen.com.
a.shifen.com. 540 IN NS ns4.a.shifen.com.
a.shifen.com. 540 IN NS ns2.a.shifen.com.
a.shifen.com. 540 IN NS ns5.a.shifen.com.


;; Query time: 4 msec
;; SERVER: 10.202.72.118#53(10.202.72.118)
;; WHEN: Mon Feb 16 11:38:15 2015
;; MSG SIZE  rcvd: 180


显示路由表
root@iZ23totlue9Z:~# ip route
default via 115.29.251.247 dev eth1 
10.0.0.0/8 via 10.162.79.247 dev eth0 
10.162.64.0/20 dev eth0  proto kernel  scope link  src 10.162.67.250 
100.64.0.0/10 via 10.162.79.247 dev eth0 
115.29.248.0/22 dev eth1  proto kernel  scope link  src 115.29.249.189 
172.16.0.0/12 via 10.162.79.247 dev eth0 

追踪网络路径
traceroute www.baidu.com

网络质量测试
mtr www.baidu.com


名称 说明 编号 默认
STDIN 标准输入 0 键盘
STDOUT 标准输出 1 终端
STDERR 标准错误 2 终端

分类 关键字 定义 例子
重定向 > 把标准输出重定向到文件(会覆盖) echo 'test' > filename
重定向
>> 把标准输出重定向到文件(会追加)
date >> filename
重定向
2> 把标准错误重定向到文件(会覆盖) ls nowhere 2> filename
重定向
2>&1 把标准错误和标准输出两种数据流都要 ls nowhere 2>&1 filename
重定向
< 重定向标准输入

grep phx < /etc/passwd
等价于
cat /etc/passwd|grep phx

管道 | 把一个命令的标准输出,当作另一个命令的标准输入 ls -l | grep file
find / -user phx | grep video

把标准错误丢弃掉
find / -user phx 2> /dev/null | grep video 

head 命令: 看文件头10行
tail 命令: 看文件末10行
grep 搜索文本
cut  基于列处理文本(这个很厉害)
wc   文本统计(可统计行数、单词、字符、字节等) , wc -l 表示统计多少行数
sort 排序文本(不支持中文) -u参数可以去重(真正去重)
uniq 去重(只能去重相邻重复行)
tr   转换文本内容,比如删除关键词、转换大小写等
sed  用正则搜索替换文本


启动流程
 BIOS(PC架构),保存在主板芯片里 -> MBR, 到硬盘了 -> 操作系统的引导程序 GRUB -> 加载内核 -> 执行init 第一个进程 pid为1 -> runlevel

init进程是linux中第一个运行的进程,也是所有进程的父进程,它负责调用/etc/rc.d/rc.sysinit对系统初始化、挂载文件系统、根据运行级别启动服务等

linux的运行级别(runlevel):
 0 关机
 1 单用户模式
 2 不带网络的单用户模式
 3 多用户模式
 4 未使用
 5 X11图形化模式
 6 重启
 
3和5的区别就是有没有图形界面, 一般的运行级别就是3或5

init 3 切换到纯文本的界面(上面第三个级别)


从源码编译安装的基本流程:
./configure  检查编译环境、配置、库等,生成makefile
make         编译源代码,生成可执行文件
make install 将可执行文件安装到计算机

软件管理方式: RPM
.rpm文件,就是一个软件

安装: rpm -i test.rpm  
卸载: rpm -e test(不需要写版本号之类)
升级安装: rpm -U test-new.rpm
在线安装: rpm -ivh http://site.com/test.rpm
列出已安装的rpm软件: rpm -qa

软件包管理方式: YUM (基于rpm的前端程序,用来管理依赖关系)
rpm是软件管理方式,不是依赖管理方式,rpm仍然需要手动解决依赖关系,yum就是解决这些依赖的~~~

仓库(repo/repository): 存放所有的rpm包的地方
仓库配置路径: /etc/yum.repos.d/ 配置文件后缀为.repo, 可以放多个配置文件

安装: yum install software-name
卸载: yum remove software-name
升级: yum update software-name

搜索仓库: yum search keyword
列出软件: yum list(all|installed|recent|updates)
软件信息: yum info software-name

清除缓存: yum clean all


转载于:https://my.oschina.net/ecnu/blog/377820

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值