linuxcast笔记.docx
《linuxcast笔记.docx》由会员分享,可在线阅读,更多相关《linuxcast笔记.docx(20页珍藏版)》请在冰点文库上搜索。
![linuxcast笔记.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/b998435a-5813-4e5d-b01b-7b61b007ebb1/b998435a-5813-4e5d-b01b-7b61b007ebb11.gif)
linuxcast笔记
uname查看当前用户
uname-a查看用户及当前主机所有信息
uname-r查看内核版本号
[用户名@主机名当前目录]
su-切换到root用户
su-用户名切换用户(-代表切换到用户的家目录)
sudo命令使用管理员权限执行命令
history查看执行过的所有命令
!
!
重复执行上一个命令
!
字符执行历史中以字符开头的命令
!
num历史中序号的命令
!
?
abc执行包含abc的命令
!
-n执行n个命令之前的那个命令
ctrl+r输入任何字符串,搜索历史中的命令
firefox&在命令后边加&表示让该任务在后台运行
jobs查看当前后台运行的所有作业
bg2控制一个程序继续在后台运行(被暂停的)
fg2将后台运行的程序放到前台继续执行
sleep20停止20s
ctrl+c停止某个任务,ctrl+z暂停某个任务(其实就是给底层发送信号17)
ls-R递归显示目标目录以及其子目录中的内容
ls-ld显示目录和链接信息
ll显示详情信息
ll-a显示所有文件及详情信息
file文件名查看文件类型
cd~回到家目录
cd-回到上次的操作目录
cp-r目录名递归复制整个目录
cp-rv目录名递归复制并且显示复制详情
mv文件目标目录移动(重命名)
rm-r文件递归删除文件或文件夹内的所有文件
rm-ri文件有提示性的删除
rm-rf文件强制删除(不会有任何的提示)
mkdir-r/a/b/c递归创建多级目录
rmdir目录名只能删除空目录
目录:
/bin是所有用户都可以用的一些命令
/boot引导目录内核文件(vmlinuz-xx.-xx)、grub引导文件、驱动的相关信息(initrd-xxx-xxx)
/dev保存计算机的所有硬件设备文件
/etc几乎保存所有的配置文件,大多以.conf.cnf结尾
/home家目录,每个用户都有自己的家目录,root用户的家目录单独在/root
/lib所有相关的库文件以.so结尾(相当于win中的.dll文件)
/media用来挂载的目录(有些系统中没有)
/mnt也是挂载目录
/opt用来安装一些大型软件,比如orcle(并不是强制的)
/proc只存在于系统内存中,每次系统启动都会创建一个新的proc,是一个虚拟的系统文件,显示的是系统实时信息。
/sbin这里边的命令只有root才能执行(磁盘分区,格式化之类的一些信息)
/sys包含系统底层的一些信息
/tmp保存一些临时的文件(系统会自动删除)
/usr默认的安装一些应用软件
/var保存的是一些经常变化的信息,服务器的一些信息(/var/log),默认邮件都是保存在此目录中
磁盘基本概念
cylinder柱面磁盘上位置相同位置的轨道立体上形成了柱面
sector扇区由中心到边缘形成的扇形结构称为扇区
head磁头一个磁头一次性读取512字节的内容
磁盘在linux中的表示:
第一块硬盘/dev/sda第二块硬盘/dev/sdbsatascsisasusb设备
/dev/hda/dev/hdbide设备
分区:
/dev/sda/sda1/dev/sda/sda2
MBR分区:
应用于绝大多数使用bios的pc设备,只支持32和64位
只支持不超过2T的硬盘,超过2T需要使用第三方设备解决。
最多只能创建4个主分区,mbr大小为512字节
0000-0088
MasterBootRecord
主引导程序
主引导
程序
0089-01BD
出错信息数据区
数据区
01BE-01CD
分区项1(16字节)
分区表
01CE-01DD
分区项2(16字节)
01DE-01ED
分区项3(16字节)
01EE-01FD
分区项4(16字节)
01FE
55
结束标志
01FF
AA
GPT分区:
解决了mbr的很多缺点,一个较新的分区机制。
支持超过2T的磁盘,向后支持mbr,必须支持uefi的硬件才能使用;
mac、linux系统都能支持gpt分区格式,windows764也支持。
fdisk分区工具:
fdisk支持绝大多数的操作系统,几乎所有的linux上都装有fdisk,包括linux的rescue模式也能使用。
fdisk是一个给予mbr的分区工具,所有如果要使用gpt,无法使用fdisk分区
给服务器加一个硬盘并且分区:
fdisk-l查看所有硬盘及分区信息;
fdisk/dev/sdb可以对目标磁盘进行分区操作(根据帮助进行操作,操作结束后w写入系统保存)
partprobe让系统内核更新分区信息,否则重启才能识别新分区。
cat/proc/partitions也可以查看所有的硬盘分区信息
分区结束后必须格式化,未格式化的分区称为裸(raw)设备。
(格式化其实就是给分区内创建文件系统,系统通过文件系统管理分区上的文件)
格式化分区:
mke2fs-text4/dev/sdb1
e2label/dev/sdb1WR给文件打标签
mkfs.ext4/dev/sdb1mkfs不如mke2fs精细
fsck/dev/sda2检查并修复损坏的文件系统(检查磁盘的时候,磁盘必须先卸载)
使用参数-y不提示直接修复;如果文件系统损坏严重,用-text4指明文件系统类型。
系统在启动时会对磁盘进行fsck操作。
挂载操作:
mount显示已经挂载的所有已经挂载的文件系统
mount/dev/sdb1/mnt
卸载已挂载的文件系统:
umount文件系统或挂载点
umount/dev/sda4或umount/mnt
如果出现deviceisbusy,可以使用命令查看使用文件系统的进程:
fuser-m/mnt或查看正在被使用的文件:
lsof/mnt
自动挂载:
修改配置文件:
vi/etc/fstab
需要挂载的设备挂载点文件系统挂载选项00
/dev/sdb1/mntext4defaults00
mount-a能够挂载所有fstab中定义的自动挂载项(或者重启后也会自动挂载)
对文件系统进行修改的时候(除了读写)必须先进行卸载硬盘!
获取命令帮助:
命令-h或者--help查看命令的使用;
man的使用:
1用户命令,可由任何人启动的。
2系统调用,即由内核提供的函数。
3例程,即库函数。
4设备,即/dev目录下的特殊文件。
5文件格式描述,例如/etc/passwd。
6游戏,不用解释啦!
7杂项,例如宏命令包、惯例等。
man-k关键字搜索跟关键字有关的文档
man与info都可以通过info/关键字或man/关键字方式进行搜索
一般程序和命令的文档的详细说明都会存在/usr/share/doc目录下。
跟用户组有关的文件:
/etc/passwd保存用户信息
/etc/shadow保存用户密码(加密的)
/etc/group保存组信息
whoami显示当前用户
who显示有哪些用户已经登录系统
w显示有哪些用户已经登录并且在做什么
(pts/0,pts/1,pts/2是指你从远程登录的终端号;tty1到tyy6是在linux机器上的终端号)
创建一个新用户:
useraddWR
这个命令会执行以下操作
1.在/etc/passwd中添加用户信息
2.如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中
3.为用户建立一个新的家目录/home/WR
4.将/etc/skel中的文件复制到用户的家目录中
5.建立一个与用户名相同的组,新建用户默认属于这个同名组
修改用户信息:
命令usermod用来修改用户信息
usermod参数username
-l新用户名
-u新userID
-d用户家目录位置
-g用户所属主组
-G用户所属附属组
-L锁定用户使其不能登陆
-U解除锁定
删除用户:
命令userdel有以删除指定用户:
userdelWR(保留用户的家目录)
userdel–rWR(同时删除用户的家目录)
修改文件所属用户、组:
chown用户名文件
chgrp组文件
-R参数递归修改目录下所有文件的所属组或所属用户
chmod修改文件的权限
修改用户和组以及权限的实例
网络配置:
查看本机的IP、DNS、NETMASK(255.255.255.0)、GATEWAY(192.168.1.1)
通过cmd运行ipconfig/all可以查看。
网卡配置文件:
vi/etc/sysconfig/network-scripts/eth0
DNS:
vi/etc/resolv.conf
主机名配置文件:
vi/etc/sysconfig/network
静态主机名配置文件:
vi/etc/hosts
host解析域名的地址
dig域名也可以解析域名(跟dns有关比较复杂的)
iproute显示路由表
tracerouteIP地址或域名路由追踪(追踪到达目标地址的网络路径)
mtr网络质量测试(结合了traceroute和ping)
故障排查:
查看到达网关是否正常
ping网关IP
基础命令:
date命令:
显示时间(月日十分秒年)
clock查看硬件时间
cal102015显示日历
uptime查看系统运行时间
cat查看文件直接显示到最后
more只能按空格向下翻页,enter向下一行
less空格向下翻页,pageup、pagedown、上下键
head-n20显示前20行,head文件名默认前十行
tail-n20显示后边的20行默认前十行
(tail-fn文件名追踪显示文件更新一般是查看日志)
查看pci设备(声卡、网卡)
lscpi查看PCI设备,lsusb(可用参数-v显示详情)
lsusb查看USB设备(可用参数-v显示详情)
lsmod查看加载的模块(也就是驱动)
shutdown-hnow关机shutdown-h23:
30
shutdown-r+10十分钟后重启
poweroff立即关机reboot立即重启
压缩、归档
zipabc.zipabc
unzipabc.zip
tar其实是一个归档命令
tar-czfabc.tar.gzabctar-cvfabc.tarabc
tar-xjfabc.tar.bz2tar-xzfabc.tar.gz
查找:
locatekeyword快速查找(此命令要预先建立数据库,数据库默认每天更新一次,可用updatedb命令手工建立、更新数据库)
find目录-name*wr*名字
find目录-perm777权限
find目录-typed文件类型(d是目录,)
find.-name“a*”-execls-l{}\;
将找到的文件执行后边的命令
-group,-user,-ctime,-size
find.-size+1M查找当前文件下大于1M的文件
ls-ld/root2>outfile
将前边命令出现错误的信息写到后边的文件中(-ld只显示目录文件)
ls-ld/root2>&1outfile(将错误和正确信息都写入后边的文件)
greproot
>覆盖;>>追加
vim中:
命令模式:
i在光标前插入文本o在当前行的下一行插入新行
dd删除yy复制nyy复制当前行及以下的n行
p粘贴r替换当前字符/查找关键字u撤销
EX模式
:
x保存,:
setnu显示行号
:
!
系统命令(执行一个系统命令,enter返回到vim中)
:
sh切换到命令行,使用ctrl+d切回vim中
ex模式下的文本替换:
替换当前行:
:
s/from/to/ 将当前行中的第一个from,替换成to。
:
s/from/to/g 将当前行中的所有from都替换成to。
:
%s/from/to/g替换所有行中的的内容
%s/^#.*\n$//g将#开头的全部删除
:
g/^\s*$/d删除空白行
插入模式:
i(字符前)a(行末插入)o(下一行插入)
文本查看和更改:
grep关键字(搜索命令)
-i忽略大小写;-n显示结果所在的行数;-v查找不带关键字的文件
-Ax在输出的时候包含结果所在行之后的指定行数
-Bx在输出的时候包含结果所在行之前的指定行数
wc文件名(文本查看命令)
-l只统计行数;-w只统计单词;-c只统计字节数;-c只统计字符数
sort文件名(文本排序命令)
-r倒叙排序;-n基于数字排序;-f忽略大小写;-u删除重复行
-tc使用c作为分隔符分割为列进行排序
-kx当进行基于指定字符分割为列的排序时,指定基于那个列排序
删除重复行:
sort-u可以删除重复行命令uniq可以删除重复的相邻行
处理文本内容:
tr-d‘TMD’<文件名删除文件中的关键字
tr‘a-z’’A-Z’<文件名将文件中的小写转换为大写
ACL权限设置(练习)
1.临时开启分区ACL权限
mount-oacl/dev/sda5/mnt
2.永久挂载:
vi/etc/fstab(分区的挂载配置文件)
UUID=bbf48d28-1f08-484a-82ed-70250761560e/ext4defaults,acl11
UUID时至分区的唯一识别符,/指挂载点,ext4硬盘分区格式,11这两个数字代表启动时是否需要检测,是否需要备份
本来default中已经包含acl,再加上acl之后,代表在原基础上还强行加入acl权限。
查看acl设置:
getfacl文件
设置acl:
setfacl-mu:
用户名:
rwx文件
setfacl-mg:
组名:
rwx文件
删除一个acl:
seftacl-xu:
用户名文件
开机过程:
bios------MBR:
BootCode------执行引导程序-grub------加载内核-----执行init--------runlevel
/boot/grubstage1--------以stage1_5结尾的文件(加载要读取的文件系统)---------stage2
dmesg命令查看本次启动时内核的输出信息。
(/var/log/dmesg)
init是linux系统中运行的第一个进程,调用/etc/rc.d/rc/sysinit负责对系统进行初始化,挂载文件系统,根据运行级别启动相应服务。
通过/etc/inittab配置文件修改默认的运行级别,/etc/init为init的配置文件目录。
每个级别对应的启动服务保存在/etc/rc.d/rc[0123456]d中。
runlevel可以查看当前运行级别,init3可以改变当前运行级别
修改开机的引导时间:
vim/boot/grub/grub.conf
如何给grub引导界面添加密码:
命令grub-md5-crypt------输入密码-----在/boot/grub/grub.conf的第一行添加password--md5加密后的密码串。
如果同样忘记了grub引导密码,那么需要将硬盘拆下来挂载到其他linux系统下,将加密字段删除。
SystemV
每个服务的启动重启操作都由一个systemV脚本控制,通过编写sysV脚本来手工创建sysv控制的服务们也可以通过自定义进行管理。
命令service可以调用指定服务的sysv脚本,并执行指定任务。
在/etc/rc.d/rc[0123456].d下保存的是该运行级别下可以运行哪些程序,连接到的是----------->/etc/rc.d/init.d
chkconfig服务名[on|off]控制服务开机是否启动
chkconfigiptableson开启防火墙服务
chkconfig--list列出所有服务的状态
SSH(文本远程管理工具,采用tcp协议)
ssh以什么用户登录@登录主机的地址
sshroot@192.168.1.111
scp用以用过ssh在两台计算机间进行快速的、加密的传输数据:
scp源文件目标地址:
/data(指定到目标地址的某个目录下)
scpabc.tarroot@192.168.1.1:
/data
-r参数递归拷贝文件夹
rsync用以在两台计算机之间通过ssh协议同步文件
rsync*.*root@192.168.1.111:
/data(通常用于备份)
VNC(图形化远程管理协议,使用的是RFB协议)
centos6和RHEL6中使用tigervnc
yuminstall-ytigervnc-server
配置文件:
/etc/sysconfig/vncservers
添加VNCSERVERS=”1:
用户名”
配置好后,关闭防火墙,切换到该用户,使用vncpsaawd创建登陆密码,然后启用servicevncservicerstart
(清空防火墙规则:
iptables-F)
客户端使用vncviewer
rpm(需要手工解决软件包的依赖关系)
安装:
rpm-isoftware.rpm
卸载软件:
rpm-esoftware.rpm
升级形式安装:
rpm-Usoftware.rpm
通过http、ftp协议安装软件:
rpm-ivh
rpm查询:
rpm-qa列出所有安装的rpm软件
rpm-qffilename查询目标文件属于哪个rpm包
rpm-qipackagename查询指定已安装rpm软件的信息
rpm-qlpackagename查询已安装rpm软件包含的文件
rpm-qipsoftware.rpm查询rpm文件的信息
rpm-qlpsoftware.rpm查询rpm文件包含的文件
rpm的验证
导入秘钥:
rpm--importRPM-GPG-KEY-CentOS-6
验证rpm文件的完整性:
rpm-Ksoftware.rpm
验证已安装的rpm文件:
rpm-Vsoftware
yum(用来解决软件包的依赖关系)
yuminstallsoftwarename安装软件
yumremovesoftwarename-y卸载软件
yumupdatesoftwarename升级软件
yum仓库:
yum使用仓库保存管理rpm软件包,仓库的配置文件保存在/etc/yum.repos.d/下
1.将挂载的光盘中的rpm文件全都cp到/root/yum中,cd进入Packages2.需要创建索引信息,安装createrepo,rpm-ivhcreaterepo.xxx.rpm,3.运行createrepo-v仓库的路劲(-v显示详细信息)
2.yum使用仓库保存管理rpm软件包,仓库的配置文件保存在/etc/yum.repos.d/下,
3.vimgnome.repo
[gnome]
name=gnomeyumrepo
baseurl=file:
///root/gnome-yum/
enabled=1
gpgcheck=0(0代表不检测完整性,1代表检测)
4.移除默认的网络源的配置文件(如果有的话)
mv/etc/yum.repos.d/CentOS-Base.repo
/etc/yum.repos.d/CentOS-Base.repo.bak
5.做完以上操作以后,就可以来测试了
yumcleanall ,yumlist
日志rsyslog
目录/var/log内存放的日志都是由rsyslog写入的
servicersyslogstatus
配置文件:
/etc/rsyslog.conf
在/var/log下messages保存的是正常情况使用产生的信息;
scure中保存的是一些用户登录、安全机制、权限有关的信息。
boot.log保存的是启动所产生的信息;
dmesg保存内核的相关信息;
通过tail-f文件名实时监控日志记录
iptables
linux内核通过netfilter模块实现网络访问控制功能,在用户层通过iptables程序对netfilter进行控制管理
ftp
ftp是一种cs架构的服务,使用tcp协议作为底层传输协议,20为数据接口,21为指令接口。
grep-v“#”http.conf>>./abc.conf