马哥教育面授班20-2第一周学习笔记5

系统用户
 PS1 定义提示符的格式 例如:

PS1=XXX 当前用户名就会被临时修改
 echo $PS1
 [\[email protected]\h \W]\$   //u表示用户,h 主机名 W 当前的文件夹

#  管理员
 $  普通用户

当我们输入一个命令后,它会通过shell交给kernel,kernel来判断这个命令的类型

命令类型:

内置命令 :内核自带的 kernel自身就有的

外置命令 :GUN file 安装的文件

查看一下内核

cd /boot/
 ll vmlinuz-3.10.0-327.el7.x86_64 -h  //h表示符合人类查看的方式,查看数据的大小比较方便,这个内核只有5M。这里包含了所有的内置命令

[email protected] ~]# type cat
 cat is /usr/bin/cat                    //外部命令
 [[email protected] ~]# type type
 type is a shell builtin                  //内置命令
 [[email protected] ~]# type cd
 cd is a shell builtin                       //内置命令

[[email protected] ~]# type who
who is /usr/bin/who                     //外部命令
[[email protected] ~]# who                        //运行这个命令
root     :0           2016-07-21 17:06 (:0)
root     pts/0        2016-07-21 18:55 (:0)
root     pts/1        2016-07-21 19:03 (172.18.16.73)
root     pts/2        2016-07-21 21:32 (172.18.16.73)
[[email protected] ~]# type who
who is hashed (/usr/bin/who)                //hashed:哈希,当一个外部命令运行过后,对它进行一次哈希运算放到cache中,下次再运行时候能快速读取。

type chmod

chmod 000 /root/111

type chmod  which chmod 都能查看命令的路径,但是which只能找外部命令,不能找内置命令,例如 which type 就失败了

[[email protected] ~]# which cat
/usr/bin/cat
[[email protected] ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[[email protected] ~]# type cat
cat is /usr/bin/cat
[[email protected] ~]# cp /usr/bin/ca
cairo-sphinx         calibrate_ppa        cancel               caribou-preferences  catman
cal                  canberra-boot        cancel.cups          cat                  
ca-legacy            canberra-gtk-play    captoinfo            catchsegv            
[[email protected] ~]# cp /usr/bin/cat /usr/local/sbin/cat
[[email protected] ~]# cat 111
[[email protected] ~]# type cat
cat is hashed (/usr/local/sbin/cat)

[[email protected] ~]# rm /usr/local/sbin/cat
rm: remove regular file ‘/usr/local/sbin/cat’? y
[[email protected] ~]# cat 111
-bash: /usr/local/sbin/cat: No such file or directory   // 一直按照内存的路径来查找的。
[[email protected] ~]# which cat
/usr/bin/cat
[[email protected] ~]# type cat
cat is hashed (/usr/local/sbin/cat)
[[email protected] ~]# /usr/bin/cat 111  //给它加上路径就可以了
 为了彻底解决,就得从缓存到内存解决
 [email protected] ~]# hash
hits    command
  14    /usr/bin/screen
   1    /usr/bin/rm
   4    /usr/bin/chmod
   5    /usr/local/sbin/cat
   1    /usr/bin/touch
   3    /usr/bin/who
   1    /usr/bin/cp
   2    /usr/bin/vi
   2    /usr/bin/w
   2    /usr/bin/ls
   1    /usr/bin/clear
[[email protected] ~]# hash -d cat     //hash -r 全部清除

[[email protected] ~]# hash
hits    command
   0    /usr/bin/cat    //这样就可以从新按照默认路径来搜索了
   cat 111      // ok

[[email protected] ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin   //外部命令存放的路径 搜索的顺序第一个优先级更高,如果我偏偏就想让APP1在/usr/local/bin作为优先则可以
 /usr/local/bin/APP1来执行,否则不写路径找不到

chmod $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

内置命令优先级高
然后根据 hash $PATH
的优先级来判断

enable -n cd //禁用内置命令方法
enable  cd    //启用

[email protected] tmp]# enable -n cd
[[email protected] tmp]# type cd
cd is hashed (/usr/bin/cd)      //因为内部命令不在了外部命令还在,centos6不支持这个

whereis chmod  //只在PATH变量里搜

[email protected] tmp]# ls \
> -l \
>  yum.log                                   //对于较长的命令可以分行显示出来

[[email protected] tmp]# ls;pwd;ifconfig         //对于短命令可以一起执行并分别生效

date :
 显示日期和时间
 date -u    //显示格林尼治时间

clock :
 显示硬件时间

同步时间方法:

clock -s   //以硬件为准同步时间

clock -w   //以系统时间为准同步时间

date  月 日 小时 分 年 秒

date  091811302012.20

例如:

[email protected] ~]# date -u
Fri Jul 22 02:12:11 UTC 2016
[[email protected] ~]# date 091011202012.20     //手工设置了一个时间
Mon Sep 10 11:20:20 CST 2012
[[email protected] ~]# clock
Fri 22 Jul 2016 10:19:24 AM CST  -0.492925 seconds
[[email protected] ~]# clock -s                    //通过硬件校验回正确的时间
[[email protected] ~]# date
Fri Jul 22 10:19:33 CST 2016

cal:
 显示日期的命令

[[email protected] ~]# cal 09 1752
   September 1752   
Su Mo Tu We Th Fr Sa
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30                     //宗教原因造成的

cat /etc/issue

[[email protected] ~]# vi /etc/issue
 \S
 Kernel \r on an \m
 STOP!!! THIS IS MY ROOM           //添加后以字符界面行进入会出现。

nano /etc/issue

loginout =ctrl + d

[[email protected] ~]# systemctl restart network   //重启网卡程序

centos 7 命令安装

可以选择在查看本机是否安装了 screen

type screen

如果没有安装则有两种安装方式:
 1:检查光盘已经挂载后,在Packages包中找到screen-4.1.0-0.21.20120314git3c2946.el7.x86_64.rpm 文件双击安装;

2;df //查看光盘已经挂载
  [[email protected] ~]# df     
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       52403200 3348332  49054868   7% /
devtmpfs          923776       0    923776   0% /dev
tmpfs             938316     144    938172   1% /dev/shm
tmpfs             938316    9136    929180   1% /run
tmpfs             938316       0    938316   0% /sys/fs/cgroup
/dev/sda5       20961280   32932  20928348   1% /testdir
/dev/sda1         201388  141756     59632  71% /boot
tmpfs             187664      20    187644   1% /run/user/0
/dev/sr0         7587292 7587292         0 100% /run/media/root/CentOS 7 x86_64

rpm -i /run/media/root/Centos7\7\x86_64/Packages/screen-4.1.0-0.21.20120314git3c2946.el7.x86_64.rpm

安装成功后开始试验

试验目的:帮助用户解决系统应用问题
试验完成的前提条件:双方都要登陆同一个服务器,并使用相同的账号

求助方:
type screen  //查看是否安装screen
 screen
screen -S zcl1840  //打开新的screen session :zcl1840为链接账号

帮助方:

which screen //查看screen的路径

screen -ls //查看是否有求助账户登陆

screen -x zcl1840  // 加入回话:加入求助账户建立链接

连接后两者可以在一个桌面上操作。
若双方任意一方exit退出则链接中断。

通过screen建立一个后台程序,防止中断。例如升级程序在后台运行。

通过无限循环 yes命令模拟
 
  1: screen
  2:  yes
  3:  ctrl + a     //停顿一下按 d 将yes无限循环程序转入后台
  4: screen -ls  //查看到后台进程程序号和随机用户名pts-0.centos7
      screen -x  对名应的用户   //加入后原来后台运行程序则显示在桌面中
  5: screen -r  session //恢复某个进程:如果就一个后台进程则r后面不添加用户名,若有多个则添加对应的进程名,可以恢复这个进程或者ctrl+c终结进程
  6: 若结束进程后,screen -r  There is no screen to be resumed   exit 即可

echo :
 显示字符命令

[[email protected] ~]# echo aaa bbb ccc
aaa bbb ccc
[[email protected] ~]# echo -n aaa bbb ccc
aaa bbb ccc[[email protected] ~]#

变量:表示一些字符串的集合

[[email protected] ~]# echo $UID
0
[[email protected] ~]# echo \$UID           //加入“\”后转意
$UID
[[email protected] ~]#

[[email protected] ~]# echo ‘$UID‘        //‘‘强引用
$UID
[[email protected] ~]# echo "$UID"         //“” 弱引用
0
例如:
 [[email protected] ~]# echo "echo $UID"
 echo 0
 [[email protected] ~]# echo ‘echo $UID‘
 echo $UID
 [[email protected] ~]# echo `echo $UID`   // 此命令= $(echo $UID)
  0

echo -e   //能让后面的字符串显示一些特殊功能

例如:
       [[email protected] ~]# echo "aaa \c"
        aaa \c                             //没有加e
       [[email protected] ~]# echo -e "aaa \c"    
       aaa[[email protected] ~]#                  //加入e后 \c参数才发生效果

[email protected] ~]# echo -e "\a"      //  \a 的作用是发出声音
      [[email protected] ~]#

echo命令选项:

-n 不在字符的最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 退格键
\c 最后不加上换行符号;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\\插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
echo -e "\033[43;31mabcd \033[0m"        //43为被景色,31为字体颜色 。我在CRT上用不好用

\xHH插入HH(十六进制)所代表的ASCII字

时间: 2024-10-03 14:44:53

马哥教育面授班20-2第一周学习笔记5的相关文章

马哥教育面授班-标准I/O和管道-课后小作业-2016年7月28

马哥教育面授班-7月28号作业 1 .将/etc/issue 文件中的内容转换为大写后保存至/tmp/issue.out 文件中 [[email protected] ~]# tr 'a-z' 'A-Z' </etc/issue | >> /tmp/issue.out [[email protected] ~]# cat /tmp/issue.out  CENTOS RELEASE 6.8 (FINAL) KERNEL \R ON AN \T \N \D \S MAGE EDUCATIO

马哥教育面授班20-2第一周学习笔记1

第一周的学习主要是理论知识,了解掌握后为后面的知识打下一个良好的基础. 计算机基础计算机系统硬件主机核心设备:中央处理器CPU(运算器ALU.控制器CU):存储器:ROM.RAM主机其他设备:存储(硬盘.软盘.光盘.usb):输入输出设备(键盘.鼠标.打印机.扫描仪.显示器):其他:调制解调器.光猫软件系统软件:操作系统.程序语言处理系统.数据库.驱动程序应用软件:通用软件(办公软件例如:OFFICE):专用软件(适用各个工作环境的软件) 计算机发展史计算机发展年代时间表:40-50年代   第

马哥教育面授班20-2第一周学习笔记3

workspace 工作区    ethernet以太网 pts 模拟终端 图形界面:    Ctrl+Alt+F1 字符界面:    Ctrl+Alt+F2-F6 切换虚拟终端:(本机操作)    # chvt 1-6 关闭图形界面,在纯字符界面下操作: # init 3 打开图形界面: # init 5 一条小鱼 Alt + F2 输入:free the fish 安装VMwareTools df //查看挂载的位置 cd /media/VMware\ Tools/      pwd    

马哥教育面授班20-2第一周学习笔记4

开机以root权限进入系统方法   centos6 centos7 用相同命令(都是以root账户进入) gedit /etc/gdm/custom.conf  [daemon] AutomaticLoginEnable=True    //自动登录开启  AutomaticLogin=root          //自动登录的账户  [security] [xdmcp]  [greeter]  [chooser]  [debug] 修改计算机名 centos6 临时修改  hostname x

马哥教育面授班20-2第一周学习笔记2

服务器OS WINDOWSLINUXUNIX:System(bell lab , aix solaris hp_ux):BSD(netbsd openbsd freebsd) linux起源1984 Richard Stallman发起GNU计划,开发了基于unix的自由软件和工具代表 gcc vi 创建GPL公共许可证1991 linux torvalds 发布linux 并加入GNUlinux官网:www.kernel.orglinux系统是由内核和GNU的软件组合在一起 linux常见的版

机电传动控制课程第一周学习笔记

机电传动课程第一周学习笔记 本周的学习内容主要是第一章绪论和第二章机电传动系统的动力学基础,结合课程学习和预习复习回顾内容如下: 1.绪论:学习了机电传动控制目的与任务.发展历程和我们该如何学习这门课程. 2.机电传动系统的动力学基础: a.运动方程式:对于单一拖动系统或者多拖动系统,在分析时一般都折算到一根轴(电动机轴)上,折算的基本原则是,折算前的多轴系统同折算后的单轴系统在能量关系上或功率关系上保持不变.而对于单 走拖动系统的运动方程式如下. b.判断TM/TL的符号:主要概括为三条:规定

linux入门-第一周学习笔记

Linux新手入门-第一周学习笔记 一.安装系统注意的问题 1.磁盘分区: 以分配给系统200G内存大小为例: (1)给 /boot 200M大小即可,由于/boot 仅存放内核相关启动文件.不需要给太大的分区. (2)给 / 50G大小,根用户下要存放很多的文件. (3)给/testdir 50G大小,这是我们做实验用到的文件. (4)给swap 4G大小,由于swap是交换分区,其大小推荐是内存的1.5倍~2.0倍 注意:CentOS6.8的文件系统为ext4,而CentOS7.2的文件系统

Linux第一周学习笔记(2)

Linux第一周学习笔记(2) 1.3认识Linux (1).什么是Linux Linux是一个操作系统,比如说微软的winodws.苹果电脑的masOS.早于Linux发行的unix: 我们平时使用的PPT.浏览网站.玩游戏这些都是需要操作系统的层面上来完成的: 也包括了我们现在手机使用的系统有三个版本一个是Andriod和苹果的Los以及微软的windows,Los其实也就是Unix系统而Andriod是Linux系统: 我们生活当中常用的一些网站.游戏.QQ.微信这些应用都是在Linux操

机电传动第一周学习笔记

时光如白驹过隙,新学期的第一周就结束了,第一周开的课就有机电传动控制,按老师的要求一步步完成学习任务.首先复习了老师上课所学的知识,许多知识点上课短时间内记得不是很清晰,自己课下温习一遍还是十分重要的.然后就是学习老师所给的PDF的前两节,这一看还是很慌的,因为有许多之前所学的知识,很多考完就忘却了,只好把工控的课本翻出来,对着把相关知识点都复习了一遍,看书的过程中有些问题还未弄懂,如稳定工作点的判定等.然后就是学习软件的使用了,这一项未能完成,本来已经装好了试用版也机会了,谁料突然电脑坏了,重