05-11--第二天笔记

M19期第二天笔记,错误之处请改正

1. linux哲学思想

一切皆文件

小型单一程序

避免和用户交互(尽量不用图形界面)

配置数据是存放在文本当中

2. linux里面判断用户是否可以使用root用户实际上是靠用户的uid,uid是系统自动分配的,root管理员的用户id为0,普通用户6版本为500+, 7版本为1000+

查看id的命令   id -u 用户名

3. 用户登录时不同的方式登录的界面会有不同的显示方式:

查看登录方式可以使用:

tty     这个命令会显示如下:

直接物理终端(也就是本机加上显示器和键盘设备) /dev/console

虚拟终端:tty命令显示的tty为本地终端登录的

/dev/tty# #代表1-6,这里没有固定的那就非要要是图形界面,是会变化的

虚拟终端里面还有一类是图形终端,一般是桌面环境下打开的终端

模拟终端 :图形界面打开的命令行以及使用ssh登录,xshell远程登录的

/dev/pts#  这个可以有很多个

echo “hellow ,world” > /dev/tty1  可以给用户其他终端发信息,但是需要root用户

普通用户wall iamzou > /dev/pts2

4. 交互式登录:启动终端后,在终端设备附加一个交互式应用程序

GUI: Graphic User Interface

GNOME   根据c开发,图形库gtk

KDE 根据C++开发,图形库qt

XFCE 轻量级桌面

CLI   Command Line Interface

shelle程序:  sh  csh tsh  ksh   bash  GPL  zsh

当我们输入命令并敲下回车键之后:系统会提请shell程序找到键入命令所对应的可执行程序或者代码,并由其分析后提交给内核分配资源,将其运行

5. shell中可执行的命令有两种:

内部命令:由shell自带的,而且可以通过某个命令形式实现

外部命令:在当前系统的某个文件路径下有对应的可执行程序文件

可以通过which,whereis命令查看

区别外部或者内部命令的命令是

type COMMAND

hash命令:shell搜寻到的外部命令的路径结果会缓存到key-value键值对存贮。

如果前面执行过是可以缓存到hash里的

hash  会显示所有调用的外部命令的总数

哈希算法:当运行命令之后,会缓存到内存当中,下次运行调用内存的命令

type cat   type 后面加上命令,显示这个命令是内部命令,还是外部命令

which echo 显示命令二进制文件的完整路径,可以看到别名

whereis cat 同时显示完整的路径以及帮助文档的路径,不能看到别名

shell提供字符界面的窗口,是一个命令解释器,不简单的运行小命令,还会支持高级的语言,(如循环,if语句)

当前系统上显示使用上的shell   echo$SHELL

变量就是内存空间,就是一个名字,代表一些数据的集合,

linux当中显示支持的shell   cat /etc/shells

echo $PS1  显示的左边的

echo $PATH   显示米命令的存放位置

6. 文件颜色

cat /etc/DIR_COLORS  可以配置文件的颜色:

蓝色为目录文件,绿色为可执行文件,红色为压缩文件

7. 命令格式  command [options..] [arguments..]

选项,启用命令的某个功能,可以短格式和长格式

参数:命令的作用对象,文件或者目录,用户等

8. 请求别人事实操作帮助:

screen

两个人用同一用户登录同一服务器,被帮助的人需要开启回话

screen -S  help   菜鸟请求帮助

screen -x help 大神前来,之后两个界面就可以达到同步了

exit  crtl+c  退出

crtl+c  取消、中断

crtl+d   结束、正常退出(这是在执行某个命令的时候)

crtl +d  登出注销  (这是在没有执行命令的时候)

crtl +l  清屏

多条命令一起写,可以用;分开

\可以换行写命令,\在一行最后面回车

9. date 操作系统时间

-d 与--date=string 一个意思  描述时间段

-s  与 --set=string 一个意思

下面的命令都要在前面用+

%a  显示精简格式的星期日期

%a  显示长的星期 ,如Sunday

%b   显示短的月份的名字  Jan

%B   显示长格式的月份名字

%c   显示格式为: Thu Mar  3 23:05:25 2005

%C   显示世纪的名字,这个不怎么用

%d   显示这是月中的哪一天   01-31

%D   等同于%m/%d/%y   相当于05/11/16  月日年

%e   这是在这个月的那一天  =%d

%F   等同于%Y-%m-%d  2016-05-11  年月日

%g   这一年的后两位,也就是16年

%G   这一年,以4位显示,2016,相当于%C%g

%h   短的月名  等同于%b

%H    小时  00到23

%I    小时  01到12

%j    在这一年的哪一天  001到365

%k    小时  0到23

%l    小时  1到12

%m    月   0到12

%M    分钟  00到59

%n    换行,增加新的一行,别的没有

%p    显示是上午还是下午 AM 或者 PM

%P    同上,只不过这个大写的P  ,显示小写的am或者pm

%r    12小时制   07:31:54 PM   显示具体时间和上午或者下午

%R    时分   18:00   24小时制

%s    从1970年01月01号到现在过的秒数

%S    秒数   00到60

%t    tab空格

%T    分时秒   19:36:48

%u    以数字方式显示星期, 1是星期一   ,7代表sunday

%U    本年度第几个星期几,  假设今天周二,输入后返回12,那这是本年第12个周二

%w    数字显示星期几,0代表sunday

%W    本年第几个星期,以周一为新的一周

%x    05/11/2016    月/日/年

%X    07:42:38 PM   时分秒 上下午

%y    16年

%Y    2016

%Z    显示时区   CST

%z    +0800

%:z   +08:00

%::z  +08:00:00

显示前天是星期几:date --date="2 days ago" +%a

date -d -2 +%A

把日期设置时间为某一时刻: date --set="2008-08-08 08:00"

date 080808002008.30  月日时分年秒,年和秒之间有小数点

hwclock  硬件时间

hwclock -s --hctosys 以硬件时间为准

-w --systohc  以软件时间为准

cal 日期

cal 2017  显示2017年的年历

10. nano 文本编辑工具

crtl+o 存储文件

crtl+r 把某个文件给读近这个文件

crtl+x 退出

11. /etc/issue  用户登录信息

\r  内核信息

\m  系统架构

\n  显示登录的主机名

\t  显示时间

\l  显示登录的终端类型  如tty 或者pts

修改/etc/centos-release文件里面 的内容,当执行命令lsb_release -a 的时候也会发生改变,这样修改版本号,可以再一定程度上防止黑客捣乱。

12. echo   显示文字

-n  不自动换行

-e  echo -e  支持特殊的控制信息 ‘hello \c‘

\a 发出报警声音

\b  回撤一个字符

\c 不换行

\e  向后删除一个字符

\f  把出现在\f后面的字符平移到下面一行,前面为空字符

[[email protected] ~]# echo -e "abc\fabc "

abc

abc

\n  换行,增加新的一行

\r  在\r后面的内容会逐个字符的替换前面自左向右的字符

[[email protected] ~]# echo -e "abc\rxx"

xxc

\t  tab空格

\\ 显示反斜杠  \

\0nnn  n为1到3  插入八进制所代表的ASCII字符

\xnn   n 为1到2  插入十六进制所代表的ASCII字符

echo "the user is `whoami` and my work is on $PWD"

单引号强引用,比较傻

双引号弱引用,聪明   会把变量里面代表的内容也显示出来

反向单引号``  先执行引号内的内用,这里面一般跟的是命令,最聪明  等同于$(command)

{} 大花括号,这个可以使用笛卡尔乘积,{a,b,c} 代表a, b, c

bc   计算器  2^3 =  8

13. 查找帮助:

whatis  后跟命令,会告诉我们这个命令,简单说是干神魔的 ,等同于 man -f

这个命令是查找命令数据库里面的内容的,更新数据库的方法有

6版本上用makewhatis

7版本上用mandb

/usr/share/man

man1  用户命令

man8  管理类的命令

man2  系统调用

man3  C库调用

man4  设备文件以及特殊文件

man5  配置文件格式

man6  游戏

man7  杂项

man9  linux内核api

用法: man 5 issue

使用man的一些快捷键:

空格键,crtl+v  crtl+f   向下翻一页

b    向文件收不翻屏

d ^D  向文件尾部翻半屏

u     向文件首部翻半屏

回车   向为文件尾部下走一行

crtl+N e ^E j ^J   这几个也是向下翻一行

y  ^Y  ^P  k  ^K   这几个是向上翻一行

p  跳转到文件首部,第一行

34  跳转到第34行

1G  跳转到文件首部  这个是假shift,而不是crtl

G   跳转到文件尾部

查找man里面的字符   (这里是不区分文字大小写的)

/字符串   向下     n 顺序  N逆序

?字符串   向上    同上

man -k passwd  会把whatis数据库当中的所有和这个passwd字符有关的都给你找出来

*****man的配置文档**********

版本6 /etc/man.config

里面写入 MANPATH  /path/to/file  指明新的手册位置

如果是想看一些额外的帮助文档可以使用:

man -M /PATH/To/Somewhere command  到指定的位置搜索command命令的帮助文档

练习:修改用户登录时显示主机名,时间和登录方式(tty还是pts)

这里用的文件是/etc/issue

whereis issue 按照提示操作

man 5 issue  再里面并没有直接内容,但是你会看到agetty(8)

man 8 agetty

/hostname 查找有\  且有单个字母 的位置 会看到不同字母代表的意思

vim /etc/issue

the kernel login \l ,the time is \t and the hostname is \n

info 后直接跟命令,跟网页一样,有些*位置是可以按回车,连接到别的页面

方向键

PgUp   跳转页面

PgDn

Tab    移动到下一连接 ,这是在这个页面下找有*,也就是连接,光标会跳转到这个位置,但是不会切换

Home  显示主题首部

回车键   进入选定的链接

n   下一链接

p   前一链接

u  上一层

l   到后一个链接

s   文本搜索

q  退出

在线帮助

第三方程序官方文档

各种指南

http://kbase.redhat.com

http://www.redhat.com/docs

http://access.redhat.com

第三方服务: sosreport 命令生成的文件(在/tmp目录下),将这个文件发给红帽或者专业技术人员,让他们分析,当然之前要买服务花钱才可以

利用搜索引擎或者一些专业网站:

http;//tldp.org   在这个网页里面咨询一些问题和查看一些报错的解决办法

http://www.slideshare.net

http://www.goole.com

搜索google是的技巧:

openstack filetype:pdf  这样就会搜索关于openstack的pdf文章了

rhca site:redhat.com/docs  在这个网页里面搜索文章

14. 历史命令

history

!-2  执行倒数第二条

! #   执行第n条命令

crtl+p 执行上一条命令

!screen   执行最近一条有screen开头的命令

crtl+r   之后输入已经执行过的命令中的字符串即可

你输入的内容应该是中间位置的[]里面,后面为匹配内容

!$   调用上一条命令中的参数

按esc,松手敲点 (同上公用)

!cp:2  从命令历史中搜索以产品开头的命令,并获取它的第二个参数

实例:

[[email protected] tmp]# ls /etc/nginx/nginx.conf /etc/issue

/etc/issue  /etc/nginx/nginx.conf

[[email protected] tmp]# cat !ls:2

cat /etc/issue

CentOS release 6.8 (Final)

Kernel \r on an \m

kernerl \l, the time is \t and hostname is \n

!cp:$   获取上一条产品命令的最后一个参数

时间: 2024-11-13 17:15:48

05-11--第二天笔记的相关文章

IOS阶段学习第二天笔记

                                   IOS学习(C语言)知识点整理笔记 ———————————————第二天笔记—————————————————— 1.C语言32个关键字 一.存储相关 1)auto 声明自动变量 2)register 声明寄存器变量 3)volatile 声明的变量在程序执行过程中可能被隐含的改变 4)const  声明只读变量 5)extern 声明变量是在其他文件正声明 6)static  声明静态变量 7)signed 声明有符号类型变

安卓第二天笔记-数据保存

安卓第二天笔记--数据保存 1.保存数据私有文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&

第二次笔记

第二次笔记整理 ----man---命令 解释:帮助指令,通过man可以查看linux中指令帮助,配置文件帮助和编程帮助等信息 man+命令 man的手册页一共有九部分 1  系统命令(echo mkdir) 用户命令的使用方法.可以使用的参数等 2  系统接口    系统调用只有系统才能执行的函数 3  函数库 4  与设备有关的信息 设备和特殊文件 5  文件   文件的格式  如:etc/passwd 6  游戏 7  系统的软件包 8  系统管理命令  多数只能root执行 9  内核

PHP第二课笔记

★Php的基本概念 快速入门案例 test.php <html> <body> //<?php  ?>是运行在服务端 <?php echo 'hello';   // 问 D ?> </body> </html> ①php是personla homepage ②目前是zend公司负责维护和商业化 ③php是嵌入到html代码 <?php //PHP代码 ?> ④php脚本是运行在服务器端 → ide(集成开发环境) 1.E

2015.05.15,外语,学习笔记-《Word Power Made Easy》 01 “如何讨论人格特点”

2015.03.17,外语,读书笔记-<Word Power Made Easy> 01 “如何讨论人格特点”学习笔记 SESSIONS 1 本来这些章节都是在一两年前学习的,现在趁给友人送书的机会,重新做一次笔记,也再次复习一遍. 蓝色字体仍然是注释,粗体主要是标题和要背诵的单词.红色的部分是自己的心得.我比较关注发音,所以除非是非常简单和直白的发音,我一般会查询词典得到准确的读音音标,并放上来. TEASER PREVIEW (Teaser 片头,预告片,玩笑 Teaser trailer

MySQL Cookbook第11章读书笔记

1,创建一个序列列兵生成序列值 使用auto_increment 如果显式地把ID设置成一个非NULL的值,有两个结果: a,这个值在表中出现,由于id列是主键,因而不允许重复,故会出现错误 b,这个值没有出现例如,你的表中id序列值为1到8,此时你插入一个新航,并设置为20,那么下一个自动产生的序列就会从21开始,而9-19的值变得不可用. 2,序列生成的行删除的效果 例如在insect表中: 比如要求只能是昆虫,删除millipede,millbug,多余的蚂蚁 删除2会给序列中间带来一个缺

HarvardX: PH525.4x Introduction to Bioconductor第二周笔记

PH525.4x第二周内容围绕GRange类的操作和使用Annotation进行数据关联两个主题展开,并展示了几个比较“炫”的功能.由于内容繁多,信息量大,故笔记之以便日后参考.该课程的演示数据为ChIP-seq的实验数据,背景为人类肝细胞(cell line:HepG2和GM12878)中被ESRRA (estrogen related receptor alpha)绑定的基因片段.在展示数据操作之前,首先检查bioconductor的版本号,不同版本的输出可能存在差异. library(Bi

新手自学:pytion基础(第二周笔记)

一,模块初识 库 .标准库,不需要安装使用pytion最基础的内容  .第三方库 必须下载安装 .自己写模块或者文件名字不能和需要导入的库名相同import sys  #sys 模块 sys.path   print(sys.path) #打印环境变量 提示sys.xxxprint(sys.argv) #打印绝对路径 :相对路径print(sys.argv[2])import os #用于和操作系统进行交互模块的os模块os.system("dir") #dir查看当前路径cmd_re

.C#认证考试试题汇编:第一单元:1,11 第二单元:1,11

第一单元1,11 好久没用异或都快忘了,就让我们一起来了解哈啥子事异或 说的这个,就不经意让我想起书上的几种交换值得方法了 我这儿说的交换的方法是,不使用第三个变量来交换,而是两个 实现条件是C a=100,b=10;第一种 缺点可能会如果超出范围溢出a=a+b; a=110,b=10b=a-b; b=100,a=110a=a-b; a=-10,b=100b=100,a=10;第二种 缺点可能会如果超出范围溢出a=a*b;a=1000,b=10b=a/b;b=100,a=1000a=a/b;a=

Scala2.11.7学习笔记API说明

欢迎访问:鲁春利的工作笔记,学习是一种信仰,让时间考验坚持的力量. Scala Standard Library 2.11.7 This is the documentation for the Scala standard library. Package structure The scala package contains core types like Int, Float, Arrayor Option which are accessible in all Scala compil