linux的常用命令行
sftp– help
chmod g+w 文件
nohl 清除文件高亮显示
可用命令:
cd 路径 更改远程目录到“路径”
chgrp group plcd 路径 更改本地目录到“路径”
ath 将文件“path”的组更改为“group”
chmod mode path 将文件“path”的权限更改为“mode”
chown owner path 将文件“path”的属主更改为“owner”
exit 退出 sftp
help 显示这个帮助文本
get 远程路径 下载文件
ln existingpath linkpath 符号链接远程文件
ls [选项] [路径] 显示远程目录列表
lls [选项] [路径] 显示本地目录列表
mkdir 路径 创建远程目录
lmkdir 路径 创建本地目录
mv oldpath newpath 移动远程文件
open [用户@]主机[:端口] 连接到远程主机
put 本地路径 上传文件
pwd 显示远程工作目录
lpwd 打印本地工作目录
quit 退出 sftp
rmdir 路径 移除远程目录
lrmdir 路径 移除本地目录
rm 路径 删除远程文件
lrm 路径 删除本地文件
symlink existingpath linkpath 符号链接远程文件
version 显示协议版本
主要用的六个命令:
cd 路径 更改远程目录到“路径”
lcd 路径 更改本地目录到“路径”
ls [选项] [路径] 显示远程目录列表
lls [选项] [路径] 显示本地目录列表
put 本地路径 上传文件
get 远程路径 下载文件
处理节点查询:echo $HOSTNAME
打开桌面远程:mstsc
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS
关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
文件和目录
cd /home 进入 ‘/ home’ 目录’
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(1的树形结构(2)
mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 ‘file1’ 的文件’
rmdir dir1 删除一个叫做 ‘dir1’ 的目录’
rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80x60 “thumbs/{}” \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)
获得 基础 洗逆天 强化 开孔 宝石 神兵 前世
文件搜索
find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 ‘user1’ 的文件和目录
find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name *.rpm -exec chmod 755 ‘{}’ \; 搜索以 ‘.rpm’ 结尾的文件并定义其权限
find / -xdev -name *.rpm 搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备
locate *.ps 寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径
挂载一个文件系统
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享
磁盘空间
df -h 显示已经挂载的分区列表
ls -lSr |more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 ‘dir1’ 已经使用的磁盘空间’
du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小
rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f=’
Installed−Size;10t
I
n
s
t
a
l
l
e
d
−
S
i
z
e
;
10
t
{Package}n’ | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)
返回顶部索引 ^
用户和群组
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 “admin” 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录)
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的用户
grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组
返回顶部索引 ^
文件的权限 - 使用 “+” 设置权限,使用 “-” 用于取消
ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
chown user1:group1 file1 改变一个文件的所有人和群组属性
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位
返回顶部索引 ^
文件的特殊属性 - 使用 “+” 设置权限,使用 “-” 用于取消
chattr +a file1 只允许以追加方式读写文件
chattr +c file1 允许这个文件能被内核自动压缩/解压
chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr +s file1 允许一个文件被安全地删除
chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr 显示特殊的属性
返回顶部索引 ^
打包和压缩文件
bunzip2 file1.bz2 解压一个叫做 ‘file1.bz2’的文件
bzip2 file1 压缩一个叫做 ‘file1’ 的文件
gunzip file1.gz 解压一个叫做 ‘file1.gz’的文件
gzip file1 压缩一个叫做 ‘file1’的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 ‘file1.rar’ 的包
rar a file1.rar file1 file2 dir1 同时压缩 ‘file1’, ‘file2’ 以及目录 ‘dir1’
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 ‘file1’, ‘file2’ 以及 ‘dir1’的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
返回顶部索引 ^
RPM 包 - (Fedora, Redhat及类似系统)
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh –nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -U package.rpm 更新一个rpm包但不改变其配置文件
rpm -F package.rpm 更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 显示系统中所有已经安装的rpm包
rpm -qa | grep httpd 显示所有名称中包含 “httpd” 字样的rpm包
rpm -qi package_name 获取一个已安装包的特殊信息
rpm -qg “System Environment/Daemons” 显示一个组件的rpm包
rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
rpm -q package_name –whatrequires 显示与一个rpm包存在依赖关系的列表
rpm -q package_name –whatprovides 显示一个rpm包所占的体积
rpm -q package_name –scripts 显示在安装/删除期间所执行的脚本l
rpm -q package_name –changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
rpm –import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm –checksig package.rpm 确认一个rpm包的完整性
rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
rpm -Va 检查系统中所有已安装的rpm包- 小心使用
rpm -Vp package.rpm 确认一个rpm包还未安装
rpm2cpio package.rpm | cpio –extract –make-directories bin 从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/arch
/package.rpm 从一个rpm源码安装一个构建好的包
rpmbuild –rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包
返回顶部索引 ^
YUM 软件包升级器 - (Fedora, RedHat及类似系统)
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件
返回顶部索引 ^
DEB 包 (Debian, Ubuntu 以及类似系统)
dpkg -i package.deb 安装/更新一个 deb 包
dpkg -r package_name 从系统删除一个 deb 包
dpkg -l 显示系统中所有已经安装的 deb 包
dpkg -l | grep httpd 显示所有名称中包含 “httpd” 字样的deb包
dpkg -s package_name 获得已经安装在系统中一个特殊包的信息
dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表
dpkg –contents package.deb 显示尚未安装的一个包所提供的文件列表
dpkg -S /bin/ping 确认所给的文件由哪个deb包提供
返回顶部索引 ^
APT 软件工具 (Debian, Ubuntu 以及类似系统)
apt-get install package_name 安装/更新一个 deb 包
apt-cdrom install package_name 从光盘安装/更新一个 deb 包
apt-get update 升级列表中的软件包
apt-get upgrade 升级所有已安装的软件
apt-get remove package_name 从系统删除一个deb包
apt-get check 确认依赖的软件仓库正确
apt-get clean 从下载的软件包中清理缓存
apt-cache search searched-package 返回包含所要搜索字符串的软件包名称
返回顶部索引 ^
查看文件内容
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容
返回顶部索引 ^
文本处理
cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc…) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
grep Aug /var/log/messages 在文件 ‘/var/log/messages’中查找关键词”Aug”
grep ^Aug /var/log/messages 在文件 ‘/var/log/messages’中查找以”Aug”开始的词汇
grep [0-9] /var/log/messages 选择 ‘/var/log/messages’ 文件中所有包含数字的行
grep Aug -R /var/log/* 在目录 ‘/var/log’ 及随后的目录中搜索字符串”Aug”
sed ‘s/stringa1/stringa2/g’ example.txt 将example.txt文件中的 “string1” 替换成 “string2”
sed ‘/^/d’ example.txt 从example.txt文件中删除所有空白行
sed ‘/ *#/d; /^
/d’ example.txt 从example.txt文件中删除所有空白行 sed ‘/ *#/d; /^
/d’ example.txt 从example.txt文件中删除所有注释和空白行
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下单元格内容
sed -e ‘1d’ result.txt 从文件example.txt 中排除第一行
sed -n ‘/stringa1/p’ 查看只包含词汇 “string1”的行
sed -e ‘s/ *//’ example.txt 删除每一行最后的空白字符
sed -e ‘s/stringa1//g’ example.txt 从文档中只删除词汇 “string1” 并保留剩余全部
sed -n ‘1,5p;5q’ example.txt 查看从第一行到第5行内容
sed -n ‘5p;5q’ example.txt 查看第5行
sed -e ‘s/00*/0/g’ example.txt 用单个零替换多个零
cat -n file1 标示文件的行数
cat example.txt | awk ‘NR%2==1’ 删除example.txt文件中的所有偶数行
echo a b c | awk ‘{print
//’ example.txt 删除每一行最后的空白字符 sed -e ‘s/stringa1//g’ example.txt 从文档中只删除词汇 “string1” 并保留剩余全部 sed -n ‘1,5p;5q’ example.txt 查看从第一行到第5行内容 sed -n ‘5p;5q’ example.txt 查看第5行 sed -e ‘s/00*/0/g’ example.txt 用单个零替换多个零 cat -n file1 标示文件的行数 cat example.txt | awk ‘NR%2==1’ 删除example.txt文件中的所有偶数行 echo a b c | awk ‘{print
1}’ 查看一行第一栏
echo a b c | awk ‘{print
1,
1
,
3}’ 查看一行的第一和第三栏
paste file1 file2 合并两个文件或两栏的内容
paste -d ‘+’ file1 file2 合并两个文件或两栏的内容,中间用”+”区分
sort file1 file2 排序两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
comm -1 file1 file2 比较两个文件的内容只删除 ‘file1’ 所包含的内容
comm -2 file1 file2 比较两个文件的内容只删除 ‘file2’ 所包含的内容
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分
返回顶部索引 ^
字符设置和文件格式转换
dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX
unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS
recode ..HTML < page.txt > page.html 将一个文本文件转换成html
recode -l | more 显示所有允许的转换格式
返回顶部索引 ^
文件系统分析
badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块
fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
返回顶部索引 ^
初始化一个文件系统
mkfs /dev/hda1 在hda1分区创建一个文件系统
mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统
mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统
mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
fdformat -n /dev/fd0 格式化一个软盘
mkswap /dev/hda3 创建一个swap文件系统
返回顶部索引 ^
SWAP文件系统
mkswap /dev/hda3 创建一个swap文件系统
swapon /dev/hda3 启用一个新的swap文件系统
swapon /dev/hda2 /dev/hdb3 启用两个swap分区
返回顶部索引 ^
备份
dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的完整备份
dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav –delete /home /tmp 同步两边的目录
rsync -rogpav -e ssh –delete /home ip_address:/tmp 通过SSH通道rsync
rsync -az -e ssh –delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录
rsync -az -e ssh –delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ 通过ssh在远程主机上执行一次备份本地磁盘的操作
dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件
tar -Puf backup.tar /home/user 执行一次对 ‘/home/user’ 目录的交互式备份操作
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ 通过ssh在远程目录中复制一个目录内容
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ 通过ssh在远程目录中复制一个本地目录
tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接
find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents 从一个目录查找并复制所有以 ‘.txt’ 结尾的文件到另一个目录
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 查找所有以 ‘.log’ 结尾的文件并做成一个bzip包
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容
返回顶部索引 ^
光盘
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容
mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件
mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件
mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件
cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件
mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件
cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中
cd-paranoia – “-3” 从一个CD光盘转录音轨到 wav 文件中(参数-3)
cdrecord –scanbus 扫描总线以识别scsi通道
dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD
返回顶部索引 ^
网络 - (以太网和WIFI无线)
ifconfig eth0 显示一个以太网卡的配置
ifup eth0 启用一个 ‘eth0’ 网络设备
ifdown eth0 禁用一个 ‘eth0’ 网络设备
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
ifconfig eth0 promisc 设置 ‘eth0’ 成混杂模式以嗅探数据包 (sniffing)
dhclient eth0 以dhcp模式启用 ‘eth0’
route -n show routing table
route add -net 0/0 gw IP_Gateway configura default gateway
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network ‘192.168.0.0/16’
route del 0/0 gw IP_gateway remove static route
echo “1” > /proc/sys/net/ipv4/ip_forward activate ip routing
hostname show hostname of system
host www.example.com lookup hostname to resolve name to ip address and viceversa(1)
nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)
ip link show show link status of all interfaces
mii-tool eth0 show link status of ‘eth0’
ethtool eth0 show statistics of network card ‘eth0’
netstat -tup show all active network connections and their PID
netstat -tupl show all network services listening on the system and their PID
tcpdump tcp port 80 show all HTTP traffic
iwlist scan show wireless networks
iwconfig eth1 show configuration of a wireless network card
hostname show hostname
host www.example.com lookup hostname to resolve name to ip address and viceversa
nslookup www.example.com lookup hostname to resolve name to ip address and viceversa
whois www.example.com lookup on Whois database
GO TOP INDEX ^
Microsoft Windows networks (SAMBA)
nbtscan ip_addr netbios name resolution
nmblookup -A ip_addr netbios name resolution
smbclient -L ip_addr/hostname show remote shares of a windows host
smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share
-
VI编辑器: 1、vi的基本概念 基本上vi可以分为三种状态,分别是 命令模式(command mode) 插入模式(Insert mode) 底行模式(last line mode) 1) 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 2) 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。 2、vi的基本操作 a) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: ~D vi myfile 不过有一点要特别注意,就是您进入vi之后,是处于[命令行模式(command mode)],您要切换到[插入模式(Insert mode)]才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到 [插入模式(Insert mode)]再说吧! b) 切换至插入模式(Insert mode)编辑文件 在[命令行模式(command mode)]下按一下字母i就可以进入[插入模式(Insert mode)],这时候你就可以开始输入文字了。 c) Insert 的切换 您目前处于[插入模式(Insert mode)],您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下[ESC]键转到[命令行模式(command mode)]再删除文字。 d) 退出vi及保存文件 命令行模式下保存并退出:输入ZZ 在[命令行模式(command mode)]下,按一下[:]冒号键进入[Last line mode],例如:
- w filename (输入 [w filename]将文章以指定的文件名filename保存)
- wq (输入[wq],存盘并退出vi)
-
q! (输入q!, 不存盘强制退出vi)
:x (执行保存并退出vi编辑器)
3、命令行模式(command mode)功能键
1). 插入模式
按切换进入插入模式,按“i”进入插入模式后是从光标当前位置开始输入文件;
按[a]进入插入模式后,是从当前光标所在位置的下一个位置开始输入文字;
按[o]进入插入模式后,是插入新的一行,从行首开始输入文字。
2). 从插入模式切换为命令行模式
按[ESC]键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母[h]、[j]、[k]、[l],分别控制光标左、下、上、右移一格。
按[ctrl]+[b]:屏幕往“后”移动一页。
按[ctrl]+[f]:屏幕往“前”移动一页。
按[ctrl]+[u]:屏幕往“后”移动半页。
按[ctrl]+[d]:屏幕往“前”移动半页。
按[gg]:移动到文章的首行。(可能只在Vim中有效)
按[G]:移动到文章的最后。
按[$]:移动到光标所在行的“行尾”。
按[^]:移动到光标所在行的“行首”
按[w]:光标跳到下个字的开头
按[e]:光标跳到下个字的字尾
按[b]:光标回到上个字的开头
按[#l]:光标移到该行的第#个位置,如:5l,56l。
Vi还提供了三个关于光标在全屏幕上移动并且文件本身不发生滚动的命令。它们分别是H、M和L命令。
(1)H命令
该命令将光标移至屏幕首行的行首(即左上角),也就是当前屏幕的第一行,而不是整个文件的第一行。利用此命令可以快速将光标移至屏幕顶部。若在H命令之前加上数字n,则将光标移至第n行的行首。值得一提的是,使用命令dH将会删除从光标当前所在行至所显示屏幕首行的全部内容。
(2)M命令
该命令将光标移至屏幕显示文件的中间行的行首。即如果当前屏幕已经充满,则移动到整个屏幕的中间行;如果并未充满,则移动到文本的那些行的中间行。利用此命令可以快速地将光标从屏幕的任意位置移至屏幕显示文件的中间行的行首。例如,在上面屏幕显示的情况下(不论光标在屏幕的何处),在命令模式下,输入命令M之后,光标都将移到add这一行的字母a上。同样值得一提的是,使用命令dM将会删除从光标当前所在行至屏幕显示文件的中间行的全部内容。
(3)L命令
当文件显示内容超过一屏时,该命令将光标移至屏幕上的最底行的行首;当文件显示内容不足一屏时,该命令将光标移至文件的最后一行的行首。可见,利用此命令可以快速准确地将光标移至屏幕底部或文件的最后一行。若在L命令之前加上数字n,则将光标移至从屏幕底部算起第n行的行首。同样值得一提的是,使用命令dL将会删除从光标当前行至屏幕底行的全部内容。
4). 删除文字
[x]:每按一次,删除光标所在位置的“后面”一个字符。
[#x]:例如,[6x]表示删除光标所在位置的“后面”6个字符。
[X]:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
[#X]:例如,[20X]表示删除光标所在位置的“前面”20个字符。
[dd]:删除光标所在行。
[#dd]:从光标所在行开始删除#行
5). 复制
[yw]:将光标所在之处到字尾的字符复制到缓冲区中。
[#yw]:复制#个字到缓冲区
[yy]:复制光标所在行到缓冲区。
[#yy]:例如,[6yy]表示拷贝从光标所在的该行“往下数”6行文字。
[p]:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6). 替换
[r]:替换光标所在处的字符。
[R]:替换光标所到之处的字符,直到按下[ESC]键为止。
7). 恢复上一次操作
[u]:如果您误执行一个命令,可以马上按下,回到上一个操作。按多次“u”可以执行多次回复。
8). 更改
[cw]:更改光标所在处的字到字尾处
[c#w]:例如,[c3w]表示更改3个字
9).撤销更改
[u]:撤销上一次更改,可以一直按[u],一直撤销到最旧修改状态。
[ctrl]+[r]:恢复撤销的更改,可以一直按该组合键达到最新的改变。
10). 跳至指定的行
[ctrl]+[g]列出光标所在行的行号。
[#G]:例如,[15G],表示移动光标至文章的第15行行首。
4、Last line mode下命令简介
在使用[last line mode]之前,请记住先按[ESC]键确定您已经处于[command mode]下后,再按[:]冒号即可进入[last line mode]。
A) 列出行号
[set nu]:输入[set nu]后,会在文件中的每一行前面列出行号。
B) 跳到文件中的某一行
[#]:[#]号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
C) 查找字符
[/关键字]:先按[/]键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按[n]会往后寻找到您要的关键字为止。
[?关键字]:先按[?]键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按[n]会往前寻找到您要的关键字为止。
D) 保存文件
[w]:在冒号输入字母[w]就可以将文件保存起来。
E) 离开vi
[q]:按[q]就是退出,如果无法离开vi,可以在[q]后跟一个[!]强制离开vi。
[wq]:一般建议离开时,搭配[w]一起使用,这样在退出的时候还可以保存文件,可以在后面再跟[!]强制保存退出。
[ZZ]:保存并退出vi。
F) 语法加亮
[syntax on]:vi编辑器默认不打开语法加亮功能,打开vi编辑器后在[last line mode]下使用[syntax on]命令即可打开语法加亮功能,此时编辑器会高亮显示文件中的关键字,方便编程使用,用[syntax off]命令可关闭该功能。
9.cp 文档复制
命令格式: cp [-r] source destination
例子:
cp file1 file2 将文档 file1 复制成 file2
cp file1 dir1 将文档 file1 复制到目录 dir1 下,文件名仍为 file1.
cp /tmp/file1 . 将目录 /tmp 下的文档 file1复制到现行目录下,
档名仍为 file1.
cp /tmp/file1 file2 将目录 /tmp 下的文档 file1现行目录下,档名
为file2
cp -r dir1 dir2 (recursive copy) 复制整个目录.
若目录 dir2 存在,则将目录dir1,及其所有文档和子目录,
复制到目录 dir2 下,新目录名称为dir1.若目录dir2不存在,
则将dir1,及其所有文档和子目录,复制为目录 dir2.
10.mv 文件移动
命令格式: mv source destination
例子:
mv file1 file2 将文档 file1,更改档名为 file2.
mv file1 dir1 将文档 file1,移到目录 dir1 下,档名仍为 file1.
mv dir1 dir2 若目录 dir2 不存在,则将目录 dir1,及其所有档
案和子目录,移到目录 dir2 下,新目录名称为 dir1.
若目录 dir2 不存在,则将dir1,及其所有文档和子
目录,更改为目录 dir2.
11.du 查看目录所占磁碟容量
命令格式: du [-sk] directory
例子 :
du dir1 显示目录 dir1 的总容量及其次目录的容量
du -sk dir1 显示目录 dir1 的总容量,以k bytes为计量
12.find 文件查找
命令格式: find dir -name filename command
例子:
find . -name hello -print 寻找目前目录及所有的子目录内叫
hello的文档.
find . -ctime +7 -print 找出七天内未被更动的文档
find . -size +2000m -print 找出大小超过2000 bytes的文档
find /tmp -user b1234567 -print 在/tmp下属於b1234567的文档
find . -name ‘*.c’ -exec rm {} 删除所有的.c档
find . -name test* -print 显示当前目录及其子目录文件名前4
位为test的文件名
13.vi 编辑器
命令状态:
j,k,h,l:上下左右
0: 行首
$: 行尾
i,I :插入命令,i 在当前光标处插入 I 行首插入
a,A:追加命令,a 在当前光标后追加,A 在行末追加
o,O:打开命令,o 在当前行下打开一行,O在当前行上插入一行
r,R :替换命令,r 替换当前光标处字符,R从光标处开始替换
数字s: 替换指定数量字符
x: 删除光标处字符
dd: 删除当前行
d0: 删除光标前半行
d$: 删除光标后半行
ctrl+f :后翻页
ctrl+b:前翻页
G : 文件尾
数字G: 数字所指定行
/string 查找字符串
n 继续查找
N 反向继续查找
% 查找对应括号
u 取消上次操作
ex命令状态
:set number 显示行号
:set smd 显示显示状态
:0 文件首
:1,5 copy 7 块拷贝
:1,5 del 块删除
:1,5 move 7 块移动
:1,$s/string1/string2/g 全文件查找string1并替换为string2
:wq! 存盘退出
(二) 增强命令
- ln 文档连结
命令格式:ln -s oldname newname ( Hard link )
同一文档,可拥有一个以上之名称,可将文档做数个连结.
例子 :
ln -s file1 file2 将名称 file2,连结至文档 file1.
2.grep 搜索字符串
命令格式:
grep string filename
寻找字串的方法很多,比如说我想找所有以M开头的行.此时必须引进pattern的观
念.以下是一些简单的□例,以及说明:
^M 以M开头的行,^表示开始的意思
M 以M结尾的行, 以 M 结 尾 的 行 , 表示结束的意思
^[0-9] 以数字开始的行,[]内可列举字母
^[124ab] 以1,2,4,a,或b开头的行
^b.503 句点表示任一字母
星号表示0个以上的字母(可以没有)
加号表示1个以上的字母
. 斜线可以去掉特殊意义
cat passwd | grep ^b 列出大学部有申请帐号者名单
cat passwd | grep ^s 列出交换学生申请帐号者名单
cat passwd | grep ‘^b.503’ 列出电机系各年级…
grep ‘^.’ myfile.txt 列出所有以句点开头的行
3.fgrep 搜索字符串
命令格式:fgrep string file
4.file 显示文件类型
命令格式:file fileall
文件类型为shell script,ELF 32bit,ASCII text,data or tar file
5.diff 比较文档或目录之不同内容
命令格式:diff [-r] name1 name2 ( name1 name2 可同时为档名,或目录名称.)
例子 :
%diff file1 file2
比较文档 file1 与 file2 内,各行之不同处.
%diff -r dir1 dir2
比较目录 dir1 与 dir2 内,各文档之不同处.
6.cmp 比较文档相同部分
命令格式:cmp file1 file2
7.ftp 远程文件传输
命令格式: ftp [hostname|IP address]
在进入 ftp 之後,如果与 remote host 连接上了,它将会询问你 username
与密码,如果输入对了就可以开始进行文档传输.
注意:如用户无密码,无法注册
(1) ftp 命令
ascii 将传输模式设为 ascii 模式.通常用於传送文字档.
binary 将传输模式设为 binary 模式,通常用於传送执行档,压缩档与影像
档等.
cd remote-directory 将远程主机上的工作目录改变.
lcd [ directory ] 更改本地主机的工作目录.
ls [ remote-directory ] [ local-file ] 列出远程主机上的文档.
get remote-file [ local-file ] 取得远方的文档.
mget remote-files 可使用通用字元一次取得多个文档.
put local-file [ remote-file] 将本地主机的文档送到远程主机.
mput local-files 可使用通用字元一次将多个文档放到远程主机上.
help [ command ] 线上辅助指令.
mkdir directory-name 在远程主机创建一个目录.
prompt 更改交谈模式,若为 on 则在 mput 与 mget 时每作一个文档之传
输时均会询问.
quit/bye 离开ftp .
(2) 后台执行ftp
1.首先,将过程所用到的指令依顺序放入文档中,如下:
%cat ftp_command
!mkdir test
lcd test
cd test
prompt
binary
mget .
bye
2.其次,建一个.netrc档,属性为400,让ftp 自动到此读取Username
与Password,方可顺利login 到的主机,如下:
%cat .netrc
machine remote login anonymous password guest
3.最後再执行下面指令即可.
%nohup ftp remote < ftp_command > message &
8.telnet 远程终端访问
命令格式:
telnet [hostname|IP address]
9.IO 重新导向
UNIX所有的程式执行时,均需要资料的输入以及输出资料.一般而言,资料是
从键盘输入,并将资料输出到萤幕上,这就叫做标准输入及标准输出,而我们
可以更改标准出输出入.
A. 更改标准输入 —— 在命令後方加”< ” ,即可从这
个文档输入资料.
B. 更改标准输出 —— 在命令後方加”> ” ,即可将萤幕输出的资
料导向到这个文档上.
C. 更改标准输出 —— 在命令後方加”>> ”,功能与B.相似,只不
过这会将资料加在文档後方.
D. 管道 —— 在两个命令中间加上’|’,即可将前方指令的输出当成後方指令
D. 管道 —— 在两个命令中间加上’|’,即可将前方指令的输出当成後方指令
的输入.
例:
cd /tmp
ls -l > /tmp/ls.out
cat /tmp/ls.out
more /tmp/ls.out
rm /tmp/ls.out
ls | more
ls | wc -l (word count, count line number,算出文档数目)
Aix系统培训
一、 Aix简介
Aix是Unix操作系统的版本之一,主要应用在IBM RISC 6000系列小型机上。其他的Unix ,如SUN的Solaris ,HP Unix以及Linux等等。目前Aix系统的版本有Aix 4.x Aix5.x等。它们之间只是版本不同,但内核都是一样的,操作命令机本上也相同。版本高的会新增一些命令,都是向下兼容的。
二、 Aix使用入门
对于大多数用户来说,对于Aix的访问都是通过telnet的方法来登录到RS6000上,当然是以不同的身份了。把本地机器作为RS6000的一个终端,来完成对R S6000的操作。这实际上是Unix的一大特点,Unix本身就是设计成一个多任务、多用户的并发系统。
2.1登录 (login)
2.1.1 RS6000的登录
许多用户可以同时使用Unix系统,为了让系统知道用户是谁以及可以使用什么资源,用户在使用之前必须向系统表明自己的身份。另外,U nix认为用户是通过终端或在PC上运行方针软件与其通讯。Unix系统和用户终端之间必须建立传输信息的连接。通常把建立通讯连接和表明用户身份的过程称为登录( login) .
2.1.1.1 RS6000的开机
直接按Power键。RS6000启动、自检。包括对硬件的自检,系统的初始化。
2.1.1.2登录
默认的情况下,系统会进入Xwindows环境下,也就是所谓的CDE环境(Common Desktop Environment)即公共桌面环境。这样Aix启动后将直接显示CDE注册界面,输入用户名和口令后即进入CDE操作环境。通常在RISC6000端都是以r oot身份(管理员身份)登录的。
2.1.2客户端的登录
客户端主要是通过执行telnet命令,并且输入合法的用户名和密码,登录到服务器端。比如:在客户端执行telnet 192.168.0.161 (假设为RS6000的IP) ,会出现如下的登录提示:
AIX Version 4
(C) Copyrights by IBM and by others 1982, 1996.
login:
然后输入用户名,如:long ,回车后,会出现输入密码的提示:
long’s Password:
2.1.3成功登录之后
成功登录之后,系统将显示一些消息,如上一次用户登录的时间、有关系统信息的消息(称为当日消息),以及一些通知用户是否有mail 的消息。其中,当热消息十分重要,它是系统管理员与用户通讯的方法之一,比如系统管理员通过当日消息通知用户下一次系统关闭的时间。如图:
AIX Version 4
(C) Copyrights by IBM and by others 1982, 1996.
login: long
long’s Password:
-
- Welcome to AIX Version 4.3!
-
- *
- Please see the README file in /usr/lpp/bos for information pertinent to
- this release of the AIX Operating System.
-
-
Last unsuccessful login: Fri Dec 28 14:59:34 BEIST 2001 on /dev/pts/0 from 192.3
Last login: Sat Dec 29 10:13:50 BEIST 2001 on /dev/pts/6 from 192.168.0.133
[YOU HAVE NEW MAIL]
显示以上消息后,系统将显示一个命令提示符。这表明系统将等待用户的输入,非root用户登录后提示符一般为
显
示
以
上
消
息
后
,
系
统
将
显
示
一
个
命
令
提
示
符
。
这
表
明
系
统
将
等
待
用
户
的
输
入
,
非
r
o
o
t
用
户
登
录
后
提
示
符
一
般
为
,root用户登录后,提示符为# .出现不同命令提示符与shell有关,B shell和K shell的提示符使用$ ,Aix中为K shell .
2.1.4用户的权限
如果Unix系统只有用户自己使用的话,除了系统提供的系统管理员帐号以外,用户还要给自己建立一个帐号。因为使用系统管理员的帐号( root)要十分小心,该帐号具有特殊的权限。Unix有内嵌的安全机制,一般的用户没有权限创建新的帐户或进行其他系统管理的操作。roo t用户使用系统管理员帐号,又称为超级用户,具有系统管理员的权限。但root 拥护不小心的错误可能会导致系统故障。因此用户在作一般的工作时,应进入自己的帐号,由于没有权限,故不会给系统带来故障。在多用户环境中,超级用户的工作应更加小心。因为他的错误不但会影响他本人,还会影响他人以及整个系统。
Unix还保证在多用户环境中,不同用户之间不相互干扰,每个用户有自己的工作权限,并且可以选择组内或其他用户对自己工作的访问权限。如果把访问权限制为o wner ,那么自己的数据别人是无法访问的。如果用户参加一个组,共同进行一项任务,那么该用户可以把访问权限定为owner和组内的其他成员。如果用户的数据允许其他任何用户看的话,可以把权限定义为任何人。有关定义权限的部分,我们将在介绍c homd命令时讨论。
2.2 logout
工作结束后,用户需要退出系统,这就防止别人有意无意的通过该用户的帐号访问他的文件或者使用系统。不论在什么shell中,退出系统的方法是使用e xit命令,该命令使shell退出。当用户从login的shell退出时,就会自动退出系统。也可敲入logout命令。$logout ,或按ctrl + d .如果是图形界面的话,退出系统方法请参见在线帮助。
2.3使用基本命令
telnet命令
telnet命令用于使客户端登录到RS6000上的Aix 系统。语法为:
telnet + ip (服务器的ip地址)。例如:登录到ip 地址为192.168.0.161的服务器,在Windows 的命令提示符下敲入telnet 192.168.0.161 ,当然,如果使用其它的telnet软件,只需设好ip ,然后执行登录就可以了。
ls命令
ls命令用于显示指定路径下的文件。具体格式为:
ls + 路径。比如,要显示/home下的文件,用
ls/home.这种方式只显示文件名,而不包含其他的信息。
l
s
/
h
o
m
e
.
这
种
方
式
只
显
示
文
件
名
,
而
不
包
含
其
他
的
信
息
。
ls –l + 路径 ,除了显示文件名之外,还显示文件的属性、创建时间,以及所属的组 。
$ls –a +路径,显示隐含文件。
man命令
是Aix的帮助命令,可以显示某个命令的详细使用说明。这个命令比较有用处,具体语法为:
man+命令,比如,要查看tar命令的使用方法,可用:
m
a
n
+
命
令
,
比
如
,
要
查
看
t
a
r
命
令
的
使
用
方
法
,
可
用
:
man tar
cd命令
改变当前的工作目录,类似于Dos方式下的cd命令。具体语法为:
cd+路径比如,进入/home/user目录中,用
c
d
+
路
径
比
如
,
进
入
/
h
o
m
e
/
u
s
e
r
目
录
中
,
用
cd /home/user命令。
cd..是退回到上一级目录。cd是回到上一步所在的目录。
who命令
who命令用于显示当前在线的用户,使用非常简单,直接在shell提示符下输入who就可以了。$who
cp命令
用于拷贝文件,类似于Dos下的copy命令。具体语法为:
cp + 文件名 + 路径 如果要复制目录,需要加参数-r或-R
例如:
cp/home/a.tar/home/demo
c
p
/
h
o
m
e
/
a
.
t
a
r
/
h
o
m
e
/
d
e
m
o
cp –r /home/aaa /home/bbb 其中aaa 、bbb均为目录。
mv命令
用于移动文件或文件夹。具体语法为:
mv + 文件名 + 路径
例如,将 /home/long/a移动到/home/long/b目录中,用下面命令:
$mv /home/long/a /home/long/b
rm命令
用于删除文件或文件夹。具体语法为:rm + 路径 +文件名 。例如,要删除/home/long/manual.tar文件,用下面命令:
rm/home/long/manual.tar如果要删除目录,用rm–r+路径+目录名。例如:要删除/home/manual目录,用
r
m
/
h
o
m
e
/
l
o
n
g
/
m
a
n
u
a
l
.
t
a
r
如
果
要
删
除
目
录
,
用
r
m
–
r
+
路
径
+
目
录
名
。
例
如
:
要
删
除
/
h
o
m
e
/
m
a
n
u
a
l
目
录
,
用
rm –r /home/manual
注意:要删除一个文件或文件夹,首先要具有对这个文件夹的写权限。
mkdir命令
用于建目录具体语法为mkdir + 目录名。例如,要在/home/long目录下建立一个名为test的目录,用下面的命令:
$mkdir /home/long/test
rmdir命令
与mkdir的用途相反,用于删除一个目录。(注意,这里指的是空目录,里面没有文件)具体语法为:rmdir + 目录名 例如,将刚才建的目录删掉,就可以用下面的命令:$rmdir /home/long/test
vi命令
vi命令是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件。若在vi执行时没有指定一个文件,那么vi命令会自动产生一个无名的空的工作文件。若指定的文件不存在,那么就按指定的文件名创建一个新的文件。若对文件的修改不保存的话,v i命令并不改变原来文件的内容。
注意:vi命令并不锁住所编辑的文件,因此多个用户可能在同时编辑一个文件,那么最后保存的文件版本将被保留。
下面是vi命令使用的一些选项及含义:
-c sub-command 在对指定的文件编辑前,先执行指定的命令 sub-command .
-r filename 恢复指定的文件filename .
-R 将指定的文件以只读的方式放入编辑器中,这样不会保存对文件的任何修 改。
-y number 将编辑窗口的大小设为number行。
下面是vi编辑所处的三种模式:
.命令模式 进入vi时所处的模式。在此模式下用户可输入各种子命令对进行操作,如删除行、粘贴行、移向下一个字、移向不同行等。
.文本输入模式 在此模式下可以修改一行的内容并增添新行。在命令模式下键入a 、i 或c键可进入文本输入模式,按Escape键可返回命令模式。
.命令项模式 在此模式下,可以通过子命令输入更多的参数。如:w子命令要求输入一文件名,“/”子命令要求输入一个查找项。用户使用Escape键返回命令模式。
下面是自命令模式下执行的,在同一行上移动的自命令:
h 将光标左移一格。
l 将光标右移一格。
j 将光标下移一格。
k 将光标上移一格。
w 将光标移到下一个小字的前面。
W 将光标移到下一个大字的前面。
b 将光标移到前一个小字的前面。
B 将光标移到前一个大字的前面。
e 将光标移到下一个小字的后面。
E 将光标移到前一个大字的后面。
fc 把光标移到同一行的下一个c字符处。
Fc 把光标移到同一行的前一个c字符处。
tc 把光标移到同一行的下一个字符c的前一格。
Tc 把光标移到同一行的前一个字符c的后一格。
number| 把光标移到递number列上。
下面是命令模式下在行间移动的子命令:
+或Enter 把光标移至下一行第一个非空白字符。
- 把光标移至上一行第一个非空白字符。
0 把光标移到当前行的第一个字符处。
$ 把光标移到当前行的最后一个字符处。
H 把光标移到屏幕最顶端一行。
L 把光标移到屏幕最底端一行。
M 把光标移到屏幕中间。
下面是命令模式下改变屏幕显示的子命令:
z- 把当前行作为屏幕的最后一行,并重新显示屏幕。
z. 把当前行作为屏幕的中间一行,并重新显示屏幕。
Ctrl+l 重新显示屏幕当前内容。
/pattern/z- 寻找pattern的下一个位置,并把所在行设为屏幕的最后一行。
下面是在命令模式下用来显示页面的子命令:
Ctrl + f向后滚一页。
Ctrl + d向后滚半页。
Ctrl + b向前滚一页。
Ctrl + u向前滚半页。
Ctrl + e屏幕向下滚一行。
Ctrl + y屏幕项上滚一行。
下面是在命令模式下用来查找字符串所使用的子命令:
/pattern 向后寻找指定的pattern ,若遇到文件尾,则从头再开始。
?pattern 向前寻找指定的pattern ,若遇到文件头,则从尾再开始。
n 在上次指定的方向上,再次执行上次定义的查找。
N 在上次指定的方向的相反方向上,再次执行上次定义的查找。
/pattern/+number 将光标停在包含pattern的行后面第number行上。
/pattern/-number 将光标停在包含pattern的行前面第number行上。
% 移到匹配的“()”或“{}”上。
下面是在文本输入模式下用来输入文本的子命令(用户可在任何时候按Escape返回到命令模式):
a 在光标之后开始输入文本。
A在行尾开始输入文本。
i在光标之前开始输入文本。
I在行首第一个非空白字符前输入文本。
o在光标所在行后插入一空行。
O在光标所在行前插入一空行。
下面是在命令模式下改变文本所使用的子命令(用户可在任何的时候按Escape键返回到命令模式):
cc或S 修改一整行。
C 改变一行光标位置以后的部分。
cw 改变光标所在单词。
dd删除当前行。
D 删除光标所在行光标后面的内容。
dw删除光标所在的单词。
J 把下一行内容加到本行行尾。
rc把光符所在字符替换成c .
R 覆盖本行内容。
u恢复上一次的修改。
x删除光标所在的字符。
~ 改变光标所在出字符的大小写。
. 重复上一个操作。
<<把当前行移到左边。
把当前行移到右边。
下面是用于文件中拷贝文本的字命令:
p 将缓冲区内容取到光标所在行的下面一行。
P 将缓冲区内容取到光标所在行的上面一行。
“bd 将文本删除至有名缓冲区b .
“bp 张贴有名缓冲区b中内容。
yy把当前行放入缓冲区。
Y 把当前行放入缓冲区。
Yw把光标所在的单词放入缓冲区。
下面是用于保存文件的子命令:
:w 回写修改后的文件。
:w filename 当filename不存在时,把修改后的文件存为文件filename ,当文件filename存在时,报错。
!w filename 如果文件filename存在时,把修改后的文件保存为文件filename .
下面列出了在vi编辑的多个文件之间切换所用的子命令:
:n开始编辑vi激活的文件列表中的下一个文件。
:n filenames 指定将被编辑的新的文件列表。
下面列出了用于在当前文件和另外一个文件间切换的子命令:
:e filename 使用filename激活vi (在vi中装入另一个文件filename)。
e!重新装入当前文件,若当前文件有改动,则丢弃以前的改动。
:e+filename 使用filename激活vi ,并从文件尾部开始编辑。
:e+number filename 使用filename激活vi ,并在第number行开始编辑。
:e# 开始编辑另外一个文件。
下面是在本文件中加入其他文件代码所使用的子命令:
:r filename读取filename文件,并将其内容加到当前文件后。
:r ! command执行command文件,并将其输出加到当前文件后。
下面是vi中其他的子命令:
ctrl+g 取得正在编辑文件的有关信息。
:sh启动sh ,从sh中返回可用exit或ctrl+d .
:! Command 执行命令command .
!!重新执行上次的:! Command子命令。
:q退出vi ,若用户对编辑的文件有所修改,系统不会让用户使用q命令退出。
:q!退出vi而不管是否对文件有改动。
ZZ或:wq 保存对文件的修改并退出vi .
用户可在一个特殊的文件.exrc中定义特殊的vi命令。在vi中使用这些命令时,必须在该命令前加上一个冒号( :) 。
cat命令
用于在标准输出上显示文件的内容,但不会更新文件。具体语法是:cat +文件名 。例如,显示/home/long/example.txt文件的内容,可以用下面的命令:
$cat /home/long/example.txt
more命令
功能是在终端屏幕按屏显示文本文件。具体语法为:more + 文件名。例如:要分屏显示文件 /example.C ,可以用下面命令:$more /example.C
shutdown命令
shutdown命令中断操作系统,只有具有root权限的用户才能执行这个命令。在默认的情况下,执行shutdown命令时会收到一个消息,直到收到完整的s hutdown信息时,系统才会完成shutdown操作。当shutdown时间不断接近的时候,在用户端上会受到警告信息,在指定时间到达时,(默认为6 0秒)系统结束所有进程,unmount掉所有文件系统。具体的用法是:
shutdown 关闭系统
shutdown –Fr 快速关闭系统并且重新启动
shutdown –F 快速关闭系统
talk命令
talk命令用于与其他终端用户交谈,具体语法如下:
talkusername1@rs6k其中user是你想要谈话对象的帐户名称。同时,在对方终端上也要运行
t
a
l
k
u
s
e
r
n
a
m
e
1
@
r
s
6
k
其
中
u
s
e
r
是
你
想
要
谈
话
对
象
的
帐
户
名
称
。
同
时
,
在
对
方
终
端
上
也
要
运
行
talk username2@rs6k (其中rs6k是服务器的名称)
wall命令
用于向网络中的所有用户发送广播。具体语法为:wall + 内容
如,下面命令: $wall good morning !
在所有的终端上就会显示good morning !
date命令
用于显示或改变时间。如果改变时间,必须以root身份登录。例如,要显示时间可输入:$date
要改变时间输入:#date 0217142592 改变时间为 1992年2月17日14:25
clear命令
消除终端屏幕。具体的语法非常简单,只要执行$clear 就可以了。
whereis命令
用于确定文件的位置。具体的用法:whereis +文件名 。例如,定文件example.txt的位置,用下面的命令:$whereis example.txt
tar命令
tar是unix中的一个常用的命令,也是一个很重要的命令。tar命令将磁盘上的文件拷贝到档案媒体上(比如:软盘到硬盘,也可以是硬盘到软盘),或把档案媒体上记录的数据恢复成磁盘上的文件。遇到错误时,t ar命令不提供任何恢复操作。
tar的命令格式:
tar -cvf (或xvf)+文件名+设备
c->是本地到其他设备
x->是其他设备到本地
r->是追加(比如拷了一个t.txt ,还要再拷一个r.txt
其中tar一个文件(或文件夹)用cvf参数;
将tar好的文件解开,用xvf参数。
例如:
将 /home/test中的文件tar到/anw中,并tar成exe.tar用下面的命令:
tar -cvf /anw/exe.tar /home/test
将tar好的文件解开,用下面的命令:
tar -xvf /anw/exe.tar 会将exe.tar解到压缩时指定的路径下。
tar命令生成文件的扩展名可以任意起,比如:test文件的生成文件可以是test.a 、test.b 、test.tar都行。
compress命令和uncompress 命令
这两个命令用于完成压缩和解压缩。比如,运行
compresstest.tar,是把test.tar文件压缩成test.tar.Z文件。解压缩时用uncompress命令:
c
o
m
p
r
e
s
s
t
e
s
t
.
t
a
r
,
是
把
t
e
s
t
.
t
a
r
文
件
压
缩
成
t
e
s
t
.
t
a
r
.
Z
文
件
。
解
压
缩
时
用
u
n
c
o
m
p
r
e
s
s
命
令
:
uncompress test.tar.Z
注意,如果压缩时输入的是绝对路径,解压缩时就自动解到相应的路径下。
查看磁盘空间命令df
df命令显示系统总共的磁盘空间和可用的磁盘空间。同时还会显示指定设备的文件系统参数、文件系统存在的路径,以及文件系统mount到哪个目录中。具体语法如下:
df显示的单位是512k,
d
f
显
示
的
单
位
是
512
k
,
df –k命令显示的磁盘空间的单位是1024k ,也就是1 M .如下所示:
$ df
Filesystem 512-blocks Free %Used Iused %Iused Mounted on
/dev/hd4 327680 239248 27% 2616 4% /
/dev/hd2 11730944 5539296 53% 84989 6% /usr
/dev/hd9var 327680 301088 9% 709 2% /var
/dev/hd3 327680 316448 4% 68 1% /tmp
/dev/hd1 10092544 1426480 86% 9128 1% /home
$ df -k
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/hd4 163840 119624 27% 2616 4% /
/dev/hd2 5865472 2769648 53% 84989 6% /usr
/dev/hd9var 163840 150544 9% 709 2% /var
/dev/hd3 163840 158224 4% 68 1% /tmp
/dev/hd1 5046272 713236 86% 9128 1% /home
finger命令
用于显示当前登录用户信息。这个命令与f命令的功能相同。具体语法如下:
finger或
f
i
n
g
e
r
或
f
last命令
last命令用于显示前面登录的信息。例如,last会显示出最近一段时间内所有用户的登录信息。包括登录时间和进程。如果指定显示某一用户的登录信息,可以用l ast +用户帐号 。比如:$last user 就是显示user的登录信息。
ifconfig命令
用于配置或显示TCP/IP网络接口的参数。可以用下面命令来查看IP地址:
$ifconfig –a 显示RS6000上的IP地址。
ping命令
用来测试网络的物理连接。用户发一个ICMP(Internet Control Message Protocal)来从主机或网关获得一个ICMP回应。如测试与IP地址为192.168.0.161的主机的物理连接,可以用下面的命令:
ping192.168.0.161PING192.168.0.161:(192.168.0.161):56databytes64bytesfrom192.168.0.161:icmpseq=0ttl=255time=0ms64bytesfrom192.168.0.161:icmpseq=1ttl=255time=0ms64bytesfrom192.168.0.161:icmpseq=2ttl=255time=0ms64bytesfrom192.168.0.161:icmpseq=3ttl=255time=0ms64bytesfrom192.168.0.161:icmpseq=4ttl=255time=0ms64bytesfrom192.168.0.161:icmpseq=5ttl=255time=0ms64bytesfrom192.168.0.161:icmpseq=6ttl=255time=0ms—−192.168.0.161PINGStatistics—−8packetstransmitted,8packetsreceived,0round−tripmin/avg/max=0/0/0ms这种情况说明收到了从192.168.0.161发回的相应,证明与主机的物理连接正常。若出现下面的情况,说明没有与192.168.0.161连接。
p
i
n
g
192.168.0.161
P
I
N
G
192.168.0.161
:
(
192.168.0.161
)
:
56
d
a
t
a
b
y
t
e
s
64
b
y
t
e
s
f
r
o
m
192.168.0.161
:
i
c
m
p
s
e
q
=
0
t
t
l
=
255
t
i
m
e
=
0
m
s
64
b
y
t
e
s
f
r
o
m
192.168.0.161
:
i
c
m
p
s
e
q
=
1
t
t
l
=
255
t
i
m
e
=
0
m
s
64
b
y
t
e
s
f
r
o
m
192.168.0.161
:
i
c
m
p
s
e
q
=
2
t
t
l
=
255
t
i
m
e
=
0
m
s
64
b
y
t
e
s
f
r
o
m
192.168.0.161
:
i
c
m
p
s
e
q
=
3
t
t
l
=
255
t
i
m
e
=
0
m
s
64
b
y
t
e
s
f
r
o
m
192.168.0.161
:
i
c
m
p
s
e
q
=
4
t
t
l
=
255
t
i
m
e
=
0
m
s
64
b
y
t
e
s
f
r
o
m
192.168.0.161
:
i
c
m
p
s
e
q
=
5
t
t
l
=
255
t
i
m
e
=
0
m
s
64
b
y
t
e
s
f
r
o
m
192.168.0.161
:
i
c
m
p
s
e
q
=
6
t
t
l
=
255
t
i
m
e
=
0
m
s
—
−
192.168.0.161
P
I
N
G
S
t
a
t
i
s
t
i
c
s
—
−
8
p
a
c
k
e
t
s
t
r
a
n
s
m
i
t
t
e
d
,
8
p
a
c
k
e
t
s
r
e
c
e
i
v
e
d
,
0
r
o
u
n
d
−
t
r
i
p
m
i
n
/
a
v
g
/
m
a
x
=
0
/
0
/
0
m
s
这
种
情
况
说
明
收
到
了
从
192.168.0.161
发
回
的
相
应
,
证
明
与
主
机
的
物
理
连
接
正
常
。
若
出
现
下
面
的
情
况
,
说
明
没
有
与
192.168.0.161
连
接
。
ping 192.168.0.161
PING 192.168.0.161: (192.168.0.161): 56 data bytes
—-123.123.1.1 PING Statistics—-
53 packets transmitted, 0 packets received, 100% packet loss
su命令
用来改变用户的ID ,连同会话。例如,当前用户为user1 ,在执行$su – user2后,用户ID就变为了user2 ,并且可以以user2 身份来完成操作。在建立用户的时候,可以选择是否允许其他的用户su你的用户。
ps命令
用于显示当前正在运行的进程状态。使用不同的选项,用户可以查询所有正在运行的进程或是具有该用户ID的所有进程。通过ps命令,用户可以了解正在后台运行的进程或是具有该用户I D的所有进程。通过ps命令,用户可以了解正在后台运行的进程和正在运行的批处理进程。当不带参数时,只显示由当前终端创建的正在执行的进程。
ps–A列出系统中正在运行的进程的详细信息。
p
s
–
A
列
出
系
统
中
正
在
运
行
的
进
程
的
详
细
信
息
。
ps a列出与终端有关的所有进程。
echo命令
用于将字符串标准输出。比如,输出Hello ,可以用
echoHello在变量赋值语句中,如U=Hello,要输出Hello,用
e
c
h
o
H
e
l
l
o
在
变
量
赋
值
语
句
中
,
如
U
=
H
e
l
l
o
,
要
输
出
H
e
l
l
o
,
用
echo
U,注意前面要加一个
U
,
注
意
前
面
要
加
一
个
符号,表示输出变量U 所对应的值。
env命令
env命令可用来显示当前的环境或设置一个或多个环境变量。还可以运行指定的命令。而环境的变化只在命令运行期间有效。如
env,可以查看当前设定的环境变量。如:
e
n
v
,
可
以
查
看
当
前
设
定
的
环
境
变
量
。
如
:
env
_=/usr/bin/env
LANG=en_US
LOGIN=long
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
IMQCONFIGCL=/etc/IMNSearch/dbcshelp
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/long/bin:/usr/bin/X11:/sbin:.
LC__FASTMSG=true
CGI_DIRECTORY=/var/docsearch/cgi-bin
IMQCONFIGSRV=/etc/IMNSearch
LOGNAME=long
MAIL=/usr/spool/mail/long
LOCPATH=/usr/lib/nls/loc
USER=long
DOCUMENT_SERVER_MACHINE_NAME=localhost
AUTHSTATE=compat
SHELL=/usr/bin/ksh
ODMDIR=/etc/objrepos
U=rs6k
DOCUMENT_SERVER_PORT=49213
HOME=/home/long
TERM=vt100
MAILMSG=[YOU HAVE NEW MAIL]
PWD=/home/long
DOCUMENT_DIRECTORY=/usr/docsearch/html
TZ=BEIST-8BEIDT
A__z=! LOGNAME
passwd命令
用户登录时,系统要求用户输入用户名和口令。尽管用户可以不设口令,但大多数用户都在登录时使用口令。如果用户要修改口令,可以使用p asswd命令。执行passwd命令时,系统首先要求用户输入当前的口令,然后再连续输入两次新口令。当两次输入新口令一致时,新口令才有效。例如:改变l ong的password ,用下面命令:
passwdlongChangingpasswordfor“long”long′sOldpassword:long′sNewpassword:Enterthenewpasswordagain:
p
a
s
s
w
d
l
o
n
g
C
h
a
n
g
i
n
g
p
a
s
s
w
o
r
d
f
o
r
“
l
o
n
g
”
l
o
n
g
′
s
O
l
d
p
a
s
s
w
o
r
d
:
l
o
n
g
′
s
N
e
w
p
a
s
s
w
o
r
d
:
E
n
t
e
r
t
h
e
n
e
w
p
a
s
s
w
o
r
d
a
g
a
i
n
:
chmod命令
为了增强目录或文件的安全性,或将目录和文件放给他人访问,用户常常要修改目录或文件的权限。Unix中,权限使用8进制数字(0到7)来指定文件或目录的权限。对目录或文件的使用对象有三种:
所有者:创建文件的用户
组成员:所有者所在的用户组内其他成员
其他用户: 既不是所有者,又不是组成员的其他用户。
系统使用一位8进制数字指定每一类访问者对象所具有的权限。对于所有者、组成员和其他用户,对文件的权限可分为读权限、写权限和执行权限。每一种权限对应一比特数据。即若读比特为1 表明可读,写比特为1表明可写,执行比特为1表示可执行。
注意,对于目录来说,执行比特的功能叫特殊。用户对目录可执行就是可访问该目录中的内容,否则不可以访问该目录内容。
读、写,执行三比特组合在一起就可表示一个8进制行数字,其中读比特权限为4,写为2,执行为1 。
再次提醒用户注意,目录的执行权限时对目录的访问权限,即对该目录操作的权限。如果对目录有写的权限,那么就可以任意的读、写、删除和执行目录中的所有文件,而不受具体文件权限的限制。
使用chmod命令,可以给文件或目录赋上新的权限值。例如,若设置文件testfile的权限为:所有者可读、写、执行,组成员可读,其他用户可执行。可用命令:
chmod741testfile当用户想把当前目录中文件testfile的权限设置为所有者和组成员可读、可写时,可执行:
c
h
m
o
d
741
t
e
s
t
f
i
l
e
当
用
户
想
把
当
前
目
录
中
文
件
t
e
s
t
f
i
l
e
的
权
限
设
置
为
所
有
者
和
组
成
员
可
读
、
可
写
时
,
可
执
行
:
chmod 660 testfile
$ ls -l
total 202
-rw——- 1 long system 287 Dec 28 14:56 mbox
drwxr-xr-x 3 long system 512 Dec 29 15:05 mm
-rw-r–r– 1 long system 59034 Dec 29 14:32 smit.log
-rw-r–r– 1 long system 12668 Dec 21 16:19 smit.script
drwxr-xr-x 3 long system 512 Dec 27 16:21 test
-rw-r–r– 1 long system 10240 Dec 28 12:40 test.tar
-rw-r–r– 1 long system 16949 Dec 10 13:24 websm.log
注意左边第一列,第一个字符为 – 表示文件;为d表示目录。后面9个字符,每三个为一组(8进制),分别表示用户、用户所在的组,以及其他用户的读、写可执行权限。其中r 表示可读,w表示可写,x表示可执行。
2.4 配置环境变量
为了使用户方便和灵活地使用shell,Unix引入了环境的概念。环境是一些数据,用户可以改变这些数据,增加新的数据或删除一些数据。这些数据称为环境变量。因为它们定义了用户的工作环境,同时又可以被修改。
2.4.1浏览和设置环境变量
每个用户都有自己不同的环境变量,用户可以用env命令(不带参数)浏览环境变量。输出的格式和变量名随着shell的不同和系统配置的不同而不同。例如:
env
_=/usr/bin/env
LANG=en_US
LOGIN=long
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
IMQCONFIGCL=/etc/IMNSearch/dbcshelp
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/long/bin:/usr/bin/X11:/sbin:.
LC__FASTMSG=true
CGI_DIRECTORY=/var/docsearch/cgi-bin
IMQCONFIGSRV=/etc/IMNSearch
LOGNAME=long
MAIL=/usr/spool/mail/long
LOCPATH=/usr/lib/nls/loc
USER=long
DOCUMENT_SERVER_MACHINE_NAME=localhost
AUTHSTATE=compat
SHELL=/usr/bin/ksh
ODMDIR=/etc/objrepos
U=rs6k
DOCUMENT_SERVER_PORT=49213
HOME=/home/long
TERM=vt100
MAILMSG=[YOU HAVE NEW MAIL]
PWD=/home/long
DOCUMENT_DIRECTORY=/usr/docsearch/html
TZ=BEIST-8BEIDT
A__z=! LOGNAME
env _=/usr/bin/env LANG=en_US LOGIN=long NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat IMQCONFIGCL=/etc/IMNSearch/dbcshelp PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/long/bin:/usr/bin/X11:/sbin:. LC__FASTMSG=true CGI_DIRECTORY=/var/docsearch/cgi-bin IMQCONFIGSRV=/etc/IMNSearch LOGNAME=long MAIL=/usr/spool/mail/long LOCPATH=/usr/lib/nls/loc USER=long DOCUMENT_SERVER_MACHINE_NAME=localhost AUTHSTATE=compat SHELL=/usr/bin/ksh ODMDIR=/etc/objrepos U=rs6k DOCUMENT_SERVER_PORT=49213 HOME=/home/long TERM=vt100 MAILMSG=[YOU HAVE NEW MAIL] PWD=/home/long DOCUMENT_DIRECTORY=/usr/docsearch/html TZ=BEIST-8BEIDT A__z=! LOGNAME
有时用户的环境变量很多,如果只想查询其中一个的话,可以用echo命令。前面介绍过,为了表明输入的字符代表环境变量,必须在其前面加上
.注意
.
注
意
和后面变量名之间不要有空格,例如用echo命令显示环境变量HOME的值:
echo
e
c
h
o
HOME
/home/long
$
用户可以通过给环境变量赋值,产生新的环境变量,可以通过给已存在的环境变量赋值的方法改变其原有的值。
2.5公共桌面环境CDE
CDE全称Common Desktop Environment ,即“公共桌面环境”,是一个图形界面管理程序。使用CDE的前提条件是RS6000连有图形显示器。使用之前,先要安装软件包X.11、Dt. rte和X11.Dt.helpinfo .安装过程中,系统将CDE设置为默认的用户界面,这样Aix启动后将直接显示CDE注册界面,输入用户注册名和口令后即进入CDE操作环境。
2.6 Unix的内核和shell
Unix内核:它是系统的心脏,是运行和管理象磁盘和打印机等硬件设备的核心程序,位于操作系统的最底层。
Shell是系统用户界面,提供了用户与内和进行交互操作的一种接口。Shell有自己的编程语言,用于对命令的编辑。它允许用户编写由sh ell命令组成的程序。目前,shell有以下版本:BASH (Linux) , K shell (Aix) ,C shell
2.7 Unix文件系统的层次结构
Unix以文件系统的方式来管理资源。文件系统分为动态文件系统和静态文件系统。动态文件系统:可执行文件、配置文件
静态文件系统:操作系统
下面是Unix文件系统的基本层次结构:
/usr /lib /sbin 主要用于存贮系统库文件和一些备份文件
/etc 主要是系统配置文件
/dev 设备文件
/var 日志文件
/tmp 临时文件
/opt 应用文件