您的位置:首页 > 运维架构 > Linux

Linux基础知识及常用命令

2018-12-26 13:24 741 查看
  • 基础知识点:
    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定
  • 1、描述计算机的组成及其功能。
    冯诺依曼体系计算机有5大部分组成:
    冯诺依曼体系特点:数据指令一律用二进制表示、顺序执行程序、5大部件;
    1.1运算器(arithmetic unit):对数据进行加工处理,由算术逻辑单元(ALU)、通用寄存 器组成;
    1.2控制器(control unit): 由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,控制整个计算机系统的操作;cpu由运算器与控制器组成,就好比人的大脑系统;
    1.3存储器(memory): 内存与外存,内存又分为随机存储器RAM(random access memory),只读存储器ROM(read only memory)
    1.4输入设备(input system):IO设备是与计算机进行交互的设备如鼠标(mouse)、键盘(keyboard)
    1.5输出设备(output system):打印机、显示器等
    1.6 完整的计算机系统由硬件系统+各种软件操作系统组成
    1.7 简要计算机组成简图(源自百度图片)

  • 2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别
    Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。
    Linux的几个主流发行版:

    2.1 Archlinux:是一种以轻量简洁为设计理念的Linux发行版
    2.2 Debian 以其稳定性著称,无商业化,ubuntu桌面版
    2.3 rhel 全球最大的开源技术厂商,使用最广泛的linux发布套件,×××能与稳定性极强的套件系统并拥有完善的全球技术支持。每18个月发行一个新版本,fedora(桌面版)每6个月发行一个新版本,centos兼容rhel格式(free);
    2.4 程序包管理:
    Rpm:RHEL,Fedora,suse,centos
    Dpt: Debian,Ubuntu
    Archelinux:port
    LFS:Gentoo linux from scratch

  • 3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描
    3.1一切皆文件
    把几乎所有资源统称为文件形式,包括硬件设备,甚至通信接口
    3.2由众多功能单一的程序组成:一个程序只做一件事,并且 做好:组合小程序完成复杂任务
    3.3尽量避免跟用户交互;目标易于编程的方式实现自动化任务
    3.4使用文本文件保存配置信息

  • 4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclo 16c8 ck、date命令的使用,并配合相应的示例来阐述。
    命令使用格式: Command [ options…]选项 [arguments]参数
    注:命令、选项、参数间空格分割区分
    命令本身是一个可执行的程序文件
    4.1 ifcongfig [选项] [参数] :配置/查看网卡接口参数
    1.查看网卡配置信息/ ip addr list

    注:eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址
    lo 是表示主机的回坏地址
    第二行:网卡的IP地址、子网、掩码
    第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)
    第四、五行:接收、发送数据包情况统计
    第七行:接收、发送数据字节数统计信息
    2.配置临时ip/mac地址/掩码.

    4.2.echo:回显
    echo [选项]…[string]…
    -n :do not append a newline不进行换行
    -e 让转义符生效 \n:换行 \t:制表符
    引用参数 $(引用内容)
    String 可用单引号、双引号:区别
    ‘’ :强引用,变量引用不执行替换
    “”:弱引用,变量会执行变量替换

    4.3.tty :显示连接到当前标准输入的终端设备文件
    物理终端,控制台 console
    虚拟终端默认6个,ctrl+alt+F1..F6
    图形:ctrl+alt+F7 centos6
    Centos7:在那个虚拟终端启动,即gui位于位于哪个
    串行终端: ttys /dev/ttys#
    虚拟终端: pty //dev/pts/#
    4.4.startx
    进入图形界面
    4.5.export
    用于将shell变量输出为环境变量,或者将shell函数输出为环境变量
    export [options] [argument]
    -f : refer to shell functions 参考shell函数
    -n: 删除指定的变量
    -p: 列出所有的shell赋予程序的环境变量
    4.6.pwd :printing working directory ,显示当前工作目录
    4.7.history:登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history
    登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中;
    history [-c] [-d]
    offset 开始删除条数 n:打印最近的n条
    -a: 追加本次会话新执行的命令历史列表至历史文件中;
    -d: 删除历史中指定的命令;
    -w:把历史列表中的命令追加至历史文件中;
    -c: 清空命令历史;
    history #:显示历史第#条命令;

    定制history功能,可通过环境变量实现
    HISTSIZE:shell进程可保留的命令条数
    HISTFILE:持久保留命令历史的条数
    HISTFLIESIZE:命令历史文件大小

    快捷操作:

    !#: 调用历史中第#条命令;
    !string:调用历史中最近一个以string开头的命令;
    !!: 上一条命令
    调用上一条命令最后一条参数:    Eec ,加 .号  或者 !$

    4.8.关机重启命令shutdown、poweroff、reboot、init0(运行级别)
    shutdown用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作

    shutdown [OPTIONS...] [TIME] [WALL...]
    -r:reboot
    -h:halt
    -c:cancel
    -p:poweroff默认
    -k:Do not halt, power-off, reboot, just write wall message.
    TIME:
    now: 立刻
    +m: 相对时间表示法,从命令提交开始多久之后;
    hh:mm: 绝对时间表示,指明具体时间;
    poweroff:
    -f : Force immediate halt, power-off, reboot. Do not contact the init system.
    -p --poweroff
    reboot:用来重新启动正在运行的Linux操作系统
    -f : 强制,不调用shutdown :force
    -w: Only write wtmp shutdown entry, do not actually halt, power-off, reboot.测试
    -p: Power-off the machine

    4.9.hwclock,clock
    两种时钟:系统时钟(cpu工作频率进行计时)、硬件时钟
    系统启动时从硬件读取日期和时间信息,读取完成以后就不再与硬件相关
    -s,--hctosys 硬件为准
    -w,--systohc 系统为准
    4.10.date :date - print or set the system date and time
    date [OPTION]... [+FORMAT] ;显示
    %F full date; same as %Y-%m-%d
    %H hour (00..23)
    %I hour (01..12)
    %j day of year (001..366)
    %k hour, space padded ( 0..23); same as %_H
    %l hour, space padded ( 1..12); same as %_I
    %m month (01..12)
    %M minute (00..59)
    %p locale's equivalent of either AM or PM; blank if not known
    %P like %p, but lower case
    %s 从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经过的秒数
    %S second (00..60)
    date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 设置
    MM: 月分
    DD:几号
    hh: 小时
    mm: 分钟
    YY: 两位年份
    CCYY: 四位年份
    .ss: 秒钟
    查看前几天、前几周或前几个月的日期:显示一个月之前的今天日期
    [root@xt ~]# date -d 'a month ago' +%F
    2018-11-26
    给以时间命名文件:
    /tmp/file-$(date +%F) %Y-%m-%d

    4.11 which命令:
    which - shows the full path of (shell) commands

    which [options] programname [...]
    --skip-alias:忽略别名
    
    whereis命令:
    whereis - locate the binary, source, and manual page files for a command
    
    whereis [options] name...
    -b: 仅搜索二进制程序路径;
    -m:仅搜索使用手册文件路径;
    
    who命令:
    who - show who is logged on
    
    who [OPTION]...
    -b: 系统此次启动的时间;
    -r: 运行级别;
    
    w命令:
    w - Show who is logged on and what they are doing.

    4.12which命令:- shows the full path of (shell) commands
    which [options] programname [...]
    --skip-alias:忽略别名

    4.13 whereis命令:查找命令的二进制、源文件、手册
    whereis [options] name...
    -b: 仅搜索二进制程序路径;
    -m:仅搜索使用手册文件路径;

    4.14who命令:显示谁登陆
    who - show who is logged on
    who [OPTION]...
    -b: 系统此次启动的时间;
    -r: 运行级别;
    w命令:比who信息更详细

    Show who is logged on and what they are doing.
  • Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

    pwd :printing working directory,显示当前工作目录
  • cd :change directory 切换目录,内建命令
    cd [path/to/somedir]
    cd 不带任何参数则切回当前用户家目录
    cd ~:切回当前用户家目录
    cd ~用户名:切回指定用户家目录
    cd -:上一次目录与当前目录来回切换
    ..上一级目录
    . 当前目录

  • ls :list,列出指定目录下的内容
    [root@xt ~]# which ls
    alias ls='ls --color=auto'
    /usr/bin/ls
    ls [option]…[file]…
    -a 显示所有文件,包含(.)隐藏文件
    -A 显示除.和..文件除外
    -l --long 长格式列表,显示文件详细信息

    : -文件类型:-(f)普通文件,d目录,b block,c character,l symbol link,p pipe,s socket
  • file:查看文件类型
  • cat :tac(逆序),文本文件查看工具
    -n 文本行号编号
    -E 显示行结束符$

  • tree: 显示目录的层级关系
    -d: 只显示目录
    -L level:指定显示的层级数目
    -P pattern: 只显示由指定pattern匹配到的路径

  • mkdir、rmdir :make-directory,remove-directory
    mkdir [option]…dir
    -p: no error if existing, make parent directories as needed
    存在也不报错,自动按需创建目录(递归创建)
    -v:--verbose,创建详细过程
    -m:--mode ,设置权限,否则默认

  • rmdir: remove empty directory,删除空目录(删除前先备份,推荐先mv移别的地方)
    -p:有风险删除某空目录,其父级目录为空继续删除
    -v:显示过程

  • cp ,mv,rm :copy move remove 相类似(mv会把原文件删除)复制移动删除
单源复制:cp [OPTION]... [-T] SOURCE DEST
多源复制:cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE... :-t把目标放到前面
单源复制:cp [OPTION]... [-T] SOURCE DEST
如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
如果DEST存在:
如果DEST是非目录文件:则覆盖目标文件;
如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;
多源复制:cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
注:dest必须是目录且存在

常用选项:
-i:交互式复制,即覆盖之前提醒用户确认;
-f:强制覆盖目标文件;
-r, -R:递归复制目录;
-d:复制符号链接文件本身,而非其指向的源文件;
-a:-dR --preserve=all, archive,用于实现归档;
--preserv=
mode:权限
ownership:属主和属组
timestamps: 时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性

mv命令:move
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE..

常用选项:
-i:交互式;
-f:force

rm命令:remove
rm [OPTION]... FILE...

常用选项:
-i:interactive
-f:force
-r: recursive

删除目录:rm -rf /PATH/TO/DIR
危险操作:rm -rf /*  :删除跟下一切内容

注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)
  • bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    命令返回值:命令执行完成之后,其状态返回保存在bash的特殊变量$?中。
    0表示成功
    1-255表示失败
    命令展开行:
    ~:自动展开为用户的家目录,或指定用户家目录
    {}:承载一个以逗号来分隔的列表,不能将其展开为多个路径
    mkdir /tmp/a/{b,c} = mkdir /tmp/a/b 和mkdir /tmp/a/c

  • 练习:
    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

    (2)、创建/tmp/mylinux目录如下:

  • 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    文件两类数据:metadata, data
    查看文件状态:stat file,三个时间戳:

    touch命令:更改时间戳,创建空文件
    touch [OPTION]... FILE...
    -a: only atime 仅修改访问时间
    -m: only mtime仅修改修改时间
    -t STAMP: 时间
    [[CC]YY]MMDDhhmm[.ss]
    -c: 如果文件不存,则不予创建
    根据Atime 的时间戳来判断有谁访问过一些隐私的文件,根据M、Ctime的变化来备份数据

  • 如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    alias 显示设置别名 : alias is a shell builtin
    unalias 取消设置别名
    alias name=‘command’
    unalias name
    引用命令执行结果:
    $(command) 或者 ‘command’

  • linux 端口号
    tcp和udp采用16位端口号来识别应用程序 2^12=65536
    tcp/ip的临时分配1024-5000之间端口号
    一些常用端口号:
tcp 端口分配

21  ftp 文件传输服务

22  ssh  安全远程连接服务

25  smtp 电子邮件服务

53  dns  域名解析服务

80  http  web服务

443 https 安全web服务

udp端口分配

69  tftp 简单文件传输协议

123 ntp  时间同步服务

161 snmp 简单网络管理

如何查询端口号?vim /etc/services

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux基础知识