从0开始安装fedora23的笔记

时间:2021-03-21 07:04:19
  1. 在shell中, 你是可以连续输入多个语句的, 中间用分号; 连接 也可以把这些多个语句放到一个函数中, 函数的话,便于多次引用. 而且 "封装" 为函数后, 可以用set查看到这个函数的
    从0开始安装fedora23的笔记

  2. read命令的使用
    read从标准输入设备中 或 cat file | while ( read line )管道中 读取一行, 然后 "以空格为分割单位, 形成多个数据", 将输入赋予给多个变量
    如: read var1 var2 var3 ,如果输入 10 20 30 则var1=10 var2=20 var3=30等
    如果输入(空格分割后)多于 变量的个数, 则多余部分全都赋值给最后剩余的变量. 因此, 如果read one_variable, 则在输入回车之前的所有内容都给 这一个变量.

read的几个重要的常用选项
read -n nchars 指定读取的个数, 一旦达到个数自动停止, 你控制不了, 它自动就执行了
read -p 'prompt' 显示提示
read -t 最多等待输入的秒数 默认的read行为, 会阻塞进程, 一直等待输入.
read -s (silent) 没有回显, 即你输入的内容不会在屏幕上显示, (只是输入的字符颜色跟背景色相同罢了), 主要用在password密码的输入上

  1. time命令是 统计命令执行的时间, 格式是: time 命令
    从0开始安装fedora23的笔记

  2. 在安装shutter后, 提示 gtk+ cannot open display 等错误, 可以在 shutter执行时, 进行插件plugins的更新 后, 就可以正常使用了
    从0开始安装fedora23的笔记


linux / fedora 中的屏保设置? 参考: http://blog.csdn.net/zhongguomin/article/details/7088445http://blog.csdn.net/saturnbj/article/details/5442056

系统默认的屏保设置是: 允许黑屏屏保. prefer blanking: yes, 黑屏时间是 600 秒
系统屏保由两个因素来决定, 一个是 dpms: display manager star(能源之星). 另一个是 xset screen-save controller. 两者之中取 时间短 更小的 那一个 进入屏保
关于 dpms:
xset +dpms
xset dpms [standby] [suspend] [off] 如: xset dpms 600 900 1200 即10分钟进入standby, 15min ..., 20分钟后关闭显示器的电源.
xset -dpms
xset s 10设置屏保后, 并不会关闭 显示器的背光电源! 所以, 要省电, 还要显式 地设置 dpms
所以要两个因素都要设置, 当然, 当dpms进入standby后, 自然会关闭屏幕显示, (即黑屏)
虽然都是黑屏 , 但是两个黑屏产生的机理却是不一样的!
可以使用的配置是:
从0开始安装fedora23的笔记
最后用xset q来 query查询, 显示你的xset配置....
从0开始安装fedora23的笔记
从0开始安装fedora23的笔记

xorg.conf配置文件 要放在 /etc/X11/xorg.conf中, 分成很多个节, 每个节: Section ... EndSection
在配置xorg.conf后, 使用xset q命令时 提示 can't open display ""
原因是没有 设置 DISPLAY这个环境变量 解决方法是: http://blog.csdn.net/jeffreyst_zb/article/details/8585544
从0开始安装fedora23的笔记

??? 虽然设置了/etc/X11/xorg.conf 但是配置仍然不起作用, 但是用 xset命令能够生效!


systemd 管理linux参考: https://linux.cn/article-3801-1.html

  1. 以systemd来代替 sysvinit, 启动速度更快, 前者是以并行的方式启动服务, 后者是以串行的方式启动的. 而且systemd只启动确实被依赖被经常运行的服务
  2. systemd查看系统服务启动的时间统计: systemd-analyze, systemd-analyze time, systemd-analyze blame.
  3. systemd 代替 init进程成为 pid=1 的进程.
  4. systemd使用systemctl命令来管理所有的系统内容: list-units, --failed....

关于shell的内部命令和外部命令?

查看shell的内部命令, 使用 man builtin, 注意是 builtin, 不是builtins, 会提示: no manual entry for builtins. 里面列出了所有的shell 内建命令以及他们的用法.
shell 内建命令和外部命令的区别?
内部命令 是 shell(os操作系统) 自己就实现了的, 在系统启动时就载入内存, 并常驻内存中, 直接由shell执行.
如何判断一个命令是内建命令, 使用 enable xxx 比如: enable ls, 就会提示: ls: not a shell builtin.

配置了xset的配置文件后,就不能进入X图形界面了?

xset是命令, 他对应的配置文件是 /etc/X11/xinit/, 或直接是 在/etc/X11/目录下, 新建xorg.conf配置文件, 重要的是, 这个配置文件要写正确, 如果配置文件内容写错了, (包括他的格式错误)就会导致"xinit: error: unable to connect to X server: connection refused." 就是连接X server被拒绝, 原因是 X server 服务loaded 后, 但是shutdown 失败了.
所以这个xorg.conf 一定要配置正确. 其中的 Section "ServerLayOut" ... EndSection 被称为节, 其中的Server... 就是指 X server.
如果为了配置xset, 最好/最保险的方法是直接设置xset 命令序列, 不要去创建修改 xorg.conf了. 因为这个容易解析出错???
说, dnf/apt-get/yum install xserver-xorg ???


关于exec命令?

  1. 父子进程, child process and parent(父代的) process. 由父进程fork, 子进程是父进程的一个copy(副本), 从父进程那里获得资源, 并继承父进程的环境,父子进程的唯一区别是pid的不同, 但是子进程是一个 封闭的空间, 即父子进程是(单向遗传性), 子进程中的变量改变是无法反映到(无法影响)到父进程中的变量的.
    exec和source都不会产生"新的进程", 但是他们是有区别的. source是在当前shell进程中直接执行程序. 执行后, 当前shell进程仍然存在. 而exec则不然:

    他虽然不会"产生新的进程" , 但是, 他首先会fork 一个进程, 让新进程的 "代码段/数据段/堆栈段" 来 替代 当前shell的相应的 ""代码段/数据段/堆栈段". 但是并不产生新的pid, 仍然使用原来的pid. 从pid的角度看, "可以说" 没有产生新的进程, 但是,实际上真正的 "内瓤子"已经变了, 就像"变脸"一样. 现在的pid 已经不是原来的shell了, 而是exec了, 所以 当exec执行 完成后 , 是不会再返回到shell中去了, 实际上也返不回去了, 因为原来的代码段/数据段/计数器等都早已不在了...


环境变量
查看所有环境变量的 命令:env,
设置语言和编码的环境变量是 : $LANG, 注意是 LANG, 不是language, 不是 :$LANGUAGE. 是lang.
$LANG, 环境变量包括两个部分: 语言.编码, 比如: en_US.UTF-8. 其中, en_US是语言 而UTF-8是编码.

free software 和 freeware的区别?

free software: free software is a matter of liberty, not price. To understand the concept, you should think of "free" as in (当作...里面的)"free speech", not as in "free beer".
free software, 如同 free speech, 你可以*的使用, 复制, 研究, 修改 和再分发.
而 freeware 如同free beer, 只是不要你的钱,但是你不能去复制, 修改或重分发.

[[[
matter: n. 问题, 事情; 事态; 物质. v. 紧要, 要紧; 事关重要, 有重大影响; it doesn't matter: 没什么要紧的..., 没事的..
a matter of life and death, 事关生死; a matter of hours/minutes, pinches,meters . a matter of: 重要的是....
liberty: 这两个单词很容易混淆, 都是li-.. er什么的, *的单词中间是"b"
literal: 字面, 文字的, 中间是"t". literally.
a matter of liberty, not price.]]]

misce'llaneous杂项

软件开法的难度在于, 需求的不确定性, 需求总是在改变, 凡是所有的 "可变化点" , 都可能发生改变. 所以程序员就是要** 写出能够 适应各种变化的, 可扩展的, 可维护的代码,** 那么, 应对需求变化的秘诀, 就是: 将这些可扩展的, "变化点", 作为参数, 变化量, 传入到 你设计的函数或 模式中去.

local: 和locale的区别

local: ['l2uk2l], 本地的, 本地人...
lo'cale [l2u' k2l] 本地化, 区域化设置.
在软件的 本地化设置中, 如firefox的插件开发中, en-US, zh-CN等国际语言化, 就是放在 lo'cale locale这个目录中的.


date命令?

有两个方面的作用,
一是取得 日期和时间, 使用 date +format选项, 其中: date +%Y-%m-%d %H:%M:%S %A表示星期几
从0开始安装fedora23的笔记
date命令本身 会在末尾 输出一个 "\n"换行符.
echo 的\b删除前一个字符, 但要注意这个 要表示转义字符, 必须要加 -e(escape)选项 表示" enable interpretation of backslash escapes. -n: do not output the trailing newline.
但是 echo的 \b转义只能删除 本echo命令参数 字符串中的已经输出了的字符, 它不可能影响到, 不能删除前面的命令 中已经输出的内容.

从0开始安装fedora23的笔记

二是, 设置系统 的时间: set -s ...
设置后, 系统时间和bios时间之间 通常是每隔11分钟交互同步一次, 如果你设置后, 马上重启, 系统读入的可能还是 bios的来不及更新的时间, 显得date -s 没有生效的假象, 但是 用clock -w 就可以实时写入. 实时生效.
bios时间又叫 hardware clock. only the superman can use hardware clock

从0开始安装fedora23的笔记
从0开始安装fedora23的笔记