linux基础最新.docx
《linux基础最新.docx》由会员分享,可在线阅读,更多相关《linux基础最新.docx(19页珍藏版)》请在冰豆网上搜索。
linux基础最新
Linux基础
第一章:
基础操作
1了解linux目录结构
目录层次结构
Linux系统使用树型目录结构,在整个系统中只存在一个根目录(文件系统)
Linux系统中总是将文件系统挂载到树型目录结构中的某个目录节点中使用
根目录/
根目录分为一下目录:
/bin/sbin/home/boot/dev/proc/var/temp/usr/etc
(1)/:
根目录
(2)/bin:
存放启动时所需要的普通程序
(3)/boot:
存放内核及启动所需要的文件
(4)/dev:
存放设备相关的文件
(5)/etc:
存放系统的配置文件
(6)/home:
存放用户文件的主目录,用户数据(cd~可进入自己的主目录)
(7)/lib:
存放启动时所需要的库文件
(8)/mnt:
存放临时的映射文件,通常是一些用来安装其他设备的子目录
(9)/proc:
这是一个虚拟的文件系统,存放当前系统的状态(有关进程和系统信息)
(10)/root:
超级用户主目录
(11)/sbin:
存放启动时所需要的系统管理程序
(12)/tmp:
存放启动时产生的临时文件
(13)/usr:
包含一般不需要修改的应用程序,命令程序文件,程序库,手册
(14)/var:
存放系统产生的经常变化的文件
2文件及文件夹的基本操作
查看当前目录:
pwd(printworkingdirectory)
切换目录:
cd(changedirectory)
文件
新建:
a.新建空文件:
touch
b.利用重定向新建文件>:
删除:
rm(remove)(删除文件)
修改:
Mv(move)(移动并改名)
查看:
ls(查看目录下有没有这个文件)
查看文件里面的内容
cat/etc/inittab(直接查看到最后一页)(-n参数可以显示行号,-A显示行结束符)
more/etc/initab(一次显示一页,回车键换行,空格键换页)
less/etc/initab(一次显示一页,回车键换行,空格键换页,支持翻页键)
ls–al以详细列表形式查看所有文件及文件夹
tac/etc/inittab(从尾部向头部读,专门用于读取日志文件)
head–n20/etc/inittab查看文件头20行
tail-n20/etc/inittab查看文件尾20行
tail–f/var/log/message实时查看文件最后10的内容
其它:
cp(复制)
文件夹
新建:
mkdir(makedirectories)
删除:
rm-r(删除文件夹)
修改:
mv(移动并改名)
查找:
ls(list)(查看目录下有没有这个文件夹)
其它:
cp(copy)-r(复制)
3加强内容:
mkdir-p3/2/1/建立多层文件夹
mkdir123建立多个文件夹
ls-F|grep/只查看文件夹ls-aF|grep/|awk'BEGIN{FS="/"}{print$1}'
ls-F|grep-v/只查看文件
mv–f不出现提示,直接overwrite
rm–f不出现提示,直接删除
\cp2/1.txt3/1.txt不提示直接overwirte
\cp-r/1/*2将1文件夹内所有内容复制到2目录内,不提示直接overwirte
b-块设备文件。
d-目录。
c-字符设备文件。
p-管道文件。
l-符号链接文件。
f-普通文件。
scp主要用于网络之间的复制
示例:
scpnewFile192.168.1.156:
/root
将本地目录下newFile文件复制到192.168.1.156主机的/root目录下。
scp192.168.1.156:
/root/my.txt/root
将192.168.1.156主机的/root目录下的my.txt复制到本机的/root目录下。
scp192.168.1.156:
/root/test1.txt192.168.l.153:
/root
将192.168.1.156主机的/root目录下的test1.txt复制到192.168.l.153主机/root目录下。
find/-nameinittab
查找/目录下及子目所有inittab文件或文件夹
find/-name"ini*"
查找/目录及子目录所有含有ini的文件或文件夹
find.-name"[A-Z]*"–print
想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,
find/etc/-name"init*"-size+1k|wc–l
查找/etc/目录下,名字以init开头,且大小大于1KB的文件,并统计个数
drwxr-xr-x/root
表示/root目录创建者有读(4)写
(2)执行
(1)的权限
同组的用户读和执行的权限
其它用户读和执行的权限
chmodg+x1.txt同组中的用户加上可执行的权限
chmod4561.txt
chmod-R777temp_dir/
chown-Roracle:
admintemp_dir改变目录和子目录的属主为oracle和属组为admin
chgrp-Radmintemp_dir改变目录和子目录的属主为oracle和属组为admin
第二章:
VI编辑器
VI编辑器有三种模式:
1:
命令模式2:
文本编辑模式3:
末行模式
Vit1.txt进入的是命令模式。
命令模式-------(输入i)--------进入文本编辑模式
文本编辑模式------(按ESC键)---------命令模式
命令模式-------(:
)--------进入末行模式
末行模式------(按ESC键)---------命令模式
命令模式(定位,复制,粘贴,删除)
定位:
14G跳转到14行。
G跳转到最后行。
^跳转到行首。
$跳转到行尾
e跳转到当前字符串尾
w跳转到下一个字符串前
/字符串查找到指定字符串
复制:
yy复制当前光标所在的那一行。
y^复制当前光标到到行首。
y$复制当前光标到到行尾。
粘贴
p粘贴
删除
dd删除当前光标所在的行。
文本编辑模式(文本的输入)
末行模式(保存,退出,替换)
w保存
q退出
!
强制
r读文件
设置行号
setnu设置行号
setnonu取消行号
替换
%s/被替换的内容/替换后的内容/g(表示全部替换)
%s/被替换的内容/替换后的内容(每行第一个匹配全部替换)
17s/被替换的内容/替换后的内容/g(17行全部替换)
进阶语句:
viFileName打开文件FileName,并将光标置于第一行首。
vi+nFileName打开文件FileName,并将光标置于第n行首。
vi+FileName打开文件FileName,并将光标置于最后一行。
vi+/patternFile打开文件File,并将光标置于其中第一个
:
3,14co20将3行到14行之间的内容拷贝到第20行下。
:
n1,n2mm3将n1行到n2行之间的内容移至第n3行下。
:
n1,n2d将n1行到n2行之间的内容删除。
第三章:
用户管理
用户管理命令
adduser添加用户账号
passwd设置(更改)用户口令
userdel-r删除账户用户(及宿主目录)
usermod设置用户属性
用户账户管理实例
建立用户帐号
#adduserst01
设置用户口令
#passwdst01
设置用户帐号属性
锁定用户帐号禁止登录
#usermod-Lst01
删除用户帐号
#userdel-rst01
用户帐号相关文件和目录
用户帐号信息保存在passwd文件中
/etc/passwd
用户的加密口令保存在shadow文件中
/etc/shadow
用户的宿主目录是home目录中与用户名称相同的目录
/home/teacher
用户的初始配置文件来在skel目录(配置模版)
/etc/skel
用户帐号信息保存在passwd文件中
用户口令信息保存在shadow文件中
passwd和shadow文件保存在/etc目录中
用户组管理命令及文件
groupadd添加指定名称的用户组账户
groupdel删除指定名称的用户组账户
/etc/group/保存用户组账户信息
用户组账号管理实例
添加用户组
#groupaddclass1
在建立用户时指定用户组
#adduser-gclass1zelin
更改用户的组帐号
#usermod-gclass1zelin
删除用户组
#groupdelclass1
第四章:
应用程序安装:
安装有两种方式
1:
rpm安装
2:
源码安装
1:
rpm安装
firefox-3.0.12-1.el5_3.i386.rpm
firefox是安装包名
3.0.12-1.el5_3版本
.i38632位操作系统平台
rpm后缀
1:
rpm-ivhfirefox-3.0.12-1.el5_3.i386.rpm
安装
2:
rpm-efirefox
卸载
3:
rpm–qlfirefox
可查看安装后所有文件
4:
rpm–qfirefox
rpm–qa|grepfirefox(推荐)
查找是否安装
5:
rpm-Ufirefox-3.0.12-1.el5_3.i386.rpm
更新
6:
rpm-qf/bin/mount
查询文件/bin/mount由哪个RPM包安装
7:
rpm-qivsftpd
查询软件安装包的信息
8:
rpm–qcvsftpd
查询软件安装包的配置文件列表
(
src.rpm包的安装方法
将src.rpm包转换成rpm包再进行安装
1:
rpmbuild--rebuildvsftpd-2.0.1-5.src.rpm(rpmbuild命令一般没有安装)
生成RPM包
2:
cd/usr/src/redhat/RPMS/i386切换到目录(建议使用find命令查找)
3:
rpm–ivhvsftpd-2.0.1-5.rpm
2源码安装
(三步曲)
./configure
make
makeinstall
第五章:
系统管理
1linux系统启动过程
当用户打开PC
的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导
Linux,Linux首先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc
当完成系统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这
样就完成了从开机到登录的整个启动过程。
2系统运行级别
0:
关机
1:
单用户文本模式
2:
多用户文本模式,但无NFS网络支持
3:
多用户文本模式
4:
保留,暂未使用
5:
多用户图形化模式,(默认)
6:
重启
3:
查看当前运行状态runlevel
切换运行状态init6重启
永久改变开机后运行状态修改/etc/inittab
id:
3:
initdefault:
红色表示开机后运行级别
4:
服务
服务分为独立服务和非独立服务
chkconfig--list
列出所有服务在所有运行级别下的启动状态。
chkconfig--listwdaemon
列出wdaemon服务在所有运行级别下的启动状态。
chkconfig--list|grepwdaemon
列出wdaemon服务在所有运行级别下的启动状态。
独立服务
chkconfig--level23nfson
修改nfs服务在运行级别为23时为启动状态,不改变其它运行级别的启动状态。
非独立服务
chkconfigrmcpon
修改在rmcp服务在所有运行级别下为开启的状态,必须xinetd也是开启状态
改变服务状态
service服务名start/stop/restart
进程的操作
查看所有进程:
ps–ef
实时查看进程(CPU,MEM):
top
删除:
kiil-9PID
删除所有run.sh进程:
killallrun.sh
第六章:
定时任务
crontab–e在里面添加我们的的定时任务
crontab–l查看定时任务
第一段写分钟,第二段小时,第三段天数,
第四段月,第五段星期第六段命令。
*代表每
*****带路径的命令
表示每分都执行
15****带路径的命令
表示第小时的第15分执行
152***带路径的命令
表示每天2点时的15分执行
*/202***带路径的命令
表示每天2点时的每隔20分执行
*/202,4,6***带路径的命令
表示每天2,4,6点时的每隔20分执行
root用户的定时任务文件为
/var/spool/cron/root
第七章:
网络
1网卡的命名
eth0代表第一块网卡(Ethernet)。
eth1代表第二块网卡(Ethernet)。
Loop代表本地环回网卡。
(LocalLoopback)
2查看网卡的连接状态
Ethtooleth0
Settingsforeth0:
Supportedports:
[TP]
Supportedlinkmodes:
1000baseT/Full
Supportsauto-negotiation:
No
Advertisedlinkmodes:
Notreported
Advertisedauto-negotiation:
No
Speed:
1000Mb/s
Duplex:
Full
Port:
TwistedPair
PHYAD:
0
Transceiver:
internal
Auto-negotiation:
off
Linkdetected:
yes
表示查看第一块网卡的硬件信息。
最后一行Linkdetected:
显示了连接是否连接。
ethtool-ieth0
driver:
vmxnet
version:
2.0.1.1
firmware-version:
N/A
bus-info:
0000:
02:
00.0
表示查看网卡的驱动,firmware等信息
3查看网卡信息
ifconfig查看已连接网卡的信息
ifconfig–a查看所有网卡的信息
ifupeth0开启网卡
ifdowneth0关闭网卡
4:
配置IP信息
临时生效
ifconfigeth0192.168.1.199netmask255.255.255.0
永久生效
vi/etc/sysconfig/network-scripts/ifcfg-eth0修改IP配置信息
DEVICE=eth0指定设备名
BOOTPROTO=static指定用表态static还动态dhcpIP,
HWADDR=00:
0C:
29:
52:
8F:
B1MAC地址
ONBOOT=yesYES还是NO决定了网卡是否随便系统启动
IPADDR=192.168.1.189Ip地址
NETMASK=255.255.255.0子网掩码
GATEWAY=192.168.1.1网关
重起服务使配置生效
servicenetworkrestart
5:
配置路由信息
5.1:
查看路由信息
route
优先级,静态>动态>默认
5.2:
添加路由
routeadd–net172.168.1.0netmask255.255.255.0gw192.168.1.1
5.3:
DNS
/etc/resolv.conf
nameserver192.168.1.1指定DNS服务器
第八章:
常用操作
1:
修改系统时间
a.date–s“2011050419:
15:
00”
b.clock–systohc将系统时间写入到硬件中。
2:
修改主机名
A永久性修改
hostname你要的主机名
将/etc/sysconfig/network
HOSTNAME=修改为你要的主机名
修改/etc/hosts
127.0.0.1修改为你要的主机名
B临时性修改
hostname主机名
3:
光驱的使用
a:
挂载
mount/dev/hdc/mnt
b:
卸载
umount/dev/hdc卸载最后挂载
umount/mnt卸载指定目录挂载
4:
切换用户
su-root
一定要加中画线
cd~
切换到宿主目录。
cd../../
返回上二层目录
Clear清屏
Watch-n8ls
每隔8秒执行一次ls
Whichshutdown
返回一个命令的路径
Who
查看登录用户
WhoIam
查看当前用户
5.sedawk基本用法
sed–n‘10p’/etc/passwd
将/etc/passwd第十行打印出来
sed-n'/root/p'/etc/passwd
将/etc/passwd行中匹配字符串root打印出来
sed-n'/^root$/p'/etc/passwd
将/etc/passwd行只有root打印出来
sed加强
seds替换
sed‘s/要替换的内容/替换后的内容/g’/etc/passwd
并不一定用/表示分隔,如sed's!
/home/admin!
/home/my!
g'path.txt
sed'1s/root/root___root/2'/etc/passwd
替换第一行中的第二个匹配的内容
定位(行号定位,匹配定位)
sed'1s/root/root___root/2'/etc/passwd
s前面用1代表行号定位
cat-n/etc/passwd|sed'/root/s/root/root----------root/g'
s前面通过匹配的方法定位
cat-n/etc/passwd|sed'/^root$/s/root/root----------root/g'
s前面通过匹配的方法定位,且匹配的那行只有root
删除某行
sed‘1d’/etc/passwd
删除第一行
cat-n/etc/passwd|sed'4,5d'
删除第四第五
sed‘/root/d’/etc/passwd
删除匹配root的行
前面插入一行
sed‘1ithisismyintertingrow’
后面插入一行
sed‘1athisismyintertingrow’
改变第5行
sed‘5cthisismyintertingrow’
awk–F:
‘{print$3}’/etc/passwd
以:
为分隔打印出第三列
awk-F:
'$1=="zjf"{print$3}'/etc/passwd
以:
为分隔,且第一列为zjf时打印出第三列
awk-F:
'$1~/f/{print$1,$3}'/etc/passwd
以:
为分隔,且第一列匹配f时打印出第一,三列
awk-F:
'/f/{print$1,$3}'/etc/passwd
以:
为分隔,且行中匹配f时打印出第一,三列
cat/etc/passwd|awk-F:
'$5=="’$变量名’"{print$1,$5}'
当第5列等于变量值时,打印/etc/passwd/第一列和第五列
cat/etc/passwd|awk-F:
'$5=="MySQLServer"{print$1,$5}'
当第5列等于字符串MySQLServer时,打印/etc/passwd/第一列和第五列
cat/etc/passwd|awk-F:
'$5~/MySQL/{print$1,$5}'
当第5列匹配字符串MySQL时,打印/etc/passwd/第一列和第五列
行首删除空格
catsort1.txt|sed's/^[[:
space:
]]*//g'>sort_temp.txt
行尾删除空格
catsort1.txt|sed's/[[:
space:
]]*$//g'>sort_temp.txt
删除行首行尾的所有空格及行间的空行,
cattest.txt|sed's/^[[:
space:
]]*//g'|sed's/[[:
space:
]]*$//g'|sed'/^$/d'
6.文本格式转换
unix2dos文件名将UNIX格式文本转化为DOS文本
dos2unix文件名将DOS文本转化为UNIX文本
7.tar命令
建立归档
对文件和目录进行归档
#tar-cfmydir.tarnewDir
将newDir目录归档为mydir.tar
#tar-xfmydir.tar
将归档mydir.tar恢复为原内容
#tar–cfmyfile.tar*.txt
将当前目录下所有后缀为txt文本打包为myfile.tar
#tar-xfmyfile.tar
将归档myfile.tar恢复为原内容
压缩并归档加-z参数
对文件和目录进行压缩归档
$tar-czfmyfiles.tar.gzfiles/
tar:
命令名;czf:
命令选项:
t表示查看归档,
z表示归档文件是压缩格式,f用于指定归档文件名myfiles.tar.gz:
命令参数,归档文件名;files/:
命令参数,需要进行归档的文件或目录名
查看归档中的文件列表
查看归档文件中的目录列表
$tar-tzfmyfiles.tar.gz
查看压缩归档文件中的目录列表
$tar-tfmyfiles.tar
tar:
命令名;tzf:
命令选项:
t表示查看归档,z表示归档文件是压缩格式,f用于指定归档文件名myfiles.
tar:
命令参数,需要查看的归档文件名
tar–rfsh.tarmy.txt
将my.txt增加到sh.tar包中
tar–delete–fsh.tarmy.txt
将my.txt从sh.tar中去除