当时学习Linux时,写的记事本,有点混乱,大家将就看吧,可能会有点用,我有时忘记了,会到上面找。
ifconfig 查看ip
eth0 ethernet 以太网网卡
lo 虚拟网卡
所使用的工具 (端口号是22)
SecureCRT 5.1.3 汉化版
Xmanager Enterprise_2.1 图形化管理
PuTTy
SSH Secure shell client 3.2.9.exe 这款软件可以把WIN下的软件传到Linux
file t
vcn 4.0 x86.win32.exe 图形化管理
------------------------------------
/tmp 每个用户都可以在这里写入文件
还有/home/dbs 也可以写入权限
su - root 切换root帐号。
------------------------------------
ifconfig eth0 192.168.8.1 //这个改变IP地址,只是临时有效,下次启动无效。
linux文件命名规则
1.) 除了/之外,所有的字符都合法。
2.)有些字符最好不用,如空格符、制表符、退格符和字符@#¥&()-等。
3.)避免使用。作为普通文件名的第一个字符。
4.)大小写敏感。
------------------------------------
命令格式
命令格式:命令 -选项 参数
例: ls -la /etc
说明:1.)当有多个选项时,可以写在一起。
2.)两个特殊的目录.和.. 分别代表当前目录和当前目录的
父目录。
.当前目录
..父目录
ls list /bin/is 路径
ls -a 显示所有
ls -l 详细信息显示
ls -d 查看目录属性
只有root执行的命令
/sbin
/usr/sbin
all users:
/bin
/usr/bin
bin=binary
sbin = super binary
--------------------------
drwxr-xr -x
文件类型 d-目录directory
-二进制文件
l 软链接文件link
rwx r-x r-x
r读 w写 x-execute执行文件
--------------------------
linux 用户权限三种
drwxr-xr-x
所有者u 所属组g 其他人o
user group others
onwer
drwxr-xr-x 2 root root 4096
3 4 所有者 所属组 文件大小
2-硬链接数
数据块 block 512字节
-----------------------
cd /切换到根目录
cd .. 回到上一级
pwd 显示当前所在的工作目录
touch 创建文件
mkdir
cp 复制 加-R可以复制目录
mv 移动
mv 1 2 把1的文件名改成2
mv /test/initab /tmp/
rm 删除文件 rm -R 删除目录
rm -f testfile 强制删除文件
rm -fR testfile 强制删除目录
rmdir 删除空目录 不重要
cat 显示文件内容。
more 显示文件内容 可以分页显示
more log.txt
空格或f 显示下一页
Enter 显示下一行
q或Q 退出
head 查看文件的前几行
head -5 看5行
tail -f 当文件变化 它也随之变化
ln 原意link
in -s 源文件 目标文件
ln -s /etc/issue /issuo.soft
ln /etc/issuo /issuo.hard
ls -l /etc/issuo /issuo.hard
echo "this is a test" >>/etc/issue
chmod 权限管理
u + r
g - w
o = x
u-所有者
g-所属组
o-其他人
su - samlee
rm /prem/newfile
ls -ld /perm
ls -l /prem/newfile
chwon 改变所有者
chwon samlee a
ls -l a
chown nobody a
ls -l a
chgrp 改变所有组
这里没有学院 Linux 文件管理02课
-----------
第三课,文件管理
文件搜索which
which ls
alias ls='ls --color=tty'
/bin/ls
whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.gz
/usr/share/man/man1/ls.1.gz
文件搜索命令:find
/usr/bin/find
find[搜索径][搜寻关键字]
功能描述:查找文件或目录
find /
*匹配任意字符 init*
find /etc -name init* 找文件开头为init
?匹配单个字符 init??? 表示init开头 后面是三个字符
-size 文件大小 block数据块 512字节=0.5kb
大于 +
小于 -
等于 -size
find / -size +20480
在根目录下查找大于100MB的文件
CTRL+C 中断
find /home -user dbs 找到用户为dbs的文件
时间
1、天ctime、atime、mtime
2、分钟cmin、amin、mmin
c-change 改变,表示文件属性被修改过,所有者、
所属组、权限
a-access访问 被浏览过
m-modify修改,表示文件内容被修改过
-之内,+超过多少时间
find /etc -min -120 在1个小时之内,被修改过的
1、连接符 -a and 逻辑与 -o or 逻辑或
find /etc -name init*
2、连接符 find .... -exec 命令{} \;
find /etc -name inittab -exec ls -l {}\;
find /etc -name init* -a -type f -exec ls -l {} \;
locate[搜索关键字]
文件搜索指令updatedb
文件搜索指令grep ftp /etc/services
帮助指令:whatis
makewhatis 搜索使用的数据库
.gz
gzip
1、只能压缩文件
2、不保留原文件
解压缩:
gunzip gzip -d
tar 可以打包目录形成文件
.tar .gz
tar 选项[cvf] [目录]
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
功能描述:打包目录
压缩后文件格式:.tar.gz
ls -l newdir.tar.gz
tar -zcf newdir
ls -l new
tar 解包
tar -zxvf dir1.tar.gz
-x 解包.tar 文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
zip
唯一win和linux通用格式
zip serviese.zip /etc/services
压缩文件
zip -r test.zip /test
压缩目录(目录需要加-r)
upzip 直接解压
bzip2 是zip的升级版
后缀 .bz2 压缩比 非常惊人
bzip2 -k 保留原文件
//只对文件操作
write dbs 向该用户发信息
//必须dbs在线。
wall 写给所有人的信
wall bbs.wmphp.com
网络通信命令ping
ping 192.168.1.1 不停的ping下去
ping -c 3 127.0.0.1
ping -s 60000 127.0.0.1
------------------------------
ifconfig -a
ifconfig eth0 127.0.0.1 修改后重启后不会出效
必须在相应的文件中改。
shutdown -h now
reboot 重启
------------------------------
cat /etc/shells 查看shell
《Tab》键补齐文件名
只有一个文件的时候,系统会自动补全
清屏 clear ctrl+L 快速清屏
bashell
ctrl+u 光标前面的所有的字符
history 历史敲过的命令全部显示出来
!188 查看188的命令
-----------------------------
命令别名定义
范例:alias copy=cp
alias xrm="rm -r"
查看别名信息:alias
删除别名:unalias copy
alias copy=cp 直接可以使用copy
alias xrm="rm -r" 命令的组合 删除目录
unalias copy //删除了copy=cp
这是linux有,在unix下是没有的。
ls -l /tmp> /tmp.msg 输出重定向
ls -l /tmp >> /tmp.msg 追加
wall < /etc/motd
2> 错误输出重定向
范例: cp -R /usr /backup/usr.bak 2> /bak.error
2> /bak.error
2判断 在次重定向
输出是0
输入是1
错误输出重定向是2
-------------------
管理 将一个命令的输出传送另一个命令,作为另一个
命令的输入。
使用方法
命令1|命令2
例:
ls -l /etc | more
ls -l /etc | grep init
ls -l /etc | grep init |wc -1
wc -l /etc/services 查看多少行
pwd ; ls ; date 让命令顺序执行
&& 前后命令的执行存在逻辑与关系,
command1 && command2
成功 执行
失败 不执行
write Mary < /home/samlee/love.text && rm
/home/samlee/love.txt
发送完就消除。
ls && pwd
查看并显示当前目录
||
前后命令的执行存在逻辑或关
命令执行失败后,它后面的命令才被执行。
ls || pwd 或
命令替换符
``
ls -l `which touch`
//直接能查看touch,和管道正好相反。
-------------------------------------
vi学习
vi /test/services //vi打开文件
按I 切换到插入模式
再按ESC 回到命令模式
进入VI时,首先看到的就是命令模式。
:set number 设置行号
:set nu
:wq写入退出
a 在光标后附加文本
A 在本行行末附加文本
i 在光标前插入文本
I 在本行开始插入文本
o 在光标下插入新行
O 在光标上插入新行
定位命令
h 左
j 下
k 上
l 右
$ 移至行尾
0 移到行首
H 移至屏幕上端
M 移至屏幕中央
L 移至屏幕下端
:set nu 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
867G 到第867行
:867 到第867行
删除命令
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到末尾的内容
D 删除从光标所在处到行尾
:n1,n2d 删除指定范围的行
复制和剪切命令
yy、Y 复制当前行
nyy、nY复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前光标所在行下或行上
替换和取消命令
r 取代光标所在处字符
R 从光标所在处开始替换字符,按ESC结束
u 取消上一步操作
搜索和替换命令
/string 向前搜索指定字符串,搜索时忽略大小写:set ic
n 搜索指定字符串的下一个出现位置
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串
/ftp/data
第五讲01 LINUX引导流程
linux引导流程
linux运行级别
linux启动服务管理
grub配置与应用
启动故障分析与解决
系统引导流程
固件firmware(CMOS/BIOS) POST加电自检
自举程序BootLoader(GRUB) 载入内核
载入内核Kernel 驱动硬件
启动进程 init
读取执行配置文件/etc/inittab
常用固件设置
安全设置
可引导介质列表
可引导介质搜索顺序
电源管理
启动细节显示
date 系统时钟
hwclock 硬件时钟
hwclock --hctosys
date
hwclock
hwclock --set --date="8/9/2003 16:45:00"
hwclock
hwclock --help
hwclock --hctosys 设置系统时间为硬件时间
hwclock --sysytohc 设置硬件时间为当前系统时间
同步软硬件时钟:
硬件时钟对了 hwclock --hctosys
hwclock -set --date="9/22/96 16:45:06"
man date
---------
master boot record 0柱面 0扇区
mbr 简称
ntldr windows nt代表新技术
vi /etc/grub.conf
kernel /vmlinuxz-2.6.18-194.e15
主-副-末
如果内核,副是偶数为稳定版
ls /usr/src/liunx 内核文件所在 没有找到
ls -l /boot/vmlinux-2.2.16-22
init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。
在UNIX系统中,Init时第一个可以存在的进程,它的PID恒为1,但它也必须向一个更高级的功能负责:PID为0的内核调用器,从而获得CPU时间。
ps 是一个查看进程信息的命令
ps -le | more
PID
ppid 负进程
# 开头表示注释。
vi /etc/inittab
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
id:5:initdefault:
0关机
1单用户模式(没有图形界面,只有root可以登陆,也同于win安全模式)
2 单用户字符服务器模式 没有启动NFS服务(实现unix和linux共享,缺点安全性低) 建议使用ftp ssh
3 多用户的字符服务器模式
4 自己定义的运行级别,需要定义自己的服务
5 X11,xwindow是它的版本号,图形化的多用户模式 系统正在使用 默认
6 重启
黑客入侵,将成6,按下电源之后就重启
inittab 文件剖析
切换运行级别,不需要重启,这个和WIN不同
运行级的切换:
1.查看当前的运行级
runlevel
N 5
runlevel
S 3 切换过运行级别,切换之后的运行级别
2.运行级的切换
#init[0123456Ss] 或 #telinit[0123456Ss] //是init的软链接
查看方法ls -l `which tleinit`
#init 3 切换为运行级别3
grep -v "^#" /etc/inittab //^行首
排除inittab行首的#
inittab 文件剖析
man inittab
在initab中,所有条目采取以下格式:
id:run-levels:action:process
id: 标识符,一般为两位字母或
run-levels 指定运行级别,可以指定多个
action 指定运行状态
process 指定要运行的脚本/命令
----
action 常用取值:
initdefault: 指定系统缺省启动的运行级别
sysinit: 系统启动执行process中指定的命令
wait: 执行process中指定的命令,并等其结束再运行其他命令
once: 执行process中指定的命令,不等待其结束
ctrl+alt+del: 按下CTRL+ALT+DEL时执行process指定的命令。
#system initialization.
si::sysinit:/etc/rc.d/rc.sysinit
//只要系统启动都会执行该脚本。是shell脚本。
打开 vi /etc/rc.d/rc.sysyinit
如果有要执行的脚本、程序,系统在启动时,都会执行。
[root@localhost ~]# ls -l /etc/rc.d/
总计 112
drwxr-xr-x 2 root root 4096 08-19 14:35 init.d
-rwxr-xr-x 1 root root 2255 2009-07-04 rc
drwxr-xr-x 2 root root 4096 08-19 14:35 rc0.d
drwxr-xr-x 2 root root 4096 08-19 14:35 rc1.d
drwxr-xr-x 2 root root 4096 08-19 14:35 rc2.d
drwxr-xr-x 2 root root 4096 08-19 14:35 rc3.d
drwxr-xr-x 2 root root 4096 08-19 14:35 rc4.d
drwxr-xr-x 2 root root 4096 08-19 14:35 rc5.d 系统默认的rc5.d
drwxr-xr-x 2 root root 4096 08-19 14:35 rc6.d
-rwxr-xr-x 1 root root 220 2009-07-04 rc.local
-rwxr-xr-x 1 root root 27476 2009-09-29 rc.sysinit
在ls -l /etc/rc.d/rc5.d 下
看到的 S K
S-start 启动
K-kill 关闭(切换运行级别时,会用到关掉系统中那些进程、服务)
mv 1 2 改名
firmware
|
bootLoader
|
Kernel
|
init
|
/etc/inittab 以下是inittab文件中
|
initdefalut
|
/etc/rc.d/rc.sysinit
|
/etc/rc.d/rc
|
/etc/rc.d/rcN.d N=0-6
|
进入系统
username
password
本地终端 tty1
inittab 文件剖析
action 常用取值续:
powerfail: 当出现电源错误时执行process指定的命令,不等待其结束
powerokwait: 当电源恢复时执行process指定的命令
respawn: 一旦process指定的命令中止,便重新运行该命令。
x:5:respawn:/etc/X11/prefdm -nodaemon
//只有启用运行级别5时,才可以执行该操作。
grep -v "^#" /etc/inittab 取掉开头的#
tty1-tty7 F1-F7
ls /etc/rc.d/init.d 启动服务
//如果要关闭相应的服务,那就进入该目录。
比如:
/etc/rc.d/init.d/sshd 回车
./sshd{start|stop|restart|reload|condrestart|status}
status 查看启动状态
reload 重载,不需要重启服务,因重启为会断开。
condrestart 先执行启动,在执行停止
ls -ld /etc/init.d 是/etc/rc.d/init.d的软链接
ls -l /etc/rc.d/rc5.d 发现其中全是软链接文件
设置自启动程序::::
添加服务之后需要自动执行:
vi /etc/rc.d/init.d/msg.script
date >> /root/msg.today
who >> /root/who.txt
chmod u+x /etc/rc.d/iniit.d/msg.script
ln -s /etc/rc.d/init.d/msg.script /etc/rc.d/rc5.d/S100msg.script
对现在的服务 进行操作
将大写的S 改成 s 推荐 或者改成K
---
chkconfig --list 可以看到 7个运行级别状态
chkconfig --list sshd
chkconfig 可以看到使用方法
chkconfig --levels 2345 sshd off 在2345是关闭的
chkconfig --leve 3 sshd on 在3开启
---
ntsysv --level 3 图形界面 按空格 去掉
man ntsysv
---
相关命令及日志
运行dmesg 检查引导期间的错误 (内核驱动硬件)
dmesg | grep hda
dmesg | grep eth0
所有的 ls /var/log 所有的日志都存在于此
.log
messages
grep syslog /var/log/messages
vi /boot/grub/grub.conf
vi /etc/grub.conf
GRUB配置
default 定义缺省启动系统
timeout 定义缺省等待时间
splashimage 定义GURB界面图片 /boot/grub/splash.xpm.gz
hiddenmenu 隐藏菜单
title 定义菜单项名称
kernel
root设置GRUB的根设备即使内核
kernel定义内核文件所在位置
initrd命令加载镜像文件
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS(2.6.18-194.el5)
root(hd0,0)
kernel /vmlinuz-2.6.18-194.el5 ro
initrd /initrd-2.6.18-194.el5.img
单用户模式应用
root密码忘记
进入单用户模式重新设置root密码,方法如下:
开机进入GRUB界面,按e 进入编辑行模式,选中kernel行,
再次按e键,在新的界面的最后一行输入l或s,即可进入单用户模式
Use the 上 and 下 keys to select which entry is highlighted.Press enter to boot the selected OS,'e' to edit the commands before booting 'a' to modify the kernel arguments before
booting, or 'c' for a command-line
进入 e 在按e 的kernel /vmlinuz-2.6.18-194.e15 oro root=LABEL=/ rhgb quiet 1或s 进行单用户模式 再b 引导
sh-3.2#passwd root
设置GRUB密码
1.使用grub自带的grub-md5-crypt命令
#grub-md5-crypt
password:
2.在grub交互命令下
grub>md5crypt
password
grub>quit 退出 exit bye
在vi /etc/grub.conf 加在title上 password --md5 md5密文
重新启动
-----
grub 修复
当开机后进入grub界面但没有菜单,只剩下一个grub>提示符,解决方法:
根据提示查看grub.conf配置
grub>cat /boot/grub/grub.conf (为查看参数)
grub> /grub/grub.conf 所在就是在boot
grub>root(hd0,0) 指定引导所在
grub>kernel(hd0,6)vmlinuz-2.4.18-14 ro root=LABEL=/ tab键补全,指定内核
grub>initrd(hd0,6)/initrd-2.4.18-14.img 指定镜像文件
grub>boot 引导
------
如果系统重要文件被删,那怎样恢复,解决办法
如果将/etc/inittab 删除
在此之前,cp /etc/inittab /etc/inittab.bak
rm /etc/inittab
sh-3.2#chroot /mnt/sysimage
cat /etc/inittab
cp /etc/inittab.bak /etc/inittab
exit
第6节课上 软件管理
rpm -e sudo 卸载
-samba windows和linux共享数据
rpm -e --nodeps sudo 强行卸载
rpm -ivh sudo-1.7.2.pl-5.el5.i385.rpm 安装
i 安装 v显示执行的信息 h进度
rpm -q sudo 表示安装
rpm -qa 查询所有软件包
rpm -qa | grep samba 查询有关键字为samba
其它选项
在ivh上的基础上--excludedocs sodu-1.7.rpm 不安装文档文件
rpm -ivh --prefix=/usr/local/sudo sudo-1.7.2p1-5.e16.i386.rpm 安装的位置,一般rpm不改变其位置,这个参数适合源代码包安装.gz
--test 测试,并不安装,解决是否有依赖的软件包
--replacepkgs 选项 覆盖安装
rpm -ivh --replacepkgs sudo.rpm
一、RPM包管理
B 文件突冲m
C 未解决依赖关系
强制安装使用 --nodeps选项
3) rpm -Uvh sudo.rpm 升级
一、YUM包管理
应用yum的好处
自动解决软件包的依赖关系
方便的软件包升级
yum install 安装
检测升级 yum check-update
升级 yum update
软件包查询yum list
软件包信息 yum info
卸载 yum remove
帮助 yum -help man yum
yum sudo 需要连网 找到之后,进行安装,非常方便,自动检测依赖关系
yum check-update 检测所有软件包升级
yum info sudo
yum -help | more 查看
rpm包管理
-a 查询所有已安装的软件包
-f 查询文件所属软件包
-p 查询软件包
-i 显示软件包信息
-l 显示软件包中的文件列表
-d 显示被标注为文档的文件列表
-c 显示被标注为配置文件的文件列表
1、查询文件隶属的软件包 rpm -qf 指定目录,看是那个rpm包安装的,在进行rpm -qi
2、查询软件包信息:rpm -qi、rpm -qip
3、查询软件包安装文件:rpm -ql、rpm -qlp
4、查询软件包帮助文档: rpm -qd
5、查询软件包配置文件:rpm -qc
在/etc
/usr/share 文件
在vim中 注释" 而不是#
一 RPM包管理
rpm -V 软件名称
5 文件的MD5校验值
S 文件大小
L 链接文件
T 文件的创建时间
D 设备文件
U 文件的用户
G 文件的用户组
M 文件的权限
rpm -qc wget 查看配置文件
md5sum /etc/wgetrc 检查MD5值
chmod 777 /etc/wgetrc 改变权限
rpm -V wget
chown dbs /etc/wgetrc 改变所有者
rpv -V wget
RPM包管理
5 软件包文件提取
解压所有文件到当前目录
rpm2cpio initscripts-8.45.30-2.3l5.centos.i386.rpm | cpio -idv
解压指定文件到当前目录
rpm2cpio initscripts-8.45.30-2.el5.centos.i368.rpm | cpio -idv ./etc/inittab
第6节课下 二、源代码包安装
应用举例(proftpd):
tar -xzvf proftpd-1.3.3d.tar.gz
cd proftpd-1.3.3d
./configure --prefix=/usr/local/proftp
注:点./表示,在当前页面下。
make 编译
make install 安装
安装gcc cc 环境
yum install gcc
卸载:kill `pgrep roftpd` rm -rf /usr/local/proftpd
如果有uninstall.sh 卸载。
二进制包安装 rpm yum
源代码码 .gz gz2
脚本安装 .sh
debian 乌班图
使用 APT包管理
安装 apt-get install(reinstall、-f)
删除 apt-get remove
第7课 linux用户管理
用户信息文件: /etc/passwd
密码文件: /etc/shadow
用户组文件: /etc/group
用户组密码文件:/etc/gshadow
用户配置文件: /etc/login.defs
/etc/default/useradd
新用户信息文件:/etc/skel
登录信息:/etc/motd
root:x:0:0:root:/root:/bin/bash
用户名:密码位:UID(用户标识号) GID(缺省组标识号) 注释性描述
宿主目录(用户登陆系统后的缺省目录) 命令解释器
第9讲 linux文件系统管理
/usr/bin /bin 存放所有用户可以执行的命令
/usr/sbin /sbin 存放只有root执行的命令
/home 用户缺省宿主目录
/proc 虚机文件系统可以
/dev 存放设备文件
/lib 存放系统程序运 行所需的共享库
/lost+found 存放一些系统出错的检查结果
/tmp 临时
/etc 系统配置文件
/var 包含经常发生变动的文件,如邮件,日志文件,计划任务等。
/usr 存放所有命令、库、手册页等 c:\windows
/usr/local progame files
/mnt 临时文件系统的安装点 mount
/boot 内核文件及自举程序文件保存位置。
df -h
df -m
查看文件、目录大小:du
du -sh /etc 查看目录大小。
检测修复文件系统:fsck、e2fsck
判断文件类型:file
file system check fsck e2fsck
fsck -y
e2fsck -p
挂载光驱:
mount /dev/cdrom /mnt/cdrom
df
cd /mnt/cdrom
ls /mnt/cdrom
卸载光驱:
umount /mnt/cdrom
eject
添加磁盘或分区
划分分区fdisk
创建文件系统 mkfs
尝试挂载mount
写入配置文件/etc/