Linux 初步
一、 基本操作
①登录:
Linux 是多用户系统,必须用正确的用户名和口令登录后才能
进入 Linux Shell 提示符状态。
默认的文本界面 Shell 提示符有两种:
•root 用户登录后的提示符: #
•普通用户登录后的提示符: $
登录后的当前目录是登录用户的主目录。在 X-Window 下桌面
上将出现该目录的文件夹图标。在文本终端下,假设张三以 z3
的用户名登录, Shell 将显示:
[z3@localhost z3]$
第二个 z3 表示的是当前目录名。
通常,用户的主目录往往按默认取值取与用户名一致。
(注意:⑴与 Windows 不同,Linux 区分字母大小写;
⑵Linux 系统在输入口令期间,屏幕光标不作反映。)
②注销
用户应该以注销的方式来结束使用。注销命令:
logout 或 exit 或 ctrl+d
③root 用户在终端界面下的关机或重启命令(常用于远程维护):
init 0 关机
init 6 重启但是,更提倡使用能够向其他用户发送关机信息的命令:
shutdown –h now 立即关闭系统
shutdown –c 在规定时间内取消关闭系统操作
shutdown +10 系统在 10 分钟后关闭
shutdown –r +10 系统在 10 分钟后重启
shutdown –r now 或 reboot 系统立即重启
(去掉/etc/inittab 文件中的“ca::ctrlaltdel:/sbin/shutdown –t3 –r
now”可屏蔽 ctrl+alt+del,以避免误操作。)
④多个用户登录
Linux 提供了六个虚拟终端(TTY1-TTY6)和一个 X-window 图
形终端供不同的或相同的用户名登录,用 ctrl+alt+Fn 切换:
ctrl+alt+F1 至 ctrl+alt+F6 :TTY1 到 TTY6
ctrl+alt+F7 :X-window 图形终端
(TTY:TeleTYpe,电传打字机。)
⑤用于登录用户之间交谈的命令
write [用户名称][终端机编号]
通过 write 指令可传递信息给另一位登入系统的用户,当输入
完毕后,键入 EOF(ctrl+D 组合键)表示信息结束,write 指
令就会将信息传给对方。如果接收信息的用户不只登入本地主
机一次,你可以指定接收信息的终端机编号。(在 Redhat
Linux9.0 上的实验表明,需要回车后再 ctrl+D)。wall [公告信息]
wall 是 write all 的意思。通过 wall 指令可将信息发送给每位同
意接收公众信息的终端机用户,若不给予其信息内容,则 wall
指令会从标准输入设备读取数据,然后再把所得到的数据传送
给所有终端机用户。
(还有个 talk 命令,与 write 作用相同,但必须启动 talkd 守
护程序)
mesg [ny]
mesg n 拒绝接受 write 信息。
mesg y 允许接受 write 信息并在屏幕上显示。
用 write 命令向一个已经 mesg n 的用户 l4 发送信息,会得到
提示:write: l4 messages disabled。
⑥who 命令
显示当前登录到系统的所有用户名、所用终端名和登录时刻。
例如: $who
z3 tty1 Dec 11 14:47
root :0 Dec 11 14:45
l4 pts/0 Dec 11 15:08 (202.207.30.131)
root pts/1 Dec 11 15:08 (:0.0) 表示 zs 于 Dec 11 14:47 登录终端 1;root 于 Dec 11 14:45 登录
X 终端 0 端口;l4 于 Dec 11 15:08 由网络(202.207.30.131)登录
到 pts/0;root 于 Dec 11 15:08 由 X-Window 桌面创建的终端窗
口(:0.0)登录到 pts/1。
(tty 为 teletype 的缩写)
(Linux 的用户管理内容在第 5 章,建议同学此时先利用图形界
面操作来创建 z3、l4 两个用户,以便练习上述命令。)
二、 几个常用的基本命令
① mkdir 创建目录
例:mkdir m5 在当前目录下创建 m5 子目录
mkdir /home/t1 在/home目录下创建名为t1的子目录
注意:Unix 的文件路径分隔符是“
/”而不是“
\”。
② cd 进入指定目录
例:cd /home/t1 进入/home/t1
cd myc 进入当前目录下的 myc 目录
cd .. 进入父目录(注意..前必须有空格)
cd / 进入根目录(注意/前必须有空格)
cd 或 cd ~ 进入操作者的主目录
cd - 返回到前一个操作目录
(多次执行可在两个目录间来回切换)
③ pwd 显示当前工作目录(print working directory)④ cp 拷贝文件
例:cp /etc/passwd a.txt 将/etc 下的 passwd 文件拷贝到当
前目录并改名为 a.txt
cp /etc/passwd .
将/etc 下的 passwd 文件拷贝到当
前目录
cp –r /home/z3 /
将/home/z3 目录拷贝到根目录下
⑤ rm 删除文件或目录
例:rm a.txt 删除当前目录中的 a.txt 文件
rm -r m5 删除当前目录下的 M5 目录及其中文件
注:使用-f 参数可避免确认。参数可以连写,如:
rm –rf m5
⑥ touch 创建空文件,或改变指定文件的时间标记。
⑦ ls 文件列表(list directroy content)
ls 命令有几个常用的可选参数:
-a 列出全部文件名,包括以“
.”字符开始的项目
-l 以长格式列出文件详细信息
-i 列出文件的索引号(inode)
-d 只显示目录名称,不显示其中内容
-R 递归(Recursive)列出所有子目录层
例:ls –l
总用量 11 (块数,不同的版本这行有所差异) drwxr-xr-x 5 root root 1024 sep 13 03:27 Desktop
-rwxr-xr-x 2 root root 737 oct 7 18:42 a.txt
每列分别表示:属性、连接个数、所有者、从属组、文件长
度、文件的最后更改时间、文件名。
其中文件属性的第一个字符标识文件的类型:
d 目录
s 套接字
- 普通文件
p 命名管道
b 块设备
l 符号连接
c 字符设备
(file 是文件类型识别命令,可以文字形式显示文件属性)
类型的其它 9 位字符分别表示所有者、从属组、其他用户对
此文件的读、写、执行权限(
-表示无相应权限)。
通配符和模板可用来在 ls 命令中限定列表条件:
通配符 含义
举例
*
与任何字符匹配
ls hd* 显示以 hd 开头的文件名
?
与一个字符匹配
ls t? 显示 t 开头的所有2字符文件名
[…] 与括号中任一个字符匹配 ls a[136] 只与 a1、a3、a6 匹配
[.-.] 与括号中的字符范围匹配 ls a[b-e] 只与 ab、ac、ad、ae 匹配
[^…]
对括号中的字符集或范围
取反匹配
ls hda[^b-d] 只与非 hdab、hdac、hdad
匹配
{…,…} 只与括号中的字符串匹配 ls a{a1,b2,c3} 只与非 aa1,ab2,ac3 匹配ls 命令显示颜色的意义:
绿 色——可执行文件
蓝 色——目录
红 色——压缩文件
浅蓝色——链接文件
灰 色——一般文件(未定义的文件)
注:不同版本间有异,修改/etc/DIR_COLORS 可定义颜色。
练习与提示:当前目录下有一个 kkk 子目录,ls –l kkk 或 ls –l k*
只能查看到 kkk 下的文件名及属性。若要查看 kkk 自身的目录
属性而不是其下的文件,需要使用-d 参数:ls –ld kkk
三、 Linux 系统目录结构
/bin — 用来贮存用户命令。目录 /usr/bin 也被用来贮存用户
命令。
/sbin — 许多系统命令(例如 shutdown)的贮存位置。目录 /usr/sbin 中也包括了许多系统命令。
/root — 根用户(超级用户)的主目录。
/mnt — 该目录中通常包括系统引导后被挂载的文件系统的挂
载点。譬如,默认的光盘挂载点是 /mnt/cdrom/.
/boot — 包括内核和其它系统启动期间使用的文件。
/lost+found — 被 fsck 用来放置零散文件(没有名称的文件)。
/lib — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。
目录 /usr/lib/ 中含有更多用于用户程序的库文件。
/dev — 贮存设备文件(注意,设备文件不是驱动程序。过去,
在添加新磁盘或设备后,往往需要手动增加设备文件。
现在通常我们不需要手动增加设备文件,运行一下
service kudzu start ,系统就会自动配置相应的设备)。
/etc — 包含许多系统配置文件和目录。
/var — 用于贮存 variable(或不断改变的)文件,例如日志文
件和打印机假脱机文件。
/usr — 包括与系统用户直接有关的文件和目录,
例如应用程序及支持它们的库文件。
/proc — 一个虚拟的文件系统(不是实际贮存在磁盘上的),
它包括被某些程序使用的系统信息。
/etc/rc.d — 启动的配置文件和脚本。
/tmp/ — 用户和程序的临时目录。所有系统用户均可读写。
/home — 用户主目录的默认位置。
/opt — 可选的(optional),可用来存放准备安装的文件。四、 文件的连接
目录一 目录二 索引节点数组 节点内容
Linux 采用索引节点 inode 记录文件信息,每个文件或目录都唯
一地对应 inode 数组中的一个元素。但一个元素可以与多个文件
或目录名对应。文件名与索引节点号的对应称之为连接。
ln 命令用来对一个已经存在的文件建立连接。
例:cd /root
cp /etc/passwd .
ln /root/passwd /root/passwd.2
执行命令 ls –l 可在第二列看到连接数变为 2。
执行命令 ls –i 可以看到 passwd 和 passwd.2 具有相同的 inode。
这种通过相同 inode 共享同一个物理文件的方法称之为硬连接。
优点:可在不同目录通过不同路径访问同一个文件,节省磁盘空
间又便于数据一致性;有一定防止误删除功能,只有同一
个 inode 属于唯一一个连接时,数据才被物理删除。
文件一 300
文件二 302
文件三 304
文件七 306
文件五 301
文件六 302
文件大小
创建时间
文件所属
文件权限
磁盘位置
……
300
301
302
303
304
305
306
307缺点:不能连接目录,不能跨越不同文件系统(如分区、驱动器)。
加参数-s 执行 ln 命令可建立软连接,也称符号连接,如:
ln –s passwd passwd.2
执行 ls –l ,可看出 passwd.2 是 passwd 的符号连接。
passwd.2 和 passwd 是两个不同的文件,前者的文件数据是指向
后者的路径。即便在源文件不存在的情况下也可建立符号连接。
五、 mv 命令
Linux 中没必要配备专门的文件更名命令,使用移动命令 mv 即
可完成文件的更名操作。mv 实际上是在创建一个新的硬连接后
删除旧的硬连接,以此实现文件的搬移或更名。如
mv passwd.2 passwd.b
执行 ls –i 命令可发现文件名变了但 inode 没变。
六、 获得帮助
①使用 man topic 命令查阅手册页,如欲了解 ls 命令,可:
man ls
man 命令只显示查找到的第一项。若同一主题的内容可在多个
部分找到(如 kill 既是 shell 命令又是系统调用),则需:
man –t 2 kill
⑵使用参数 - -help 可显示命令的帮助信息,如:
ls - -help