最基本的是cat、more和less。
1. 如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
2. 如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd 或 tail -n 10 /etc/passwd
tail -f /var/log/messages
参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止!
3. 查看文件中间一段,你可以使用sed命令,如:
sed -n '5,10p' /etc/passwd
这样你就可以只查看文件的第5行到第10行。
tail
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
或者
tail [ -r ] [ -n Number ] [ File ]
使用说明:
tail 命令从指定点开始将 File 参数指定的文件写到标准输出。如果没有指定文件,则会使用标准输入。 Number 变量<br />指定将多少单元写入标准输出。 Number 变量的值可以是正的或负的整数。如果值的前面有 +(加号),从文件开头<br />指定的单元数开始将文件写到标准输出。如果值的前面有 -(减号),则从文件末尾指定的单元数开始将文件写到<br />标准输出。如果值前面没有 +(加号)或 -(减号),那么从文件末尾指定的单元号开始读取文件。
主要参数:
-b Number 从 Number 变量表示的 512 字节块位置开始读取指定文件。 -c Number 从 Number 变量表示的字节位置开始读取指定文件。 -f 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出), 那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续 从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数, 并且标准输入是管道,则会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在 写入的文件的增长。 -k Number 从 Number 变量表示的 1KB 块位置开始读取指定文件。 -m Number 从 Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在 单字节和双字节字符代码集环境中的一致结果。 -n Number 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。 -r 从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式显示整个文件。 如果文件大于 20,480 字节,那么-r标志只显示最后的 20,480 字节。 -r 标志只有 与 -n 标志一起时才有效。否则,就会将其忽略。 input tail -b +1 file tail -c +1 file tail -n +2 file//从开始数第二行的位置
ls
ls [list]
这个命令就相当于dos下的dir命令一样,这也是Linux控制台命令中最为重要几个命令之一。ls最常用的参数有三个: -a -l -F。
ls -a
Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。
ls -l(这个参数是字母L的小写,不是数字1)
这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):
位置1 2 3 4 5 6 7
文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
下面,我为大家解释一下这些显示内容的意义。
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb来显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。
ls –F(注意,是大写的F)
使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。
cd
cd [change directory]
这个命令是用来进出目录的,它的使用方法和在dos下没什么两样,所以我觉得没什么可说的,但有两点我补充一下。首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,那就是回到/root.这个功能同cd ~是一样的。
mkdir、rmdir
mkdir [make directory] rmdir [remove directory]
mkdir命令用来建立新的目录,rmdir用来删除已建立的目录,这两个指令的功能不再多加介绍,他们同dos下的md,rd功能和用法都是基本一样的。
cp
cp [copy]
这个命令相当于dos下面的copy命令,具体用法是:cp –r 源文件(source) 目的文件(target)
参数r是指连同源文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。
rm
rm [remove]
这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。rm命令常用的参数有三个: -i,-r,-f。
比如我现在要删除一个名字为test的一个文件:rm –i test
系统会询问我们:“rm:remove ‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。
rm –r 目录名:这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。
rm –f 文件名(目录名):这个操作可以进行强制删除。
mv
mv [move]
这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。如果你想给一个文件或目录重命名时可以用以下方法:mv 原文件名(目录) 新的文件名(目录)。
du,df
du [disk usage]
du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况(这个功能可是dos没有的呦)。不过我一般不喜欢用du,因为它给出的信息是在是太多了,我看不过来,而df这个命令我是最常用的,因为磁盘上还剩多少空间对我来说是很重要的。
cat
cat[concatenate]
这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下:
cat text 显示text这个文件;
cat file1 file2 依顺序显示file1,file2的内容;
cat file1 file2>file3 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。
“〉”是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。如果〉左边没有文件的名称,而右边有文件名,例如:
cat >file1:结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。
另外,如果你使用如下的指令:
cat file1>>file2:这将变成将file1的文件内容“附加”到file2的文件后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。
more,less
这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。
pwd
pwd [print working directory]
pwd [--help][--version]
说明:执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。
clear
这个命令是用来清除屏幕的,它不需要任何参数,和dos下面的cls具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。
ln
ln[link]
这是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln 源文件 –s 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln /bin/less –s /usr/local/bin/less
-s 是代号(symbolic)的意思。
这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接有软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。
grep
用于查找文件中符合字符串的那行。
e.g. grep -nr "network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有 network_ssl该字串的行,并显示行号]
参数说明: -a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
find
$ find . -name "*.txt" -print 用于查找所有的‘ *.txt’文件在当前目录及子目录中;
$ find . -name "[A-Z]*" -print 用于当前目录及子目录中查找文件名以一个大写字母开头的文件;
$ find /etc -name "host*" -print 在/etc目录中查找文件名以host开头的文件;
$find . -name "[a-z][a-z][0--9][0--9].txt" -print 在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件;
1、find命令的一般形式为;
find pathname -options [-print -exec -ok ...]
2、find命令的参数;
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
3、find命令选项
-name
按照文件名查找文件。
-perm
按照文件权限来查找文件。
-prune
使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user
按照文件属主来查找文件。
-group
按照文件所属的组来查找文件。
-mtime -n +n
按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup
查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser
查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2
查找更改时间比文件file1新但比文件file2旧的文件。
-type
查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount:在查找文件时不跨越文件系统mount点。
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
另外,下面三个的区别:
-amin n
查找系统中最后N分钟访问的文件
-atime n
查找系统中最后n*24小时访问的文件
-cmin n
查找系统中最后N分钟被改变文件状态的文件
-ctime n
查找系统中最后n*24小时被改变文件状态的文件
-mmin n
查找系统中最后N分钟被改变文件数据的文件
-mtime n
查找系统中最后n*24小时被改变文件数据的文件
ar
功能说明:建立或修改备存文件,或是从备存文件中抽取文件。
语 法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]
补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。
参 数:
指令参数
-d 删除备存文件中的成员文件。
-m 变更成员文件在备存文件中的次序。
-p 显示备存文件中的成员文件内容。
-q 将文件附加在备存文件末端。
-r 将文件插入备存文件中。
-t 显示备存文件中所包含的文件。
-x 自备存文件中取出成员文件。
选项参数
a<成员文件> 将文件插入备存文件中指定的成员文件之后。
b<成员文件> 将文件插入备存文件中指定的成员文件之前。
c 建立备存文件。
f 为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。
i<成员文件> 将问家插入备存文件中指定的成员文件之前。
o 保留备存文件中文件的日期。
s 若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。
S 不产生符号表。
u 只将日期较新文件插入备存文件中。
v 程序执行时显示详细的信息。
rpm
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件,与Dpkg类似。
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
常用rpm命令
查询rpm软件包
#rpm -q 软件包名
#rpm -qa //查询安装的所有软件包
#rpm -qa|grep 软件包字符串
#rpm -qf /bin/命令 //查询命令由哪些软件包安装得到
#rpm -qi 软件包名 //查询软件包的详细信息
#rpm -ql 软件包名 //查询软件包的安装位置
软件包的安装
#rpm -ivh 软件包
软件包的升级
#rpm -Uvh 软件包
软件包的卸载
#rpm -e 软件包名
文件打包
#tar -cvf [文件名.tar] [文件……目录]
查看包文件的内容
#tar -tf 文件名.tar
向已有的包中添加新文件
#tar -rvf [文件名.tar] [新文件……]
释放包文件#tar -xvf 文件名.tar
压缩文件#gzip 文件名
解压缩文件
#gzip -d 文件名.gz 或#gunzip 文件名.gz
创建压缩包
#tar -zcvf [文件名.tar.gz] [文件1 文件2 …]
查看压缩包中的内容
#tar -ztf 文件名.tar.gz
释放压缩包
#tar -zxvf 文件名.tar.gz
mount,umount
mount是Linux下的一个命令,它可以将分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了,在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。
注意事项
1、必须将光盘、U盘等放入驱动器在实施挂载操作
2、不能在挂载目录下实施挂载操作,至少在上一级
3、不能在同一目录下挂载两个以上的文件系统
4、Linux预留挂载目录为/mnt
5、不能在挂载目录下实施卸载操作
6、挂载目录必须事先存在
挂载光盘
#mount -t iso9660 /dev/cdrom /mnt/cdrom
卸载光盘
#umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject
挂载U盘
#mount /dev/sdb1 /mnt/usb
挂载iso镜像
#mount -t iso9660 -o loop iso镜像文件 /mnt/cdrom
[编辑本段]
用户和组管理
#useradd 用户名 //创建用户和组
#passwd 用户名 //设置用户密码
#groupadd 组名 //创建组
#usermod –d 路径 用户名 //修改用户宿主目录
#usermod –u uid 用户名 //修改用户的UID
#usermod -s /bin/[csh] 用户名 //修改用户启动shell
#usermod -G 组名 用户名 //将用户加入组, 创建私有组
#usermod -g 组名 用户名 //用户加入组但不创建私有组
#gpasswd -a 用户名 组名 //同-G
#gpasswd -d 用户名 组名 //将用户从组中删除
#gpasswd -A 用户名 组名 //指定用户成为组的管理员
#usermod -L 用户名 //锁定用户#passwd -l 用户名 //同上
#usermod -U 用户名 //解锁用户#passwd -u 用户名 //同上
#usermod -l 新名 原名 //重命名用户
#groupmod -n 新名 原名 //重命名组
#userdel 用户名 //删除用户#userdel –r 用户名 //彻底删除,包括用户的宿主目录
#groupdel 组名 //删除组
#passwd -d 用户名 /删除用户密码/
进程及服务管理
查看进程
#ps -aux //查看所有进程(静态)
#top //查看动态变化的进程
#pstree //查看进程树
将进程放在后台运行
#命令 &
查看后台运行的进程
#jobs
将后台运行的进程调入前台
#fg 编号
强制结束进程
#kill -9 PID 或#killall -9 进程名
init进程是所有进程的父进程其级别如下
0 关机
1 单用户
2 多用户字符,但是不支持NFS
3 完全多用户字符
4 用户自定义
5 图形
6 重启
查看服务启动情况(独立启动方式)
#chkconfig --list //查看所有服务的启动状态
#chkconfig --list httpd
设置独立启动服务
#chkconfig --level 35 httpd on或off
设置非独立启动服务
#chkconfig telnet on或off#service xinetd restart
设置服务在开机时自动运行
#ntsysv
网卡设置
1、 设置ip地址(即时生效,重启失效)
#ifconfig eth0 ip地址 netmask 子网掩码
2、 设置ip地址(重启生效,永久生效)
#setup
3、 通过配置文件设置ip地址(重启生效,永久生效)
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #设备名,与文件同名。
ONBOOT=yes #在系统启动时,启动本设备。
BOOTPROTO=static
IPADDR=202.118.75.91 #此网卡的IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=202.118.75.1 #网关IP
MACADDR=00:02:2D:2E:8C:A8 #mac地址
4、 重启网络服务
#service network restart //重启所有网卡
5、 禁用网卡,启动网卡
#ifdown eth0
#ifup eth0
6、 屏蔽网卡,显示网卡
#ifconfig eth0 down
#ifconfig eth0 up
7、 配置DNS客户端(最多三个)
#vi /etc/resolv.conf
nameserver 202.99.96.68
8、更改主机名(即时生效)
#hostname 主机名
9、更改主机名(重启计算机生效,永久生效)
#vi /etc/sysconfig/network
HOSTNAME=主机名
FTP服务
1 使用setup命令开启vsftpd服务进程。
2然后修改文件/etc/xinetd.d/vsftpd。(但vsftpd是依附于xinetd.d运行时2、3有效)
(1)把disable=yes改为=no。
(2)配置每个客户机的最大连接数:
在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句:
per_source = 数值。例如:per_source = 5 表示每个客户机的最大连接数为5。
(3) 配置服务器总的并发连接数:
在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句:
instances = 数值。例如:instances = 200 表示FTP 服务器总共支持的最高连接数为200。
(4)当vsftpd单独运行时:要配置独立运行的vsftpd很简单,只需要在前面的主配置文件的基础上添加如下的配置即可。
设置listen=YES :指明vsftpd 以独立运行方式启动。
设置max_clients=200 :指明服务器总的并发连接数
设置max_per_ip=4 :指明每个客户机的最大连接数。
3. 配置/etc/vsftpd.conf(redhat9 是/etc/vsftpd/vsftpd.conf)文件。
# 允许真实用户(在系统中有账号的用户)访问
local_enable=YES
# 给真实用户写权限
write_enable=YES
# 真实用户上传文件的掩码设为022。这样真实用户上传后的文件权限为755(rwxr-xr-x),即文件所有者可读写执行、同组成员可读可执行、
# 系统中的其它用户可读可执行。
local_umask=022
# 允许匿名用户访问。匿名用户在系统中的账号是ftp
anonymous_enable=YES
# 匿名用户上传文件的掩码设为000。这样文件上传后的权限为777(rwxrwxrwx),即所有人都可以读写执行。
anon_umask=000
# 匿名用户可上传、可创建目录。一下3行只有设置了write_enable=YES才有效。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
# 如果想要让匿名用户有删除的权限可以加上如下代码
# anon_other_write_enable=YES
# 进入每个目录都显示特定提示。这些提示放在各个目录下.message文件中。
dirmessage_enable=YES
# 当用户登陆ftp服务器时,不管是否登陆成功都显示如下信息。
ftpd_banner=Welcome to NiHao FTP service.
# 使用日志记录上传和下载。
xferlog_enable=YES
# 日志文件的位置
#xferlog_file=/var/log/vsftpd.log
# 日志使用标准fpd格式
xferlog_std_format=YES
# ftp服务的端口是20
connect_from_port_20=YES
# 用户使用ftp访问服务器时,把他们的登陆目录作为它们在ftp中看到的目录,这称为chroot。
# 这样用户就无法访问他们登陆目录以外的内容,大大增强了安全性。匿名用户的登陆目录是/var/ftp/
chroot_list_enable=YES
# 文件/etc/vsftpd.chroot_list中的用户不chroot。
chroot_list_file=/etc/vsftpd.chroot_list
# 同时最多允许5个用户登陆。
max_clients=5 #有些不支持此选项,注释掉即可。
# ftp服务的密码验证模块。
pam_service_name=vsftpd
# listen=YES #如果是独立运行的则加此项(redhat9)。
#tcp_wrappers=YES #如果是独立运行的则加此项(redhat9)。
4.重新启动xinetd服务,你就可以匿名访问你的ftp服务器了。
下面我们来建立一个ftp管理员账号
在Linux ftp服务中,用户的权限受到双重限制。一是Linux文件系统本身的权限限制。每个文件的访问权限用rwxrwxrwx形势表示。每个用户只能做文件全县允许的操作。二是ftp配置的限制。系统允许的操作,如果在ftp的配置文件中没有被允许,用户还是不能作这个操作。如:某个文件的权限为rwxrwxrwx,即系统认为任何人都有读写执行的权利。如果vsftpd.conf中不允许匿名用户写,匿名用户还是不能修改这个问安。
对于目录文件的读权限,意味着可以读出这个目录中的文件信息。目录文件的写权限,意味着可以在这个目录下建立、删除、重命名文件。
用命令groupadd -r ftpAdmin添加一个ftp管理员组。其中-r表示这是一个系统组。
用命令useradd -c "ftp Administrator" -d /var/ftp/ -G ftpAdmin -s /sbin/nologin -r ftpAdmin添加一个管理员用户ftpAdmin。其中
-c "ftp Administrator" 是对这个用户的描述
-d /var/ftp/ 是这个用户的登陆目录
-g ftpAdmin 是这个用户所在的组
-s /sbin/nologin 是这个用户登陆时所用的shell。这个shell命令的功能极其弱,以至于不能用telnet登陆。也就是说这个管理员只能当当垃圾清扫员。(呵呵。好没面子的管理员)
-r 表示这是个系统账号,不用为它建立登陆目录。
建好管理员以后把incoming目录的管理权给他。
chown ftpAdmin /var/ftp/incoming :把此目录所有者设为ftpAdmin。
chmod 755 /var/ftp/incoming :把目录的权限设为所有者可读写执行,同组用户可读、可执行,所有人可读、可执行。
这样,我们的管理员就可以开始管理了。
5 . 配置vsftpd 允许匿名用户上传
//修改vsftpd 的主配置文件/etc/vsftpd.conf
# vi /etc/vsftpd.conf
//将如下两行前的#删除
//① #anon_upload_enable=YES 允许匿名用户上传
//② #anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的权限
//若要以上两项设置生效,同时还要求:
//(1) write_enable=YES
//(2) 匿名用户对文件系统的上传目录具有写权限
//添加如下的配置语句
// anon_world_readable_only=NO
//上面的配置语句用于放开匿名用户的浏览权限
//修改后存盘退出vi
//
//创建匿名上传目录
# mkdir /var/ftp/incoming
# 修改上传目录的权限
# chmod o+w /var/ftp/incoming/
#
//重新启动xinetd
# service xinetd restart
1. 如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
2. 如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd 或 tail -n 10 /etc/passwd
tail -f /var/log/messages
参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止!
3. 查看文件中间一段,你可以使用sed命令,如:
sed -n '5,10p' /etc/passwd
这样你就可以只查看文件的第5行到第10行。
tail
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
或者
tail [ -r ] [ -n Number ] [ File ]
使用说明:
tail 命令从指定点开始将 File 参数指定的文件写到标准输出。如果没有指定文件,则会使用标准输入。 Number 变量<br />指定将多少单元写入标准输出。 Number 变量的值可以是正的或负的整数。如果值的前面有 +(加号),从文件开头<br />指定的单元数开始将文件写到标准输出。如果值的前面有 -(减号),则从文件末尾指定的单元数开始将文件写到<br />标准输出。如果值前面没有 +(加号)或 -(减号),那么从文件末尾指定的单元号开始读取文件。
主要参数:
-b Number 从 Number 变量表示的 512 字节块位置开始读取指定文件。 -c Number 从 Number 变量表示的字节位置开始读取指定文件。 -f 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出), 那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续 从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数, 并且标准输入是管道,则会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在 写入的文件的增长。 -k Number 从 Number 变量表示的 1KB 块位置开始读取指定文件。 -m Number 从 Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在 单字节和双字节字符代码集环境中的一致结果。 -n Number 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。 -r 从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式显示整个文件。 如果文件大于 20,480 字节,那么-r标志只显示最后的 20,480 字节。 -r 标志只有 与 -n 标志一起时才有效。否则,就会将其忽略。 input tail -b +1 file tail -c +1 file tail -n +2 file//从开始数第二行的位置
ls
ls [list]
这个命令就相当于dos下的dir命令一样,这也是Linux控制台命令中最为重要几个命令之一。ls最常用的参数有三个: -a -l -F。
ls -a
Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。
ls -l(这个参数是字母L的小写,不是数字1)
这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):
位置1 2 3 4 5 6 7
文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
下面,我为大家解释一下这些显示内容的意义。
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb来显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。
ls –F(注意,是大写的F)
使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。
cd
cd [change directory]
这个命令是用来进出目录的,它的使用方法和在dos下没什么两样,所以我觉得没什么可说的,但有两点我补充一下。首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,那就是回到/root.这个功能同cd ~是一样的。
mkdir、rmdir
mkdir [make directory] rmdir [remove directory]
mkdir命令用来建立新的目录,rmdir用来删除已建立的目录,这两个指令的功能不再多加介绍,他们同dos下的md,rd功能和用法都是基本一样的。
cp
cp [copy]
这个命令相当于dos下面的copy命令,具体用法是:cp –r 源文件(source) 目的文件(target)
参数r是指连同源文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。
rm
rm [remove]
这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。rm命令常用的参数有三个: -i,-r,-f。
比如我现在要删除一个名字为test的一个文件:rm –i test
系统会询问我们:“rm:remove ‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。
rm –r 目录名:这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。
rm –f 文件名(目录名):这个操作可以进行强制删除。
mv
mv [move]
这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。如果你想给一个文件或目录重命名时可以用以下方法:mv 原文件名(目录) 新的文件名(目录)。
du,df
du [disk usage]
du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况(这个功能可是dos没有的呦)。不过我一般不喜欢用du,因为它给出的信息是在是太多了,我看不过来,而df这个命令我是最常用的,因为磁盘上还剩多少空间对我来说是很重要的。
cat
cat[concatenate]
这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下:
cat text 显示text这个文件;
cat file1 file2 依顺序显示file1,file2的内容;
cat file1 file2>file3 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。
“〉”是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。如果〉左边没有文件的名称,而右边有文件名,例如:
cat >file1:结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。
另外,如果你使用如下的指令:
cat file1>>file2:这将变成将file1的文件内容“附加”到file2的文件后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。
more,less
这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。
pwd
pwd [print working directory]
pwd [--help][--version]
说明:执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。
clear
这个命令是用来清除屏幕的,它不需要任何参数,和dos下面的cls具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。
ln
ln[link]
这是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln 源文件 –s 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln /bin/less –s /usr/local/bin/less
-s 是代号(symbolic)的意思。
这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接有软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。
grep
用于查找文件中符合字符串的那行。
e.g. grep -nr "network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有 network_ssl该字串的行,并显示行号]
参数说明: -a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
find
$ find . -name "*.txt" -print 用于查找所有的‘ *.txt’文件在当前目录及子目录中;
$ find . -name "[A-Z]*" -print 用于当前目录及子目录中查找文件名以一个大写字母开头的文件;
$ find /etc -name "host*" -print 在/etc目录中查找文件名以host开头的文件;
$find . -name "[a-z][a-z][0--9][0--9].txt" -print 在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件;
1、find命令的一般形式为;
find pathname -options [-print -exec -ok ...]
2、find命令的参数;
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
3、find命令选项
-name
按照文件名查找文件。
-perm
按照文件权限来查找文件。
-prune
使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user
按照文件属主来查找文件。
-group
按照文件所属的组来查找文件。
-mtime -n +n
按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup
查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser
查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2
查找更改时间比文件file1新但比文件file2旧的文件。
-type
查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount:在查找文件时不跨越文件系统mount点。
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
另外,下面三个的区别:
-amin n
查找系统中最后N分钟访问的文件
-atime n
查找系统中最后n*24小时访问的文件
-cmin n
查找系统中最后N分钟被改变文件状态的文件
-ctime n
查找系统中最后n*24小时被改变文件状态的文件
-mmin n
查找系统中最后N分钟被改变文件数据的文件
-mtime n
查找系统中最后n*24小时被改变文件数据的文件
ar
功能说明:建立或修改备存文件,或是从备存文件中抽取文件。
语 法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]
补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。
参 数:
指令参数
-d 删除备存文件中的成员文件。
-m 变更成员文件在备存文件中的次序。
-p 显示备存文件中的成员文件内容。
-q 将文件附加在备存文件末端。
-r 将文件插入备存文件中。
-t 显示备存文件中所包含的文件。
-x 自备存文件中取出成员文件。
选项参数
a<成员文件> 将文件插入备存文件中指定的成员文件之后。
b<成员文件> 将文件插入备存文件中指定的成员文件之前。
c 建立备存文件。
f 为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。
i<成员文件> 将问家插入备存文件中指定的成员文件之前。
o 保留备存文件中文件的日期。
s 若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。
S 不产生符号表。
u 只将日期较新文件插入备存文件中。
v 程序执行时显示详细的信息。
rpm
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件,与Dpkg类似。
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
常用rpm命令
查询rpm软件包
#rpm -q 软件包名
#rpm -qa //查询安装的所有软件包
#rpm -qa|grep 软件包字符串
#rpm -qf /bin/命令 //查询命令由哪些软件包安装得到
#rpm -qi 软件包名 //查询软件包的详细信息
#rpm -ql 软件包名 //查询软件包的安装位置
软件包的安装
#rpm -ivh 软件包
软件包的升级
#rpm -Uvh 软件包
软件包的卸载
#rpm -e 软件包名
文件打包
#tar -cvf [文件名.tar] [文件……目录]
查看包文件的内容
#tar -tf 文件名.tar
向已有的包中添加新文件
#tar -rvf [文件名.tar] [新文件……]
释放包文件#tar -xvf 文件名.tar
压缩文件#gzip 文件名
解压缩文件
#gzip -d 文件名.gz 或#gunzip 文件名.gz
创建压缩包
#tar -zcvf [文件名.tar.gz] [文件1 文件2 …]
查看压缩包中的内容
#tar -ztf 文件名.tar.gz
释放压缩包
#tar -zxvf 文件名.tar.gz
mount,umount
mount是Linux下的一个命令,它可以将分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了,在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。
注意事项
1、必须将光盘、U盘等放入驱动器在实施挂载操作
2、不能在挂载目录下实施挂载操作,至少在上一级
3、不能在同一目录下挂载两个以上的文件系统
4、Linux预留挂载目录为/mnt
5、不能在挂载目录下实施卸载操作
6、挂载目录必须事先存在
挂载光盘
#mount -t iso9660 /dev/cdrom /mnt/cdrom
卸载光盘
#umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject
挂载U盘
#mount /dev/sdb1 /mnt/usb
挂载iso镜像
#mount -t iso9660 -o loop iso镜像文件 /mnt/cdrom
[编辑本段]
用户和组管理
#useradd 用户名 //创建用户和组
#passwd 用户名 //设置用户密码
#groupadd 组名 //创建组
#usermod –d 路径 用户名 //修改用户宿主目录
#usermod –u uid 用户名 //修改用户的UID
#usermod -s /bin/[csh] 用户名 //修改用户启动shell
#usermod -G 组名 用户名 //将用户加入组, 创建私有组
#usermod -g 组名 用户名 //用户加入组但不创建私有组
#gpasswd -a 用户名 组名 //同-G
#gpasswd -d 用户名 组名 //将用户从组中删除
#gpasswd -A 用户名 组名 //指定用户成为组的管理员
#usermod -L 用户名 //锁定用户#passwd -l 用户名 //同上
#usermod -U 用户名 //解锁用户#passwd -u 用户名 //同上
#usermod -l 新名 原名 //重命名用户
#groupmod -n 新名 原名 //重命名组
#userdel 用户名 //删除用户#userdel –r 用户名 //彻底删除,包括用户的宿主目录
#groupdel 组名 //删除组
#passwd -d 用户名 /删除用户密码/
进程及服务管理
查看进程
#ps -aux //查看所有进程(静态)
#top //查看动态变化的进程
#pstree //查看进程树
将进程放在后台运行
#命令 &
查看后台运行的进程
#jobs
将后台运行的进程调入前台
#fg 编号
强制结束进程
#kill -9 PID 或#killall -9 进程名
init进程是所有进程的父进程其级别如下
0 关机
1 单用户
2 多用户字符,但是不支持NFS
3 完全多用户字符
4 用户自定义
5 图形
6 重启
查看服务启动情况(独立启动方式)
#chkconfig --list //查看所有服务的启动状态
#chkconfig --list httpd
设置独立启动服务
#chkconfig --level 35 httpd on或off
设置非独立启动服务
#chkconfig telnet on或off#service xinetd restart
设置服务在开机时自动运行
#ntsysv
网卡设置
1、 设置ip地址(即时生效,重启失效)
#ifconfig eth0 ip地址 netmask 子网掩码
2、 设置ip地址(重启生效,永久生效)
#setup
3、 通过配置文件设置ip地址(重启生效,永久生效)
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #设备名,与文件同名。
ONBOOT=yes #在系统启动时,启动本设备。
BOOTPROTO=static
IPADDR=202.118.75.91 #此网卡的IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=202.118.75.1 #网关IP
MACADDR=00:02:2D:2E:8C:A8 #mac地址
4、 重启网络服务
#service network restart //重启所有网卡
5、 禁用网卡,启动网卡
#ifdown eth0
#ifup eth0
6、 屏蔽网卡,显示网卡
#ifconfig eth0 down
#ifconfig eth0 up
7、 配置DNS客户端(最多三个)
#vi /etc/resolv.conf
nameserver 202.99.96.68
8、更改主机名(即时生效)
#hostname 主机名
9、更改主机名(重启计算机生效,永久生效)
#vi /etc/sysconfig/network
HOSTNAME=主机名
FTP服务
1 使用setup命令开启vsftpd服务进程。
2然后修改文件/etc/xinetd.d/vsftpd。(但vsftpd是依附于xinetd.d运行时2、3有效)
(1)把disable=yes改为=no。
(2)配置每个客户机的最大连接数:
在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句:
per_source = 数值。例如:per_source = 5 表示每个客户机的最大连接数为5。
(3) 配置服务器总的并发连接数:
在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句:
instances = 数值。例如:instances = 200 表示FTP 服务器总共支持的最高连接数为200。
(4)当vsftpd单独运行时:要配置独立运行的vsftpd很简单,只需要在前面的主配置文件的基础上添加如下的配置即可。
设置listen=YES :指明vsftpd 以独立运行方式启动。
设置max_clients=200 :指明服务器总的并发连接数
设置max_per_ip=4 :指明每个客户机的最大连接数。
3. 配置/etc/vsftpd.conf(redhat9 是/etc/vsftpd/vsftpd.conf)文件。
# 允许真实用户(在系统中有账号的用户)访问
local_enable=YES
# 给真实用户写权限
write_enable=YES
# 真实用户上传文件的掩码设为022。这样真实用户上传后的文件权限为755(rwxr-xr-x),即文件所有者可读写执行、同组成员可读可执行、
# 系统中的其它用户可读可执行。
local_umask=022
# 允许匿名用户访问。匿名用户在系统中的账号是ftp
anonymous_enable=YES
# 匿名用户上传文件的掩码设为000。这样文件上传后的权限为777(rwxrwxrwx),即所有人都可以读写执行。
anon_umask=000
# 匿名用户可上传、可创建目录。一下3行只有设置了write_enable=YES才有效。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
# 如果想要让匿名用户有删除的权限可以加上如下代码
# anon_other_write_enable=YES
# 进入每个目录都显示特定提示。这些提示放在各个目录下.message文件中。
dirmessage_enable=YES
# 当用户登陆ftp服务器时,不管是否登陆成功都显示如下信息。
ftpd_banner=Welcome to NiHao FTP service.
# 使用日志记录上传和下载。
xferlog_enable=YES
# 日志文件的位置
#xferlog_file=/var/log/vsftpd.log
# 日志使用标准fpd格式
xferlog_std_format=YES
# ftp服务的端口是20
connect_from_port_20=YES
# 用户使用ftp访问服务器时,把他们的登陆目录作为它们在ftp中看到的目录,这称为chroot。
# 这样用户就无法访问他们登陆目录以外的内容,大大增强了安全性。匿名用户的登陆目录是/var/ftp/
chroot_list_enable=YES
# 文件/etc/vsftpd.chroot_list中的用户不chroot。
chroot_list_file=/etc/vsftpd.chroot_list
# 同时最多允许5个用户登陆。
max_clients=5 #有些不支持此选项,注释掉即可。
# ftp服务的密码验证模块。
pam_service_name=vsftpd
# listen=YES #如果是独立运行的则加此项(redhat9)。
#tcp_wrappers=YES #如果是独立运行的则加此项(redhat9)。
4.重新启动xinetd服务,你就可以匿名访问你的ftp服务器了。
下面我们来建立一个ftp管理员账号
在Linux ftp服务中,用户的权限受到双重限制。一是Linux文件系统本身的权限限制。每个文件的访问权限用rwxrwxrwx形势表示。每个用户只能做文件全县允许的操作。二是ftp配置的限制。系统允许的操作,如果在ftp的配置文件中没有被允许,用户还是不能作这个操作。如:某个文件的权限为rwxrwxrwx,即系统认为任何人都有读写执行的权利。如果vsftpd.conf中不允许匿名用户写,匿名用户还是不能修改这个问安。
对于目录文件的读权限,意味着可以读出这个目录中的文件信息。目录文件的写权限,意味着可以在这个目录下建立、删除、重命名文件。
用命令groupadd -r ftpAdmin添加一个ftp管理员组。其中-r表示这是一个系统组。
用命令useradd -c "ftp Administrator" -d /var/ftp/ -G ftpAdmin -s /sbin/nologin -r ftpAdmin添加一个管理员用户ftpAdmin。其中
-c "ftp Administrator" 是对这个用户的描述
-d /var/ftp/ 是这个用户的登陆目录
-g ftpAdmin 是这个用户所在的组
-s /sbin/nologin 是这个用户登陆时所用的shell。这个shell命令的功能极其弱,以至于不能用telnet登陆。也就是说这个管理员只能当当垃圾清扫员。(呵呵。好没面子的管理员)
-r 表示这是个系统账号,不用为它建立登陆目录。
建好管理员以后把incoming目录的管理权给他。
chown ftpAdmin /var/ftp/incoming :把此目录所有者设为ftpAdmin。
chmod 755 /var/ftp/incoming :把目录的权限设为所有者可读写执行,同组用户可读、可执行,所有人可读、可执行。
这样,我们的管理员就可以开始管理了。
5 . 配置vsftpd 允许匿名用户上传
//修改vsftpd 的主配置文件/etc/vsftpd.conf
# vi /etc/vsftpd.conf
//将如下两行前的#删除
//① #anon_upload_enable=YES 允许匿名用户上传
//② #anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的权限
//若要以上两项设置生效,同时还要求:
//(1) write_enable=YES
//(2) 匿名用户对文件系统的上传目录具有写权限
//添加如下的配置语句
// anon_world_readable_only=NO
//上面的配置语句用于放开匿名用户的浏览权限
//修改后存盘退出vi
//
//创建匿名上传目录
# mkdir /var/ftp/incoming
# 修改上传目录的权限
# chmod o+w /var/ftp/incoming/
#
//重新启动xinetd
# service xinetd restart
相关推荐
本文将详细解读《Linux命令大全完整版.pdf》中所收录的各类命令,以帮助读者更好地理解和运用Linux命令。 1. Linux系统管理命令 系统管理命令是Linux系统中最重要的命令类别之一,涵盖了用户管理、进程控制、系统...
Linux命令速查手册作为一本全面介绍Linux命令的参考书籍,由美国作者Scott Granneman所著,并由成保栋与李保强翻译成中文版本。本书是图灵系统与网络管理技术丛书之一,适合所有与Linux相关的工作人员以及初学者,...
Linux 命令大全搜索工具提供了一个详细的命令列表,包括 A series 命令、apachectl 命令、arp 命令、atop 命令、awk 命令、axel 命令等。这些命令涵盖了 Linux 系统中的各种功能,例如文件管理、网络管理、系统管理...
Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 ...
Linux命令大全(CHM格式离线版) Linux命令大全(修改版) 进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio ...
Linux 命令全集.chm
Linux课件(ppt)外加一个《Linux命令大全》: Linux_内核完全注释_V11.pdf VI的常见用法.doc 第1章 Linux概况及安装.ppt 第2章 Linux的常用命令.ppt 第3章 Linux系统管理.ppt 第4章 Linux网络基础.ppt 第5章 ...
linux命令壁纸1920*1080尺寸,留有快捷键放置空间,方便对linux操作系统中各个命令的记忆。
Licote是Linux command template的缩写,顾名思义就是Linux命令模板。用于快速编写一个linux环境的命令程序,当然如果你愿意,你可以用于任何程序中;Licote的主要任务就是帮助你解析linux环境下的常用命令选项,让...
linux 命令 - 开关机 - 文件操作 - 系统命令 1. top 2. who 3. ifconfig 4. ping 5. kill 6. man 7.clear 8.netstat 4. 软件管理 - dpkg :离线 .deb .rpm .apk - apt-get :在线 5. 压缩解压 tar -...
Licote是Linux command template的缩写,顾名思义就是Linux命令模板。用于快速编写一个linux环境的命令程序,当然如果你愿意,你可以用于任何程序中;Licote的主要任务就是帮助你解析linux环境下的常用命令选项,让...
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统...
linux命令大全linux指令大全(完整篇).pdf
Linux命令GNU官方源码,是coreutils-common-8.24这个软件包的命令,包含cp、mv、chgrp、chown等大多数基本命令,对学习C语言的人会有很大帮助,可以看看大神都是怎么写代码的TnT
《最全常用Linux命令集》.pdf
Linux 命令详解词典.pdf,施威铭研究室著,大小 74 MB,被压缩成两部分分别上传。这是第二部分,第一部分下载地址:http://download.csdn.net/source/2685010。 本书精选了 381 个 Linux 命令,详细罗列 1729 个范例...
linux命令汇总linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令...