Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10804045
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:27:09

Linux学习笔记
第二章  shell 命令和用户管理
SHELL 命令解释器   bash
more /etc/shells
获得帮助的方法:
help 只能对内部命令有效    help cd
--help 只能对外部命令有效  ls --help
man /info 针对内部和外部命令。man ls /info ls
文件类型:
普通文件
目录文件
链接文件
特殊文件
绝对路径 从/开始
相对路径 从当前目录开始
. 表示当前目录
.. 表示父目录
clear  清屏
挂载外设的四步骤:
1.挂载 mount -t iso9660 /dev/cdrom /media/cdrom
2.读取挂载点 ls
3.卸载 umount /dev/cdrom 或umount /media/cdrom
4.移走外部介质
一、chown 更改文件或目录的用户所有权。
chown –R user1 dir1     将目录dir1及其下所有目录及文件的属主位都改为user1
chown root 1.txt    ;设置1.txt的属主位是root
chown .root 1.txt    ;设置1.txt的属组位是root
chown root.root –R dir1   将目录dir1及其下所有目录及文件的属主位和属组位都改为root
二、chgrp 更改文件或目录的工作组所有权
chgrp redhat file1   将文件file1的属组位改为redhat
chgrp -R redhat dir1  将目录dir1及其以下目录的属组位改为redhat
三、chmod的命令是设置文件或目录的操作权限。
chmod u+w,a+rx 1.txt  
chmod u=rwx,go-rwx 1.txt
chmod o-r,a-x 1.txt
chmod a=rwx dir1 -R  ;把目录及其下的所有文件权限都改成rwx。
或:chmod 0744 1.txt ;把文件1.txt设置为-rwxr--r--
四、用户和组
UID:0-65535
普通用户从500开始
GID:0-65535
普通组从500开始
新建用户 :adduser user1   或 useradd user1
给用户设置密码:passwd user1 
用户文件:/etc/passwd
用户密码文件:/etc/shadow
锁定用户:usermod  -L  user1
解锁用户:usermod  -U  user1
设置用户的过期时间:usermod -e 2007-04-21  user1
新建用户时直接设置过期时间:useradd -e 2007-04-21  user1
用户更改密码:用户以自己的身份登录后,直接输入passwd 后,两次输入密码即可(需要输入复杂密码)
删除用户:
userdel user1  (只删除用户信息,不删除用户主目录)
userdel -r user1 (删除用户所有信息,包括用户主目录)
组:
新建用户组:groupadd office
删除用户组:groupdel office
更改用户组:usermod -g office user1
新建用户时同时将用户加入到指定组,并赋予指定的uid号为520:
useradd -g office user1 -u 520
将用户加入到另个一个组:gpasswd -a user1 office 
将用户从指定组中删除:gpasswd -d user1 office
设置组密码:gpasswd office
组文件:/etc/group
组密码文件:/etc/gshadow
第三章 VI
编辑器分两类:
文本编辑器:记事本.  .txt  /vi /emacs /nano /
字处理程序:word
按文本可编辑范围划分:行编辑器和全屏幕编辑器
按界面划分:
字符界面编辑器(vi、emacs、nano )和图形界面编辑器(gedit)
设置行号:set number
取消行号:set nonu
图形下面的编辑器:gedit
撤消:u
重复:.或ctrl+r
cp /etc/passwd ./
ls passwd
vi passwd
练习:
一、vi的三种工作模式的切换
二、命令模式下操作:
1. 光标移动:kjhl(上下左右)0 ^ $       H L M
2. 删除操作  dd(删除当前行)、x删除单个字符 3x删除连续的三个字符
     附:替换      rx
3. 复制和粘帖 yy p P
4. 搜索字符串 /var  ?var  按n   若实现替换,需在末行模式
5. 撤消: u
6. 可视化操作  字符选中 v  行选 V ,再通过光标移动键进行选中,然后按d(删除),按y(复制)。
三、末行模式下操作:
1.相关命令
:set number  设置行号
:set nonumber  取消行号
:!ls    执行shell命令
2.行号
:1,$ w abc.txt    把1到最后一行所有内容写入文件abc.txt
:1,$ s /sbin/dogdog/g  替换操作sbin---dogdog
:3,7 d  删除3--7行内容
:.,.+4 d 删除当前行开始的5行内容。
四、多文件操作
vi a.sh b.sh c.sh
:next /prev /last /first /args (注意!)
五、gedit图形编辑器
gedit或附件--文件编辑器打开。

1. Linux的内核版本分哪两种?指出2.6.20属于哪个版本?
   开发版和稳定版、稳定版
2. 说明下列设备的含义?/dev/hda2   /dev/sda5
    第一个IDE接口的主盘第二个分区 、第一个SCSI硬盘的第一个逻辑分区
3. 使用vi编辑器进行编辑时,在末行模式中输入命令 “q!”的意思是什么?输入”wq”的意思是什么?
   不保存退出    保存退出
4. Linux缺省的文件系统是什么?
    ext3
5. 说明在Linux中获得帮助的四种方式?并举例说明之。
    help cd   / mount --help   /man mount   /info mount  
6. 说明光盘及U盘挂载和卸载的命令?
   mount -t iso9660 /dev/cdrom /media/cdrom
   umount /dev/cdrom
   umount /media/cdrom
   mount -t vfat /dev/sda  /mnt
   umount /dev/sda
   umount /mnt
7. 举例创建、删除用户和组的命令?
   useradd test   userdel -r test  groupadd group  groupdel group
8. 用户及组的三个文件是什么?
   /etc/passwd   /etc/shadow  /etc/group
9. vi的三种模式是什么,并说明其转换方法?
   命令模式   输入模式   末行模式
10. 如何在vi中设置文本行号?如何取消行号?
   :set nu/number     :set nonu/nonumber
第四章 shell脚本
bsh --- csh---ksh   ----bash
1.父子shell,如何进入子shell,如何退出子shell.
2.显示系统中可以使用的shell:more /etc/shells
  显示当前使用的shell:echo $SHELL
3.改变用户的shell:
  可以修改/etc/passwd中用户行
  或chsh(先切换到本用户,然后输入chsh,注意输入用户密码)

bash
设置别名:alias c=clear
用户自定义变量(本地变量)
设置变量:AN=hhbbbb
显示变量内容:echo $AN
取消变量(删除变量):unset AN
显示变量名及其变量内容:set
将变量设置为只读:readonly AN
显示只读变量:readonly
将本地变量导出为环境变量:export AN
或直接定义环境变量:export AN=this
位置参数变量示例:
vi ab.sh
#!/bin/bash
find /dev -name $1
find /dev -name $2
echo "$0"
ls
而后保存退出
# chmod u+x ab.sh   为脚本文件添加可执行权限
# ./ab.sh cdrom sda1 执行脚本,观察结果

a.sh
#!/bin/bash
find  /dev  -name  $1  -print
echo “$0”
echo “$1”
# chmod u+x a.sh 
# ./a.sh  cdrom    ;执行脚本
/dev/cdrom
./a.sh
cdrom
脚本  vi a.sh
#!/bin/bash
# a.sh
echo "this is a book"
ls -a /bin
echo "bye-bye!"
chmod u+x a.sh  ;将文件变为可执行
./a.sh ;执行脚本
. a.sh
bash a.sh
source a.sh
 

history   查看命令历史
history |more  分屏浏览(ctrl+c中止)
!n  执行某条命令
输入输出重定向和管道
ls -al
ls -al >a.txt  将当前目录下的文件列表保存到a.txt文件中
more a.txt  显示文件内容
echo "this is a book">a.txt
echo "that is a book">a.txt
echo "these are many books">>a.txt
touch a         新建一个空文件
ls a b >a.txt   输出重定向正确结果
ls a b 1>a.txt 2>b.txt  将正确结果保存到a.txt,错误结果保存到b.txt
ls a b >a.txt 2>>a.txt  将正确和错误结果都保存到a.txt
ls a b &>a.txt  作用同上
more /root/install.log |wc  统计install.log文件内容的行数/单词数/字符数
more /root/install.log  |grep setup 过滤install.log文件中setup相关内容行
env 显示变量
echo $USER/UID/SHELL/HOME/PWD/PATH
 
第五章   Linux应用程序安装与管理(RPM的使用)
挂载光驱(使用光盘)
mount -t iso9660 /dev/cdrom /mnt/cdrom  ;挂载光盘
umount /dev/cdrom   ;卸载光盘
umount /mnt/cdrom   ;卸载光盘
一、软件查询:
rpm -qa  ;查询系统安装的所有软件
rpm -qa |more 分页显示所有已安装的软件
rpm -qa |grep setup  ;查询是否安装过setup相关软件。
rpm -qa|wc   ;统计系统安装的软件数。
或more /root/install.log |wc
rpm -q  setup  ;查询setup是否安装
rpm -qi setup  ;查询setup软件的相关信息
rpm -ql setup  ;查询setup软件的文件列表
rpm -qf /bin/mount  ;查询mount所属的rpm包。
rpm -qpi xxx.xx.rpm  ;查询该软件包的版本信息
rpm -qpl xxx.xx.rpm  ;查询该软件包包括的文件列表
二、软件安装
先挂载光盘:mount -t iso9660 /dev/cdrom /mnt/cdrom
进入光盘的RPMS目录。
ls ;查询RPM包
rpm -ivh xxxx.rpm
rpm -q xxxx   ;查询安装后的软件
1.如果安装时,软件包A依赖于B,则先装B,再装A。
2.若安装时,软件包A、B、C循环依赖,则可以同时安装。
或:rpm --force -ivh A   rpm --force -ivh B  ...
对于上述两种情况,都可以同时安装:rpm -ivh A B C
三、软件卸载
1.如果卸载时,软件包A被B依赖,则应先卸载B,再卸载A。
2.若卸载时,软件包A、B、C循环依赖,则可以同时卸载。
或: rpm --nodeps -e A     rpm --nodeps -e B  ....
对于上述两种情况,都可以同时卸载。如rpm -e A B C
rpm -e xxxx
四、软件升级
rpm -Uvh xxx.rpm
若系统中存在低版本,则是升级安装
若系统中不存在此软件,则是安装,等同于-ivh
五、软件校验
rpm -V xxx

LINUX下软件包安装方法:
1.GZip包:tar -zxf firefox.tar.gz -C firefox/或tar -zxf firefox.tgz -C firefox/
./configure
make
make install
2.BZ2包:tar -jxf firefox.tar.bz2 -C firefox/
./configure
make
make install
3.DEB包:dpkg -i firefox.deb
4.RPM包:rpm -i firefox.rpm
prozilla-2.0.4.tar.bz2 多线程下载软件
二、开放源代码应用程序编译安装
编译应用程序前的准备工作:
1)rpm -qa |grep gcc   ;确认系统中已经安装了编译环境
2)下载相关软件程序源代码安装包文件
3)释放已下载的源代码软件包文件
(一般是.tar.bz2格式,利用tar jxfv xxx解压)
  如果是.tar.gz格式,利用tar zxfv xxx解压
编译前的配置
4)进入到解压后源码目录,进入编译前的配置,运行 ./configure --prefix=/home/redhat/soft(时间会比较长)  生成Makefile配置文件
编译与安装:
5)程序编译过程:执行make 命令进行程序的二进制编译(时间比前者可以还长)
6)程序安装过程:make install 将按照configure命令的“—prefix”选项中设定的安装路径将已编译完成的应用程序安装到目标目录。 
7)验证编译安装的程序:进入指定的目标目录执行相应的文件即可。
 下载验证:./proz
第六章 系统管理
任务一:(管理运行级别)
init进程是系统的1号进程
/etc/inittab配置文件
? id:5:initdefault    默认的启动级别
runlevel 查看当前系统的运行级别
init 3  将运行级别改为3
init 5  将运行级别改为5
通过修改/etc/inittab来更改系统启动时的运行级别
任务二:(管理服务)
独立服务:/etc/rc.d/init.d/下
chkconfig --list
chkconfig --list |grep nfs
chkconfig --list nfs
chkconfig --level 25 kudzu on
chkconfig --list kudzu   观察变化
非独立服务:
chkconfig time on|off
chkconfig --list time
service nfs status(运行状态)
service nfs stop|start|restart
任务三:(管理进程)
ps -aux  或 ps aux |more
top
pstree
可以事先运行top 或vi aaa.txt作验证
ctrl + z 可以把当前运行的某个进程调入后台
jobs查看后台进程
fg 1 把后台相应进程调入到前台
强制结束当前的进程:ctrl+c
或kill [-9] pid  (pid的获得可通过ps aux)
或killall [-9] name
任务四:(管理计划任务)
cron
rpm -q vixie-cron
rpm -ql vixie-cron
chkconfig --list crond
service crond status|stop|start|restart
设置定时任务
crontab 或crontab -e
* * * * * touch aaaabbbb     ;在当前目录下每隔一分钟建一个文件aaaabbbb
按ctrl+d结束
查看定时任务:crontab -l或more /var/spool/cron/root(假如是用户root的定时任务)
删除定时任务:crontab -r
实例:
每隔四个小时运行一次ping命令
0  0,4,8,12,16,20  *  *  *  /usr/bin/ping host
每个星期五晚上的10:00运行程序
0  22  *  *  5  /usr/local/scripts/backup_level_0
在四月一日(不管是星期几)早晨4:01发一份电邮
1  4  1  4  *  /bin/mail 
< /home/new
附加:
at  一次性执行某任务
at -t 05070932
>touch filefile
>touch filefile1
ctrl + d结束输入
输入atq可以查看未执行的at进程
at -t 07201012
>rm mydate
>ctrl d
atrm 6 删除刚才的任务。

任务五:查看日志文件
/var/log/下会存在N多的日志文件
more /var/log/message (根据实际情况)
分析每行各列的含义。
任务六:文件存档和压缩
存档(不压缩):
tar cfv xxx.tar xxx   生成存档文件  注意格式(先目的文件,再源文件)
tar tfv xxx.tar       查看存档文件内容
tar xfv xxx.tar       释放存档文件
压缩备件:
tar cfvz  xxx.tar.gz  xxx  生成压缩文件
tar tfvz  xxx.tar.gz       查看压缩文件内容
tar xfvz  xxx.tar.gz       释放压缩文件
file xxx.tar
file xxx.tar.gz   查看文件类型
tar xzf backup.file -C mkdir 把压缩文件恢复到指定的目录中。
注:这个目录必须事先建立。
tar xvfj linux-2.4.24.tar.bz2   对于bz2的文件的释放命令
任务七:磁盘配额
rpm -q quota 或rpm -qa |grep quota (查询软件是否安装,默认安装)
1.修改fstab文件,在需要启动配额的装载分区添加usrquota和grpquota选项
   vi /etc/fstab
2.运行reboot命令重新启动挂载文件系统  此时输入mount查看分区状态
3.使用quotacheck –cmug 相应磁盘配额分区  命令为相应分区生成配额文件。(根据情况可加-f)
此时可运行ls来查看磁盘配额挂载点目录下是否存在两个磁盘配额数据库文件(aquota.group和aquota.user)。
4.运行quotaon -a 命令激活实施磁盘配额的分区
5.使用edquota命令分别为用户和组设置配额,如用-u为用户设置配额,用-g为组设置配额。
edquota -u user1     edquota -g group1
   切换到该普通用户,向设置磁盘配额的分区复制一些文件。输入quota来查看配额情况。或如下回到root用户后,再如下做:
6.运行quota -u user1或quota -g group分别查看用户及组的配额设置情况。
附加:
repquota -a 显示所有用户的配额情况
edquota -t 修改磁盘配额超限后可使用的时间。
edquota -u new -p old 把old用户的配额复制到new
示例:
1)vi /etc/fstab
2)reboot    启动后输入mount查看分区状态
3)quotacheck -cumg /   如果针对根分区实施磁盘配额的话
4) quotaon -a   此时输入ls / 来查看根分区下是否有两个数据库文件
5) edquota -u test  针对用户test实施磁盘配额
6) su - test  切换到test用户后,执行cp /bin/* .  向其目录下复制文件。
7) quota 查看配额情况。或切换到root,输入quota -u test来查看配额情况。

进入图形桌面的方式:
1. startx
2. 修改配置文件:/etc/inittab
7个终端:
F1-F6 是字符终端
F7 是图形终端 
Ctrl+Alt+F1  进入F1终端
Alt + F7 进入图形
 

1、从光盘制作ISO文件
cp /dev/cdrom mycd.iso
2、从现有目录文件制作ISO文件makeisofs
makeisofs /dir mycd.iso
3、读取ISO镜像中的文件 -o loop
Mount -o loop mycd.iso /mnt/cdrom
4、把ISO文件刻录到光盘  cdrecord
cdrecord –v -eject speed=8 dev=0,1,0 test.iso

第七章 网络配置
网络的相关配置:IP、子网掩码、网关、DNS、主机名
一、显示各项内容(管理员和普通用户:全路径)/sbin/ifconfig
# ifconfig IP/子网掩码/MAC
# route  网关和路由表
# nslookup  DNS
# hostname  主机名
# ping (测试网络连通性)
# traceroute 路由跟踪
二、通过命令临时配置,即时生效,重启丢失。
# ifconfig eth0 x.x.x.x netmask 255.255.0.0
# route add|del default gw x.x.x.x
# nslookup
>server x.x.x.x
>
# hostname xxxx
三、通过修改配置文件,永久生效。
1. /etc/sysconfig/network-scripts/ifcfg-eth0   IP、网关、掩码
2. /etc/hosts   本机解析文件
3. /etc/resolv.conf  域名解析文件
4. /etc/sysconfig/network  主机名配置文件
netconfig  1/3
service network restart
ifdown eth0;ifup eth0
附:如何使用ADSL上网?
1. 先查询软件是否安装?rpm -qa |grep ppp
2. 字符方式下操作:# adsl-setup
3. 图形方式下操作:gnome为例:system->administration>network。然后new一个新的连接,选择其中的xDSL类型。剩下的看提示就可以了。
阅读(1176) | 评论(0) | 转发(0) |
0

上一篇:新年第一镖

下一篇:linux FTP 配置

给主人留下些什么吧!~~