从0开始安装fedora23的笔记-- 以及使用fedora的常规问题-2
在shell中, 你是可以连续输入多个语句的, 中间用分号; 连接 也可以把这些多个语句放到一个函数中, 函数的话,便于多次引用. 而且 "封装" 为函数后, 可以用set查看到这个函数的
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密码的输入上
time命令是 统计命令执行的时间, 格式是: time 命令
在安装shutter后, 提示 gtk+ cannot open display 等错误, 可以在 shutter执行时, 进行插件plugins的更新 后, 就可以正常使用了
linux / fedora 中的屏保设置? 参考: http://blog.csdn.net/zhongguomin/article/details/7088445 和 http://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后, 自然会关闭屏幕显示, (即黑屏)
虽然都是黑屏 , 但是两个黑屏产生的机理却是不一样的!
可以使用的配置是:
最后用xset q来 query查询, 显示你的xset配置....
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
??? 虽然设置了/etc/X11/xorg.conf 但是配置仍然不起作用, 但是用 xset命令能够生效!
systemd 管理linux参考: https://linux.cn/article-3801-1.html
- 以systemd来代替 sysvinit, 启动速度更快, 前者是以并行的方式启动服务, 后者是以串行的方式启动的. 而且systemd只启动确实被依赖被经常运行的服务
- systemd查看系统服务启动的时间统计: systemd-analyze, systemd-analyze time, systemd-analyze blame.
- systemd 代替 init进程成为 pid=1 的进程.
- 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命令?
父子进程, 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表示星期几
date命令本身 会在末尾 输出一个 "\n"换行符.
echo 的\b删除前一个字符, 但要注意这个 要表示转义字符, 必须要加 -e(escape)选项 表示" enable interpretation of backslash escapes. -n: do not output the trailing newline.
但是 echo的 \b转义只能删除 本echo命令参数 字符串中的已经输出了的字符, 它不可能影响到, 不能删除前面的命令 中已经输出的内容.
二是, 设置系统 的时间: set -s ...
设置后, 系统时间和bios时间之间 通常是每隔11分钟交互同步一次, 如果你设置后, 马上重启, 系统读入的可能还是 bios的来不及更新的时间, 显得date -s 没有生效的假象, 但是 用clock -w 就可以实时写入. 实时生效.
bios时间又叫 hardware clock. only the superman can use hardware clock
从0开始安装fedora23的笔记-- 以及使用fedora的常规问题-2的更多相关文章
- 从0开始安装fedora23的笔记-- 以及使用fedora的常规问题
关于安装过程中的笔记本 触摸板 和鼠标的问题? 在安装过程中, 系统只认从usb接口插入的鼠标和触摸板上的 "左键和右键"按钮. 触摸板上的鼠标只支持"移动"的 ...
- 从0开始安装fedora23的笔记-- 以及使用fedora的常规问题-3
关于sys的目录有: /etc/sys/, 和 /proc/sys fedora的桌面背景图片默认的在: /usr/share/backgrounds/, 里面有f23, gnome, images等 ...
- AndroidStudio3.0的安装和配置笔记
开发Android项目要搭建开发环境.可以选择使用Eclipse安装ADT插件来开发安卓项目,也可以使用谷歌的官方IDE——AndroidStudio3.0. AndroidStudio3.0安装的具 ...
- Apache Tez 0.7、0.83、 0.82 安装、调试笔记
———————————————————— 准备 Tez 编译环境 ———————————————————— 1 需要的支持 tez0.7 需要 Hadoop 2.60 以上 2 需要的 linux 相 ...
- Hadoop 2.2.0部署安装(笔记,单机安装)
SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...
- centos6 安装配置ss笔记
2018-05-17 centos6 安装配置ss笔记 操作环境:Centos 6 x86_64 bbr 服务器地址:美国 1.准备VPS 在https://www.bwh1.net可购买,购买时已默 ...
- MySQL服务器的安装和配置,MySQL Workbench 8.0.12安装,MySQL的基本使用
一 MySQL服务器的安装和配置 二 MySQL Workbench 8.0.12安装 三 MySQL的基本使用 一MySQL服务器的安装和配置 MySQL是目前最为流行的开放源码的数据库,是完全网络 ...
- redis 安装配置学习笔记
redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://downl ...
- Django关于设置自定义404和安装debug-toolbar的笔记
Django关于设置自定义404和安装debug-toolbar的笔记 关于设置404 先做好404页面,然后在views.py文件中做好映射,最后是在urls.py做好路由,而这个urls.py必须 ...
随机推荐
- 如何简单地理解Python中的if __name__ == '__main__'(https://blog.csdn.net/yjk13703623757/article/details/77918633)
1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...
- Hessian---java远程通讯 (zhuan)
http://blog.csdn.net/harderxin/article/details/22669383 (zhuan)
- HDU 6300
Problem Description Chiaki has 3n points p1,p2,…,p3n. It is guaranteed that no three points are coll ...
- Python全栈-day4-语法基础2
一.字符串 1.字符串基础 1)作用:用于描述姓名.性别.地址等信息 2)定义方式:单引号或者双引号以及三引号内添加字符 注:day3中介绍 name = 'zhang' user_name = &q ...
- XML系列之--创建电文格式的XML(一)
关于XML,学校那会,老师在口中仅仅提及,自己也未曾深入接触过,仅是些将最基本XML文件内容显示在web定义的表格中之类的简单操作,如今项目中的收发电文涉及到复杂XML的操作.趁此契机好好回顾下XML ...
- python自定义方法处理日志文件
从命令行界面拷贝的内容包含过个">>>",函数的作用是用正则把每两个">>>"之间的字符取出来,然后把包含“Tracebac ...
- react+redux+react-router+node.js 开发实时聊天App 学习记录
一.课程导学 1.React 主要解决的是UI层的问题,应用的状态需要借助Redux等状态管理. 2.前端React + antd-mobile UI组件库 + Redux 状态管理库 + Rea ...
- php小数加减精度问题,比特币计算精度问题
php小数加减精度问题,比特币计算精度问题 在php开发时,有小数加减的场景.结果发现不能够等于预想的值,bccomp比较二个高精确度数字.语法: int bccomp(string left ope ...
- 系统调用号、errno
最近老需要看系统调用号,errno,所以这里记一下 CentOS Linux release 7.2.1511 (Core) 3.10.0-327.el7.x86_64 [root@localhost ...
- Python3自定义日志类 mylog
#encoding=utf-8 import os, sysimport datetimeimport time class Mylog(object): # 根文件夹 root_dir = s ...