Linux01

内核功能:

1. 进程管理
2. 内存管理
3. 文件系统
4. 网络功能
5. 硬件驱动
6. 安全机制 
FreeBSD # 专注于运行在PC机上 苹至今果的操作系统都是FreeBSD的内存
OpenBSD # 专注于安全
NetBSD # 专注于服务

linux内核安装:

linux ip=172.16.x.1 netmask=255.255.0.0 gateway=172.16.0.1 dns=172.16.0.1 ks=http://172.16.0.1/class.cfg

Linux的基本原则:

1. 由目的单一的小程序组成:组合小程序完成复杂任务;
2. 一切皆文件;
3. 尽量避免捕获用户接口;
4. 配置文件保存为纯文本格式;
5. 
shell是人机交互的入口,这种接口有两种模式:
	GUI接口
    CLI接口
		命令提示符,prompt,bash(shell)
        	'#':root  # 管理员权限的
             '$': 普通用户的
命令格式:
	命令+选项(修正命令的执行方式)
    	选项:
        	短选项:- # -后面加一个字母
            	多个选项可以组合: -a -b = -ab
            长选项:-- # --后面加一个单词
            	长选项通常不能组合
             参数:命令的作用对象 # ls是默认的,ls /etc etc是指定的参数。
使用凭证:
Linux GUI(图形界面:Graphic User Interface)的3中类型:
    Gnome: C 语言开发
    KDE: C++开发
    XFace: 简洁的适合用在嵌入式平台的轻量级的桌面系统

在最小化安装(不安装图形工具)情况下,如何使用带图形的工具,比如使用图形版的firefox?
xshell:
  1.yum -y install firefox libglvnd-glx
  2.Xmanager - Passive (在windows系统本地安装Xmanager)
  3.export DISPLAY=10.0.0.1:0.0
  4.firefox

mobaxterm cnetos
  1.yum -y isntall xorg-xll-xauth xorg-xll-fonts-* xorg-xll-font-utils xorg-xll-fonts-Type1 firefox
  2. exit
  firefox

CLI:(命令行接口:Command Line Interface)
	sh(默认shell,其实还是链接到bash)
    bash
    csh
    zsh
    ksh
    tcsh
'''
当输入一个命令,敲回车的时候,这个命令会被shell送给内核,由内核判断这个程序是否有执行权限,以及能否执行,还包括从什么地方开始执行。
'''  

用户切换:

su(switch user)

su [-l] 用户名 # []表示其是可省略的
su -l 用户名 # 完全切换
su 用户名 # 半切换

windows操作系统安装时,会有很多dll(dynamic link library:动态链接库)文件

Linux常用命令:

ls
	-l: 长格式
        文件类型:
            -: 普通文件(f)
            d: 目录文件
            b: 块设备文件
            c: 字符设备文件(character) # ls -l /dev
            l: 符号链接文件(symbolic link file)
            p: 命令管道文件(pipe)
            s: 套接字文件(socket) # ls -l /tmp
         文件权限:9位,每3位一组,每一组:rwx(读、写、执行)
         文件硬链接的次数:
         文件的属主:
         文件的属组:
         文件的大小(size),单位是字节
         时间戳(timestamp):文件最近一次被访问(access)的时间,文件最近一次被修改(modify)的时间(ls -l),文件最近一次被改变(change)的时间
'''
修改指改变了文件的内容,改变指修改了文件的属性(metadata)
'''   
       -h:做单位转换
       -l 显示额外的信息
       -ld 目录和符号链接信息
       -a:显示以.开头的隐藏文件,-A显示以.开头的隐藏文件,但不包含‘.’和‘..’
       	    .表示当前目录  # ls .
            .. 表示父目录  # ls ..    
       -d:显示目录自身属性
       -i:index node简写位inode(我们识别一个文件靠文件名,机器识别文件靠inode)
       -r:逆序显示文件  # ls 和 ls -r 做对比
       -R:递归显示当前文件夹下所有文件及子目录中的所有文件和文件夹,如果子目录特别多,使用该命令将特别消耗资源。
       -S 按文件占用空间从大到小排序
       -t 按mtime排序
       -u 配合-t选项,显示并按atime从新到旧排序
       -U 按目录存放顺序显示
       -X 按文件后缀排序
       -F 对不同类型文件显示时附加不同的符号*/=>@|
       -C 文件多时,以多列的方式显示文件,默认是一列(标准输出)
       说明:
           ls查看不同后缀文件时的颜色由/etc/DIR_COLORS和@LS_COLORS变量定义
           ls -l 看到文件的大小,不一定是实际文件真正占用空间的大小
        
pwd:printing working directory
cd:change directory
    cd ~用户名 # 在root用户下通过这个命令可以直接到这个用户的家目录:cd ~student
    cd - # 在当前目录和前一次所在的目录之间来回进行切换
    
命令类型:
    内置命令(shell内置),内部,内建
    外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件
环境变量:命名的内存空间
    变量赋值:
    	NAME=Jerry
    PATH:使用冒号分隔的路径
    
type:显示指定属于那种类型
    
printenv: 查看所有环境变量
hash: 查看每个命令被使用的次数统计
date: 时间管理
Linux: rtc(real time clock)
    硬件时钟:clock/hwclock
    系统时钟: date
    eg:
    	date 03041642 # 修改系统时间为03月04日16点42分
        hwclock -w # 将系统时间写到硬件中去  以系统时间为准
        hwclock -s  # 将硬件时间写道系统中去  以硬件时间为准
        hwclock -r # 读取时间,-r是默认的,可以不写
 在线文档:(info是对man的一个补充) 
 	info COMMAND # 一般描述该命令的历史演进,比如命令由谁创建,有谁接替演进,有没有bug发生。


1.1获得命令的使用帮助

首先使用type命令查看这个命令是内置还是外置命令,内置用--help,外部用help.

内部命令:
	help COMMAND
    eg: help cd
外部命令:
1.COMMAND --help
  eg: ls --help
2.man COMMNAD 
man提供命令帮助的文件,手册页存放在/usr/share/man,几乎每个命令都有man的“页面”
中文man需要安装包
  man-pages
  man-pages-zh-CN    
命令手册:manual
  man COMMAND
  man number COMMAND # man 4 tty 查看tty第4个章节的内容

  man页面分组,不同类型的帮助称为不同的“章节”,统称为Linux手册,man 1 man 
      1:用户命令
      2:系统调用
      3:库调用
      4:特殊文件(设备文件)
      5:文件格式(配置文件的语法)
      6:游戏
      7:杂项(Miscellaneous)
      8: 管理命令(/sbin, /ust/sbin, /usr/local/sbin)
whatis COMMAND # 查看一个命令出现在哪个章节当中

man命令的配置文件:
# CentOS 6 之前版 man 的配置文件
/etc/man.config
# CentOS 7 之后版 man 的配置文件
/etc/man_db.conf
# ubuntu man 的配置文件
/etc/manpath.config

格式:
  MANPATH /PATH/TO/SOMEWHERE  # 指明man文件搜索位置

也可以指定位置下搜索COMMAND命令的手册页并显示
  man -M /PATH/TO/SOMEWHERE COMMAND 

MAN:
  NAME:命令名称及功能简要说明
  SYNOPSIS:用法说明,包括可用的选项
  DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
  OPTIONS:说明每一个选项的意义
  BUGS:
  EXAMPLES:使用示例
  SEE ALSO:另外参照

查看man手册页:
  man [OPTION...] [SECTION] PAGE...

翻屏:
  向后翻一屏:SPACE
  向前翻一屏:b
  向后翻一行:ENTER
  向前翻一行:k
查找:
  /KEYWORD:向后
  ?KEYWORD:向前
  n:下一个
  N:前一个

<>:必选
[]:可选
...:可以出现多次
|:多选一
{}:分组


常用选项:
  man -a keyword #列出所有帮助
  man -k keyword # 搜索man手册,列出所有匹配的页面,使用whatis 数据库
  man -f keyword # 相当于 whatis
  man -w [章节]keyword # 打印man帮助文件的路径

范例:
  yum install -y man-pages
  man -w 1 passwd
  whatis passwd
    openssl-passwd(lssl) - compute password hashes
    passwd (1)           - update user's authentication tokens
  man lssl openssl-passwd
  man 7 ascii
  man 7 utf8

范例:查看passwd相关命令和文件,man帮助文件路径
  whereis passwd
  passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

1.2命令自身提供的官方使用指南

/usr/share/doc
多数安装了的软件包的子目录,包括了这些软件的相关原理说明
常见文档:README INSTALL CHANGES
不适合其他地方的文件的位置

配置文件范例
HTML/PDF/PS 格式的文档
授权书详情

1.3系统及第三方应用官方文档

1.3.1 通过在线文档获取帮助

http://www.github.com
https://www.kernel.org/doc/html/latest
http://httpd.apache.org/http://www/nginx.org
https://mariadb.com/kb/en
https://dev.mysql.com/doc/
http://tomcat.apache.org
https://jenkins.io/zh/doc/
https://kubernetes.io/docs/home/
https://docs.openstack.org/train/
http://www.python.org
http://php.net

1.3.2 Linux官方在线文档和知识库

通过发行版官方的文档光盘或网站可以i获得安装指南、部署指南、虚拟化指南等
http://kbase.redhat.com
http://www/readhat.com/docs
http://access.redhat.com
https://help.ubuntu.com/lts/serverguide/index.html
http://tldp.org

1.3.3 红帽全球技术支持服务

rhn.redhat.com 或者本地卫星服务器/代理服务器
RHN账户为及其注册和基于网络管理的RHN用户
sosreport 收集所有系统上的日志信息的工具,并自动打成压缩包,方便技术支持人员和红帽全球支持提供分析问题依据

dnf install sos
sosreport
Your sosreport has been generated and saved in:
/var/tmp/sosreport-centos8-2-2021-04-09-xllummc.tar.xz

ll /var/tmp/sosreport-centos8-2-2021-04-09-xllummc.tar.xz
-rw------- 1 root root 4409596 Apr 09 18:57 /var/tmp/sosreport-centos8-2-2021-04-09-xllummc.tar.xz

查看指定年份日历

cal(calendar):# 查看指定年份的日历
    cal 2021

echo命令

echo  # echo后面不跟任何选项,默认打印一个换行符
echo -n # 加一个-n则取消换行符

# 如何将echo显示的文本换行显示?
echo -e "echo is a builtin,\nplease study curiously"

# 退一格,把前面的一个字符给删掉
echo -e "echo is a builtin,\bplease study curiously"

# 加上-n之后输出内容,换行符将被吃了。
echo -n 'The year is 2018'

printf 命令

作用:格式化并显示数据;默认没有换行符,需要加 ‘\n’换行。

file命令

posted on 2021-03-09 15:17  jueyuanfengsheng  阅读(110)  评论(0编辑  收藏  举报