LINUX基础应用

来源:互联网 发布:木婉清 知乎 编辑:程序博客网 时间:2024/04/30 05:40

1.     基础

Init为主进程,PID=1 执行/etc/inittab,/etc/rc.d/rc.sysinit,启动核心的外挂模块(/etc/modprobe.conf),执行各个批处理文件(scripts),执行 /etc/rc.d/rc.local.

 

启动加载文件

系统:

/etc/sysconfig/i18n    

/etc/profile   

/etc/bashrc  

/etc/profile.d/*.sh 

/etc/man.config    

个人:

 .bash_profile > .bash_login > .profile

.bashrc   .bash_history    .bash_logou

 

内核版本:2.6.18-164.el5

major.minor.patch-build.desc

major:表示主版本号,有结构性变化时才变更。

minor:表示次版本号,新增功能时才发生变化;一般奇数表示测试版,偶数表示生产版。

patch:表示对次版本的修订次数或补丁包数。

build:表示编译(或构建)的次数,每次编译可能对少量程序做优化或修改,但一般没有大的(可控的)功能变化。

desc:用来描述当前的版本特殊信息;其信息由编译时指定,具有较大的随意性,但也有一些描述标识是常用的。

 

服务启动方式  setup /ntsysv/chkconfig --level 345servicename on

 

2.     基本命令

 

find 搜索

findpathname -options [-print -exec -ok ...]

 

pathname:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command'{ } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

 

-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 - 普通文件。
使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的在有些操作系统中只允许-exec选项执行诸如ls或ls -l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。建议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们是所要删除的文件。

exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号。为了使用exec选项,必须要同时使用print选项。如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。

例如:为了用ls-l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec选项中

#find . -type f -exec ls -l { } \;
-rw-r--r-- 1 root root 34928 2003-02-25 ./conf/httpd.conf
-rw-r--r-- 1 root root 12959 2003-02-25 ./conf/magic
-rw-r--r-- 1 root root 180 2003-02-25 ./conf.d/README

上面的例子中,find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls-l命令将它们列出。
在/logs目录中查找更改时间在5日以前的文件并删除它们:

$find logs -type f -mtime +5 -exec rm { } \;

find命令首先匹配所有文件名为“passwd*”的文件,例如passwd、passwd.old、passwd.bak,然后执行grep命令看看在这些文件中是否存在一个sam用户。

#find /etc -name "passwd*" -exec grep "sam" { } \;
sam:x:501:501::/usr/sam:/bin/bash

xargs- build and execute command lines from standard input

在使用find命令的-exec选项处理匹配到的文件时,find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。

find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;

而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。

 

在整个系统中查找内存信息转储文件(coredump) ,然后把结果保存到/tmp/core.log文件中:

$find / -name "core" -print | xargs echo "">/tmp/core.log

用grep命令在所有的普通文件中搜索hostname这个词:

#find . -type f -print | xargs grep "hostname"
./httpd1.conf:# different IP addresses or hostnames and have them handled bythe
./httpd1.conf:# VirtualHost: If you want to maintain multiple domains/hostnames
on your

用grep命令在当前目录下的所有普通文件中搜索hostnames这个词:

#find . -name \* -type f -print | xargs grep "hostnames"
./httpd1.conf:# different IP addresses or hostnames and have them handled bythe
./httpd1.conf:# VirtualHost: If you want to maintain multiple domains/hostnames
on your

注意,在上面的例子中,\用来取消find命令中的*在shell中的特殊含义。

 

Netstat 用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

netstat[-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

·netstat–s

本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

·netstat–e

本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。

·netstat–r

本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。

·netstat–a

本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请(LISTENING)的那些连接。

·netstat–n

显示所有已建立的有效连接。

ps -aux    查看后台执行的进程

linux上进程有5种状态:
1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中,受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行,进程必须等待直到有中断发生)
4. 僵死(进程已终止,但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP,SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process

名称:ps
使用权限:所有使用者
使用方式:ps [options] [--help]
说明:显示瞬间行程 (process) 的动态
参数:
ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程

au(x)输出格式 :

USERPID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 不可中断的静止
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱AI/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令

范例:

ps
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kflushd
3 ? 00:00:00 kpiod
4 ? 00:00:00 kswapd
5 ? 00:00:00 mdrecoveryd
.......
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]

具体命令解释如下:
  1)psa 显示现行终端机下的所有程序,包括其他用户的程序。

  2)ps-A 显示所有程序。

  3)psc 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

  4)ps-e 此参数的效果和指定"A"参数相同。

  5)pse 列出程序时,显示每个程序所使用的环境变量。

  6)psf 用ASCII字符显示树状结构,表达程序间的相互关系。

  7)ps-H 显示树状结构,表示程序间的相互关系。

  8)ps-N 显示所有的程序,除了执行ps指令终端机下的程序之外。

  9)pss 采用程序信号的格式显示程序状况。

  10)psS 列出程序时,包括已中断的子程序资料。

  11)ps-t<终端机编号>

  指定终端机编号,并列出属于该终端机的程序的状况。

  12)psu

  以用户为主的格式来显示程序状况。

  13)psx

  显示所有程序,不以终端机来区分。

 

su - username 事实上是切换用户并使用被切换用户的环境变量的意思

su uesrname 是切换用户但是使用当前用户的环境变量

whoami是显示这个bash的所有者的用户名

who am i则是显示你登录进入时的真正用户名

Sync   将内存中尚未更新的数据写入到硬盘

uname -a 查看内核版本

ls -al 显示所有文件的属性

pwd 显示当前路径

cd - 返回上一次目录 cd ~返回主目录

date s 设置时间、日期

cal 显示日历 cal 2006

bc 计算器具

man & info 帮助手册

locale 显示当前字体 locale -a所有可用字体 /etc/sysconfig/i18n设置文件

LANG=en 使用英文字体

reboot 重启

startx & init 5 进入图形介面

/work & ?work 向上、下查找文档内容

chgrp 改变档案群组 chgrp testing install.log

chown 改变所属人 chown root:root install.log

chmod 改变属性 chmod 777 install.log read=4 write=2 execute=1

cp 复制 cp filename -r复制目录

rm 删除文件 rm -rf filename强制删除文件

rmdir 删除文件夹

mv 移动 mv 123.txt 222.txt重命名

mkdir 创建文件夹

touch 创建文件更新当前时间

cat 由第一行开始显示 cat |more分页

nl 在内容前加行号

more & less 一面一面翻动

head -n filename 显示第N行内容

tail -n filename 显示后N行内容

od 显示非纯文档

df -h 显示分区空间

du 显示目录或文件的大小

fdisk 分区设置 fdisk -l /dev/hda显示硬盘分区状态

mkfs 建立各种文件系统 mkfs -t ext3 /dev/ram15

fsck 检查和修复LINUX档案

ln 硬链接 ln -s软件链接

whereis 查找命令

locate 查找

find 查找 find / -name "***.***"

which 查看工具

whoami 显示当前用户

gcc -v 查看GCC版本

chattr +i filename 禁止删除 chattr -i filename取消禁止

lsattr 显示隐藏档属性

updatedb 更新资料库

mke2fs 格式化 mkfs -t ext3

dd if=/etc/passwd of=/tmp/passwd.bak 备份

mount 列出系统所有的分区

mount -t iso9660 /dev/cdrom /mnt/cdrom挂载光盘

mount -t vfat /dev/fd0 /mnt/floppy 挂载软盘

mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2挂载fat32分区

mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3挂载ntfs分区

umount /mnt/hda3 缷载

ifconfig 显示或设置网络设备

service network restart 重启网卡

ifdown eth0 关闭网卡

ifup eth0 开启网卡

clear 清屏

history 历史记录 !55执行第55个指令

stty 设置终端 stty -a

fdisk /mbr 删除GRUB

at 仅进行一次的工作排程

crontab 循环执行的例行性命令 [e]编辑,[l]显示,[r]删除任务

& 后台运行程序 tar -zxvf 123.tar.gz & --------->后台运行

jobs 观看后台暂停的程序 jobs -l

fg 将后台程序调到前台 fg n ------>n是数字,可以指定进行那个程序

bg 让工作在后台运行

kill 结束进程 kill -9 PID [9]强制结束,[15]正常结束,[l]列出可用的kill信号

ps aux 查看后台程序

top 查看后台程序 top -d 2每两秒更新一次 top -d 2 -p10604观看某个PID

top -b -n 2 > /tmp/top.txt -----> top的资讯进行 2 次,然後将结果输出到 /tmp/top.txt

pstree 以树状图显示程序 [A] ASCII来连接, 列出PID, [p]列出帐号

killall 要删除某个服务 killall -9 httpd

free 显示内存状态 free -m -------->M为单位显示

uptime 显示目前系统开机时间

netstat 显示网络状态 netstat -tulnp------>找出目前系统上已在监听的网路连线及其 PID

dmesg 显示开机信息 demsg | more

nice 设置优先权 nice -n -5 vi & -----> root给一个 nice 植为 -5 ,用於执行 vi

renice 调整已存在优先权

runlevel 显示目前的runlevel

depmod 分析可载入模块的相依性

lsmod 显示已载入系统的模块

modinfo 显示kernel模块的信息

insmod 载入模块

modprobe 自动处理可载入模块

rmmod 删除模块

chkconfig 检查,设置系统的各种服务 chkconfig --list ----->列出各项服务状态

cpio 备份文件

iptables -A INPUT -p tcp --dport 25 -j ACCEPT开端口

压缩命令:

*.Z compress 程式压缩的档案;

*.bz2 bzip2 程式压缩的档案;

*.gz gzip 程式压缩的档案;

*.tar tar 程式打包的资料,并没有压缩过;

*.tar.gz tar 程式打包的档案,其中并且经过 gzip的压缩

compress filename 压缩文件[-d]解压 uncompress

gzip filename 压缩[-d]解压 zcat 123.gz查看压缩文件内容

bzip2 -z filename 压缩[-d]解压 bzcat filename.bz2查看压缩文件内容

tar -cvf /home/123.tar /etc 打包,不压缩

tar -xvf 123.tar 解开包

tar -zxvf /home/123.tar.gz gzip解压

tar -jxvf /home/123.tar.bz2 bzip2解压

tar -ztvf /tmp/etc.tar.gz 查看tar内容

tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!

tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip压缩

tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2压缩

zip  -q –r html.zip html

 

vi一般用法

一般模式编辑模式 指令模式

h左 a,i,r,o,A,I,R,O :w 保存

j下 进入编辑模式:w! 强制保存

k上 dd 删除光标当前行:q! 不保存离开

l右 ndd 删除n行:wq! 保存后离开

0移动到行首 yy 复制当前行:e! 还原原始档

$移动到行尾 nyy 复制n行:w filename 另存为

H屏幕最上 p,P 粘贴:set nu 设置行号

M屏幕中央 u 撤消:set nonu 取消行号

L屏幕最下 [Ctrl]+r 重做上一个动作ZZ 保存离开

G档案最后一行 [ctrl]+z 暂停退出:set nohlsearch 永久地关闭高亮显示

/work向下搜索 :sp 同时打开两个文档

?work向上搜索 [Ctrl]+w 两个文档设换

gg移动到档案第一行 :nohlsearch 暂时关闭高亮显示

 

free命令
free命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。
该命令的一般格式为: free [-b | -k | -m] 命令中各选项的含义如下:
-b 以字节为单位显示。
-k 以K字节为单位显示。
-m 以兆字节为单位显示。

cp命令

该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。

语法:cp [选项]源文件或目录目标文件或目录

说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

该命令的各选项含义如下:

-a该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

-d拷贝时保留链接。

-f删除已经存在的目标文件而不提示。

-i和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

-p此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

-r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

-l不作拷贝,只是链接文件。

  需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。

mv命令

用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同MSDOS下的ren和move的组合。

语法:mv[选项]源文件或目录目标文件或目录

说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

命令中各选项的含义为:

-I交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。

-f禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。

如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。

rm命令

用户可以用rm命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。

rm命令的一般形式为:

rm[选项]文件…

如果没有使用-r选项,则rm不会删除目录。

该命令的各选项含义如下:

-f忽略不存在的文件,从不给出提示。

-r指示rm将参数中列出的全部目录和子目录均递归地删除。

-i进行交互式删除。

使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。

mkdir命令

功能:创建一个目录(类似MSDOS下的md命令)。

语法:mkdir[选项] dir-name

说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。

命令中各选项的含义为:

-m对新建目录设置存取权限。也可以用chmod命令设置。

-p可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

rmdir命令

功能:删除空目录。

语法:rmdir[选项] dir-name

说明:dir-name表示目录名。该命令从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。rm - r dir命令可代替rmdir,但是有危险性。删除某目录时也必须具有对父目录的写权限。

命令中各选项的含义为:

-p递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

 cd命令

功能:改变工作目录。

语法:cd[directory]

说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory,则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读 权限。

该命令可以使用通配符(通配符含义请参见第十章)。

pwd命令

在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。

语法:pwd

说明:此命令显示出当前工作目录的绝对路径。

 ls命令

ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。

语法:ls[选项] [目录或是文件]

对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。

命令中各选项的含义如下:

-a显示指定目录下所有子目录与文件,包括隐藏文件。

-A显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和“..”。

-b对文件名中的不可显示字符用八进制逃逸字符显示。

-c按文件的修改时间排序。

-C分成多列显示各项。

-d如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使用,以得到目录的详细信息。

-f不排序。该选项将使lts选项失效,并使aU选项有效。

-F在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。

-i在输出的第一列显示文件的i节点号。

-l以长格式来显示文件的详细信息。这个选项最常用。

每行列出的信息依次是:文件类型与权限 链接数文件属主 文件属组文件大小 建立或最近修改的时间名字

对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。

对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。

目录中的总块数显示在长格式列表的开头,其中包含间接块。

-L若指定的名称为一个符号链接文件,则显示链接所指向的文件。

-m输出按字符流格式,文件跨页显示,以逗号分开。

-n输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和GID号来表示,而不是实际的名称。

-o与l选项相同,只是不显示拥有者信息。

-p在目录后面加一个“/”。

-q将文件名中的不可显示字符用“?”代替。

-r按字母逆序或最早优先的顺序显示输出结果。

-R递归式地显示指定目录的各个子目录中的文件。

-s给出每个目录项所用的块数,包括间接块。

-t显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则 按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修改时间。

-u显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间标记修改为最后一次访问的时间。

-x按行显示出各排序项的信息。

用ls- l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:

-普通文件

d目录

l符号链接

b块设备文件

c字符设备文件

后面的9个字符表示文件的访问权限,分为3组,每组3位。

第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。

各权限如下所示:

r读

w写

x执行。对于目录,表示进入权限。

s当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组ID)。

t设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。

sort命令

sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。

Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。

语法:

sort[选项]文件

说明:sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输入文件或使用“-”,则表示排序内容来自标准输入。

sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按ASCII字符顺序进行排序。

改变缺省设置的选项主要有:

-m若给定文件已排好序,合并文件。

-c检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值1退出。

-u对排序后认为相同的行只留其中一行。

-o输出文件 将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。

改变缺省排序规则的选项主要有:

-d按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。

-f将小写字母与大写字母同等对待。

-I忽略非打印字符。

-M作为月份比较:“JAN”<“FEB”

-r按逆序输出排序结果。

+posl- pos2指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括posl,不包括pos2)。如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。

-b在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。

-t separator指定字符separator作为字段分隔符。

 

uniq命令

文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本。

语法:

uniq[选项]文件

说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“-”表示,则从标准输入读取。

该命令各选项含义如下:

-c显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和-d选项。

-d只显示重复行。

-u只显示文件中不重复的各行。

-n前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

+n前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

-f n与- n相同,这里n是字段数。

-s n与+n相同,这里n是字符数

 

tar命令

tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。

语法:tar[主选项+辅选项]文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

r把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。

t列出档案文件的内容,查看已经备份了哪些文件。

u更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

x从档案文件中释放文件。

辅助选项:

b该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512bytes)。

f使用档案文件或设备,这个选项通常是必选的。

k保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。

m在还原文件时,把所有文件的修改时间设定为现在。

M创建多卷的档案文件,以便在几个磁盘中存放。

v详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

w每一步都要求确认。

z用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

 

gzip命令

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

语法:gzip[选项]压缩(解压缩)的文件名

各选项的含义:

-c将输出写到标准输出上,并保留原有文件。

-d将压缩文件解压。

-l对每个压缩文件,显示下列字段:

压缩文件的大小

未压缩文件的大小

压缩比

未压缩文件的名字

-r递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

-t测试,检查压缩文件是否完整。

-v对每一个压缩和解压的文件,显示文件名和压缩比。

-num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。

 

unzip命令

用MSWindows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。

语法:unzip[选项]压缩文件名.zip

各选项的含义分别为:

-x文件列表解压缩文件,但不包括指定的file文件。

-v查看压缩文件目录,但不解压。

-t测试文件有无损坏,但不解压。

-d目录把压缩文件解到指定目录下。

-z只显示压缩文件的注解。

-n不覆盖已经存在的文件。

-o覆盖已存在的文件且不要求用户确认。

-j不重建文档的目录结构,把所有文件解压到同一目录下。

Linux改变文件或目录的访问权限命令 

  Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

  文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。

  有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

  每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls-l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:

  $ls -l sobsrc. tgz

  -rw-r--r--1 root root 483997 Ju1 l5 17:3l sobsrc. tgz

  横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。

  例如:

  -rw- r-- r--

  普通文件文件主 组用户其他用户

  是文件sobsrc.tgz的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。

  确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。

chmod命令

  chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。

  该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

  1.文字设定法

  chmod[who] [+ | - | =] [mode]文件名?

  命令中各选项的含义为:

  操作对象who可是下述字母中的任一个或者它们的组合:

  u表示“用户(user)”,即文件或目录的所有者。

  g表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。

  o表示“其他(others)用户”。

  a表示“所有(all)用户”。它是系统默认值。

  操作符号可以是:

  +添加某个权限。

  -取消某个权限。

  =赋予给定权限并取消其他所有权限(如果有的话)。

  设置mode所表示的权限可用下述字母的任意组合:

  r可读。

  w可写。

  x可执行。

  X只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。

  s在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。

  t保存程序的文本到交换设备上。

  u与文件属主拥有一样的权限。

  g与和文件属主同组的用户拥有一样的权限。

  o与其他用户拥有一样的权限。

  文件名:以空格分开的要改变权限的文件列表,支持通配符。

  在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmodg+r,o+r example

  使同组和其他用户对文件example有读权限。

  2.数字设定法

  我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

  例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。

  数字设定法的一般形式为:

  chmod[mode]文件名?

 

 chgrp命令

  功能:改变文件或目录所属的组。

  语法:chgrp[选项] group filename?

  该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

  该命令的各选项含义为:

  -R递归式地改变指定目录及其下的所有子目录和文件的属组。

  chown命令

  功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。

  语法:chown[选项]用户或组文件

  说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。

 该命令的各选项含义如下:

  -R递归式地改变指定目录及其下的所有子目录和文件的拥有者。

  -v显示chown命令所做的工作。

passwd命令

出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。

该命令的一般格式为:passwd [用户名]其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。

该命令的使用方法如下:

输入

passwd<Enter>;

在(current)UNIX passwd:下输入当前的口令

在newpassword:提示下输入新的口令(在屏幕上看不到这个口令):

系统提示再次输入这个新口令。

输入正确后,这个新口令被加密并放入/etc/shdow文件。选取一个不易被破译的口令是很重要的。

选取口令应遵守如下规则:

口令应该至少有六位(最好是八位)字符;

口令应该是大小写字母、标点符号和数字混杂的。

超级用户修改其他用户(xxq)的口令的过程如下,

#passwd root

NewUNIX password:

Retypenew UNIX password:

passwd:all authentication tokens updated successfully

#

 

su命令

这个命令非常重要。它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要离开当前用户的身份,可以打exit。

该命令的一般形式为:su [选项] [? ] [使用者帐号]

说明:若没有指定使用者帐号,则系统预设值为超级用户root。该命令中各选项的含义分别为:

?c执行一个命令后就结束。

?加了这个减号的目的是使环境变量和欲转换的用户相同。

?m保留环境变量不变。

password:【输入超级用户的密码】 

sync命令

  sync命令是在关闭Linux系统时使用的。用户需要注意的是,不能用简单的关闭电源的方法关闭系统,因为Linux象其他Unix系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些工作,不需要用户干预。sync命令是强制把内存中的数据写回硬盘,以免数据的丢失。用户可以在需要的时候使用此命令。该命令的一般格式为:

  sync

 

shutdown命令

shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟;时间段由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。

该命令的一般格式为:shutdown [选项] [时间][警告信息]命令中各选项的含义为:

-k并不真正关机,而只是发出警告信息给所有用户。

-r关机后立即重新启动。

-h关机后不重新启动。

-f快速关机,重启动时跳过fsck。

-n快速关机,不经过init程序。

-c取消一个已经运行的shutdown。

需要特别说明的是,该命令只能由超级用户使用。

 

uptime命令

uptime命令显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

该命令的一般格式为:uptime

 

df命令

功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:df[选项]

说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。

该命令各个选项的含义如下:

-a显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

-k以k字节为单位显示。

-i显示i节点信息,而不是磁盘块。

-t显示各指定类型的文件系统的磁盘空间使用情况。

-x列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

-T显示文件系统类型。

 

du命令

du的英文原义为“diskusage”,含义为显示磁盘空间的使用情况。

功能:统计目录(或文件)所占磁盘空间的大小。

语法:du[选项] [Names…]

说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。

该命令的各个选项含义如下:

-s对每个Names参数只给出占用的数据块总数。

-a递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

-b以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。

-k以1024字节为单位列出磁盘空间使用情况。

-c最后再加上一个总计(系统缺省设置)。

-l计算所有的文件大小,对硬链接文件,则计算多次。

-x跳过在不同文件系统上的目录不予统计。

 

dd命令

功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。

语法:dd[选项]

if=输入文件(或设备名称)。

of=输出文件(或设备名称)。

ibs= bytes一次读取bytes字节,即读入缓冲区的字节数。

skip= blocks跳过读入缓冲区开头的ibs*blocks块。

obs= bytes一次写入bytes字节,即写入缓冲区的字节数。

bs= bytes同时设置读/写缓冲区的字节数(等于设置ibs和obs)。

cbs= byte一次转换bytes字节。

count=blocks只拷贝输入的blocks块。

conv= ASCII把EBCDIC码转换为ASCIl码。

conv= ebcdic把ASCIl码转换为EBCDIC码。

conv= ibm把ASCIl码转换为alternateEBCDIC码。

conv= block把变动位转换成固定字符。

conv= ublock把固定位转换成变动位。

conv= ucase把字母由小写转换为大写。

conv= lcase把字母由大写转换为小写。

conv= notrunc不截短输出文件。

conv= swab交换每一对输入字节。

conv= noerror出错时不停止处理。

conv= sync把每个输入记录的大小都调到ibs的大小(用NUL填充)。

 

 

fuser(可以这样理解f-user,即文件使用者)命令取得指定文件或文件结构被哪些进程使用。

fuser命令在linux系统中用来根据文件或文件结构识别进程。
使用权限:
  超级用户
语法格式:
  fuser [ -c | -d | -f ] [ -k | -K {SignalNumber | SignalName }] [ -u ] [ -x ] [ -V ]File ...
使用说明:
  此 fuser 命令列出了本地进程的进程号,那些本地进程使用File 参数指定的本地或远程文件。
对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。
每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。
c 将此文件作为当前目录使用。
e 将此文件作为程序的可执行对象使用。
r 将此文件作为根目录使用。
s 将此文件作为共享库(或其他可装载对象)使用。
进程号被写入标准输出(在进程号之间有空格的行中)。
一个换行符被写入标准错误(在每个文件操作数的最后一个输出之后)。其他所有输出被写入标准错误。
此 fuser 命令不会检测有mmap 区域的进程,其中相关的文件描述符已从此被关闭。
主要参数:
  -c 包含File 的文件系统中关于任何打开的文件的报告。
  -d 暗示使用了-c 和 -x 标志。
关于任何与文件系统(自父目录删除的)无链接的打开文件的报告。
当与 -V 标志一起使用时,它也会报告被删除文件的节点号和大小。
-f 仅对文件的打开实例报告。
-K SignalNumber | SignalName 将指定信号发送到每个本地进程。
仅有 root 用户能终止另一用户的进程。信号可以指定为信号名称(如-9)或 KILL(用于SIGKILL 信号)。
SignalName 的有效值是 kill -l 命令所显示的那些值。
-k 将 SIGKILL 信号发送到每个本地进程。仅有root 用户能终止另一用户的进程。
注:
fuser -k 或 -K 可能无法检测和杀死程序开始运行后立即创建的新进程。
-u 为进程号后圆括号中的本地进程提供登录名。
-V 提供详细输出。
-x 与 -c 或-f 连用,报告除标准 fuser 输出以外的可执行的和可载入的对象。
应用实例:
  要列出使用 /etc/passwd 文件的本地进程的进程号,请输入:
fuser /etc/passwd
要列出使用 /etc/filesystems 文件的进程的进程号和用户登录名,请输入:
fuser -u /etc/filesystems
要列出正在使用已从给定文件系统删除的文件的全部进程,请输入:
fuser -d /usr

 

3.    rpm常用命令

1.安装一个包# rpm -ivh

2.升级一个包# rpm -Uvh

3.移走一个包# rpm -e

4.安装参数

--force即使覆盖属于其它包的文件也强迫安装
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
5.查询一个包是否被安装 rpm -q < rpm package name>

6.得到被安装的包的信息# rpm -qi < rpm package name>

7.列出该包中有哪些文件# rpm -ql < rpm package name>

8.列出服务器上的一个文件属于哪一个RPM包#rpm -qf

9.可综合好几个参数一起用# rpm -qil < rpm package name>

10.列出所有被安装的rpmpackage     # rpm -qa

11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?

#rpm -qilp < rpm package name>

 

4.    运行级即Linux的Run Level

在Ubuntu7.04下,使用 ctrl+alt+f2 可以切换到命令行模式,按ctrl+alt+f7 可以进入图形界面模式。

$gedit   /etc/inittab 

例如,把id:5:initdefault中的5改为3   ,就是linux进入系统时,原来是直接进入x界面模式的,现在就直接进入linux命令行模式了:

0:停机(记住不要把initdefault设置为0,因为这样会使Linux无法启动)

1:单用户模式,就像Win9X下的安全模式。 

2:多用户,但是没有NFS 。 

3:完全多用户模式,标准的运行级。

4:一般不用,在一些特殊情况下可以用它来做一些事情。

5:X11,即进到X-Window 系统。

6:重新启动(记住不要把initdefault 设置为6,因为这样会使Linux不断地重新启动)

修改默认的语言项(在控制台下):vi/etc/sysconfig/i18n中的LANG=zh_CN.GB18030

 

5.    挂接命令(mount)

首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。

 

  命令格式:

  mount[-t vfstype] [-o options] device dir

  其中:

  1.-tvfstype 指定文件系统的类型,通常不必指定。mount会自动选择正确的类型。常用类型有:

  光盘或光盘镜像:iso9660

  DOSfat16文件系统:msdos

  Windows9x fat32文件系统:vfat

  WindowsNT ntfs文件系统:ntfs

  MountWindows文件网络共享:smbfs

  UNIX(LINUX)文件网络共享:nfs

  2.-ooptions 主要用来描述设备或档案的挂接方式。常用的参数有:

  loop:用来把一个文件当成硬盘分区挂接上系统

  ro:采用只读方式挂接设备

  rw:采用读写方式挂接设备

  iocharset:指定访问文件系统所用字符集

  3.device要挂接(mount)的设备。

  4.dir设备在系统上的挂接点(mountpoint)。

 挂接Windows文件共享

  Windows网络共享的核心是SMB/CIFS,在linux下要挂接(mount)windows的磁盘共享,就必须安装和使用samba软件包。

  当windows系统共享设置好以后,就可以在linux客户端挂接(mount)了,具体操作如下:

  #mkdir –p /mnt/samba

  注:建立一个目录用来作挂接点(mountpoint)

  #mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$/mnt/samba

  注:administrator和 pldy123 是ip地址为10.140.133.23windows计算机的一个用户名和密码,c$是这台计算机的一个磁盘共享

  如此就可以在linux系统上通过/mnt/samba来访问windows系统磁盘上的文件了。

umount命令:
功能说明:卸除文件系统。

语  法:umount[-ahnrvV][-t <文件系统类型>][文件系统]
补充说明:umount可卸除目前挂在Linux目录中的文件系统。

参  数:
  -a  卸除/etc/mtab中记录的所有文件系统。
 

 -h   显示帮助。
  -n  卸除时不要将信息存入/etc/mtab文件中。
 

 -r   若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
 

 -t<文件系统类型>   仅卸除选项中所指定的文件系统。
  -v  执行时显示详细的信息。
  -V  显示版本信息。
  [文件系统]   除了直接指定文件系统外,也可以用设备名称或挂入点来表示文件系统

 

6.    VNC(VirtualNetwork Computing)虚拟网络计算工具

本质上来说是一个远程显示系统,管理员通过它不仅仅可以在运行程序的本地机上察看桌面环境,而且可以从Internet上的任何地方察看远程机器的运行情况,而且它具有跨平台的特性。Linux 要使用远程桌面需要安装VNC,好在RedHat Enterprise Linux AS 5.0 已经自带了VNC,默认也已经安装了,只要配置一下就可以了。

   VNCServer 配置:
     1. 启动VNC Server: 打开终端执行:vncserver
     2. 默认情况下VNCViewer只能看到 VNC Server的命令行。要VNC Viewer上可以看到Linux桌面需要做如下设置:在VNC Viewer所在的机器上,取消/root/.vnc/xstartup文件中下面两行的注释即可:unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc
     3. Linux启动后自动运行VNCServer
       1) 在系统设置>服务器设置>服务中把 vncserver 打勾。
       2) 打开配置文件/etc/sysconfig/vncservers,去掉下面这行的注释,VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 800x600" (这里注意一下,默认系统配置里有?nolisten tcp 和 ?nohttpd ,这两个是阻止Xwindows登陆和HTTP方式VNC登陆的,如果需要图形界面,那就删除这部分。)1表示VNC以桌面1运行,这样可以启动root的桌面。
     4. VNC端口如果需要从外网控制内网的某台Linux,则需要打开防火墙相应的端口,并在路由器上进行端口映射。VNC给浏览器的端口是5800+N,给vncviewer的端口是5Array00+N,N是设置的display号
     Windows 客户端VNC Viewer 的配置: 1. 从http://www.realvnc.com/download.html 下载VNC Free Edition for Windows Version 4.1.2 2. 打开VNCViewer : 填入VNCServer的IP:编号(1或2或...)3. VNCViewer 切换全屏模式:F8

 

7.    redhat enterprise linux5 下安装samba

rpm-Uvh perl-5.8.8-27.el5.x86_64.rpm

rpm-Uvh perl-Convert-ASN1-0.20-1.1.noarch.rpm

 

rpm-Uvh samba-3.0.33-3.14.el5.x86_64.rpm

rpm-Uvh samba-client-3.0.33-3.14.el5.x86_64.rpm
rpm -Uvh samba-common-3.0.33-3.14.el5.x86_64.rpm

rpm-Uvh system-config-samba-1.2.41-5.el5.noarch.rpm

 

8.    redhat enterprise linux5 下安装vsftp

(1)先把光盘挂载到系统上:
mount /dev/cdrom /mnt
这样光盘的内容就被挂载到/mnt的设备上,现在可以通过/mnt访问光盘上的内容了
(2)在光盘上安装vsftp,并且启动vsftp
rpm  -Uvh vsftpd*
(3)修改启动方式,改为系统启动时,自动启动
chkconfig vsftpd on
也可以查看启动方式
chkconfig --list |grep vsftpd
只要在第2--5为on就能随机启动
(4)启动ftp
service vsftpd start
(5)连接测试
vsftp默认安装目录是:/etc/vsftpd
默认有一个ftp目录:var/ftp
vsftp默认是用允许匿名用户【anonymous】登陆,允许下载,但是不允许上传

 

vsftpd.conf:主配置文件

ftpusers:指定哪些用户不能访问FTP服务器

user_list:指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。

 

在vsftpd.conf文件设置如下参数:

(1)ftpd_banner=welcometo ftp service :设置连接服务器后的欢迎信息

(2)idle_session_timeout=60:限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)

(3)data_connection_timeout=120:设置客户机在进行数据传输时,设置空闲的数据中断时间

(4)accept_timeout=60设置在多长时间后自动建立连接

(5)connect_timeout=60设置数据连接的最大激活时间,多长时间断开,为别人所使用;

(6)max_clients=200指明服务器总的客户并发连接数为200

(7)max_per_ip=3指明每个客户机的最大连接数为3

(8)local_max_rate=50000(50kbytes/sec)  本地用户最大传输速率限制

(9)anon_max_rate=30000匿名用户的最大传输速率限制

(10)pasv_min_port=端口

(11)pasv-max-prot=端口号定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;

(12)listen_address=IP地址设置ftp服务来监听的地址,客户端可以用哪个地址来连接;

13listen_port=21端口号 设置FTP工作的端口号,默认的为21

(14)chroot_local_user=YES设置所有的本地用户可以chroot

(15)chroot_local_user=NO设置指定用户能够chroot

(16)chroot_list_enable=YES

(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用户才能执行)

18local_root=path无论哪个用户都能登录的用户,定义登录帐号的主目录,若没有指定,则每一个用户则进入到个人用户主目录;

19chroot_local_user=yes/no是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;

(20)chroot_list_enable=yes/no锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path中指定;

(21)userlist_enable=YES/NO是否加载用户列表文件;

(22)userlist_deny=YES表示上面所加载的用户是否允许拒绝登录;

(23)userlist_file=/etc/vsftpd/user_list列表文件

 (24)  anon_root=/var/ftp //设置匿名用户本地目录

 

anonymous_enable=YES ( 是否允许 匿名登录FTP 服务器,默认设置为YES 允许,即用户可使用用户名ftp 或anonymous 进行ftp 登录,口令为用户的E-mail 地址。如不允许匿名访问去掉前面# 并设置为NO )

local_enable=YES (是否允许本地用户 ( 即 linux 系统中的用户帐号) 登录FTP服务器,默认设置为YES允许, 本地用户登录后会进入用户主目录,而匿名用户登录后进入匿名用户的下载目录/var/ftp/pub ;若只允许匿名用户访问,前面加上#,可 阻止本地用户访问FTP 服务器。)

write_enable=YES   ( 是否允许本地用户对 FTP 服务器文件具有写权限 , 默认设置为 YES 允许 )

# local_umask=022 (或其它值,设置本地用户的文件掩码 为缺省022 ,也可根据个人喜好将其设置为其他值,默认值为077)

#anon_upload_enable=YES ( 是否允许匿名用户上传文件 , 须将 write_enable=YES, 默认设置为 YES 允许 )

#anon_mkdir_write_enable=YES   ( 是否允许匿名用户创建新文件夹 , 默认设置为 YES 允许 ) 

#dirmessage_enable=YES ( 是否激活目录欢迎信息功能 , 当用户用 CMD 模式首次访问服务器上某个目录时 ,FTP 服务器将显示欢迎信息 , 默认情况下 , 欢迎信息是通过 该 目录下的 .message 文件获得的,此文件保存自定义的欢迎信息,由用户自己建立)

xferlog_enable=YES ( 默认值为 NO 如果启用此选项,系统将会维护记录服务器上传和下载情况的日志文件,默认情况该日志文件为/var/log/vsftpd.log, 也可以通过下面的 xferlog_file 选项对其进行设定。)

connect_from_port_20=YES ( 设定 FTP 服务器将启用 FTP 数据端口的连接请求 ,ftp-data 数据传输 ,21 为连接控制端口 )

#chown_uploads=YES ( 设定是否允许 改变 上传文件的属主 , 与下面一个设定项配合使用 )

#chown_username=whoever ( 设置想要改变的上传文件的属主 , 如果需要 , 则输入一个系统用户名 , 例如可以把上传的文件都改成 root 属主。whoever :任何人)

#xferlog_file=/var/log/vsftpd.log ( 设定系统维护记录FTP 服务器上传和下载情况的日志文件,/var/log/vsftpd.log 是默认的,也可以另设其它)

#xferlog_std_format=YES ( 如果启用此选项 , 传输日志文件将以标准 xferlog 的格式书写,该格式的日志文件默认为/var/log/xferlog, 也可以通过xferlog_file 选项对其进行设定,默认值为NO )

#dual_log_enable ( 如果添加并启用此选项,将生成两个相似的日志文件,默认在/var/log/xferlog 和/var/log/vsftpd.log 目录下。前者是wu_ftpd 类型的传输日志,可以利用标准日志工具对其进行分析;后者是vsftpd 类型的日志)

#syslog_enable ( 如果添加并启用此选项,则原本应该输出到/var/log/vsftpd.log 中的日志,将输出到系统日志中)

#idle_session_timeout=600 (设置数据传输中断间隔时间,此语句表示空闲的用户会话中断时间为600秒,即当数据传输结束后,用户连接FTP服务器的时间不应超过600秒,可以根据实际情况对该值进行修改)

#data_connection_timeout=120 ( 设置数据连接超时时间 , 该语句表示数据连接超时时间为 120 秒 , 可根据实际情况对其个修改 )

#nopriv_user=ftpsecure ( 运行 vsftpd 需要的非特权系统用户,缺省是nobody )

#async_abor_enable=YES ( 如果 FTP client 会下达“async ABOR ”这个指令时,这个设定才需要启用,而一般此设定并不安全,所以通常将其取消)

#ascii_upload_enable=YES ( 大多数 FTP 服务器都选择用 ASCII 方式传输数据 , 将 # 去掉就能实现用 ASCII 方式上传和下载文件 )

#ascii_download_enable=YES ( 将 # 去掉就能实现用 ASCII 方式下载文件 )

# You may fully customise the login banner string:

#ftpd_banner=Welcome to blah FTP service. (将#去掉可设置登录FTP服务器时显示的欢迎信息,可以修改=后的欢迎信息内容。另外如在需要设置更改目录欢迎信息的目录下创建名为 .message 的文件,并写入欢迎信息保存后,在进入到此目录会显示自定义欢迎信息 )

#deny_email_enable=YES ( 可将某些特殊的 email address 抵挡住。如果以anonymous 登录服务器时,会要求输入密码,也就是您的email address, 如果很讨厌某些email address ,就可以使用此设定来取消他的登录权限,但必须与下面的设置项配合 )

#banned_email_file=/etc/vsftpd/banned_emails (当上面的deny_email_enable=YES 时,可以利用这个设定项来规定那个email address 不可登录vsftpd 服务器,此文件需用户自己创建,一行一个email address 即可! )

#chroot_list_enable=YES ( 设置为 NO 时,用户登录FTP 服务器后具有访问自己目录以外的其他文件的权限, 设置为 YES 时 , 用户被锁定在自己的 home 目录中,vsftpd 将在下面 chroot_list_file选项值的位置寻找 chroot_list 文件,此文件需用户建立, 再将需锁定在自己home 目录的用户列入其中,每行一个用户)

# (default follows)

#chroot_list_file=/etc/vsftpd/chroot_list ( 此文件需自己建立 , 被列入此文件的用户 , 在登录后将不能切换到自己目录以外的其他目录 , 由 FTP 服务器自动地 chrooted 到用户自己的home 目录下,使得 chroot_list 文件中的用户不能随意转到其他用户的FTP home 目录下,从而有利于FTP 服务器的安全管理和隐私保护)

#ls_recurse_enable=YES ( 是否允许递归查询 , 大型站点的 FTP 服务器启用此项可以方便远程用户查询

listen=YES ( 如果设置为 YES , 则 vsftpd 将以独立模式运行,由vsftpd 自己监听和处理连接请求)

#listen_ipv6=YES ( 设定是否支持IPV6)

#pam_service_name=vsftpd ( 设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ,即/etc/pam.d/vsftpd 文件,此文件中file=/etc/vsftpd/ftpusers字段,说明了PAM 模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers 中)

#userlist_enable=YES/NO (此选项默认值为NO , 此时ftpusers 文件中的用户禁止登录FTP 服务器;若此项设为YES ,则 user_list 文件中的用户允许登录 FTP 服务器,而如果同时设置了userlist_deny=YES ,则 user_list 文件中的用户将不允许登录FTP 服务器,甚至连输入密码提示信息都没有,直接被FTP 服务器拒绝)

#userlist_deny=YES/NO (此项默认为YES ,设置是否阻扯user_list 文件中的用户登录FTP 服务器)

tcp_wrappers=YES ( 表明服务器使用 tcp_wrappers 作为主机访问控制方式,tcp_wrappers 可以实现linux 系统中网络服务的基于主机地址的访问控制,在/etc 目录中的hosts.allow 和hosts.deny 两个文件用于设置tcp_wrappers 的访问控制,前者设置允许访问记录,后者设置拒绝访问记录。例如想限制某些主机对FTP 服务器192.168.57.2 的匿名访问,编缉/etc/hosts.allow文件,如在下面增加两行命令:vsftpd:192.168.57.1:DENY vsftpd:192.168.57.9:DENY表明限制IP 为192.168.57.1/192.168.57.9主机访问IP 为192.168.57.2 的FTP 服务器,此时FTP 服务器虽可以PING 通,但无法连接)

 

9.    redhat enterprise linux5 下安装oracle11g R2

1.     LoggingIn to the System as root

2.     Checkingthe Hardware Requirements

#free
   ram>1G   swap > 1.5ram

#df -h /tmp  >1G

#df -h
  >5.65G

3.     Checkingthe Software Requirements

uname-r  
(  Red Hat Enterprise Linux 5:2.6.18 orlater)

 

需要安装的包:

 binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-static-0.125

(rpm-Uvh elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm  --nodeps

rpm-ivh elfutils-libelf-devel-0.137-3.el5.x86_64.rpm)

gcc-4.1.2

(rpm-Uvh libgomp-4.4.0-6.el5.x86_64.rpm

rpm-Uvh glibc-2.5-42.x86_64.rpm 

rpm-Uvh kernel-headers-2.6.18-164.el5.x86_64.rpm

rpm-Uvh glibc-headers-2.5-42.x86_64.rpm

rpm-Uvh glibc-devel-2.5-42.x86_64.rpm

rpm-Uvh gcc-4.1.2-46.el5.x86_64.rpm )

gcc-c++-4.1.2

(rpm -Uvh libstdc++-devel-4.1.2-46.el5.x86_64.rpm

rpm-Uvh gcc-c++-4.1.2-46.el5.x86_64.rpm)

glibc-2.5-24

glibc-common-2.5

glibc-devel-2.5

glibc-headers-2.5

kernel-headers-2.6.18

ksh-20060214

libaio-0.3.106

libaio-devel-0.3.106

(rpm -Uvh libaio-devel-0.3.106-3.2.x86_64.rpm )

libgcc-4.1.2

libgomp-4.1.2

libstdc++-4.1.2

libstdc++-devel-4.1.2

make-3.81

numactl-devel-0.9.8.i386

(rpm-Uvh numactl-devel-0.9.8-8.el5.x86_64.rpm )

sysstat-7.0.2

(rpm-Uvh sysstat-7.0.2-3.el5.x86_64.rpm )

rpm-Uvh unixODBC-2.2.11-7.1.x86_64.rpm

rpm-Uvh unixODBC-devel-2.2.11-7.1.i386.rpm

rpm-Uvh unixODBC-2.2.11-7.1.i386.rpm

rpm-Uvh unixODBC-devel-2.2.11-7.1.x86_64.rpm

rpm-Uvh libaio-devel-0.3.106-3.2.i386.rpm

rpm-Uvh glibc-2.5-42.i686.rpm

 

 

 

4.     CreatingRequired Operating System Groups and Users

#/usr/sbin/groupadd oinstall

#/usr/sbin/groupadd dba

#/usr/sbin/useradd -g oinstall -G dba oracle

5.     ConfiguringKernel Parameters

 

etc/security/limits.conf

oracle              soft    nproc  2047

oracle              hard    nproc  16384

oracle              soft    nofile 1024

oracle              hard    nofile 65536

oracle              soft    stack  10240

 /etc/sysctl.conf

fs.aio-max-nr= 1048576

fs.file-max= 6815744

kernel.shmall= 2097152

kernel.shmmax= 536870912

kernel.shmmni= 4096

kernel.sem= 250 32000 100 128

net.ipv4.ip_local_port_range= 9000 65500

net.core.rmem_default= 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048586

内核参数生效   /sbin/sysctl -p

/sbin/chkconfig boot.sysctl on
(suse)

#mkdir -p /u01/app/

#chown -R oracle:oinstall /u01/app/

#chmod -R 775 /u01/app/

 

切换oracle用户,修改.bash_profile

ORACLE_BASE=/u01/app/oracle

ORACLE_SID=orclrel5

exportORACLE_BASE ORACLE_SID

Umask022  (预设权限755644)

保存source.bash_profile  生效

开一个终端xhost +

$unset ORACLE_HOME
$ unset TNS_ADMIN

切换oracle用户安装

解压安装 ./runInstaller

最近打开一个终端以root身体执行两个脚本,并在/home/oralce/.bash_profile里面加入

ORACLE_OWNER=oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

在path中加入$ORACLE_HOME/bin:

无法获取IP 

配置固定IP,在 /etc/hosts文件加入 192.168.1.111  hostname

 

10.  red hat enterprise linux5 下安装 tomcat 6

环境变量,在/etc/profile中加入如下内容(可以使用vi进行编辑profile):

JAVA_HOME=/usr/java/jdk1.6.0_01

CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export PATH CLASSPATH JAVA_HOME

11.  red hat enterprise linux5 下安装 apache 6.

./configure --prefix=/usr/apache2--enable-shared=max --enable-module=rewirte --enable-module=so

Make

make install

12.  red hat enterprise linux5 下安装rstatd

1.rpc服务需rsh的支持,一般情况下rsh已安装。

 rpm -qa rsh查看。
2.http://heanet.dl.sourceforge.net/sourceforge/rstatd/rpc.rstatd-4.0.1.tar.gz下载rpc.rstatd-4.0.1.tar.gz。

rsh-0.17-40.el5.x86_64.rpm 

rsh-server-0.17-40.el5.x86_64.rpm
3.执行以下命令解压和安装
tar -zxvf rpc.rstatd-4.0.1.tar.gz
cd rpc.rstatd-4.0.1
./configure   (建议或者修改Makefile文件)
make
make install
.启动rpc服务,第一次执行rpc.rstatd会报错,按以下步骤可解决报错:
cd /etc/init.d
./portmap start
./nfs start
然后再启动


rpc.rstatd
4.检验

执行rpcinfo -p

   100001    5   udp   948  rstatd

   100001    3   udp   948  rstatd

   100001    2   udp   948  rstatd

 

[root@REL5rpc.rstatd-4.0.1]# netstat -an | grep 514

unix  2     [ ACC ]     STREAM     LISTENING     13514 /tmp/scim-helper-manager-socket-root

 

[root@REL5rpc.rstatd-4.0.1]# rup 192.168.1.102

192.168.1.10  up         18 mins, 2 users, load average: 0.00 0.12 0.23

 

看到以上三个信息说明成功。

0 0
原创粉丝点击