首页 > 代码库 > Linux学习笔记三

Linux学习笔记三

前四单元笔记

################################虚拟机控制######################

[kiosk@foundation18Desktop]$ rht=vmctl start desktop    ###打开desktop失败,语法错误

bash: start: command not found...

[kiosk@foundation18Desktop]$ rht-vmctl start desktop    ###开启desktop,成功

Starting desktop.

[kiosk@foundation18Desktop]$ rht-vmctl view desktop     ###显示desktop,打开了界面

[kiosk@foundation18Desktop]$ rht-vmctl reset desktop    ###重置desktop

                              rht-vmctlfullreset desktop      ####完全重置

Are you sure you want to reset desktop?(y/n) y          ###确认重置desktop

Resetting desktop.

Powering off desktop..

Creating virtual machine disk overlay for rh124-desktop-vda

Creating virtual machine disk overlay forrh124-desktop-vdb

Starting desktop.

[kiosk@foundation18Desktop]$ rht-vmctl poweroff   ###关闭desktop失败。因为电脑并不知道我要关闭的是哪一个对象

Error: missing subcommand or VMNAME.

//This utility manages the Red Hat Trainingsupplied VMs on the local

       hypervisor.

       Usage:rht-vmctl [-q|--quiet] VMCMD VMNAME

      rht-vmctl -h|--help

 where VMCMD is one of:

           reset     - poweroff, return to saved or original state, start VMNAME

           view      - launches console viewer of VMNAME

           start     - obtain and start up VMNAME

           stop      - stop a running VMNAME

           poweroff  - if running, force stop VMNAME

           save      - stop, backup image, start VMNAME

           restore   - poweroff, restore image, start VMNAME

           fullreset - poweroff, reobtain from server, start VMNAME (bad save/image)

           get       - if not here, obtain VMNAME from server

//    status     - display libvirtstatus of VMNAME

[kiosk@foundation18Desktop]$ rht-vmctl poweroff desktop   ###强行关闭desktop成功

                              rht-vmctl stopdesktop    ##正常关闭虚拟机

Powering off desktop..

[kiosk@foundation18 Desktop]$

[kiosk@foundation18Desktop]$ clear   ###清频

###############################END################################

 

---------------------------shell(核,文字界面接口)-----------------------------

[kiosk@foundation0Desktop]$ gnome-terminal     ###用命令开启bash(shell类型的一种)

              system---setting---language--chinese

             

              [kiosk   @foundation18    Desktop]      $

                 用户                   主机名                    工作目录      身份提示符

              kiosk           ###表示开始bash的用户是谁

              @                                 ###分隔符

      foundation18    ###主机的名称,表示bash运行在哪台主机上

              Desktop         ###所在系统目录

              $                                  ###用户身份提示符号 ( $表示普通用户 #表示超级用户)

------------------------------------end---------------------------------------

 

------------------------------bash和shell--------------------------------------

[kiosk@foundation18Desktop]$ cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

[kiosk@foundation18 Desktop]$bash------------------------当前界面

[kiosk@foundation18Desktop]$ sh--------------------------shell的一种

sh-4.2$ ^C

sh-4.2$ exit

[kiosk@foundation18Desktop]$ tc

tc             tcpdmatch      tcpslice       tcsd          

tcpd           tcpdump        tcptraceroute tcsh                    

[kiosk@foundation18Desktop]$ tcsh

[kiosk@foundation18~/Desktop]$ exit---------------------shell的一种,系统中的所在位置不同

[kiosk@foundation18Desktop]$ csh

[kiosk@foundation18 ~/Desktop]$-------------------------与tcsh类似

-----------------------------------end----------------------------------------

 

------------------------------系统的一些相关---------------------------------

[kiosk@foundation0 Desktop]$ su - 系统中已经存在用户名字  ####切换用户身份

2    超级用户可以登陆普通用户,普通用户登陆超级用户要密码,普通用户登陆其他普通用户也需要密码

3    系统从新初始化

     关机

  poweroff|init 0|shutdown -h now

     重启

  reboot| init 6 |shutdown -r now

4  [kiosk@foundation18 Desktop]$ su - kiosk   ####显示当前用户信息

密码:

上一次登录:三 9月 2109:11:55 CST 2016:0 上

---------------------------------end------------------------------------------

 

======================一些命令的使用======================

date-R---------错的,中间没有空格

 

--------------------------------list命令----------------------------------------

directory目录                             ls--->list  列出             

[kiosk@foundation18Desktop]$ ls               ###########列出当前目录下的文件

09.20                                   rhel6.5.qcow2

09.20~                                  rhel6lanmp.pdf

cmake-2.8.12.2-4.el6.x86_64.rpm         rhel-server-6.5-x86_64-dvd.iso

Discuz_X3.2_SC_UTF8.zip                 rhel-server-7.1-x86_64-dvd.iso

 

[kiosk@foundation18Desktop]$ ls good/       ############列出good目录下的文件

-------------------------------END--------------------------------------------

------------------------------命令的使用--------------------------------

1  命令的输入方式

    命令          参数     目标

2  -参数                  ####单词的缩写

   --参数      ####单词的全拼

3 命令 --help(寻找命令的帮助)

  date --help

             ------------------------------------------------

              显示83天以后是几月几号:date -d +83day +%m/%d

            --------------------------------------------------

  cal --help

  whatis cal

------------->[kiosk@foundation18Desktop]$ whatis cal

            cal (1)              - display acalendar

            cal (1p)             - print acalendar

4   帮助里的一些符号说明

  【内容】    ###内容选加

  <内容>    ###内容必加

   内容...       ###内容个数任意

5 tab键

    补齐系统中存在的文件名称,命令,和命令参数

-----------------------------------------END--------------------------

---------------------------------------date命令---------------------------

[kiosk@foundation12Desktop]$ date --help

Usage: date [OPTION]... [+FORMAT]

 or:  date [-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]

       显示当前系统时间,显示格式为:"小时:分钟:秒 AM/PM"(AM/PM为上下午标识)date +%r

       用date --help可查看帮助

       %r   locale‘s 12-hour clock time (e.g., 11:11:04PM)

--------------------------------------passwd命令------------------------------

1)修改密码

命令格式

passwd username

1.     超级用户可以任意修改密码

2.     普通用户只能修改自己的密码,

并且在修改自己密码前要输入原始密码,

新密码必须大于8位,

且不能和原始密码重复,

密码必须是字符和数字的组合,

且字符和数字是无序的。

 

2)  修改密码信息

监控命令执行

watch -n 1 命令         ##让命令每秒钟执行一次  -n 执行间隔    ctrl + c 撤销命令执行

监控student密码信息

watch -n 1passwd -S student

3)    passwd参数

用法: passwd [选项...] <帐号名称>

  -k,--keep-tokens       保持身份验证令牌不过期 ---------------------------密码不过期

  -d,--delete            删除已命名帐号的密码(只有根用户才能进行此操作)----------登陆不用密码

  -l,--lock              锁定指名帐户的密码(仅限 root 用户)-------------------不可登陆

  -u,--unlock            解锁指名账户的密码(仅限 root 用户)

  -e,--expire            终止指名帐户的密码(仅限 root 用户)-------------------不用密码登陆

  -f,--force             强制执行操作-----------------------------------让不可以操作的可以操作

  -x,--maximum=DAYS      密码的最长有效时限(只有根用户才能进行此操作)

  -n,--minimum=DAYS      密码的最短有效时限(只有根用户才能进行此操作)

  -w,--warning=DAYS      在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)

  -i,--inactive=DAYS     当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)

  -S,--status            报告已命名帐号的密码状态(只有根用户才能进行此操作)

 --stdin                 从标准输入读取令牌(只有根用户才能进行此操作)

 

4) passwd  username     ###更改用户密码(只有超级用户root可以)

 

   passwd                        ####普通用户修改自己的密码

 

   passwd -l       username      ###冻结普通用户

 

   passwd -u     username      ###解锁冻结帐号

 

--------------------------------------passwd练习结果--------------------------

[root@localhost Desktop]# passwd

Changing password for user root.

New password:

[root@localhost Desktop]# passwd student

Changing password for user student.

New password:

BAD PASSWORD: The password contains theuser name in some form

Retype new password:

passwd: all authentication tokens updatedsuccessfully.

[root@localhost Desktop]# passwd student

Changing password for user student.

New password:

BAD PASSWORD: The password is shorter than8 characters

Retype new password:

passwd: all authentication tokens updatedsuccessfully.

[root@localhost Desktop]# passwd

Changing password for user root.

New password:

BAD PASSWORD: The password is shorter than8 characters

Retype new password:

Sorry, passwords do not match.

New password:

BAD PASSWORD: The password is shorter than8 characters

Retype new password:

passwd: all authentication tokens updatedsuccessfully.

[root@localhost Desktop]#

-------------------------------------end--------------------------------

 

-----------------------------------gedit命令--------------------------------

1 gedit hello.exe          ##新建并编辑文件

2 cat hello.exe            ##浏览文件所有内容

3 head hello.exe           ##查看文件的前半部分

4 head -n 5 hello.exe      ##查看文件的前5行(标准写法,-n有没有结果都一样)

5 tail hello.exe           ##查看文件的后半部分

6 tail -5 hello.exe        ##查看文件的最后五行

7 file  文件名称                           ##查看文件类型

8 cat  文件名称                            ##查看文件所有内容

9 less  文件名称                            ##查看文件所有内容从文件的开始,按Q退出

-------------------------------------end------------------------------------

--------------------------------------wc命令--------------------------------

                                                   hehe     呵呵

1  wc-l           ##显示文件行数(line)               1        1             

2  wc-m           ##文件包含的字符数(chars)       5        3            

3  wc-c           ##文件包含的字节数(bytes)         5        7           

4  wc-w           ##文件含有的字数(words)          1        1             

5  wc文件名                 ##分别显示---行数  单词数  字符数 

一个英文字符一个字节,一个中文字符三个字节

--------------------------------------end--------------------------------

 

---------------------------------------历史调用-------------------

1  !数字                            ##执行第多少条命令

2  !关键字                         ##执行最近一条以为关键字开头的命令

4 ctrl+R+关键字         ##调出最近一条含有关键字的命令

5  上下键                            ##从最后一条命令开始向前查看或者向后查看

6 history         ##查看历史

7 history -c      ##清除历史

----------------------------------end--------------------------------------

========================END================================

-------------------------------------快捷键--------------------------

ctrl    +alt+f2-f6      进入虚拟控制台

        +alt+F1|F7    进入图形界面

        + a              光标移动到行首

         + l            清屏      

        + e              光标移动到行尾

        + u              光标所在位置删除到行首

            + k              光标所在位置删除到行尾

            + r              调出最近一条含有关键字的命令

            + c              撤销以输入的命令

            + d              关闭当前环境

        +alt+上|下    切换工作界面

        +alt+j           ###锁屏

        +shift+n       新建一个bash窗口

        +shift+d       关闭当前bash窗口

---------------------------------------end--------------------------------

 

**************************************Linux根目录各文件*******************************

 

/bin##二进制binary可执行文件也就是系统命令(存放常用命令,该命令让电脑执行任务)

/sbin       ##系统管理命令存放位置(要具有一定的权限才可以使用的命令)

/boot      ##启动分区,负责系统启动(存放引导相关的文件)

/dev##设备管理文件,即设备驱动程序,用户通过这些文件访问外部设备。(比如通过/dev/mouse来访问鼠标的输入)

/etc  ##大多数系统管理文件(存放配置相关的文件,包括用户信息文件/etc/passwd,系统初始化文件/etc/rc等)

/home    ##普通用户的家目录(存放普通用户相关文件)

/lib  ##32位系统库文件存放位置(标准程序设计库,又叫动态链接共享库)

/lib/modules  ##包含系统核心可加载各种模块,尤其是那些在恢复损坏的系统时重新引导系统所需的模块(例如网络和文件系统驱动)

/lib64      ##64位系统库文件存放位置

/media    ##系统临时设备挂载点

/mnt       ##系统临时设备挂载点(默认挂载软驱和光驱的目录)

/run##系统临时设备挂载点

/opt##第三方软件安装位置

/proc      ##系统信息

/root       ##超级用户家目录(存放root用户相关文件)

/srv,/var      ##系统数据(存放经常变化的数据)

/sys##系统管理,主要是关于内核的

/tmp       ##系统临时文件存放位置(公用)

/usr##系统用户相关信息数据及用户自定义软件存放位置(默认安装文件存放的目录)

-*************************************888888***************************************************

 

-------------------------------绝对路径与相对路径----------------------------

[root@foundation18 /]# cd /etc/udev/       ##绝对路径

[root@foundation18 udev]# ls

hwdb.bin rules.d  udev.conf

[root@foundation18 udev]# cd rules.d/       ##相对路径

[root@foundation18 rules.d]# pwd

/etc/udev/rules.d

[root@foundation18 rules.d]# cd/etc/udev/rules.d    ##绝对路径

 

总结:--------绝对路径

     文件在系统的真实位置,文件名字以“/”开头

      -----------相对路径

     文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值

------------------------------end---------------------------------------------

 

------------------------与查看文件相关的命令--------------------------------

 

1 pwd         ##显示当前所在位置

2  cd           

       ---chagedirectory    ##进入目标目录中

       cd~                    ##回到当前用户家目录

       cd~username            ##进入到指定用户家目录

       cd..              ##进入当前目录的上一级

       cd-              ##进入之前所在系统目录(即上一次所在的目录)

3 touch       ##新建文件

-------------------------------------------------------------------------------

2 练习

[root@localhost bus]# cd..     ##Linux中cd..之间要空格

bash: cd..: command not found...

[root@localhost bus]# cd ..   ##正确写法

[root@localhost sys]# cd/home/student/Desktop/

[root@localhost Desktop]# cd -

/sys

[root@localhost sys]# cd -

/home/student/Desktop

[root@localhost Desktop]# cd ..

[root@localhost student]# pwd

/home/student

[root@localhost student]# cd ..

[root@localhost home]# pwd

/home

[root@localhost home]# cd ~

[root@localhost ~]# pwd

/root

4 练习

[root@localhost home]# mkdir qq/qq1

mkdir: cannot create directory ‘qq/qq1’: Nosuch file or directory

[root@localhost home]# mkdir -p qq/qq1

[root@localhost home]# cd qq/

[root@localhost qq]# mkdir ww rr ppp

[root@localhost qq]# ls

ppp qq1  rr  ww

[root@localhost qq]# mkdir -p qq

[root@localhost qq]# pwd

/home/qq

[root@localhost qq]# mkdir qq{1..10}

mkdir: cannot create directory ‘qq1’: Fileexists

[root@localhost qq]# ls

ppp qq  qq1  qq10 qq2  qq3  qq4 qq5  qq6  qq7 qq8  qq9  rr  ww

--------------------------------end-------------------------------------------

 

----------------------------------list命令--------------------------------------

[kiosk@foundation18 Desktop]$ ls --help

用法:ls [选项]... [文件]...

list

         -a, --all                        列出所有

         -h, --human-readable    与-l 一起,以易于阅读的格式输出文件大小(例如 1K 234M 2G)                      

         -l                             使用较长格式列出文件属性

         -R, --recursive             递归显示子目录

         -s, --size                      以块数形式显示每个文件的大小

         -d                         指定目录本身

         -ld                     列出本目录的文件属性

 

------------------------------end---------------------------------------------

 

-------------------------------mkdir命令--------------------------------------

用法:mkdir [选项]... 目录...

       makedirectory      ##建立目录

       -p          ##第归建立目录

---------------------------end--------------------------------------------

 

-----------------------命令简单的使用------------------------------------------

[kiosk@foundation22 ~]$ cd /Desktop

bash: cd: /Desktop: No such file ordirectory

[kiosk@foundation22 ~]$ cd Desktop

[kiosk@foundation22 Desktop]$ touch files

[kiosk@foundation22 Desktop]$ mkdir -paying/aying1/aying2   ##将几个目录嵌套建立,如果没有-p的话就建立不成功,因为第一个aying目录不存在

--------------------------------

[kiosk@foundation22 Desktop]$ touch files      ##新建文件files

[kiosk@foundation22 Desktop]$ pwd

/home/kiosk/Desktop

[kiosk@foundation22 Desktop]$ cp files/

cp: missing destination file operand after‘files/’

Try ‘cp --help‘ for more information.

[kiosk@foundation22 Desktop]$ cp files/Deskop/

cp: cannot stat ‘files/’: Not a directory

[kiosk@foundation22 Desktop]$ cp filesfiles1  ##将files复制为files1

[kiosk@foundation22 Desktop]$ mkdir redhat  ##建立一个目录redhat

[kiosk@foundation22 Desktop]$ cp redhat/westos/

cp: omitting directory ‘redhat/’

[kiosk@foundation22 Desktop]$ cp -r redhat/westos/   ##将redhat复制到westos目录下,就必须要有-r才行

 

----------------------------------------end----------------------------------

--------------------man(并非男人——。——)命令------------------------------

man--->manual(手册)

man 1 passwd      ##其中的1可以省略,因为1+参数等于参数

man 5 passwd      ##查看系统文件(这个5就不可以省略)

 

              ++++具体的使用应该是这样的++++++

man 级别 目标

man 1 文件名      ####查找命令的帮助

man 5 文件名      ####查找配置文件的帮助

man 退出      ###按q

 

              +++++++++man的快捷用法++++++++

/关键字         ###搜索关键字并且高亮显示结果

n            ###向下匹配高亮结果

N            ###向上匹配高亮结果

pagup           ###向上滚动一个屏幕

pagdown              ###向下滚动一个屏幕

上键              ###向上滚动一行

下键              ###向下滚动一行

d            ###向下滚动半个屏幕

u            ###向上滚动半个屏幕

g            ###回到man的最前面

G            ###回到man的最后面

q            ###退出man页面

---------------------------end------------------------------------------------

------------------------------输出的管理---------------------------------------

在普通用户下执行

find /etc -name passwd

              +++++++++++如何管理输出++++++++++

 

find /etc -name passwd      > file              ####重定向正确输出

find /etc -name passwd      2> file            ####重定向错误输出

find /etc -name passwd      &> file           ####重定向所有输出

find /etc -name passwd      >> file           ###追加正确输出

find /etc -name passwd      2>> file  ####追加错误输出

find /etc -name passwd      &>> file  ####追加输出

find /etc -name passwd      > file       2>&1    ####重新定义错误输出为正确

 

              ++++++++++++++以下是实战+++++++++++++++

 

[kiosk@foundation22 Desktop]$ find /etc/-name passwd 2> file2

       ##存放错误的信息,##在/etc目录下查找名为passwd的文件并将错误的信息放在file2文件里(重定向错误输出)

 

[kiosk@foundation22 Desktop]$ find /etc/-name passwd > file

       ##存放正确的信息(重定向正确输出)

 

[kiosk@foundation22 Desktop]$ find /etc/-name passwd &> file

       ##无论正确还是错误信息都存放(重定向所有输出)

 

[kiosk@foundation22 Desktop]$ >file

       ##清空file里存储的信息

 

[kiosk@foundation22 Desktop]$ wc file

       ##查看是否清空————>0 0 0 file

 

还有一种就是不想信息被覆盖而让他加到文件后面:

[kiosk@foundation22 Desktop]$ find /etc/-name passwd >> file

       ##在file文件里追加正确信息(追加正确输出)

[kiosk@foundation22 Desktop]$ find /etc/-name passwd 2>> file

       ##在file文件里追加错误的信息(追加错误输出)

[kiosk@foundation22 Desktop]$ find /etc/-name passwd &>> file

       ##在file文件里追加以上两种信息(追加输出)

 

find /etc -name passwd      > file       2>&1####重新定义错误输出为正确

 

--------------------------------end-------------------------------------------

 

----------------------------管道符(|)-----------------------------------------

作用:让输出对输入进行处理

1 tee   ————————>复制一份输出

2  >     ————————>保存的输出

3  2>&1 | ————————>转换错误输出为正确再通过管道

 

              ++++++++++++课堂练习:+++++++++++

1     [kiosk@foundation22Desktop]$ find /etc/ -name passwd 2>1 | cat -b |tee file|wc -l

##只要正确的信息,并将其转存到file文件里

 

2     在信息中选出8-10行保存并显示行数

[kiosk@foundation22 Desktop]$ cat -b/etc/passwd file | head -10 |tail -3|tee file

 

3     显示所有信息并显示行数

[kiosk@foundation22 Desktop]$ cat -b/etc/passwd file

 

4     只显示两行带行编号的正确信息

[student@foundation22 Desktop]$ find /etc/-name passwd 2> /dev/null | cat -b >file

------------------------------------end---------------------------------------

补充-------------##文件的移动过程--------------------

1 [root@foundation22 Desktop]$ mkdir westos      ##建目录westos

2 [root@foundation22 Desktop]$ touch file     ##建文件

3 [root@foundation22 Desktop]$ mv filewestos/          ##将file移动到westos目录下

4  以上三个过程其实是:/root/Desktop/file————>/root/Desktop/westos/file  

5 [root@foundation22 Desktop]$ mv westos/redhat     ##westos移动到redhat目录下

 

在虚拟机中,打开一个bush,电脑/dev/pts下会有一个名为0的文件,

再打开一个又会有一个名为1的文件,

当在0的bash中输入date > /dev/pts/1(即[student@foundation22Desktop]$ date > /dev/pts/1)回车后,

会在1输入面板里面显示出原应该在0输出面板中输出的内容。

下面还有其他的几种输入及结果

1 asdf    ##显然是电脑识别不了的,会显示信息到1面板里

2 asfd > /dev/pts/1    ##只将正确信息显示到1输出面板里

3 asfd 2> /dev/pts/1    ##只将错误信息显示到1输出面板


Linux学习笔记三