首页 > 代码库 > 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----------------------------------------
------------------------------系统的一些相关---------------------------------
1 [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学习笔记三