●掌握Linux各种命令的使用方式;
●熟悉Linux操作环境。
二、、内容
练习使用Linux常用命令,达到熟练应用的目的。
三、步骤1.文件和目录类命令的使用
(1)启动计算机,借助root用户登入到系统,步入字符提示界面。
(2)用pwd命令查看当前所在的目录。
(3)用ls命令列举此目录下的文件和目录。
(4)用-a选项列举此目录下包括隐藏文件在内的所有文件和目录。
(5)用man命令查看ls命令的使用指南。
(6)在当前目录下,创建测试目录test。
(7)借助ls命令列举文件和目录,确认test目录创建成功。
(8)步入test目录,借助pwd查看当前工作目录。
(9)借助touch命令,在当前目录创建一个新的空文件newfile。
(10)借助cp命令复制系统文件/etc/profile到当前目录下。
(11)复制文件profile到一个新文件profile.bak,作为备份。
(12)用ll命令以长格方式列举当前目录下的所有文件,注意比较每位文件的厚度和创建时间的不同。
(13)用less命令分屏查看文件profile的内容,并对then关键字查找。
less使用参数
/字符串:向上搜索字符串的功能
?字符串:向下搜索字符串的功能
n:重复前一个搜索
N:反向重复前一个搜索
(14)用grep命令在profile文件中对关键字then进行查询,并与前面的结果比较。
#grep then profile
(15)给文件profile创建一个软链接lnsprofile和一个硬链接lnhprofile。
-s软链接(符号链接)
软链接:
1.软链接,以路径的方式存在。类似于Windows操作系统中的快捷方法
2.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的方式存在。但不占用实际空间。
2.不容许给目录创建硬链接
(16)长格方式显示文件profile、lnsprofile和lnhprofile的详尽信息。注意比较3个文件链接数的不同。
(17)删掉文件profile,用长格方式显示文件lnsprofile和lnhprofile的详尽信息,比较文件lnhprofile的链接数的变化。
(18)用less命令查看文件lnsprofile的内容,瞧瞧有哪些结果。
(19)用less命令查看文件lnhprofile的内容,瞧瞧有哪些结果。
(20)删掉文件lnsprofile,显示当前目录下的文件列表,回到下层目录。
(21)用tar命令把目录test打包到/root目录下。
打包:#tarcvf/root/test.tar./
打包查看:#tartvf/root/test.tar
在test目录下构建一个新文件eee,并添加该新文件到test.tar打包文件中。
# tar rvf /root/ test.tar eee (先在test目录下建立一个新文件eee)
添加后查看:#tartvf/root/test.tar
删掉打包内的文件eee,并查看删掉结果:
# tar --delete -f /root/ test.tar eee
# tar tvf /root/ test.tar
解包:#tarxvf/root/test.tar-C./xtest(先在test目录下构建一个子目录xtest)
(注:tar是打包,不是压缩!)
压缩:#tarzcvf/root/test.tar.gz./
解压:#tarzxvf/root/test.tar.gz-C./ztest(先在test目录下构建一个子目录ztest)
(22)用gzip命令把打好的包进行压缩。
压缩:#gzip/root/test.tar(先删掉/root/test.tar.gz文件)
解压1:#gunzip-c/root/test.tar.gz>./gtest/test.tar(先构建子目录gtest)
解压2:#gzip-d-c/root/test.tar.gz>./gtest/test.tar
(23)把文件test.tar.gz更名为backup.tar.gz。
(24)显示当前目录下的文件和目录列表,确认重命名成功。
(25)把文件backup.tar.gz联通到test目录下。
(26)显示当前目录下的文件和目录列表,确认联通成功。
(27)步入test目录,显示目录中的文件列表。
(28)把文件backup.tar.gz解包。
(29)显示当前目录下的文件和目录列表,复制test目录为testbak目录作为备份。
(30)查找root用户自己主目录下的所有名为newfile的文件。
find命令可以使用某种文件名模式来匹配文件,记住要用冒号将文件名模式导致来。不管当前路径是哪些,假如想要在自己的根目录HOME中查找文件名符合∗.log的文件,使用作为′pathname′参数,波浪号代表了你的HOME中查找文件名符合*.log的文件,使用~作为'pathname'参数,波浪号~代表了你的HOME中查找文件名符合∗.log的文件,使用作为′pathname′参数,波浪号代表了你的HOME目录。
#find ~ -name "*.log" -print
想要在当前目录及子目录中查找所有的‘*.log‘文件,可以用:
#find . –name "*.log" -print
想要的当前目录及子目录中查找文件名以一个小写字母开头的文件,可以用:
#find . -name "[A-Z]*" -print
想要在/etc目录中查找文件名以host开头的文件,可以用:
#find /etc -name "host*" -print
想要查找$HOME目录中的文件,可以用:
#find ~ -name "*" -print
2.系统信息类命令的使用
(1)借助date命令显示系统当前时间,并更改系统的当前时间。
date-s时间字符串
如只更改系统的日期,不更改时间(时分秒)
$ date -s 2016-08-02
或只更改时间不更改日期
$ date -s 10:08:00
也可同时更改日期和时间
$ date -s "2016-05-18 04:53:00"
(2)显示当前登入到系统的用户状态。
who:列列举当前已登陆系统的用户名称。
输出:用户名、tty号、时间日期、主机地址。
tty(终端)设备:包括虚拟控制台(计算机显示器一般被称为控制台终端(Console))以root登录linux系统则当前的工作目录是什么,并口以及伪终端设备。tty[1-6]:ctr+alt+f[1-6]切换虚拟控制台。
pty设备:伪终端,逻辑上的终端设备深度linux系统,多用于模拟终端程序。如,在XWindow下打开的终端,及在Windows使用telnet或ssh等方法登陆Linux主机,此时就是在使用pty设备。pts(pseudo-terminalslave)是pty的实现方式,与ptmx(pseudo-terminalmaster)配合使用实现pty。
如:某人使用telnet程序联接到你的计算机,则telnet程序可能是:
TELNET(网路)—>pts(s:slave)—>ptmx(m:master)—>GETTY(本地)
$ who
ramesh pts/0 2016-03-28 22:57 (dev-db-server)
如只列举用户,使用如下句子:
$ who | cut –d ' ' -f1 | sort | uniq
ramesh
w:显示已登陆系统的用户名称linux操作系统教程,及正执行的程序。
输出:
用户名称
用户的机器名称或tty号
远程主机地址
用户登入系统的时间
空闲时间
tty(终端)上运行的进程所用时间
当前进程所用时间
用户当前正使用的命令
# w
23:04:27up29days,7:51,2users,loadaverage:0.04,0.06,0.02
USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
johnpts/2dev-db-server23:040.00s0.00s0.00sw
whoami:显示登录的用户名
$ whoami
john
(3)借助free命令显示显存的使用情况。
-b:以Byte为单位显示显存使用情况;
-k:以KB为单位显示显存使用情况;
-m:以MB为单位显示显存使用情况;
-s:持续观察显存使用状况;
# free -m
total used free shared buffers cached
Mem: 2016 1973 42 0 163 1497
-/+ buffers/cache: 312 1703
Swap: 4094 0 4094
缓冲区buffer:坐落显存区域。用于储存速率不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的互相等待变少,因而使从速率慢的设备读入数据时,速率快的设备的操作进程不发生间断。
高速缓存cache:坐落CPU与显存间的一种容量较小但速率很高的储存器。因为CPU的速率远低于主显存,CPU直接从显存中存取数据要等待一定时间周期,Cache中保存着CPU刚用过或循环使用的一部份数据,当CPU再度使用该部份数据时可从Cache中直接调用。
第一部份Mem:
total:显存总量;used:早已使用的显存数;free:空闲的显存数;shared:当前共享;buffersBuffer:缓存显存数;cached:缓存显存数。
关系:total=used+free
第二部份(-/+buffers/cache):
(-buffers/cache)used显存数:第一部份Mem行中的used–buffers–cached(+buffers/cache)free显存数:第一部份Mem行中的free+buffers+cached
-buffers/cache反映的是被程序实际占用的显存,而+buffers/cache反映的是可以侵吞的显存总量。
第三部份:
交换分区。
(4)借助df命令显示系统的硬碟分区及使用状况。
示例:
以更易读的形式显示c盘使用情况
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 8.7G 1007M 7.3G 12% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/sda1 194M 27M 158M 15% /boot
/dev/sda5 9.0G 149M 8.4G 2% /doiido
显示系统所有的分区
# df -a
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 9071088 1030988 7579300 12% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
tmpfs 957244 0 957244 0% /dev/shm
/dev/sda1 198337 26817 161280 15% /boot
/dev/sda5 9351388 151940 8724416 2% /doiido
none 0 0 0 - /proc/sys/fs/binfmt_misc
显示inode索引节点使用情况
索引节点:存储文件的元信息区域,如文件的创建者、文件的创建日期、文件的大小等等。这个区域叫inode(索引节点)。
硬碟低格时,操作系统手动将硬碟分两个区域。一个是数据区,储存文件数据;另一个是inode区(inodetable),储存inode所包含的信息。每位inode节点的大小,通常是128字节或256字节。inode节点的总量,在低格时就给定,通常是每1KB或每2KB就设置一个inode。假设在一块1GB的硬碟中,每位inode节点的大小为128字节,每1KB就设置一个inode,这么inodetable的大小都会达到128MB,占整块硬碟的12.8%。
查看方式:#dumpe2fs-h/dev/hda|grep“inodesize”
dumpe2fs:显示ext2/ext3/ext4文件系统信息。
查看inode-table中某一项数据
# stat filetime.txt
File: `filetime.txt'
Size: 39 Blocks: 8 IO Block: 4096 Regular File
Device: 802h/2050d Inode: 17 Links: 1
Access: (0644/-rw-r--r--) Uid: (0/root) Gid: (0/root)
Access: 2009-08-04 15:13:44.000000000 +0800
Modify: 2009-08-04 15:13:44.000000000 +0800
Change: 2009-08-04 15:13:44.000000000 +0800
ls-i命令,可见到文件名对应的inode号:
# ls -i test.txt
6970 test.txt
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 577088 32829 544259 6% /
tmpfs 239311 1 239310 1% /dev/shm
/dev/sda1 51200 38 51162 1% /boot
/dev/sda5 594512 11 594501 1% /doiido
以k为单位显示c盘使用情况
# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 9071088 1030992 7579296 12% /
tmpfs 957244 0 957244 0% /dev/shm
/dev/sda1 198337 26817 161280 15% /boot
/dev/sda5 9351388 151940 8724416 2% /doiido
显示文件系统的类型。
# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext4 9071088 1030992 7579296 12% /
tmpfs tmpfs 957244 0 957244 0% /dev/shm
/dev/sda1 ext4 198337 26817 161280 15% /boot
/dev/sda5 ext4 9351388 151940 8724416 2% /doiido
显示指定类型c盘
# df -t ext2
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 9071088 1030992 7579296 12% /
/dev/sda1 198337 26817 161280 15% /boot
/dev/sda5 9351388 151940 8724416 2% /doiido
(5)显示当前目录下各级子目录的硬碟占用情况。
如:
-h:以人类可读的形式显示
-s:显示目录占用的c盘空间大小,不要显示其下子目录和文件占用的c盘空间大小
-a:显示目录占用的c盘空间大小以root登录linux系统则当前的工作目录是什么,还要显示其下目录和文件占用c盘空间的大小
-c:显示几个目录或文件占用的c盘空间大小,还要统计它们的总和
–max-depth=1:查看当前目录下一级子文件和子目录占用的c盘容量。