一、shell基本维护指令
1、man命令
使用man命令可以找到特定的联机帮助页,并提供简短的命令说明。一般语法格式为: man commandname 通常联机帮助信息包括以下几个部分:
- NAME:命令的名称
- SYNOPSIS:命令的语法格式
- DESCRIPTION:命令的一般描述以及用途
- OPTIONS:描述命令所有的参数或选项
- SEE ALSO:列出联机帮助页中与该命令直接相关或功能相近的其他命令
- BUGS:解释命令或其输出中存在的任何已知的问题或缺陷
- EXAMPLES:普通的用法示例
- AUTHORS:联机帮助页以及命令的作者
使用案例 man 3 printf 查库函数 man 2 open 查系统调用 man -a open 会将系统中与open相关的都列出来
2、passwd命令
可以使用passwd命令,为已有账户重新修改用户密码。
说明: 超级用户root可以修改所有其他用户的口令,而普通用户只能修改自己的用户口令,如果确要修改超级用户或其他用户口令的话,需要具有超级用户的权限。
passwd命令的一般语法格式为:passwd username 单独使用passwd命令,意为修改当前用户自己的口令。
3、su命令
su命令用于临时改变用户身份,具有其他用户的权限。 su命令的一般语法格式为:
当需要放弃当前用户身份,可以使用exit命令切换回来。
-c”表示执行一个命令后就结束;-m表示仍保留环境变量不变;-表示转换用户身份时,同时使用该用户的环境。 单独使用su命令,默认为要转换为超级用户root。
4、echo命令
用于在标准输出——显示器上显示一段文字,一般起到提示作用。
echo命令的一般语法格式为:
说明: 选项-n表示输出文字后不换行。提示信息字符串可以加引号,也可以不加,输入信息字符串不使用引号,字符串之间用一个空格隔开
5、date、clear、df、du命令的用法
(1) date ①date命令用于显示和设置系统日期和时间。date命令的一般语法格式为: date [-d | -s|-u ] datestr ②选项-s表示按照datestr日期显示格式设置日期;单独使用date命令,用于显示系统时钟中当前日期。
- 时间的格式为:“hh:mm:ss”,日期格式为:“mm/dd/yy”。
- 设置新时间,需要系统管理员权限
(2) clear clear命令用于清除屏幕上的信息。清屏后,sell命令提示符移动到屏幕左上角。
(3) df df命令用于查看磁盘空间的使用情况。
df命令的一般格式为: df [-a | -T | -h | -k ] Filesystem
选项 含义
-a 显示所有物理文件系统的使用情况,包括虚拟文件系统,如/proc、/sys等
-T 显示物理文件系统的文件格式类型
-h 物理文件系统大小按兆字节为单位显示
-k 物理文件系统大小按千字节为单位显示
b. 从以下命令的执行结果可以看到,这台计算机只有一块硬盘(/dev/sda1),文件格式类型为Ext3,已经使用36%的存储空间。
同时,可以发现计算机上还安装了CD-ROM(/dev/hdc)、USB存储器(/dev/sdb1)。其他分区均为专用的虚拟文件系统
linux@ubuntu:~$ df –T
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda1 ext3 7850996 2664868 4787316 36% /
c. df 命令
常用参数:
-a :列出所有文件系统
-k :列出磁盘的分配情况(KB)
-h :同-k, 但大小以G、M,K单位显示
-l :仅列出本地文件系统
(4) du命令 列出目录和文件所使用的磁盘块数,每块占512个字节。 常用参数: -a :仅列出空闲的文件数 -h :列出磁盘的使用情况(KB) -s :列出总的空闲空间(KB) 例: #du –h /etc
二、linux的用户管理
1、用户管理相关文件介绍
(1)用户管理 用户的属性 1)用户名 2)口令 3)用户ID(UID) 4)用户主目录(HOME) 5)用户shell
(2)/etc/passwd文件 用户登陆时,系统查询这个文件,确定用户的UID并验证用户口令 1)登陆名 2)经过加密的口令 3)UID 4)默认的GID 5)个人信息 6)主目录 7)登陆shell
(3)/etc/group文件 1)包含了UNIX组的名称和每个组中成员列表 2)每一行代表一个组,包括4个字段: 组名 加密的口令 GID号 成员列表,彼此用逗号隔开
(4)添加用户 adduser 语法:adduser username
(5)adduser配置文件 /etc/adduser.conf
- FIRST_UID=1000
- LAST_UID=29999
- USERS_GID=100
- DHOME=/home
- DSHELL=/bin/bash
- SKEL=/etc/skel
(6)SKEL模板 /etc/skel目录是被 /usr/sbin/useradd使用 把想要新用户拥有的配置文件从/etc/skel目录拷贝,常用的文件:
- .bash_profile
- .bashrc
- .bash_logout
- dircolors
- .inputrc
- .vimrc
2、用户管理相关命令介绍
(1)添加新用户的过程 1) 系统 ①编辑passwd和shadow文件,定义用户帐号 ②设置一个初始口令 ③创建用户主目录,用chown和chmod命令改变主目录的属主和属性 2) 为用户所进行的步骤 ①将默认的启动文件复制到用户主目录中 ②设置用户的邮件主目录并建立邮件别名
(2) 设置初始口令 1) 使用passwd命令可以修改用户口令 2) root用户可以修改任何用户的口令 语法:passwd [-k] [-l] [u] [-f] [-d] [-S] username 使用方法: passwd username
(3) 修改用户属性 usermod 语法:usermod [-u uid [-o]] [-g group] [-G gropup,…] [-d home [-m]] [-s shell] [-c comment] [-l new_name] [-f inactive][-e expire] [-p passwd] [-L|-U] name
举例用户oldname改名为newname,注意要同时更改家目录:
usermod –d /home/newname –m –l newname oldname
(4) 删除用户 deluser 语法: deluser
使用方法:
deluser --remove-home user1
删除用户user1的同时删除用户的工作目录
(5) 添加用户组 addgroup 语法: addgroup groupname
使用方法:
addgroup groupname
(6) 删除用户组 delgroup 语法: delgroup groupname
使用方法:
delgroup groupname1
三、进程管理相关命令
1、进程概念
程序的一次执行就是一个进程
2、使用ps命令查看进程
(1)ps的作用 显示进程的动态
语法:
ps [options]
(2)常见的参数
- -A 列出所有的行程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
(3) 显示参数
- %CPU 占用的 CPU 使用率
- %MEN 占用的记忆体使用率
- VS2 占用的虚拟记忆体大小
- RSS 占用的记忆体大小
- STAT 该进程的状态
- START 进程开始时间
- TIME 执行的时间
(3)进程的状态标志
- D: 不可中断的静止
- R: 正在执行中
- S: 阻塞状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- <: 高优先级的进程
- N: 低优先级的进程
- L: 有内存分页分配并锁在内存中
(4) top命令
实时显示进程状态
(7) pstree命令 1) 将所有行程以树状图显示,树状图将会以pid(如果有指定)或是以init这个基本进程为根, 如果有指定使用者id,则树状图会只显示该使用者所拥有的进程。 2)参数: -a 显示该进程的完整指令及参数,如果是被记忆体置换出去的进程则会加上括号 -c 如果有重覆的进程名,则分开列出
3、使用kill命令终止进程
使用kill命令终止进程
使用说明:
kill [-signal] PID
signal是信号,PID是进程号
四、文件系统的类型
1、Linux文件系统的类型
①关于Linux的文件系统,用户既可以使用界面友好的Nautilus图形文件管理器,也可以使用功能强大的shell文件系统管理工具。
②linux是一种兼容性很高的操作系统,支持的文件系统格式很多,
(1)linux下的文件系统
- 磁盘文件系统:指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。
- 网络文件系统:是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。
常见文件系统格式有:NFS、Samba等; - 专有/虚拟文件系统:不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)。
(2)
- 目前Ext4是Linux系统广泛使用的一种文件格式。在Ext3基础上,对有效性保护、数据完整性、数据访问速度、向下兼容性等方面做了改进。
- 最大特点是日志文件系统:可将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要时回溯追踪。
(3)SCSI与IDE设备命名
- sata硬盘的设备名称是“/dev/sda”
/dev/sda1 含义? /dev/sdb3 含义? - IDE硬盘的设备名称是“/dev/hda”
/dev/hdc2 含义? - 如果很在意系统的高性能和稳定性,应该使用SCSI硬盘
cat /proc/partitions
(4)Linux分区的命名方式
- ①字母和数字相结合
- ②前两个字母表示设备类型
“hd”代表IDE硬盘 “sd”表示SCSI或SATA硬盘 - ③第三个字母说明具体的设备
“/dev/hda”表示第一个IDE硬盘 “/dev/hdb”表示第二个IDE硬盘
(5)交换分区 1)将内存中的内容写入硬盘或从硬盘中读出,称为内存交换(swapping) 2)交换分区最小必须等于计算机的内存 3)可以创建多于一个的交换分区 4)尽量把交换分区放在硬盘驱动器的起始位置
2、Linux文件系统的结构
五、文件系统相关命令
1、file、mkdir、rmdir、ln命令
(1)文件和目录相关的命令 pwd ls cd touch cp mv rm cat head tail已经在之前的文章中讲过
(2)file命令 1)file命令功能用于判定一个文件的类型。
file命令一般语法格式为:
file [ filename ]
其中filename是文件名。
命令的输出将显示该文件是二进制文件、文本文件、目录文件、设备文件,
还是Linux中其他类型的文件。
(3)mkdir命令 mkdir命令用于创建一个目录。mkdir命令一般语法格式为: mkdir [ -p ] directory_name
说明:
使用选项“-p”表示可以嵌套创建子目录,即多层目录。
例如:
linux@ubuntu:~$ mkdir –p dir1/dir2/dir3
linux@ubuntu:~$ ls –R dir1
dir1:
dir2
dir1/dir2:
dir3
dir1/dir2/dir3:
(4)rmdir命令 用于删除一个目录。rmdir命令一般语法格式为: rmdir [ -p ] directory_name
说明:
其中,directory_name为要删除的一个或多个目录名。
使用选项“-p”表示可以递归删除子目录,即多层目录。
例如
linux@ubuntu:~$ rmdir –p dir1/dir2/dir3
(5)创建链接文件 ①Linux中有两种类型的链接:
- 硬链接是利用Linux中为每个文件分配的物理编号——inode建立链接。因此,硬链接不能跨越文件系统。
- 软链接(符号链接)是利用文件的路径名建立链接。
通常建立软链接使用绝对路径而不是相对路径,以最大限度增加可移植性。
②需要注意的是,如果是修改硬链接的目标文件名,链接依然有效;如果修改软链接的目标文件名,则链接将断开;
对一个已存在的链接文件执行移动或删除操作,有可能导致链接的断开。
假如删除目标文件后,重新创建一个同名文件,软链接将恢复,硬链接不再有效,因为文件的inode已经改变。
(6)ln命令 命令可以用于创建文件的链接文件。ln命令一般语法格式为: ln [ -s ] target link_name
说明:
其中,选项“-s”表示为创建软链接。在缺省情况下,创建硬链接。
参数target为目标文件,link_name为链接文件名。
如果链接文件名已经存在但不是目录,将不做链接。
目标文件可以是任何一个文件名,也可以是一个目录。
linux@ubuntu:~$ ln -s /proc/cpuinfo mycpuinfo
linux@ubuntu:~$ ls –l mycpuinfo
lrwxrwxrwx 1 wdl wdl 13 2007-09-22 00:43 mycpuinfo -> /proc/cpuinfo
以上命令为/proc/cpuinfo文件创建了一个软链接文件。
使用“ls –l”命令可以查看到新创建的链接文件所指向的目标文件名。
2、文件的归档和压缩
(1)压缩文件 用户在进行数据备份时,需要把若干文件整合为一个文件以便保存。尽管整合为一个文件进行管理,但文件大小仍然没变。
(2)
如果用户需要经常在Linux和微软Windows间交换文件,建议使用zip。
(3) tar命令 tar命令可以把很多文件(甚至磁带)合并到一个称为tarfile的文件中,通常文件扩展名为.tar。 然后,再使用zip、gzip或bzip2等压缩工具进行压缩。
(4) shell归档和压缩工具 使用shell归档和压缩工具可以更直接地完成文档的打包任务。由于该类shell命令是成对使用的,因此下面按对介绍相关命令。
(5) gzip与gunzip命令 与zip明显区别在于只能压缩一个文件,无法将多个文件压缩为一个文件。gzip命令符号模式的一般语法格式为: gzip [ -l| -d | -num ] filename
说明
其中,filename表示要压缩的文件名,
gzip会自动在这个文件名后添加扩展名为.gz,作为压缩文件的文件名。
选项 描述
-l 查看压缩文件内的信息,包括文件数、大小、压缩比等参数,并不进行文件解压
-d 将文件解压,功能与gunzip相同
-num 指定压缩比率,num为1~9个等级
gunzip命令符号模式的一般语法格式为: gunzip [ -f ] file.gz
其中,选项“-f”用于解压文件时,对覆盖同名文件不做提示。
在执行gzip命令后,它将删除旧的未压缩的文件并只保留已压缩的版本。
以下命令以最大的压缩率对文件file_1进行压缩,生成file_1.gz文件。
使用“-l”选项可以查看压缩的相关信息。最后使用gunzip命令对文件进行了解压。
与压缩时相反,file_1.gz文件会被删除,继之生成file_1。
linux@ubuntu:~$ gzip -9 file_1
linux@ubuntu:~$ gzip -l file_1.gz
compressed uncompressed ratio uncompressed_name
1200 4896 76.0% file_1
linux@ubuntu:~$ gunzip file_1.gz
(6) tar命令 tar命令主要用于将若干文件或目录合并为一个文件,以便备份和压缩。当然,之后出现tar程序的改进版本,可以实现在合并归档的同时进行压缩。 tar命令符号模式的一般语法格式为: tar [ -t | -x | -u | -c | -v | -f | -j | -z ] tarfile filelist -t 显示归档文件的内容 -x 释放归档文件 -u 更新归档文件 -c 创建一个新的归档文件 -v 显示归档和释放的过程信息 -f 用户指定归档文件的文件名,否则使用默认名称 -j 由tar生成归档,然后由bzip2压缩 -z 由tar生成归档,然后由gzip压缩
linux@ubuntu:~$ tar –cf myExamples.tar myExamples
linux@ubuntu:~$ tar -cjf myExamples.tar.bz myExamples
linux@ubuntu:~$ tar -czf myExamples.tar.gz myExamples
linux@ubuntu:~$ ls -lh myExamples.tar*
-rw-r--r-- 1 wdl wdl 9.3M 2007-09-23 00:42 myExamples.tar
-rw-r--r-- 1 wdl wdl 8.6M 2007-09-23 00:43 myExamples.tar.bz
-rw-r--r-- 1 wdl wdl 8.5M 2007-09-23 00:44 myExamples.tar.gz
如果想查看一下归档文件中的详细内容,使用类似以下命令:
linux@ubuntu~$ tar –tvf myExamples.tar.gz
使用以下命令完成tar文件的释放。其中,“tar -xjf”和“tar –xzf”等效与先解压缩后释放tar文件。
linux@ubuntu:~$ tar –xvf myExamples.tar
linux@ubuntu:~$ tar -xvjf myExamples.tar.bz
linux@ubuntu:~$ tar -xvzf myExamples.tar.gz
六、linux网络配置管理
1、网络配置基础
-
(1)用户既可以通过命令行的方式,也可以通过友好的图形界面,轻松完成网络配置。 -
(2)实现Linux网络配置的惟一目标就是修改系统中众多的网络配置文件, 如/etc/interfaces、/etc/hosts,/etc/resolv.conf 等等。 -
(3)通常,用户可能使用普通以太网卡、无线网卡、调制解调器等不同类型的设备接入网络。
不同类型的网络设备在主机中被映射为相应的网络接口,比如以太网卡映射为eth,无线网卡映射为wlan。有时,用户还可能同时使用多个网络设备,就会出现eth0、eth1…,或wlan0、wlan1…的情况。
那么,如何标识每个连接到Internet的网络接口呢? 解决办法是:为每个网络接口分配一个全世界范围内惟一的32bit的标识符。这个标识符就是IP(Internet Protocol)地址。
2、配置IP地址
接入网络的计算机主机依靠IP地址,惟一地标识其在网络中的身份,因此为主机配置IP地址是接入网络的关键。 配置IP地址的方法有两种:
- 配置静态IP:在主机进入网络之前,事先为主机设置固定的IP地址;
- 配置动态IP:选择DHCP网络服务,在主机进入网络之后,动态随机获取IP地址。
3、Ifconfig命令
ifconfig是GNU/Linux中配置网卡的基本命令,包含在net-tools软件包中。它可用于显示或设置网卡的配置, ifconfig命令有以下两种格式: ifconfig [interface] ifconfig interface [aftype] option | address…
4、interfaces配置文件
无论是配置静态IP还是动态IP,计算机系统将IP信息保存放在什么地方?答案是配置文件“/etc/network/interfaces”。 在Ubuntu Linux启动时就能获得IP地址的配置信息。若是配置静态IP,就从配置文件中读取IP地址参数,直接配置网络接口设备; 若是配置动态IP,就通知主机通过DHCP协议获取网络配置。
5、DNS客户端配置文件—resolv.conf
Ubuntu Linux将DNS服务器地址保存在配置文件/etc/resolv.conf中。
6、ping命令
它使用了Internet控制报文协议(ICMP)回送请求与回送应答报文,测试两个主机之间的连通性。 格式如下所示 ping [DomainName | IP-address] 例如 linux@ubuntu:~$ ping www.ustb.edu.cn
说明:
使用-c参数设置发送测试数据包的次数,以便在有限时间内完成测试。
linux@ubuntu:~$ ping -c 3 www.google.com
7、DNS服务器地址
DNS域名解析可以在更大范围的计算机网络、Internet,提供域名到IP地址的转换。 网络中的每台计算机都是一个DNS客户端,向DNS服务器提交域名解析的请求;DNS服务器完成域名到IP地址的映射。
8、nslookup命令
使用nslookup命令可以查看当前系统所使用的DNS服务器的IP地址。
例如:
linux@ubuntu:~$ nslookup www.google.com
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
www.l.google.com canonical name = www-china.l.google.com.
Name: www-china.l.google.com
Address: 66.249.89.99
服务器192.168.182.2完成了域名解析。Server表示提供服务的DNS服务器,Address中的#53表示TCP/UDP命名服务的端口号。 若所有的DNS服务器都访问失败,则出现如下的执行结果。
linux@ubuntu:~$ nslookup www.google.com
connection timed out; no servers could be reached
到这里就结束啦!
|