实验1:用户的登录与退出、IO重定向与简单文件操作

实验1:用户的登录与退出、IO重定向与简单文件操作

1、实验目的

(1)、掌握系统开启和关闭的方法及正常关闭系统的意义和必要性;

(2)、掌握用户的登录与退出的方法及用户退出系统或注销的意义和必要性;

(3)、了解UNIX/Linux系统的图形界面全貌及使用办法;

(4)、掌握命令操作方法,I/O的重定向和引号机制。

2、实现设备

一台装有Windows操作系统PC机,上装有虚拟机系统VMWare,实验过程通过VMWare系统启Linux系统工作。

3、实验方法与注意事项

实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。

要求每个同学登录后系统后,要在自己的家目录内容以自己(拼音)名字或学号,创建一个子目录。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。

用户要按通常实验要认真书写实验报告。

4、实验过程

(1)系统的开启

通过Windows系统启动VMware Workstation系统。

在VMware Workstation界面上,单击►启动Red Hat Linux;

注:当鼠标陷入Linux系统中时将无法移出Linux窗口,此时可通过组合键“Ctrl+Alt”来释放鼠标。

(2)系统的注册与登录

当系统启动过程结束后,请分别在图形和字符界面下以超级用户身份登录:

用户名:root

password:123456

注:操作界面的切换。当从图形界面向字符界面切换时使用组合键“Ctrl+Alt+F#”,从字符界面面字符界面或图形界面切换时请使用组合键“Alt+F#”。其中,F7为图形界面,F1~F6为字符界面。请分别在不同的界面上登录。

(3)用户的退出或签退

在字符界面下方法有三:logout         exit         Ctrl_D

[root@localhost root]# logout
bash: logout: not login shell: use `exit'
[root@localhost root]#exit,Ctrl_D

在root用户退出使用exit.


在图形方式下:à注销(logout)à注销(logout)à确定

(4)语言切换(选做)

在图形界面下的登录两面下有“语言(L)”按钮,单击之在选择列表中选择语言后按“确定”,在下次的图形界面登录后将使用新设定的语言。

(5)关闭系统与重启动

①系统关闭

字符方式下方法有:

halt   [-p]

init 0

shutdown –y –g2 ”System will shutdown in 2 minutes,please logout”

shutdown –h +2 –t 20

shutdown –c

shutdown –k now ”Hey! Let’s go”

图形方式:开始à注销(logout)à关机(halt)à确定

②系统重启动

reboot

init 6

shutdown –r –g2 ”System will shutdown in 2 minutes,please logout ”

shutdown –r +2 –t 20

图形方式:开始à注销(logout)à重新启动(Restart the computer)à确定

(6)在图形界面下启动模拟字符终端(Xterm)

1)开始à系统工具à终端;

2)右击桌面在快捷菜单下选择终端。

(7)登录后的操作

1)使用man命令查看命令ls,cal,echo,halt和shutdown的用法。

2)按shell命令的执行方法,执行以下命令,并观察和记录执行的结果:


ls –l /usr    //ls为命令,-l和/usr为参数

1、[root@localhost root]# ls -l


总用量 96
-rwxr-xr-x    1 root     root        13355 2014-04-16  a.out
-rwxr-xr-x    1 root     root        12284 2014-04-16  app
-rw-r--r--    1 root     root          402 2014-04-16  app.c
-rw-r--r--    1 root     root         1003 2014-04-16  copy.c
-rwxr-xr-x    1 root     root        13315 2014-04-16  e
-rw-r--r--    1 root     root           50 2014-04-16  myfile
-rwxr-xr-x    1 root     root        13355 2014-04-16  s
-rw-r--r--    1 root     root           93 2014-04-16  s.cpp
-rw-r--r--    1 root     root         1996 2014-04-16  s.o
-rwxr-xr-x    1 root     root        11826 2014-04-16  t
-rw-r--r--    1 root     root          318 2014-04-16  t.c


2、[root@localhost root]# ls /usr
bin   etc    include   lib      local  share  tmp
dict  games  kerberos  libexec  sbin   src    X11R6



cal 3  2009       // cal为命令,3和2009为参数


3、[root@localhost root]# cal 3 2009
      三月 2009
日 一 二 三 四 五 六
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31


echo "We are studying UNIX OS now!\n"

4、[root@localhost root]# echo "we are !\n"
bash: !\n": event not found

redhat


字符->黑框ctrl+alt+f1

黑框->图形界面  ctrl+alt+f7


echo –e "We are studying UNIX OS now!\n"

5、[root@localhost root]# echo -e "we are"
we are
[root@localhost root]# echo -e "we are!\n"
bash: !\n": event not found


6、[root@localhost root]# echo "we ! we \n we are"
we ! we \n we are
[root@localhost root]# echo "we!"
bash: !": event not found
[root@localhost root]# echo "we\n"
we\n
[root@localhost root]# echo -e "we \n are"
we
 are
[root@localhost root]#


//当!\n与其他的字母之间没用空格的时候,则会报错

7、echo –n "We are studying UNIX OS now!\n"

[root@localhost root]# echo -n "wenow!\n"
bash: !\n": event not found
[root@localhost root]# echo -n "we now !\n"
bash: !\n": event not found
[root@localhost root]# echo -n "we now ! \n gaozhen"
we now ! \n gaozhen[root@localhost root]#



3)做shell命令输入输出的重定向和管道,并观察命令的行为。比如:


8、ls > dir.out       #以覆盖方式,将当前目录信息重定向到文件dir.out


[root@localhost /]# clear
 //创建文件目录
[root@localhost /]# mkdir gaozhen


[root@localhost /]# cd /gaozhen
[root@localhost gaozhen]# ls
[root@localhost gaozhen]# mkdir gao
[root@localhost gaozhen]# mkdir zhen
[root@localhost gaozhen]# ls
gao  zhen
[root@localhost gaozhen]# mkdir dir.out
[root@localhost gaozhen]# ls
dir.out  gao  zhen

//创建文件
[root@localhost gaozhen]# touch file


[root@localhost gaozhen]# ls
dir.out  file  gao  zhen

//查看文件的类型
[root@localhost gaozhen]# file dir.out
dir.out: directory

//可以创建一个文件,他的文件的名称叫做file


[root@localhost gaozhen]# file file
file: empty

[root@localhost gaozhen]# rm file
rm:是否删除一般空文件‘file’?
[root@localhost gaozhen]# ls
dir.out  file  gao  zhen

//删除文件和删除文件目录的命令是相同的
[root@localhost gaozhen]# rm -f file


[root@localhost gaozhen]# ls
dir.out  gao  zhen
[root@localhost gaozhen]# touch file.txt


1、>覆盖


[root@localhost gaozhen]# ls
dir.out  file.txt  gao  zhen

//将当前目录下的文件或者是文件的名称信息放到file.txt文件中

//覆盖


[root@localhost gaozhen]# ls > file.txt
[root@localhost gaozhen]# cat file.txt
dir.out
file.txt
gao
zhen


2、>>追加


//追加

//最好在 /usr下,比较的容易成功

ls /usr>> dir.out     #以追加方式将目录/usr信息重定向到文件dir.out

[root@localhost gaozhen2]# cat /gaozhen/file.txt
dir.out
file.txt
gao
zhen
[root@localhost gaozhen2]# ls >> /gaozhen/file.txt
[root@localhost gaozhen2]# cat /gaozhen/file.txt
dir.out
file.txt
gao
zhen
file.txt
move.file
[root@localhost gaozhen2]# ls > /gaozhen/file.txt
[root@localhost gaozhen2]# cat /gaozhen/file.txt
file.txt
move.file
[root@localhost gaozhen2]# ls
file.txt  move.file




ls –l   /home/www 2> err.out #将标准错误重定向到文件/tmp/err.out



ls –w 2>>/tmp/err.out    #将标准错误追加到文件/tmp/err.out

cat/tmp/err.out              #查看文件/tmp/err.out内容


//参数-n为文件的内容编一个序号


cat –n/tmp/err.out       #查看文件/tmp/err.out内容

[root@localhost root]# cat -n gao.txt
     1
     2  adsfsdafsdafsdfsd
     3
     4  dffsdafds
     5  dfsd
     6  fdfdsfdsf
     7  sdfdsfds
     8  sdvfsdfdsfdsfdsaaaaaaaaaaaaf
     9  fdsfds
    10  fdsf
    11  sd
[root@localhost root]# cat gao.txt
                                                                                
adsfsdafsdafsdfsd
 
dffsdafds
dfsd
fdfdsfdsf
sdfdsfds
sdvfsdfdsfdsfdsaaaaaaaaaaaaf
fdsfds
fdsf
sd
[root@localhost root]#



cat –E/tmp/err.out       #查看文件/tmp/err.out内容


-E, --show-ends
 display $ at end of each line


[root@localhost root]# cat -E gao.txt
$
adsfsdafsdafsdfsd$
$
dffsdafds$
dfsd$
fdfdsfdsf$
sdfdsfds$
sdvfsdfdsfdsfdsaaaaaaaaaaaaf$
fdsfds$
fdsf$
sd$


cat –En/tmp/err.out          #查看文件/tmp/err.out内容

wc dir.out      #统计dir.out的行、单词和字符信息。也可使用以下方式

wc < dir.out

4)变量的定义与使用,shell的引号机制(包括双引号,单引号和反单引号)。

① 变量的使用

my_var="My OS"

my_os="Unix or Linux"

my_os="$my_os is${my_var}"

echo "$my_os"

② 命令替换与参数

echo `whoami`;    echo '\`whoami\`'

today=`date | awk '{ print $1, $2,$3}'`

users=`who | wc -l`

me=`who am I | awk '{ print $1 }'`

echo "Today is $today, there$users users in system"

echo "I am $me, and who areyou?"

③ 变量替换

使用命令:echo 'echo $*' > DispAllVar

产生一个可以显示自己所有参数的shell脚本命令DispAllVar,使用命令cat DispAllVar查看它的内容。在②的基础上,按以下方法执行shell命令DispAllVar:

sh DispAllVar I am `whoami` andtoday is $today

观察并记录显示结果。

(8)系统关闭

实验完毕后,要关闭系统。

5、实验报告的内容与书写

以书面形式记录下你的每一步过程,包括输入、输出信息,遇到的问题和解决的办法,(输出较多者可精简)。

你可能感兴趣的:(Linux,OS操作系统)