Root user,又名超级用户,是一个权力最高的Unix 账户,Root 的账户能在整个系统里任何部份进行任何“操作”,包括:拷贝档案、移动/移除档案、执行程序等。所以,通常 Root 的账户都只会指派给高级专业的用户使用。因此,苹果把Root user 隐藏在Mac OS X 里。
但有时候我们不得不启用Root用户以便于实现某些操作,可以通过以下三种方法把启动Root账户。
方法一:
把Mac OS X 的安装光盘放入到光驱中,用光盘启动系统,在安装菜单里选择“Password Reset”选项,便能更改你的密码和启动超级用户模式。(把这工具拷贝到硬盘中是不能启动的,一定要从光盘启动才有效。)
方法二:
在Mac OS X里启动Terminal(在“应用程序/实用工具”的文件夹中),输入以下命令:
sudo passwd Root
系统会实时要求输入 Root user的新密码,然后再输入一次,以确保密码正确。
方法三:
启动NetInfo Manager应用程序(在“应用程序/实用工具”的文件夹中),再依照以 下步骤:
1. 从菜单中选择“域”→“用户”→“启动Root用户”
2. 点按窗口底部的“锁状”按钮,然后输入在安装过程中提供的用户名称和密码注册。
3. 从窗口下半部份的列表中选择 * 号一栏,再输入 Root user 已加密的新密码。
可在 Terminal 里输入以下的「htpasswd」命令来产生加密的新密码:
[localhost:~] currentuser% htpasswd -nb anylogin yourpassword
[return]
[localhost:~] currentuser% anylogin : pu9fQgdzVHRB2
pu9fQgdzVHRB2 就是已加密的新密码
4. 点按窗口底部的“锁状”按钮,然后储存更改和离开 NetInfo Manager。
现在可以在 Terminal 里试试 Root user 的新密码
如何通过终端命令删除Finder中无法删除的文件
这里我先介绍一个经常性的问题。有人常常因为某种原因。比如死机、文件下载一半意外退,这时经常有文件无法删除,系统提示你权限不够。这个时候我们就可以利用一行简单的命令进行删除。
当然有人会提出启动到os 9来删除,这样有两大问题。一是你需要重启两次机。先切到9。再切回x。还有就是对新机器来说,你根本就没办法从os 9启动。
言归正传,下面就举便说明:
1 打开终端应用程序
2 输入命令:sudo rm -r -f “你要删除的文件”
还要注意终端命令是区分大小写的,全部小写。
3 把你要删的文件或者文件夹用mouse拖进终端窗口,好多个也可以一起拖。
4 然后在终端中回车
5 输入当前管理员用户密码。如果没有密码就直接回车。注意不是root账号的密码。
6 终端中没有任何提示信息表明成功删除。
注意:如果用这个命令还无法删除,有两种可能性:一是你删除的是系统正在使用的临时文件之类的。二是有可能你的硬盘目录出现问题。这时请先用磁盘工具检查一下你的硬盘。
解释:
sudo 临时执行root账户操作,当你使用这个命令的时候等同于使用 root 用户进行操作,所以要当心。它后面一般是你要操作的其它命令。比如本例中的 rm。同时sudo 命令都要求你输入当前管理员用户密码。如果密码为空就直接回车。
rm 删除命令。即remove的缩写,它后面有两个参数。
-r 删除文件夹内的子文件夹及内容,一般情况下rm只能删 除文件或者空的文件夹。
-f 强制删除参数
如果需要了解rm命令的更多参数。请输入:man rm
其它常用命令
cd
进入某个目录
cp 原始文件 目标文件
复制文件,可带路径复制不到位置
kill -9 [PID]
結束指定的 PID 執行程式
ls
列出当前目录下所有文件
man [命令]
查询某个命令的使用方法
mkdir [目录]
新建目录
rmdir 目录
删除目录,注意只能是空目录
mv 原始文件 目录文件
移动或者重命名文件
passwd
更改密码
rm
删除文件
-f 强制删除
-i 删除前确认
-r 删除目录及子目录内容
sudo rm -rf ~/.Trash/*
强制删除当前用户垃圾箱内所有项目
top
显示所有进程。
kill -9 [PID]
结束PID进程
open -a itunes
打开aqua 程序itunes
Terminal是Mac OS X系统中的字符控制界面,可以更灵活地控制苹果电脑
以下看到 “>“ 就是打指令的地方,prompt,指令列
>pwd
列出路径
>ls
列出此档案夹里所有的东西
>l
列出使档案夹里所有的东西以及它的权限
>cd
无论身在何处,回到 home 档案夹
>cd snoopy
进入到叫 snoopy 的档案夹
>cd ..
回到上一层档案夹
>mkdir kitty
制作档案夹叫 kitty- make directory
>touch girl
制作一个叫 girl 的档案
>rmdir
丢掉“档案夹“ - remove directory
>rm micky
将 micky 这一个 “档案“ 丢掉
>mv kitty snoopy
如果你所在的档案夹里没有叫 snoopy 的档案夹那会将 kitty 更名为 snoopy
如果你所在的档案夹里有叫 snoopy 的档案夹那会将 kitty 一到 snoopy 这个档案里
>mv simpson ../
将 simpson 这个档案移到上一层
>cp Desktop/garfield .
将 Desktop 这个档夹里的 garfield 这个档案拷贝到你现在所在的档案夹
可以将“.“改成你想要的档夹
>man cp
列出 cp 这个指令的介绍,用法 (现在有许多 GUI 的软件,提供此服务)
>cat snoopy
显示出 snoopy 这个“档案“的内容
>more snoopy
一样可以显示出 snoopy 这个档案的内容
>less snoopy
一样可以显示出 snoopy 这个档案的内容,过可以使用下面这一些指令
空格键 : 到下一页
b:到上一页
q:离开
上下左右键的上键:往上一行
上下左右键的下键:往下一行
>tail /var/log/httpd/access_log
观看记录文件最后十行(这里是 http 的 access_log 这个记录文件)
>wget
下载网络上 这一个档
>telnet 216.170.128.9
telnet 到 216.170.128.9
>ssh 216.170.128.9
ssh 到 216.170.128.9
>ftp 216.170.128.9
ftp 到 216.170.128.9 (在 ftp 的 状态下还有很多指令可以用,这里不一一解释)
>login mummy
以 mummy 的身分使用 Terminal
>make
编译原始码
>sudo make install
安装软件
>su
使用 root (必须先在 NetInfo Manager 里设定使定密码启动)
>vi
>emacs
vi 及 emacs 是 Terminal 所附有的文字编辑器,不要以为它跟 Word 一样,那你就错了,这是个完全没有 GUI 的环境,甚至连如何储存离开等常用的指令,你都必须很神奇的自己知道,不然就没辄了。
ctrl + d
告诉计算机你已经结束输入指令
ctrl + z
停止程序的执行并回到 指令列,使用 Terminal 软件当机的时候很好用
更多指令:
1.man用来介绍系统各种命令的详细用法。
格式:man command
command 为系统能接受的命令。
%man man
%man pwd
2.who/w查询目前进入系统的使用者。
%who
%whoami
%who am i
%w
3.fnger查询目前进入系统的使用者。
%finger u8442019
4.date显示现在之年、月、日、时间及星期。
%date
Wed Oct 13 12:31:39 CST 1999
5.quota使用者可使用之磁盘空间(Kbyte)及档案个数查询。
Example:
%quota -v u8442019
Filesystem usage quota limit timeleft files quota limit imeleft
/autohome/mail
3 2000 2000 1 0 0
6.du显示每一个档案或目录所占的block数。
格式:du [option] [dirname]
Option: -s 仅显示使用block 数的总和
Example:
%du
%du -s ~
7.last为印出进出系统使用人次情形
%last |more
%last |grep reboot|more
8.chfn/passwd -r nis –g(solaris) 更改finger name。
%chfn
9.alias 将命令用一别名取代。
格式:alias alias_name command
examples:
%alias copy 'cp -i'
%copy
unalias 取消alias的设定。
格式:unalias alias_name
examples:
%unalias copy
网络侦错指令
1.nslookup
格式:nslookup 网站
examples:
%nslookup bbs.ccu.edu.tw
2.ping
格式:ping 网站
examples:
%ping bbs.ccu.edu.tw
3.traceroute 网站
格式:traceroute 网站
examples:
%traceroute bbs.ccu.edu.tw
档案(目录)的操作
1.pwd列出现在的工作目录。
%pwd
2.ls列出目录内的文件名称。
格式:ls [options] [directory] [file]
options:
-a 印出全部的档案。
-l 列出档名外,并加上各种信息。
-F 加此参数则会在目录文件后加上/,执行文件后加上*,链接文件后加上@,其余为一般档案。
-g 列出档案的所属群体名称。
-t 列出的档名依日期排序,若没指定则依档名排序。
examples:
%ls
%ls –lg
%ls -lg
total 4
drwxr-xr-x 3 huang center 2048 Oct 14 10:30 bin
-rwxr-xr-x 1 huang center 233 Sep 11 09:38 letter
%
第一行total 4 表示bin,letter 所占的内存容量(以block为单位)
有关每个目录、档案的信息,说明如下:
- rwxr-xr-x 1 huang center 233 Sep 11 09:38 letter
- ----------- --- --------- --------- ------ ---------------- ---------
1 2 3 4 5 6 7 8
(1)档案型态
- 表一般档案。
d 表目录。
l 表链接档案。
c 表字符式特殊档案。
b 表区块式特殊档案。
(2)使用权:表示谁有权去读取及使用此档案,从左至右3字符为一组,分成自己、群体及其它三部份,其中
r 表读取。
w 表写入。
x 表执行。
(- 表对应项目的动作不被执行。)
(3)链接次数:是指链接至该文件的数目,以目录而言,表示在档案系统中的目录个数。
(4)档案拥有者:该档的拥有者。
(5)档案所属群体:该档的所属群体。
(6)字符个数:即档案大小,以位(byte)为单位。
(7)最后一次修改的日期与时间:为档案最后一次修改的日期与时间。
(8)文件名称。
3.mkdir建立目录。
格式:mkdir directory1 [directory2 ...]
%mkdir dir1 dir2
4.cd改变目前的工作目录。
格式:cd [directory]
%cd dir1
5.rmdir
6.mv移动或更改文件名称。
格式:
mv [options] oldfile newfile
mv [options] olddir newdir
options:
-i 可避免覆盖原有的档案。
-f 强制覆盖原有的档案。
examples:
%mv file1 file2
%mv -i file2 file2
%mv -f file2 file3
7.touch 开启一个空的档案
格式:
%touch file1 file2 ……
8.cp复制档案。
格式:
cp [options] file1 file2
cp [options] dir1 dir2
cp [options] file directory
options:
-i 可避免覆盖原有的档案。
-r 拷备目录及其下所有档案、子目录。
examples:
%cp file1 file2
%cp file1 dir1
%cp -r dir1 dir2
9.rm删除档案。
格式:rm [options] file1 file2 file3 ...
options:
-i 删除档案前会先询问。
-f 强制删除档案。
-r 删除目录及其下所有档案、子目录。
examples:
%rm file1 file2 file3
%rm -rf dir1
*用 rm 删除的档案将永久的被删除,救不回来。
10.chmod更改档案使用权。
格式:chmod mode filename ...
mode 有两种表示法:
.绝对模式以八进制数字表示。
400 即 r-- --- --- (100 000 000)仅档案拥有者可读取。
777 即 rwx rwx rwx (111 111 111)任何人都可对该档做 读取、写入、执行等动作。
700 即 rwx --- --- (111 000 000)仅档案拥有者可读取 写入、执行。
.符号模式 其格式如下:
[who] op permission [op permission] ...
who 可以是:
u 档案拥有者的存取权。
g 档案所属群体的存取权。
o 其它使用者的存取权。
a 全部使用者的存取权。
*如果省略此参数,则默认值为 a。
op 可以是
+ 开放存取权。
- 取消存取权。
= 设定存取权。
permission 可以是
r 读取权。
w 写入权。
x 执行权。
examples:
%chmod o-w file 开放file写入权给其它使用者。
%chmod 700 file 仅档案拥有者可对file做读取、写入、 执行的动作。
11.cat显示档案内容,类似于 DOS 的type。
格式:cat [options] filename
options:
-n 产生行号。
-s 档案中连续空白行,仅输出一行。
examples:
%cat -n file1
%cat -s file2
12.more显示档案内容, 每次仅显示一个屏幕之档案内容。
格式:more [options] filename
options:
+line number 从第n行开始显示。
+/pattern 从含有pattern的前两行开始显示。
-d 设定打印行数。
在more中常用之指令如下:
space 键 往下卷动一个屏幕。
enter 键 往下卷动一行,键入数字后,再按enter可向下卷动指定之行数。
q 键 停止输出。
%more -d20 more.man 一次显示20行。
%more +50 more.man 从第50行开始显示。
%more +/terminal more.man 从含有terminal的前两行开始显示。
13.grep从某一档案中,找出符合条件的数据列。
格式:grep [option] pattern filename
Option:
-c 只显示符合条件的列数。
-i 忽略大小写。
-n 显示时加行号。
-v 显示不符合条件的列资料。
-w 将pattern视为一个字(Word)来处理。
%ps -aux |grep elm 找出process中,含有elm字眼的process。
%grep -n meeting * 在目前目录下,找出含有meeting字眼的档案并列出是在该档的第几行。
%grep -w '952 console' joe1
grep的一些应用:
(1)%grep 'thing' file1 列出该行中含有thing字眼的料,该行可能含有thing, things or somethings只要含有thing即将其印出。
(2) %grep 's.nd' file1 “ .”可代换为任一字符,只要是以s开头nd结尾的字,都将其印出,Ex: sand or send。
(3)%grep '[l-s]end' file1 列出以l, m, n...s字符开头, end结束 的数据行, Ex: lend、mend、send。
(4)%grep '[Mm]end' file1 列出含Mend or mend 的列资料。
(5)%grep '^some' file1 列出以some为行开头的资料, Ex: someoneor somewhere。
(6)%grep '!' file1 列出含有!的资料行。
14.head从文件首开始显示n行数据,默认值为10行。
格式:head [-n] [file]
Example:
%head file1 显示前10行资料。
%head -20 file1 显示前20行资料。
15.tail从文件尾向前算起显示n行资料。
格式:tail [-/+n] [files]
Option:
+ 从第n行开始显示。
- 从文件尾向前算起显示n行资料。
Example:
%tail -20 file 1
%history |tail -5
16.find 寻找档案。
格式:find path expression
Option:
-name filename 如有filename匹配现在文件名称则为真。
-print 显示文件名称。
-type d 档案型态d表目录;f表一般档案;c表字符特殊文件 案,b表区域特殊档案。
-exec command
-size n
-user
Example:
%find ~ -name '*.c' -print 找出使用者目录底下所有.c的档案。
%find ~ -size 0 -exec rm {} ;将使用者目录下所有档案大小为0的档案删除。
%find ~ -type d -print 将使用者目录下所有目录档案列出。
17.wc 计算档案的列数,字数及字符数。
格式:wc [option] [filename]
Option:
-l 只计算列数(Line)。
-w 只计算字数(Word)。
-c 只计算字符数(Character)。
Example:
%wc file1
%who |wc -l
18.dff比较两个文本文件的差别。
格式:diff filename1 filename2
19.sort排序文本文件。
格式:sort [options] [file]
Option:
- 从标准输入读取。
-b 忽略前置空格。
-d 按字典顺序,仅字母数字空格才有效。
-n 以数值来做排序。
-r reverse反方向顺序排序。
-o 将output存于下个自变量中指定的档案,否则sort 会将排序结果送到屏幕显示。
-tc 字段间以字符c来分开。
+n1[-n2] n 跳过n1个字段,至第n2的字段为止,做排序。
Example:
%sort -b +1n file1 跳过1个字段,以第2字段为key sort file1。
%sort -t: +2n /etc/passwd 以uid(第3字段)为key sort /etc/passwd。
打印相关之指令
1.lpr/lp送印指令(HP9000/800 G60 用lp指令)。
格式:lpr [options] filename ....
options:
-Pprinter 指定打印机,若省略此参数,则指预设打印机lp。
目前中心的列表机有
lp 系统打印机。
sp 激光打印机。
np 激光打印机。
-m 当档案打印完毕,会送一个讯息给使用者。
-#n 打印n份。
examples:
%lpr file
%lpr file1 file2 file3
%man lpr | lpr -m
%cat file1 file2 | lpr -#3 打印3份
2.lpq查询 printer queue ,当你的档案送印后,可用此指令查询是否送印成功(HP9000/800 G60用lpstat指令)。
格式:lpq [options]
options:
-Pprinter 指定打印机,若省略此参数,则指预设打印机 lp。
examples:
%lpq 查询系统打印机lp打印情况。
%lpq -Psp 查询激光打印机 sp打印情况
3.lprm取消已送印的档案(HP9000/800 G60用cancel指令)。
格式:lprm [options] job#
options:
-Pprinter 打印机,若省略此参数,则为预设打印机 lp。
-username 将此user欲打印的档案取消,若省略此参数,则指自己。
examples:
%lpq -Psp
Rank Owner Job Files Total Size
1st guo 235 file1 38 bytes
2nd guo 236 file2 38 bytes
3rd guo 237 file3 300 bytes
%lprm -Psp 236 237
4.pr调整文件打印格式,先产生在屏幕,确定无误后再用lpr送打印机打印。
格式:pr [option] [filename]
Option:
-ln 设定页长。
-n 产生n栏的报表。
+n 从第n页开始打印。
-h 下一个参数当报表表头。
Example:
%pr -150 -h "THE OUTPUT REPORT" file1
产生页长为50,表头为 "THE OUTPUT REPORT" 的报表。
过程控制
1.ps显示目前系统process状况。
格式:ps [options]
Option:
-a 显示全部的process。
-u 显示process的使用者。
-l 显示process更多的讯息。
w 可以把指令行很长的程序颢显示出来,由于屏幕宽度有限,超过部份系统会自动切掉,w愈多显示的长度就愈长。
Example:
%ps
PID TT STAT TIME COMMAND
12536 P2 S 0:00 -csh(csh)
12539 P2 TW 0:00 mail huang
12540 P2 TW 0:00 cat
12541 P2 TW 0:00 vi
12549 P2 R 0:00 ps
说明:
PID 每一个process的编号。
TT 终端机编号。
STAT process目前的状况。
R running
T stopped
I idle
P page wait
S sleep
TIME 使用的CPU的时间。
%ps -auxww|more
*在IBM及HP9000/800 G60系统上要用 %ps -ef。
2.指令 & 将欲执行的命令(或程序),放到背景作业执行。
Example:
%cc myprog.c &
%who | sort > list &
*如果在.chrc文件内有set notify的命令,则系统会以[Done]来显示背景作业己执行完毕。
3.jobs列出在此系统上所有的Background job。
Example:
%mail huang
Ctrl-z
%cat > file1
Ctrl-z
%vi
Ctrl-z
%jobs
[1] Stopped mail huang
[2] - Running cat > file1
[3] + Stopped vi
(1) (2) (3) (4)
(1) job number 工作代号。
(2) + 表示current job。
- 表示next current。
(3)每个job目前执行的状况。
(4) job的作业内容。
4.fg启动被暂停的job,并改为前景作业。
格式:fg %job_number
Example:
%fg 启动current job,改为前景作业。
%fg %1 启动job1,改为前景作业。
5.bg启动被暂停的job,并改为背景作业。
格式:bg %job_number
Example:
%bg 启动current job,改为背景作业。
%bg %1 启动job1,改为背景作业。
6.stop 暂停一个正在执行的job。
格式:stop %job_number
Example:
%stop %2
7.kill删除一个job。
格式:kill %job-number或kill pid
Example:
%kill %3
%kill 8122
*如果尚无法清除此job,则可则改用以 %kill -9取代kill指令。
%kill -9 8122
8.at 于特定时间执行某些指令,执行后产生的Standard Output必须自己以输出转向的方式处理,否则看不到结果。
格式:at [options] time [day] [script]
Option:
-m 执行完毕后会送mail给使用者。执行过程中若有错误,则虽未给予此参数,亦会送mail告知使用者。
time 执行命令的时间,前2位。
day 执行命令的日期,若省略则指当天。
script 内含要执行的命令,类似PC的批次档,若省略此参数,则可将命直接在终端机输入,欲结束按Ctrl-d。
Example:
%at -m 1040 Aug 20
at> a.out> output
Ctrl-d
%
说明:在8月20日10点40分,去执行a.out>output的动作,执行完送一封mail给使用者。
%at -m 1050 scrfile 在10点50分时,去执行scrfile的动作,执行完送一mail给使用者。
9. atq 查询待行之作业。
Example:
%atq
Rank Execution Date Owner Job# Queue Job Name
lst Aug 14,1992 17:00 huang 858825600.a a stdin
10. atrm job# 取消at命令。
%atrm 858825600.a
阅读(4816) | 评论(1) | 转发(0) |