△ 登入/登出命令——login/logout
○ 本地登入/登出,在系统启动后,输入用户名和密码进行登入,使用logout登出。
○ 远程登入
□ SSH远程登录
◇ SSH为Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定,SSH为建立在应用层基础上的安全协议。
◇ SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
◇ SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。
◇ 几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
◇ 登录方式:ssh 用户名@IP,回车之后需要输入密码。
□ Telnet远程登录
◇ Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。
◇ 为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。
◇ 终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。
◇ 要开始一个telnet会话,必须输入用户名和密码来登录服务器。
◇ 登录方式:telnet IP,回车之后要求输入用户名,再回车要求出入密码。
□ 几乎所有的Linux系统都具备SSH远程登录方式,也不推荐使用Telnet远程登录方式,因为Telnet在数据传输过程中是明文的,也就是不加密的,不安全。
○ 远程登出
□ exit
◇ 如果在当前的Shell中只有一个用户登录,则该命令会退出控制台。
◇ 当在同一个Shell中有多个用户登录,该命令会逐层退出用户,最后一个用户会退出Shell。
◇ 该命令不会正常注销用户,只是退出将当前用户退出Shell。
□ logout
◇ 该命令会正常注销当前用户并且将当前用户退出Shell。
◇ 在Shell中登录,切换Shell之后,logout会失效,即使切换回之前的Shell,也是失效的。
○ 和登入/登出相关的用户信息
在Linux中和用户相关的文件主要是以下三个:
□ “/etc/passwd”,存放用户信息的文件,其中的每一行给出了用户名、密码和用户的其他信息。
◇ 该目录存储的是操作系统用户信息,该文件为所有用户可见。
◇ 打开/etc/passwd,看到其中一行的信息如下“kevin:x:1000:1000:Kevin:/home/kevin:/bin/bash”
◇ 可以看出/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下
(1):用户名。
(2):密码(已经加密)
(3):UID(用户标识),操作系统自己用的
(4):GID组标识。
(5):用户全名或本地帐号
(6):开始目录
(7):登录使用的Shell,就是对登录命令进行解析的工具。
□ “/etc/shadow”,存放用户密码信息的文件,是passwd的影子文件。
◇ 在linux中,密码存储在/etc/passwd文件中,早期的这个文件直接存放加密后的密码,前两位是"盐(在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。)"值,是一个随机数,后面跟的是加密的密码。为了安全,现在的linux都提供了/etc/shadow这个影子文件,密码放在这个文件里面,并且是只有root可读的。
◇ 在利用了shadow文件的情况下,密码用一个x表示,普通用户看不到任何密码信息。影子口令文件保存加密的口令;/etc/passwd文件中的密码全部变成x。Shadow只能是root可读,从而保证了安全。
◇ /etc/shadow文件每一行的格式如下:用户名:加密口令:上一次修改的时间(从1970年1月1日起的天数):口令在两次修改间的最小天数:口令修改之前向用户发出警告的天数:口令终止后账号被禁用的天数:从1970年1月1日起账号被禁用的天数:保留域。
◇ 例如“test:$6$hKjqUA40$OelB9h3UKOgnttKgmRpFr/:14316:0:99999:7:::”,共有9个栏目
(1):帐号名称;
(2):密码;这里是加密过的,也可以解密的,要注意安全问题。
(3):上次修改密码的日期(距离1970-01-01的天数);
(4):密码不可被变更的天数;
(5):密码需要被重新变更的天数(99999表示不需要变更);
(6):密码变更前提前几天警告;
(7):帐号失效日期。
(8):帐号取消日期
(9):保留条目,目前没用
□ “/etc/group”,存放用户组信息的文件,存储有关本地用户组的信息,每一行有一下四部分组成
◇ GroupName GID到名称的一种映射,组名
◇ Password 保存密码的位置
◇ GID 组ID
◇ Users 组成员
□ 用户的密码
◇ 对于Unix操作系统,用户密码必须在6到8个字符之间,对于Linux操作系统没有上限限制,但是不能少于6个字符,但是在使用管理员账户为其他用户设置密码时例外,任何字符数都可以。
◇ 密码要求是字母和其他字符的混合密码,但是至少要包含两个字母和一个数字或者是其他字符,管理设置密码例外,没有限制。
◇ 密码不能和用户名相同。
◇ 在更改用户密码时不能和上次的密码一致。
◇ 密码更改方式:使用passwd命令修改密码。
∵ 输入passwd 用户名回车
∵ 输入当前正在使用的密码
∵ 输入新的密码
∵ 再次输入新的密码
∵ 提示信息,如果提示密码更新成功,则表示密码更改成功。
△ clear 清屏命令
△ pwd 显示当前路径的绝对路径名
△ cd 切换目录
□ 该目录可以是绝对路径,也可以是相对路径
□ cd后直接回车,会进入到和当前用户相关的家目录
△ ls 列出目录下的目录和文件
□ ls -a 列出改目录下的所有目录和文件,其中包含一“.”开头的隐藏文件
□ ls -R 递归显示某个命令下的所有目录和文件
□ ls -t 将结果以时间顺序显示
□ ls -l 显示某目录下的目录和文件的详细信息
关于目录或者文件的详细信息的说明:例如“-rwxrw-r-- 1 kevin kevin 0 Feb 14 11:27 a.txt”
◇ 该信息由7部分组成
◇ 第一部分“-rwxrw-r--”,
∵ 第一个字符表示文件类型,文件类型共有一下几种:
∴ “d” 表示目录文件(Directory File),第一个属性为 [d],例如 [drwxrwxrwx]。
∴ “-” 表示常规文件(Regular File)。
∴ “c” 表示字符设备文件(Character Device File),即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。
∴ “b” 表示块设备文件(Block Device File),存储数据以供系统存取的接口设备,简单而言就是硬盘。第一个属性为 [b]。
∴ “s” 表示套接字文件(Sock File),这类文件通常用在网络数据连接。启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s]。
∴ “l” 表示链接文件(Link File),类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。
∴ “p” 表示管道文件(Pipe File),是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。
∴ 更多关于文件类型和扩展名参见:http://dwz.cn/6rfDQk
∵ 第二、三、四个字符表示拥有者的读、写、执行权限。
∵ 第五、六、七个字符表示同组人的读、写、执行权限。
∵ 第八、九、十个字符表示其他人的读、写、执行权限。
∴ “r” 表示“读”权限
∴ “w” 表示“写”权限,对于目录来说表示可生成子目录或者文件的权限
∴ “x” 表示“执行”权限,对于目录来说表示可以查找该目录下的子目录或者文件的权限
∴ “-” 表示没有权限
◇ 第二部分“1”
∵ 如果该文件是目录文件,则该数字表示该目录下的子目录数
∵ 如果该文件是普通文件,则该数字表示该文件的硬链接(别名)
◇ 第三部分“kevin” 表示该文件的拥有者
◇ 第四部分“kevin” 表示该文件的所属组
◇ 第五部分“0” 表示该文件的所占磁盘空间的大小
◇ 第六部分“Feb 14 11:27” 表示该文件的最后一次修改时间
◇ 第七部分“a.txt” 表示该文件的文件名
△ chmod 修改文件的权限
□ 命令格式:chmod mode filename
◇ 其中“mode”由三部分组成分别是:who、op、permission(s)
∵ “who”表示用户或者组,又分为u、g、o、a
∴ “u” 表示文件所有者
∴ “g” 表示文件所属组
∴ “o” 表示文件除当前拥有者和所属组之外的其他用户以及组
∴ “a” 表示上面所有的情况,即“a”表示文件的拥有者、所属组以及除当前拥有者和所属组之外的其他用户以及组
∵ “op” 表示修改用户对于文件权限的运算符,分为=、-、+
∴ “=” 表示设置权限,覆盖原来的权限
∴ “+” 表示当原来没有某个权限时,赋予改权限
∴ “-” 表示移除某个已拥有的权限
∵ “permission(s)” 表示用户或组对于文件的权限,分为r、w、x
◇ 例如:chmod g-r file1
chmod u+x,go+w file2
chmod a=rw file3
※ 练习:创建三个文件分别为a.txt、b.txt、c.txt,对于这三个文件修改权限为用户本人具有所有权限,同组人具有读写权限,,其他人没有任何权限。
□ 八进制数来表示权限,命令格式:chmod 八进制权限 filename
◇ 八进制表示权限的解释:r=4,w=2,x=1,由此八进制0到7的权限如下:
∵ 7:rwx;6:rw-;5:r-x;4:r--;3:–wx;2:-w-;1:--x;0:---
◇ 其中“777”也是由三部分组成
∵ 第一个7表示文件拥有者的读、写、执行权限
∵ 第二个7表示文件同组人的读、写、执行权限
∵ 第三个7表示文件其他人的读、写、执行权限
◇ 例如:chmod 777 file1
chmod 655 file2
△ touch 新建文件命令,当文件不存在是则创建文件,当文件已经存在时,则更新该文件的最后修改时间为当前时间。
△ mkdir 创建目录命令,命令格式:mkdir [-p] directory_name(s)
□ 一次可以创建多个目录
□ 也可以一次创建一个多级目录
◇ 当上级目录存在时,则直接创建相应的目录
◇ 当上级目录不存在时,则需要加“-p”选项
△ cp 拷贝命令,既能拷贝文件也能拷贝目录
□ cp file1 file2
◇ 拷贝文件file1到file1所在的目录,并重命名为file2
□ cp file1 dir1
◇ 拷贝文件file1到目录dir1中
□ cp -r file1 file2 dir1 dir2
◇ 当cp命令后面的参数大于两个的时候,最后一个参数必须是“目录”,表示将所有参数(最后一个目录除外)所表示的文件(或目录)拷贝到最后一个参数所表示的目录中
◇ 拷贝文件可以不加选项“-r”
◇ 拷贝目录必须加选项“-r”
△ mv 移动命令,既能移动文件,也能移动目录,跟cp命令很相似,尤其是cp命令的第三条,但是不用加“-r”选项。
△ rm 删除文件命令,当删除目录时需要加“-r”选项,在删除目录或文件时原则上是需要有对于该文件或目录的写权限,但是在没有写权限的情况下也是可以删除的,只不过会出现提示信息,但是前提是该文件的所有者是当前用户。
△ rmdir 删除空目录,不需要加“-r”选项
△ 压缩和解压缩
□ 常用的压缩格式有两种:gzip和bzip,在bzip的基础上出现了新的压缩格式bzip2
□ gzip 压缩时间短,但是压缩比低。压缩用gzip命令,
□ bzip2 压缩时间长,但是压缩比高
△ 归档和解档
□ 归档和解档都用的是tar命令,只不过跟的选项不一样。
□ 归档:tar [zcvf] package_name file(s)
□ 解档:tar [zxvf] package_name
◇ 当解档时需要指定解档路径时使用“-C”选项,即tar zxvf package_name -C destination_dir
△ ln 创建链接文件命令
□ 链接又分为硬链接(Hard Link)和软链接(Soft Link)
◇ 硬链接
∵ 硬链接相当于给文件起别名,当改硬链接文件修改时,对应的源文件内容也会随之更改。
∵ 具体硬链接参见:http://dwz.cn/6pTr6j
∵ 建立硬链接可以防止误删
∵ 硬链接不能跨分区
∵ 一般对于目录不能建立硬链接
◇ 软链接
∵ 软链接相当于Windows文件系统中快捷方式。
∵ 软链接也叫符号链接(Symbolic)
∵ 具体参见:http://dwz.cn/6pTrBZ
□ 命令格式:ln [-s] source_file destination_file
◇ 说明:加选项“-s”为创建软链接,不加为创建硬链接
□ 其他参数/选项说明:
◇ 必要参数:
● -b 删除,覆盖以前建立的链接
● -d 允许超级用户制作目录的硬链接
● -f 强制执行
● -i 交互模式,文件存在则提示用户是否覆盖
● -n 把符号链接视为一般目录
● -s 软链接(符号链接)
● -v 显示详细的处理过程
◇ 选择参数:
● -S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"
● -V "-V<备份方式>"或"--version-control=<备份方式>"
● --help 显示帮助信息
● --version 显示版本信息
△ man 查看其它命令的帮助文档 http://dwz.cn/6pTvma