Chinaunix首页 | 论坛 | 博客
  • 博客访问: 664331
  • 博文数量: 28
  • 博客积分: 6374
  • 博客等级: 准将
  • 技术积分: 1000
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-20 15:30
文章分类

全部博文(28)

文章存档

2010年(1)

2009年(3)

2008年(24)

分类:

2008-06-07 11:44:58

命令行语法规则:

 

空格作为命令之间的分隔符,#来引导注释

一个命令行的最大长度为256个字符

命令是小写的

选项可以大小写的

选项通常跟在一个连字符号后

多个选项可以使用一个连字符

许多命令不要求有三个部分

如果使用分号隔开,一个命令行可以输入多个命令

 

1.    cat 连接或显示文件  cat  [option] [file-list]

-n  在显示的文件中加行号.

能首尾连接文件,从用户在命令中指定的文件或标准输入中获取输入。

例:who | cat header –footer > output

   一个管道将who的输出送到cat的标准输入。Cat命令创建包含header文件,who的输出结果及footer文件内容的output文件。命令行中的连字符使cat在读取header文件之后,并在读取footer文件之前读取标准输入的内容。

2. more  一次一屏显示文件 more [options] [file_list]

   -n 指定一屏显示的行数

    -c 通过清屏页不是滚屏来按页显示文件的内容。这样显示速度快也容易阅读。

    -d 显示提示信息

   在显示过程中,空格 滚动到下一屏,回车一次滚一行,b向后一屏,f向前一屏,q退出。

       /string向前搜索字符串,vi直接用vi编辑该文件(当文件超出一屏时)

3. head 显示文件的开始部分  head [options] [file_list]

-n 显示开始n行,默认为10行。

4. tail 显示文件的最后部分 tail [option] [file_list]

-n 最后几行

-f 一直显示(等待着)。

5. grep [options] regexp [file]   

按行搜索与正则表达式regexp匹配的一个可多个files.退出状态为0表示有匹配的行,为1表示没有,为2是出错。

-c   只输出匹配行的数量

-l   只列出文件名

-h   只列出匹配的行

-i   不区分大小写.

  -n   输出行及行号

  -v   输出所有与regexp 不匹配的行

例:

grep –c /bin/csh /etc/passwd

列出使用C shell的用户数量

grep –l ‘^#include’ /usr/include/*

列出至少有一个#include指令的文件

grep –c pattern files |grep :0

列出没有包含模式pattern的文件。

6. ls 显示一个或多个文件的信息  ls [options] [file_list]

无参数时,按字母显示工作目录下的文件的名称

-a 显示所有文件,包括隐藏文件

-A  -a相同,但不列...

-l 显示详细信息. 许可权、拥有者、文件大小、修改时间及名称

-r 递归列出子目录

-F 显示文件类型,在文件名后面添符号./表示目录,*表示为执行档,@ 为 符号链接,

-d 只列出目录

-t  按照修改时间列出所有文件 (首先显示最新的。)

-s  以块为单位,输出文件大小。

例:ls | wc –l         计算当前目录中文件的数量。

7.   cmp 比较文件  cmp [options] file1 [file2]

file1file2做逐个字节的比较。输出两个文件的第一个不同处的行号和字节(字符),并停止。若相同,无输出,退出状态为0,若不同退出状态为1。状态为2表示出错。File1file2表明了做比较的两个文件。若使用“-”做为文件名代替file1file2,那么将读取标准输入来代替那个文件。

-l显示文件中所有的不同处。

-s禁止cmp的输出。

8. diff [options] file1 file2

  比较文件内容

  -b 忽略重复的空格和行尾处的空格,多个空格当作一个空格.

  -i 忽略大小写

  -w 忽略所有空格和制表符

9. touch 文件名列表

     若给定的文件名不存在,将创建一个空文件。否则,现存的文件的访问/修改时间将会更新。

10. cp  复制一个或多个文件 

cp [options] source_file_list  destination_directory

cp [options] source_file  destination_file

cp –r source_directory_list  destination_directory

-i 提示相同时是否覆盖

-p 复制文件时保留每个文件的所有者、组、权限和修改日期

destination_file不存在,则使用source_file的访问权限。用户将成为目标文件的所有者,用户的组成为与目标文件相关联的组。

11. gzip 压缩或解压缩文件

gzip [options] [file_list]

gunzip [options] [file_list] or gzip –d [options] [file_list]

压缩后扩展名为.gz,操作后会删除源文件。

-d gzip –d gunzip相等。

-r file_list中含有目录时使用此参数

-v 显示每个文件压缩的详细信息。

12. mv  移动(重命名)文件

mv [options] existing_file new_filename

mv [options] existing_file_list new_directory

13. tar 备分文件  tar options [modifier] [file_list]

生成扩展名为.tar的文件。

c 建立档案 使用相对路径

x 恢复档案

-v  输出信息

f filename 档案名

例:tar –cf /dev/rmt/o

14. mkdir 创建目录  mkdir [options] directory_list

-p 可创建多级目录,如果父目录不存在则创建

-m mode 设置目录的访问模式。

15. rm 删除文件,目录或链接  rm [options] file_list

-r 删除目录

-I 删除前确认.

16. rmdir 删除一个空目录  rmdir directory_list

17.  cd 改变工作目录  cd [directory]

ksh中有一个cd- 命令可以返回到最近一次所使用的目录中。

ksh中用cd ~ 可以回到用户主目录。直接打CD不加参数也可以回到宿主目录。

18.pwd 显示当前目录

19.file [options] file

按照指定文件中包含的数据类型对文件进行分类。

20.dd [option=value]

建立输入文件的一个副本(if=),如果没有指定输入文件则使用标准输入,并使用限定的条件,然后将结果发送给输出文件(如果没有指定of,则使用标准输出)。可以使用任何数量的选项,尽管ifof是最常用的选项,并且一般要首先指定这些选项。由于dd可以处理任意大小的块,当在原始的物理设备之间转换时,也是非常有用的。

bs=n       表示将输入和输出块的大小设置为n个字节。该选项可以取代ibsobs

conv=flags 按照标志进行转换输入使用逗号间隔。Block 长度可变的记录到固定长度记录的转换。

           Unblock 固定长度记录到长度可变的记录的转换

           Lcase   大写字母到小写字母的转换。Ucase  小写字母到大写字母的转换

           Swab   交换所有的字节对.sync  将所有的输入块填充到ibs中。

Count=n    只拷贝n个输入块。

Files=n    拷贝n个输入文件,然后退出。

If=file    file中读取输入

Of=file    将输出写入到文件file

例:

dd if=caps_file of=small_file conv=lcase

将一个输入文件中的所有字母转换为小写

data_retrieval_cmd | dd of=out conv =sync,block

提取变长的数据,并按照固定长度将其写入到输出到out中。

21. basename pathname

从给定路径中删除路径前缀只保留文件名.

22. dirname pathname

提取路径,除了文件名.

23. wc [options] [files]

  -c 只输出字节数量

 -l 只输出行数

24. find 起始目录 -搜索规则 [可选命令]

搜索规则:name filename         按指定文件名搜索

           type filetype        按指定类型的文件搜索。(d为目录)

           mtime[+|-]n          搜索所有修改时间大于或小于指定时间的文件

atime[+|-]n          搜索所有访问时间大于或小于指定时间的文件

perm mode            搜索所有匹配给定权限的文件(只允许八进制模式)

size[+|-]n[c]        搜索所有大于或小于n的文件(n512字节为单位)

-exec command {} \;  在找到的文件上运行命令,当运行command时,参数{}会替换当前的文件,整个序列后面紧跟一个转义的分号(\;)

-ok command          -exec作用相同。但在执行命令前,用户必须进行响应(使用一个y)

例:

find / -mtime -2 –print

在系统中搜索最近两天之内修改过的文件

find / -size 0 –ok rm {} \;

删除系统中所有的空文件(删除前先提示)

compress ‘find . –type f \! –name ‘*.Z’ –print’

搜索并比较文件名结尾不是.Z的文件

find . \! –name ‘[A-Z]*’ –exec lp {} \;

搜索当前目录,查找不是以大写字母开头的文件名,并把它们发送到打印机中

25.sort [options] [files]

对指定文件中的行进行排序,通常按照字母顺序进行排列。

-b 忽略前导空格和制表符。

-c 检查files是否已经排序,若已经排序则不会产生输出。

-d 按照目录顺序进行排序(忽略标点符号)

-f 忽略大小写的区别

-n 按照数字顺序排序

-o file 将输出保存到文件

-r 颠倒排列顺序。

例:

wc –l * | sort –rn

按照行号的递减顺序列出文件

sort –fd wordlist | uniq –c

按照字母顺序排列一个单词列表,删除重复的单词并输出各个单词出现的次数。

Sort +2n –t: /etc/passwd

按照第三个字段(用户ID)中的数字顺序对密码文件进行排序

cd /home;du –sk * | sort –nr | head -20

查找一个系统中占用磁盘最多的前20个文件。

 


1.date [option] [+format] 输出当前的日期和时间

Format:
%m
月份 01-12

%d 01-31

%y 年 最后两位 01-99

%Y 年 四位数字的年

%H 小时 二十四小时

%M 分钟 00-59

%I 小时 十二小时

%w 表示星期几 星期天为0

 

例:date +%Y%m%d

    20040904

2.    df 显示可用磁盘空间的数量  df [options] [filesystem_list]

-k 详细信息

-l 本地的有关信息

3.    du 显示磁盘使用信息  du [options] [pathname_list]

报告一个文件或目录中包含多少个512字节块。

-k 1024字节为单位。

-s 显示该目录的总容量。

5. export 显示已有的shell变量的清单。

7. tty 如果是通过网络注册的,则显示连接至系统的终端用户的设备名称。

8. set 看到所有环境变量的设置。

   Env 命令也可达到同样效果。

9. stty [options] 变量名 变量值 设置或显示用户终端I/O选项的当前设置。

   例如 stty erase ^H

        会设置正确的退格键。

10. uname –a 获取系统名称。分别为操作系统名称,系统被标识的网络系统名称,操作系统发布号,操作系统版本号,机器和类型号,机器标识号,操作系统使用许可证。

11.type command 显示命令程序所在地的完整路径。

12.arp [主机名]

显示系统的主机名,IP地址和以太网地址。

18.uptime    输出当前的时间,系统已经运行的时间总数,登录用户的数量及系统负载的平均数。

19.w          输出系统的使用情况。W结合了uptime,whops –a命令的功能。

 

一些环境变量的含义:

$hostname          显示工作站或主机的名字

$uname –x            显示扩展的系统信息,包括工作站的名字、OS版本和更多信息

$arp     显示主机名、IP地址和以太网地址

$domainname        显示工作站所在的域

$prtconf|grep Memory  显示系统内存的容量


1.  mesg 启用/禁用消息的接收  mesg [options]

无参时返回当前状态

-n 禁用

-y 启用

19.write 向其他用户发送一个消息 write destinatton_user [tty_name]

ctrl+D 退出

4. wall 向所有用户发送信息。

   输入命令后回车,然后即可输入信息,ctrl+D退出。

3.ping [-s][主机名或IP地址]

    -s会连续不停的发送包

    solaris中需要指定完整的路径名 /usr/sbin/ping

4.telnet [主机名或IP地址]

    终端模拟。需要服务器端运行telnet守护进程。

5.rlogin hostname [-l username]

    登录到另一个主机,-l是以另外一个用户名登录。

6.ftp hostname/ip address

7.rcp source_file hostname:destination_file

  rcp hostname:source_file destination_file

  远程拷贝文件,与cp类似,只是在远程文件或目录前加上主机名:

-r 拷贝目录

8.rwho 显示网络中系统上当前的所有用户

9.ruptime 显示网络中每一个系统的信息

10.rsh 用来在远程系统上执行一个Unix命令

rsh [ -l login ] [ -n ] host command


1. lp [-options] [filename(s)]

打印文件。

-d dest指定打印机。

-o nobanner 指定不需要打印标题首页.

-n 打印指定数目的拷贝

-w 打印完后,将一条消息写入到用户的终端上。

-t 指定打印请示的标题,(只在标题页上打印出来)

-h 在打印请示的每一页上放上一个头部

2.lpstat [-options]

管理打印机队列

printer name 显示指定打印机队列的请求

-p 显示所有打印机的状态

-o 显示提交给任意打印机的所有输出的或未完成的打印请求的状态。

-d 显示系统默认的打印机。

-t 显示所有打印机的完全状态。

-s 显示系统中配置的所有打印机的状态的小结

-a 显示哪台打印机正在接受请求.

2.       cancel [options][printer]

取消打印请求,除了系统管理员,只能取消自己的打印请求。可以用打印机名,用户名或作业id作为参数.

首先要用lpstat查找请求ID

-u user

取消与user相关的请求

3.删除打印机内之打印工作 ( 使用者仅可删除自己的打印工作 )
lprm [-Pprinter -name] username job number
%lprm user
lprm -Psp1 user
删除 sp1 中,使用者 user 的打印工作,此时使用者名称必须为 user
%lprm -Psp2 456
删除 sp2 编号为 456 之打印工作。

5.检查打印机状态,及打印工作顺序编号和使用者名称
lpq [-Pprinter -name]

%lpq
lpq -Psp1
检查 sp1 打印机之状态。


1.    ps [options]

显示进程

无选项 显示在当前shell和终端窗口中的用户的进程信息。

-e     显示系统中每一个进程的信息

-f     生成一个长列表,显示每个进程的所有可用信息

-u userid  显示特定用户的所有进程。

-aux 查看系统中,包含系统内部,及所有使用者的 process

-tlist 只列出在list中的终端的数据

显示标题栏的描述:UTD初始化进程的用户的用户ID,PID进程的进程标识号,PPID进程的父进程标识号,C进程优先级,STIME进程启动时间,TTY终端类型进行进程控制,TIME进程使用的CPU时间,CMD命令名或守护进程(执行的程序的名字)。

2.kill [-9] PID

中止进程。

-9 强制中止进程。最好不要用。

3. background 执行 process 的方式
command & (
command 后面加入一 "&" 符号即可。)
Example:
%cc file1.c &
将编译 file1.c 文件之工作,置於 background 执行。

执行格式:按下 "Control Z" 键,暂停正在执行的 process。键入 "bg" 命令,
命令,将所暂停的 process,置入 background 中继续执行。
Example:
%cc file2.c
^Z
Stopped
%bg

4.jobs [jobIDs]  无参数时显示所有后台作业.或列出指定作业。

5.bg %job#n  job#放到后台运行,返回shell提示符。

6.fg %job#n  job#放到前台运行


1. login 登录     

2. exit logout ctrl+D  注销当前用户

3.        passwd 更改当前用户密码

所用密码最6个字符,至少包括2个字符和1位数字

root

Passwd –d  username   删除用户当前密码

Passwd –f  username   在用户第一次进入时要求设置密码.

4.    finger 显示用户的详细信息 finger [options] [user_list]

-l 显示详细信息

5.    w 显示系统用户信息  w [options] [login_name]

6.    who 显示用户名 who [options]

-b 显示系统上一次启动的日期和时间,

-h 显示标题

-m 显示当前用户的有关信息

-q 只显示用户名

-a 显示所有信息

-u 报告终端的使用情况(空闲时间 IDLE,一个小点(.)表示空闲时间少于1分钟,old表示多于24小时的空闲。

7.    listusers [options]

列出所有用户

-g grouplist   在使用逗号间隔的组列表grouplist中列出所有的用户

-l users       只列出指定的users,并按照登录顺序排列。

8. id 返回用户标识(uid)和组标识(gid)


1. echo 显示一个消息  echo [option] [message]

2.    tty  显示逻辑设备路径名

3.    man 帮助命令  man [options] command

显示命令的使用说明,可把它指向一个文件再查看。直接查看时用Q退出。

 

也可以用命令加一些无意义的参数,就会显示出该命令的正确使用参数。

如。Ls –xyz.

6.  alias/unalias [-tx]原命令[=””]

为一个或一系列命令创建或删除假名或快捷方式。

例: alias cp=”cp -i”

alias无参数则列出当前激活的别名。

4.    bc  基本的计算器。

5.    noclobber  防止重定向过程中的文件覆盖

6.    sleep n    按照指定的秒数把当前进程挂起。

7.    which command

显示某个实用程序的绝对路径。

11Test 计算一个表达式的值

test expression

or [ expression ]

计算一个表达式的值,并返回一个表示表达式为true(0)或者false(0)的条件代码。

 

准则:

string        如果string不为空字符串则值为真

-n string     如果string字符长度大于0则值为真

-z string     如果string字符长度等于0则值为真

string1=sting2       如果string1等于string2则值为真

string1!=string2     如果string1不等于string2则值为真

int1 relop int2      如果整数int1int2有代数关系则为真,relop为下表中的关系操作符。

File1 -nt file2      如果file1存在且在file2后修改则值为真(指修改时间)

File1 -ot file2      如果file1存在且在file2前修改则值为真(指修改时间)

-a filename          如果该文件存在而为真

-b filename          如果该文件存在且为一个块特殊文件,则值为真

-c filename          如果该文件存在且为一个字符特殊文件,则为真。

-d filename          如果该文件存在且为一个目录,则为真

-f filename          如果该文件存在且为一个常规文件,则为真

-g filename          如果该文件存在且已经设置了组ID位,则为真

-k filename          如果该文件存在且已经设置粘滞位,则为真

-L filename          如果该文件存在且为一个符号链接,为真

-p filename          如果该文件存在且为一个命名管道,真

-r filename          如果该文件存在且用户对其有读取权限,真

-s filename          如果该文件存在且包含信息(大于0字节),真

-t file-descriptor   如果由file-descriptor所表示的文件打开且与屏幕相关联,真

-u filename          如果该文件存在且已经设置了setuid位,真

-w filename          如果该文件存在且对其有写入权,真

-x filename          如果该文件存在且对其有执行权,真

 

关系操作符 relop

-gt 大于;-ge 大于或等于;-eq 等于;-ne 不等于; -le 小于或等于; -lt 小于

 

还可以使用组合形式:

! condition                        如果condition为假则为真

condition1 –a condition2          如果两个条件都为真则为真       

condition1 –o condition2          如果两个条件有一个为真则为真

13r [str]  重新执行上一条命令,或执行以str开头的最后一条命令

14.   time command   

执行命令并输出总的消耗时间。

15.cut options [files]

  从一个或多文件中选择列或字段的一个列表。必须指定-c-f,该列表包括一系列整数,可用逗号分隔或用减号指定一个范围。如1-10

-dc    -f一起来指定字段的定界字符是c(默认是制表符).特殊字符(如空格)必须用引号引起来。

:

cut –d: -f1,5 /etc/passwd

/etc/passwd目录中提取用户名和真正的名字

who | cut –d” “ –f1

找出登录的用户,但是只列出附录用户名称

cut –c4 file | paste – file

剪切文件file的第4列字符,将它们粘贴到同一个文件中作为第一列,并将结果发送到标准输出上显示。

17.tee [options] [files] 

复制标准输入,将其中的一个副本发送到标准输出中,将另一个副本发送到files.

-a     将输出添加到files

-i     忽略所有的中断

 

21.tr [options] [string] [string2]

将标准输入拷贝到标准输出中,执行string1string2的字符替换或删除string1中的字符。

-c     使用当前字符集中的字符补充string1中的字符,补充的字符是所有不在string1中的字符。

-d     从输出中删除string1中的字符。

-s     删除string2中重复的输出字符。

 

Tr ‘[A-Z]’ ‘[a-z]’ < file

file中的大写字母修改为小写字母

tr ‘ ‘ ‘\012’ < file

将空格转换为换行符(换行符ascII码是012)

tr –s “” “\012” < file > new.fiel

file中删除空行并保存到一个new.file

tr –d : < file > new.file

file中删除冒号并保存到一个new.file

22. nohup command &

在注销登录后仍继续执行指定的命令


1.dos使用反斜杠”\”,而unix使用正斜杠”/”

2.”/”表示根目录

3./tmp/usr/tmp是系统用于保存临时文件的目录

4./dev 包含访问系统硬件(如软盘,光盘)的特殊设备节点文件。

5./bin 保存如同ls这样的系统实用程序

6./usr 保存用户文件和支持用户程序所需要的系统实用程序。

  /usr/bin 保存用户所需的系统实用程序和用户程序。

  /usr/lib 保存有用的系统表和子例程库。

  /usr/spool 保存排队打印的临时文件拷贝。

7./lost+found 如果由于系统崩溃而丢失文件,系统要在这个目录下保存文件数据。

8./home 用户专用的目录,用于保存用户个人文件。

9. /shin ,/usr/sbin 保存系统管理员和系统操作专用的可执行文件。

10. /var 保存包含系统变量信息的文件,这是一些临时文件和记录文件。

11. /etc/passwd 文件,口令文件。每一行都标识系统中的一个用户,每一个字段用冒号(:)分隔。每个字段的含义依次为:

登录名,加密后口令,数字用户标识,数字组标识,用户信息字段,用户主目录,登录后要使用的shell程序。

12./etc/group 文件,保存用户所属的初始和相关组的清单。

13.用户主目录下的.project 文件,保存用户环境的一些基本配置。

14./etc/lp/printers/ 下包含了每个打印机(远程或本地)安装目录.每个目录包含了某个独立打印机的配置信息和警告文件.

文件包括:

alert.sh  回应警告所执行的shell

alert.vars  警告变量

configuration  配置文件

users.deny  被拒绝打印机访问的用户列表

comment  打印描述信息.


.成为另一个用户或超级用户

 

 su username      将当前用户改变为另一个用户

 su               转为超级用户

 su - user name   转为另一个用户时重置所有环境变量

 

.

每一个用户可以参加多个组。每一个文件都只属于一个用户和一个组

看自己属于那个组可用 groups 命令

 

.理解文件和目录访问许可

许可信息共10位,分为4个部分。

例:-rw-r--r--    -    rw- r-- r--

第一个字符指示文件类型。d表示目录;a短线-表示普通文件;S表示符号链接;b表示特殊设备;c表示字符特殊设备。后两种类型主要在/dev目录下。

 

第二部分为文件拥有者的访问许可。

第三部分为同一组用户的访问许可。

第四部分为其它用户的访问许可。

这三个部分中第一个字母表示读许可 r,对于目录来说是目录下的内容充许被列出,但文件不一定可读。

第二个字母表示写许可 w,对于目录表示可以创建文件。

第三个字母表示执行许可 x,对于目录表示可以读下面的文件和进入子目录。

当字母为 - 时表示没有这个权限。

第三个字母还有其他的意义。

对于普通文件。可以用于用户许可和组许可,

s 表示拥有该文件的x许可,且文件是一个SUID/SGID程序。

S 表示不拥有该文件的x许可,且文件是一个SUID/SGID程序。

 

对于目录。可以用于组许可和其它许可

 

用于组许可

s 拥有该文件的x许可,可以创建新文件。

S 不拥有该文件的x许可,可以创建新文件。

用于其他用户许可

t 其他用户拥有该目录的 x 许可,可以创建新文件,但不能删除其他用户的文件

T 其他用户不拥有该目录的 x 许可,可以创建新文件,但不能删除其他用户的文件

 

.SUID    SGID程序

若一个程序在执行的过程中可以将一个用户转换为另一个用户,它叫做SUID程序。

若一个程序在执行的过程中可以转换组,它叫做SGID程序。

 

.目录保持位保护用户文件

若拥有对一个目录的写许可,则可以创建和删除该目录下的文件。若想只让其创建而不允许其删除该目录下的文件。就可以设置目录的保持位。

 

chmod u=rwx,og=wxt dirname

设成 drwx-wx-wt  漏掉组和其它用户的读许可,这样他们就看不到目录中的文件名了。

 

.修改许可、拥有者与组

 

chmod 命令。-r 可以修改目录中所有文件的许可。

使用数字模式设置许可

使用四个数字描述许可,每个数字描述一组许可

1.SUIDSGID和保持位。

2.文件拥有者的许可。

3.组的许可。

4.其他用户的许可。

 

数字使用八进制数字,分别对应每一位。0-去,1+上。

第一组许可分别为

       -suid-sgid-保持位 000 0

       -suid-sgid+保持位 001 1

       -suid+sgid-保持位 010 2

       -suid+sgid+保持位 011 3

       +suid-sgid-保持位 100 4

       +suid-sgid+保持位 101 5

       +suid+sgid-保持位 110 6

       +suid+sgid+保持位 111 7

 

其它三组与上相同,权限排列顺序为 r w x ,数字也为0,1,.2,3,4,5,6,7

 

例 :chmod 0644 myfile  也可写成  chmod 644 myfile

 

使用符号模式设置许可

形式为:

 

whougoa中的零个或多个字符,默认为a

u表示拥有者,g表示组,o表示其他用户,a表示所有用户的许可,包括前三项。

 

operator+,-,=其中一个。

+表示增加,-表示删除,=表示设置由指定的用户绝对许可.

 

permissionr,w,x,X,s,t,u,go中的一个,

s表示是SUID(who u)SGID(who g)

t 如果 who o,则为保持位.

u,g,o分别表示许可与当前用户,组或其他用户模式相同。

 

通过在其间增加逗号,一次可以修改多个许可。

 

例:为称为myfile的文件增加组和其他用户的读许可,

chmod go+r myfile

 

为给定目录下的所有文件和目录增加组和其他用户的读许可,

chmod go+r *

 

为给定目录及其子目录下的所有文件和目录增加组和其他用户的读许可

chmod -r go+r *

 

为使其他用户只有在知道要访问文件名的情况下,才能访问自己下的文件。

chmod go=r /home/user/

 

为使组能够看到自己所拥有的文件,但不让其他用户看到

chmod g=rx,o=r /home/user

 

为向组开放给定目录下自己的所有文件

chmod g+rX *

 

修改文件的组

chgrp <><文件>  修改单个文件和目录的组。

chgrp -r <><文件> 修改一个目录下所有子目录的组

 

修改一个文件的拥有者

 

Chown [-r] newowner files

chown  只有root组的才可以.


定制用户的登录环境

1.    korn shell 的系统初始化文件

/etc目录中的profile文件。会先运行它,再运行用户主目录中的.profile文件。

它主要作以下功能:

全环境变量全局化,使环境变量对子shell可用,例如,LOGNAME表示登录名。

使表示默认命令路径的PATH变量全局化

使用TERM变量设定默认的终端类型----TERM定义了工作站屏幕和键盘的特性。

显示/etc/motd文件的内容----系统管理员使用day文件的信息,显示打招呼信息或发布新闻,或者提供系统信息。

设定默认的文件创建权限----设定umask值。

检查邮件----文件检查邮件,在登录的时候打印邮件信息。

 

2.    用户定制的初始化文件。

主要作以下功能:

设定默认提示符

定义默认打印机----提供对本地打印机的访问

设定默认权限----为新文件和目录设定umask

设定默认终端类型----vi和其他工具使用

设定新邮件位置----告诉shell去哪里查找新邮件

设定noclobber----在重定向过程中防止文件的覆盖

设定命令路径----定义搜寻可执行文件的目录。

定义定制命令----定义用户的命令别名。


编辑命令行

使用以下命令建立用户所需的环境,就可以使用vi命令行编辑器

VISUAL=vi

Set –o vi

esc键切换到vi模式。

vi模式下,编辑命令的时候键入v命令。可调用一个vi编辑器来编辑命令,当用ZZ退出时就会执行所编辑的命令。

 

Ksh 将最近执行的命令历史记录保存在一个文件中。HISTSIZE变量设置可以保存的数目。HISTFILE决定该文件保存的位置。

要访问历史记录中的命令可用vi行编辑器或fc

vi模式下使用上下箭头即可查找以前的命令

调用历史命令.

 

fc -l

显示最后执行的16条命令.会有命令编号.

再使用 r 编号,就可以调用这条命令.

直接输入r 会调用最后一条命令.

添加一个用户帐号

必须拥有root权限

1.加入用户名

/etc/passwd 文件中加入

someone:x:7020:102:IT 708:/home/someone:/usr/bin/ksh

charlotte:x:7021:102:IT 705:/home/charlotte:/usr/bin/ksh

分别为用户名,密码,用户ID,ID,注释,起始目录,使用shell.

 

2.创建起始目录,和启动文件

cd /home

mkdir charlotte

chown charlotte charlotte

cd charlotte

cp ../kady/.profile .

chown charlotte .profile

 

3.创建用户密码

需要更改shadow文件.

chmod 700 shadow

/etc/shadow

someone:d.DMxxg5u9fbs:12717::::::

在文件中加入类似上面的一行:

charlotte::12201::::::

然后使用passwd 更改用户的密码

passwd charlotte

 

也可以用命令添加

useradd -g 104 -d /u1/home -s /usr/bin/ksh -c snow login_name

 

阅读(3314) | 评论(0) | 转发(0) |
0

上一篇:Korn Shell(ksh)学习

下一篇:VI快捷键(图)

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