2016/10/14作业

操作类:

1、设置自己的终端提示符,要求终端登陆时:

    a> 需要带颜色 

    b> 需要显示当前执行到了第几条命令 

    c> 显示当前登录终端,主机名和当前时间

首先我们要了解一个环境变量,那便是“PS1”。

PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。

[root@Shining lianxi]# echo $PS1
[\u@\h \W]\$

关于PS1的用法我们可以通过使用"man bash"命令来查看其转译字符的意义。

 	          \a     an ASCII bell character (07)
              \d     the date in "Weekday Month Date" format (e.g., "Tue May 26")
              \D{format}
                     the  format is passed to strftime(3) and the result is inserted into the
                     prompt string; an empty format results in a locale-specific time  repre‐
                     sentation.  The braces are required
              \e     an ASCII escape character (033)
              \h     the hostname up to the first `.'
              \H     the hostname
              \j     the number of jobs currently managed by the shell
              \l     the basename of the shell's terminal device name #当前shell的终端名
              \n     newline
              \r     carriage return
              \s     the  name  of  the  shell, the basename of $0 (the portion following the
                     final slash)
              \t     the current time in 24-hour HH:MM:SS format #24小时制,当前时间
              \T     the current time in 12-hour HH:MM:SS format
              \@     the current time in 12-hour am/pm format
              \A     the current time in 24-hour HH:MM format
              \u     the username of the current user #当前用户用户名
              \v     the version of bash (e.g., 2.00)
              \V     the release of bash, version + patch level (e.g., 2.00.0)
              \w     the current working directory, with $HOME abbreviated with a tilde (uses
                     the value of the PROMPT_DIRTRIM variable)#当前工作目录
              \W     the  basename  of  the current working directory, with $HOME abbreviated
                     with a tilde
              \!     the history number of this command
              \#     the command number of this command #当前命令的命令号 
              \$     if the effective UID is 0, a #, otherwise a $
              \nnn   the character corresponding to the octal number nnn
              \\     a backslash
              \[     begin a sequence of non-printing characters,  which  could  be  used  to
                     embed a terminal control sequence into the prompt
              \]     end a sequence of non-printing characters

颜色设置

  在PS1中设置字符序列颜色的格式为:[\e[F;Bm]

  其中“F”为字体颜色,编号30~37;“B”为背景色,编号40~47。

  下面看下颜色表:

  前景背景 颜色

  ————————

  30 40 黑色

  31 41 红色

  32 42 绿色

  33 43 黄色

  34 44 蓝色

  35 45 紫红色

  36 46 青蓝色

  37 47 白色

  效果控制代码:

  代码 意义

  ————————-

  0 OFF

  1 高亮显示

  4 underline

  5 闪烁

  7 反白显示

  8 不可见

  修改提示符颜色示例

  $ PS1="\[\e[32m\]#\##\[\e[31m\]\u@\[\e[36m\]\h\w]\$\[\e[m\"

  说明:

  1、‘\[\e[32m\]’用来设置‘#\##’的颜色为绿色,\#就是显示现在运行的是第几条命令,前后两个#是分隔符

  2、‘[\e[31m\]’设置‘\u@’的颜色为红色并高亮显示,如果指定多个数字需要用分号隔开。\u@ 就是当前登录的用户名后跟一个‘@’符号。

  3、‘\[\e[36m\]’设置‘\h\w’为青蓝色,\h表示主机名的第一位,如果主机名为shining.acg,那么就显示shining;\w将显示完整的绝对路径。

  4、‘\$’ 提示字符,如果是root时,提示符为:# ,普通用户则为:$。

  5、‘\[\e[m\]’使用来关闭颜色设置的。要是你没有这个的话;那么,你的命令提示符,包括你通过命令提示符输出的东西都是和最后一次的颜色设置相同。

  6、为了能够在启动和登录是可以保持刚刚设置的变量,需要将PS1的设置加入到用户home目录的.bashrc文件后。

     a> 需要带颜色                    \[\e[颜色数字代码m\]转译符

    b> 需要显示当前执行到了第几条命令         \#当前命令号     

    c> 显示当前登录终端,主机名和当前时间       `tty`当前登陆终端 \h当前主机名 \t当前时间

PS1设置:

blob.png

效果:

blob.png

2、使用shutdown命令于5分钟后重启自己的PC

shutdown命令可用“man shutdown”查看

DESCRIPTION
       shutdown may be used to halt, power-off or reboot the machine.

       The first argument may be a time string (which is usually "now"). Optionally, this
       may be followed by a wall message to be sent to all logged-in users before going
       down.

       The time string may either be in the format "hh:mm" for hour/minutes specifying the
       time to execute the shutdown at, specified in 24h clock format. Alternatively it
       may be in the syntax "+m" referring to the specified number of minutes m from now.
       "now" is an alias for "+0", i.e. for triggering an immediate shutdown. If no time
       argument is specified, "+1" is implied.
       #可以使用hh:mm格式来设置关机时间,也可使用+m格式来设置m分钟后关机,now表示现在关机

       Note that to specify a wall message you must specify a time argument, too.

       If the time argument is used, 5 minutes before the system goes down the
       /run/nologin file is created to ensure that further logins shall not be allowed.

OPTIONS
       The following options are understood:

       --help    #帮助
           Print a short help text and exit.

       -H, --halt #关机
           Halt the machine.

       -P, --poweroff    #关闭电源
           Power-off the machine (the default).

       -r, --reboot    #重启
           Reboot the machine.

       -h    #将系统的服务停掉后,立即关机
           Equivalent to --poweroff, unless --halt is specified.

       -k    #不关机,只显示关机信息
           Do not halt, power-off, reboot, just write wall message.

       --no-wall    #关机时不显示关机信息
           Do not send wall message before halt, power-off, reboot.

       -c    #取消关机
           Cancel a pending shutdown. This may be used cancel the effect of an invocation
           of shutdown with a time argument that is not "+0" or "now".

所有5分钟后重启命令为

2@root@Shining@20:26:44@~ $ shutdown -r +5
Shutdown scheduled for Sat 2016-10-15 20:31:52 CST, use 'shutdown -c' to cancel.
3@root@Shining@20:26:52@~ $ 
Broadcast message from root@Shining.ACG (Sat 2016-10-15 20:26:52 CST):

The system is going down for reboot at Sat 2016-10-15 20:31:52 CST!

3、学习使用man,学会使用

    a>ls递归列出/usr目录下所有文件

    b>列出目录下的隐藏文件

“man(空格)命令”即查看命令的帮助文档,可使用pageup、pagedown和空格翻页;或者使用上下键和回车键翻行;使用‘/搜索内容’进行搜索;使用‘q’退出文档。

ls -R为递归显示文件夹下面的内容,以/home为例:

18@root@Shining@20:39:04@~ $ ls -R /home/
/home/:
pirate

/home/pirate:
core.3875  Desktop  Documents  Downloads  lianxi  Music  Pictures  Public  Templates  Videos

/home/pirate/Desktop:

/home/pirate/Documents:

/home/pirate/Downloads:

/home/pirate/lianxi:
sleep500.sh  test.sh

/home/pirate/Music:

/home/pirate/Pictures:

/home/pirate/Public:

/home/pirate/Templates:

/home/pirate/Videos:

ls -a为列出所有文件,包括隐藏文件,以/home/pirate为例:

37@root@Shining@20:42:56@~ $ ls -a /home/pirate/
.              .bash_profile  core.3875  .esd_auth      .mozilla  Templates
..             .bashrc        Desktop    .ICEauthority  Music     Videos
.bash_history  .cache         Documents  lianxi         Pictures  .viminfo
.bash_logout   .config        Downloads  .local         Public

文档类:

    1. FHS文件系统各目录功能整理出文档

    2. MAN手册各章节功能介绍及快捷键键位整理

    3.
Linux文件类型及颜色标识整理

1、FHS文件系统各目录功能整理出文档

1./bin目录

    该目录下的命令可以被root与一般账号所使用,由于这些命令在挂接其它文件系统之前就可以使用,所以/bin目录必须和根文件系统在同一个分区中。

    /bin目录下常用的命令有:cat、chgrp、chmod、cp、ls、sh、kill、mount、umount、mkdir、[、test等。其中“[”命令就是test命令,我们在利用Busybox制作根文件系统时,在生成的bin目录下,可以看到一些可执行的文件,也就是可用的一些命令。

2./sbin 目录

    该目录下存放系统命令,即只有系统管理员(俗称最高权限的root)能够使用的命令,系统命令还可以存放在/usr/sbin,/usr/local/sbin目录下,/sbin目录中存放的是基本的系统命令,它们用于启动系统和修复系统等,与/bin目录相似,在挂接其他文件系统之前就可以使用/sbin,所以/sbin目录必须和根文件系统在同一个分区中。

    /sbin目录下常用的命令有:shutdown、reboot、fdisk、fsck、init等,本地用户自己安装的系统命令放在/usr/local/sbin目录下。

3、/dev目录

    该目录下存放的是设备与设备接口的文件,设备文件是Linux中特有的文件类型,在Linux系统下,以文件的方式访问各种设备,即通过读写某个设备文件操作某个具体硬件。比如通过"dev/ttySAC0"文件可以操作串口0,通过"/dev/mtdblock1"可以访问MTD设备的第2个分区。比较重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp*等。

4./etc目录

    该目录下存放着系统主要的配置文件,例如人员的账号密码文件、各种服务的其实文件等。一般来说,此目录的各文件属性是可以让一般用户查阅的,但是只有root有权限修改。对于PC上的Linux系统,/etc目录下的文件和目录非常多,这些目录文件是可选的,它们依赖于系统中所拥有的应用程序,依赖于这些程序是否需要配置文件。在嵌入式系统中,这些内容可以大为精减。

5./lib目录

    该目录下存放共享库和可加载(驱动程序),共享库用于启动系统。运行根文件系统中的可执行程序,比如:/bin /sbin 目录下的程序。

6./home目录

    系统默认的用户文件夹,它是可选的,对于每个普通用户,在/home目录下都有一个以用户名命名的子目录,里面存放用户相关的配置文件。

7./root目录

    系统管理员(root)的主文件夹,即是根用户的目录,与此对应,普通用户的目录是/home下的某个子目录。

8./usr目录

    /usr目录的内容可以存在另一个分区中,在系统启动后再挂接到根文件系统中的/usr目录下。里面存放的是共享、只读的程序和数据,这表明/usr目录下的内容可以在多个主机间共享,这些主要也符合FHS标准的。/usr中的文件应该是只读的,其他主机相关的,可变的文件应该保存在其他目录下,比如/var。/usr目录在嵌入式中可以精减。

9./var目录

    与/usr目录相反,/var目录中存放可变的数据,比如spool目录(mail,news),log文件,临时文件。

10./proc目录

    这是一个空目录,常作为proc文件系统的挂接点,proc文件系统是个虚拟的文件系统,它没有实际的存储设备,里面的目录,文件都是由内核临时生成的,用来表示系统的运行状态,也可以操作其中的文件控制系统。

11./mnt目录

    用于临时挂载某个文件系统的挂接点,通常是空目录,也可以在里面创建一引起空的子目录,比如/mnt/cdram /mnt/hda1 。用来临时挂载光盘、移动存储设备等。

12. /tmp目录

    用于存放临时文件,通常是空目录,一些需要生成临时文件的程序用到的/tmp目录下,所以/tmp目录必须存在并可以访问。    

    那我们利用Busybox制作根文件系统就是创建这上面的这些目录,和这些目录下面的各种文件。

对于嵌入式Linux系统的根文件系统来说,一般可能没有上面所列出的那么复杂,比如嵌入式系统通常都不是针对多用户的,所以/home这个目录在一般嵌入式Linux中可能就很少用到,而/boot这个目录则取决于你所使用的BootLoader是否能够重新获得内核映象从你的根文件系统在内核启动之前。一般说来,只有/bin,/dev,/etc,/lib,/proc,/var,/usr这些需要的,而其他都是可选的。

2、MAN手册各章节功能介绍及快捷键键位整理

man命令的基本使用方式为‘man+命令’

man文档中各个部分的意义:    

    NAME      简短的指令、资料名称说明   
    SYNOPSIS    简短的指令下达语法(syntax)简介   
    DESCRIPTION  较为完整的说明,这部分最好仔细看看!   
    OPTIONS     针对 SYNOPSIS 部分中,有列举的所有可用的参数说明   
    COMMANDS    当这个程式(软体)在执行的时候,可以在此程式(软体)中下达的指令   
    FILES      这个程式或资料所使用或参考或连结到的某些档案   
    SEE ALSO    可以参考的,跟这个指令或资料有相关的其他说明   
    EXAMPLE     一些可以参考的范例   
    BUGS      是否有相关的BUG 

在man文档中的操作快捷键:

e  ^E  j  ^N  CR  *  前进一行 
y  ^Y  k  ^K  ^P  *  后退一行 
f  ^F  ^V  SPACE   *  前进一个窗口 
b  ^B           *  后退一个窗口 
z               *  前进一个窗口 
w               *  后退一个窗口 
d  ^D         *  前进半个窗口 

u  ^U         *  后退半个窗口 

/pattern         *  向前查找包含pattern的行.
?pattern          *  向后查找包含pattern的行.
n               *  查找下一个pattern行.

N               *  查找上一个pattern行.

g  <            *  跳转到文件第一行
G  >            *  跳转到文件最后一行
p  %            *  跳转到文件最开始 

[Page Down]       *  向下翻一页   
[Page Up]       *  向上翻一页   
[Home]          *  去到第一页   
[End]          *  去到最后一页 
向上键         *  向上滚一行
向下键         *  向下滚一行  

3、Linux文件类型及颜色标识整理

:普通文件

d :目录文件

b :块设备文件

c :字符设备文件

p :管道文件

s :套接字文件

l :链接文件

白色    :普通文件

蓝色    :目录文件

黄色    :设备文件

    红色    :压缩文件

粉红    :套接字文件

浅蓝    :符号链接

    

原创文章,作者:wangshuai,如若转载,请注明出处:http://www.178linux.com/51767

(0)
wangshuaiwangshuai
上一篇 2016-10-19
下一篇 2016-10-19

相关推荐

  • vim使用方法

    vim是vi的增强版本,具有比vimi更加强大的功能,对于尤其适合编写脚本,下面总结一下vim的常用方法。 vim三种工作模式。         1. 编辑模式:          &nbs…

    2015-03-18
  • 计算机入门

    Linux入门 与 计算机

    Linux干货 2018-02-07
  • vim编辑器及练习题

    命令用法: vim [OPTION]… FILE…  +#: 打开文件后,直接让光标处于第#行的行首                   &nbs…

    Linux干货 2016-08-11
  • shell脚本的各种循环

    For循环 For循环格式      For   变量名  in    列表    ;   do         &nb…

    Linux干货 2016-08-21
  • httpd 2.2(Apache Web服务器)

    apache (Web服务器) 简介: Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。    Apache HTTP服务器是一个模块化的服…

    Linux干货 2016-03-30
  • Linux基础—权限、grep使用

    今天主要是几个练习,内容如下: 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限 [root@localhost ~]# cp -R /etc/skel/ /home/tuser1/ [root@localhost …

    Linux干货 2016-10-10