linux就是这个范儿!浅谈linux的哲学思想与基础命令

llinux哲学思想 linux基础命令

#1、描述计算机的组成及其功能。
冯诺依曼计算机由运算器、控制器、存储器、输入、输出组成
CPU包括运算器、控制器(寻址能力32位的CPU为4G内存,现在一般为64位)、寄存器(寄存下一次要运算的指令,暂存数据)、缓存(缓存为王)
采用时序复用的原则
我的CPU的主频为2.13GHZ 表面每秒可进行20多亿次运算
cpu主频=外频*倍频
存储器的内存是RAM即为随机访问存储,断电丢失
采用平面编址的原则
1个cell 是8bits即1Byte 最小存取单位为1Byte
我的频率为532MHZ要和cpu的外频匹配
程序需要从磁盘加载到内存才能被cpu调用
磁盘是一种IO设备,既有输入也有输出
输入有键盘鼠标
输出有显示器
#2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
###linux发行版分支
主流三个
Debian系→**ubuntu**
Slackware系→**openSUSE**
Redhat系→**centos**(rhel源码去掉商标后的再编译版本)
其他两个
Gentoo
Arch
###各发行版都是GNU/linux编译后的二进制版本
###各发行版区别:
主要是包管理器不同:
|发行版|  包管理器 | 前端|
|——-|——|——–|
|Debian:|dpkg(.deb格式)|apt-get|
|Redhat:| rpm (.rpm格式)| yum|
|Suse:| rpm |zypper|
|Arch:| packman| |
|Gentoo:|自己编译|  |
|kali:|内置渗透工具|  |
|LFS:|Linux From Scratch| 自己编译linux|
#3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
###linux哲学思想
+ 1.**一切皆文件**,所有资源包括硬件都抽象为文件
+ 2.由众多单一功能的程序组成,一个程序只做并做好一件事,**组合小程序**完成复杂任务
+ 3.尽量避免与用户交互,易于用编程实现**自动化**任务
+ 4.使用**文本文件**保存配置信息
#4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
###查看ip地址 ifconfig(7 安装 net-tools)或 ip a( ip addr 或 ip addr show 或 ip addr list)
“`
[root@localhost ~]# yum -y install net-tools
[root@localhost ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 192.168.1.107 netmask 255.255.255.0 broadcast 192.168.1.255
        inet6 fe80::6937:666e:92c9:c97d prefixlen 64 scopeid 0x20<link>
        ether 08:00:27:52:04:00 txqueuelen 1000 (Ethernet)
        RX packets 342 bytes 36804 (35.9 KiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 308 bytes 33472 (32.6 KiB)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
        inet 127.0.0.1 netmask 255.0.0.0
        inet6 ::1 prefixlen 128 scopeid 0x10<host>
        loop txqueuelen 1 (Local Loopback)
        RX packets 22 bytes 2006 (1.9 KiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 22 bytes 2006 (1.9 KiB)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:94:b7:d0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.108/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::a00:27ff:fe94:b7d0/64 scope link
       valid_lft forever preferred_lft forever
“`
###echo 回显命令
+ 用法:       echo [SHORT-OPTION]… [STRING]…
“`
[root@localhost ~]# echo “Hello world”
Hello world
“`
+ echo -n 不换行输出
“`
[root@localhost ~]# echo -n “Hello World”
Hello World[root@localhost ~]#
“`
+ echo -e 让转义符生效(\n换行 \t横向制表符)
“`
[root@localhost ~]# echo -e “Hello\nWorld”
Hello
World
“`
显示红色字
“`
[root@localhost ~]# echo -e “\033[31m helloworld \033[0m”
 helloworld
“`
“Hello\$SHELL” 双引号为弱引用,会变量替换\$SHELL标准写法${SHELL}
‘Hello$SHELL’ 单引号为强引用,不做变量替换
“`
[root@localhost ~]# echo “hello${SHELL}world”
hello/bin/bashworld
[root@localhost ~]# echo ‘hello${SHELL}world’
hello${SHELL}world
“`
###tty命令显示终端名称
“`
[root@localhost ~]# tty
/dev/pts/0
“`
###开启图形化界面startx
“`
[root@localhost ~]# startx
“`
###export查看当前系统环境变量
“`
[root@localhost ~]# export
declare -x HISTCONTROL=”ignoredups”
declare -x HISTSIZE=”1000″
declare -x HOME=”/root”
declare -x HOSTNAME=”localhost.localdomain”
declare -x LANG=”en_US.UTF-8″
declare -x LESSOPEN=”||/usr/bin/lesspipe.sh %s”
declare -x LOGNAME=”root”
declare -x LS_COLORS=”rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:”
declare -x MAIL=”/var/spool/mail/root”
declare -x OLDPWD
declare -x PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin”
declare -x PWD=”/root”
declare -x SHELL=”/bin/bash”
declare -x SHLVL=”1″
declare -x SSH_CLIENT=”192.168.1.103 60755 22″
declare -x SSH_CONNECTION=”192.168.1.103 60755 192.168.1.107 22″
declare -x SSH_TTY=”/dev/pts/0″
declare -x TERM=”xterm”
declare -x USER=”root”
declare -x XDG_RUNTIME_DIR=”/run/user/0″
declare -x XDG_SESSION_ID=”11″
“`
###查看当前目录pwd
“`
[root@localhost ~]# pwd
/root
“`
###history 查看历史记录
+ 不接选项查看最近历史记录
“`
[root@localhost ~]# history
    1 ip a
    2 cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
    3 cat /etc/udev.conf
    4 cat /etc/udev/udev.conf
    5 ip a
    6 ping 127.0.0.1
“`
+  history -c 清除历史记录
“`
[root@localhost ~]# history -c
[root@localhost ~]# history
    1 history
“`
### shutdown 关机命令
+ 用法
shutdown [OPTIONS…] [TIME] [WALL…]
+ shutdown -h 关机
+ -h now立即关机
“`
[root@localhost ~]# shutdown -h now
“`
+ TIME可以接now hh:mm +m
+ -r 重启
“`
[root@localhost ~]# shutdown -r +5
Shutdown scheduled for Sat 2018-05-12 11:28:38 CST, use ‘shutdown -c’ to cancel.
[root@localhost ~]#
Broadcast message from root@localhost.localdomain (Sat 2018-05-12 11:23:38 CST):
The system is going down for reboot at Sat 2018-05-12 11:28:38 CST!
“`
+ -c 取消关机或重启
“`
[root@localhost ~]# shutdown -c
Broadcast message from root@localhost.localdomain (Sat 2018-05-12 11:24:10 CST):
The system shutdown has been cancelled at Sat 2018-05-12 11:25:10 CST!
“`
+ WALL为给所有终端发送的信息
“`
[root@localhost ~]# shutdown -c “Hello World”
[root@localhost ~]#
Broadcast message from root@localhost.localdomain (Sat 2018-05-12 11:25:12 CST):
Hello World
The system shutdown has been cancelled at Sat 2018-05-12 11:26:12 CST!
“`
###reboot重启
“`
[root@localhost ~]# reboot(7可以systemctl reboot)
“`
###poweroff关机
“`
[root@localhost ~]# poweroff(7可以systemctl poweroff)
“`
###hwclock(clock是软链接) 查询和设定硬件时钟
+ 主板上电池给硬件时钟供电,内核启动时从硬件时钟读取时间信息,之后系统时间根据内核的频率计时,不与硬件时钟关联
+ hwclock 查看硬件时间
“`
[root@localhost ~]# hwclock
Sat 12 May 2018 03:36:12 AM CST -0.755907 seconds
“`
+ hwclock -s 两个时间同步,以硬件时间为准
+ hwclock -w 两个时间同步,以系统时间为准
“`
[root@localhost ~]# hwclock -w
“`
###date 日期显示与设置
+ 用法:
       显示:date [OPTION]… [+FORMAT]
       设置:date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
+ 显示
“`
%F:%Y-%m-%d
[root@localhost ~]# date +%F
2018-05-12
%T:%H:%M:%S
[root@localhost ~]# date +%T
11:27:21
[root@localhost ~]# date +%F-%H-%M-%S
2018-05-12-11-28-55
%s:时间戳,从1970年1月1日零时零分零秒开始的秒数
[root@localhost ~]# date +%s
1526095780
“`
+ 设置
date 月日小时分钟年.秒,年可以4位,也可以2位,年和秒可以省略
“`
[root@localhost ~]# date 051211312018.35
Sat May 12 11:31:35 CST 2018
“`
# 5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
###内置命令:使用help  COMMAND
“`
[root@localhost ~]# help type
“`
###外部命令
#####1.命令自带的简要格式帮助
+ 使用 COMMAND –help (如没有则试试-h)
“`
[root@localhost ~]# ls –help
“`
#####2.man手册
+ centos6最小化要安装man
“`
[root@localhost ~]# yum -y install man
“`
+ 存放路径 /usr/share/man
+ 使用 man COMMAND
+ section:
    + 1.NAME 简要使用说明
    + 2.SYNOPSIS 语法格式 []可选<>必选|二选一…同类出现多个
    + 3.DESCRIPTION 描述信息 选项的意义
    + 4.OPTIONS 选项说明
    + 5.EXAMPLES 使用示例
    + 6.AUTHOR 作者
    + 7.BUGS 报告bug方式
    + 8.SEE ALSO 额外参考
+ man手册有章节之分,是gz压缩格式文件,在/usr/share/man下有man1,man2 … man8
+ 1.用户命令
+ 2.系统调用
+ 3.库调用
+ 4.设备文件及特殊文件
+ 5.配置文件格式
+ 6.游戏
+ 7.杂项
+ 8.管理工具及守护进程
+ man COMMAND默认从1开始找到的第一个
+ 指定章节 man 5 passwd
+ 查看命令在哪些章节有手册
“`
[root@localhost ~]# whatis passwd
sslpasswd (1ssl) – compute password hashes
passwd (1) – update user’s authentication tokens
“`
+ whatis是根据数据库得到的,6手动更新数据库需使用makewhatis,7手动更新数据库使用mandb
6
“`
[root@localhost ~]# makewhatis
“`
7
“`
[root@localhost ~]# mandb
“`
|man翻屏操作 |一屏  |  半屏  |  一行|
|——————-|——|———|———-|
|尾部翻屏:  |空格    | ctrl+d   |回车|
|首部翻屏:|   b  |  ctrl+u  | k|
+ 跳转行数 : G最后一行,g第一行 ,#g 第#行
+ 文本搜索:向尾部/keyword  向首部 ?keywords
+ 搜索完后:n方向相同的下一个 N方向相反的上一个
+ 退出为q
+ 选项 -M path 到指定位置搜索man手册
#####3.info COMMAND 命令在线文档
“`
[root@localhost ~]# info ls
“`
#####4.命令自带帮助文档
+ 位置在/usr/share/doc/APP-VERSION
+ readme是相关信息
+ install是安装文档
+ changes是更新改变
#####5.主流发行版官方文档 doc
#####6.程序官方文档doc
#####7.搜索引擎 google
+ keyword site:magedu.com (不带www的域名,站内搜索)
+ keyword filetype:pdf(搜索pdf格式)
#####8.书籍
OReilly公司的英文书籍
# 6、请罗列Linux发行版的基础目录名称命名法则及功用规定。
#FHS
filesystem hierarchy standard 文件系统层级结构标准
###/bin
供所有用户使用的基本用户二进制命令文件
###/sbin
系统管理的二进制文件
###/boot
引导加载器需要使用的静态文件,包括kernel init grub等
###/dev
设备文件或特殊文件
+ -:常规文件 regular file
+ d:目录文件directory(路径映射)
+ b:块设备 block device 以block为单位随机访问,如硬盘 内存
+ c:字符设备 character device 以字符为单位线性访问,如显示器 键盘
+ l:符号链接文件 symbolic link 软链接
+ s:套接字文件 socket 两个进程间通信
+ p:命名管道文件 pipe
###/etc
按程序组织的配置文件
###/home
普通用户家目录,/home/USERNAME的形式
###/root
管理员的家目录
###/lib
基本共享库和内核模块
+ libc.so.*动态链接C库
+ ld* 运行时加载器
###/lib64
64为系统特有的基本共享库
###/media
便携性设备的挂载点
###/mnt
临时文件系统的挂载点
###/srv
服务数据
###/tmp
临时文件,所有用户都有写权限
###/usr全局共享只读资源,二级层级目录
+ /usr/bin
+ /usr/sbin(命令)
+ /usr/lib
+ /usr/lib64(库)
+ /usr/include(头文件)
+ /usr/share(共享数据man doc)
+ /usr/src(源码)
+ /usr/X11R6 xwindow的资源
###/usr/local 三级本地层级目录
+ /usr/local/bin /usr/local/sbin /usr/local/lib /usr/local/lib64
+ /usr/local/src /usr/local/etc /usr/local/share /usr/local/include
###/opt
第三方非关键程序的安装位置
###/var 可变的数据文件,二级层级目录
+ /var/cache 缓存文件
+ /var/lib 状态信息
+ /var/lock 锁文件
+ /var/log 日志文件
+ /var/mail 邮件文件
+ /var/opt opt的可变数据
+ /var/run 运行时的变化数据
+ /var/spool 队列可变数据
+ /var/spool/cron 任务编排队列
+ /var/tmp重启后不会丢失的临时文件
+ /var/cron 定时任务
###/proc
显示内核信息和处理信息的虚拟文件系统
###/sys
重要管理设备的虚拟文件系统

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99072

(1)
徐鲁川徐鲁川
上一篇 2018-05-21
下一篇 2018-05-21

相关推荐

  • 初学linux你该死记它们

    最笨的方法往往是最好的方法

    Linux笔记 2018-04-08
  • sed工具find工具与压缩打包工具基础命令详解

    附带上课练习题与答案

    2018-04-13
  • rpm以及yum命令的常见选项

    1、简述rpm与yum命令的常见选项,并举例 rpm -q :查询软件包 rpm -i:安装软件包 rpm -U:升级安装 rpm -F:更新软件包 rpm -e:卸载软件包 -v:输出详细信息 -l:列出相关信息 rpm -qa:查询所有已经安装的软件包的信息 rpm -qpl: 查询未安装软件包的信息 rpm   –import   /etc…

    Linux笔记 2018-04-08
  • ansible实战应用之角色装nginx,httpd

    流程图如下: 上图表明: 1).tasks夹: .grupyml .useryml: 指定uid;gid,且最好uid和gid统一,这样好管理要;加入组中;一般来说建一个帐号是给特定的服务用的,一般来讲这个帐号 都是系统帐号;且它的shell类型,为了安全一般都是/sbin/nologin * 不确定uid号有没有人有的话,可以用#getent passwd…

    Linux笔记 2018-06-03
  • .

    .

    Linux笔记 2018-05-17
  • Linux 中获取命令帮助

    获取命令帮助 内部命令:用 help COMMAND; 外部命令:方法一  COMMAND –help;   方法二    manual manual :文件路径为 /usr/share/man 使用方法:# man COMMAND SECTION:  NAME:功能性说明;SYNOPSIS:语法格式;DESCRIPTION:描述;       …

    Linux笔记 2018-06-24