InSide The Linux Kernel

作者Daniel Stori花了一幅漫画 “InSide The Linux Kernel” 。来自 TurnOff.us。贼生动形象了,一起来看看吧。

我们先来看看这幅漫画的全貌!

这幅漫画是以一个房子的侧方刨面图来绘画的。使用这样的一个房子来代表 Linux 内核。

[阅读全文]

shell快捷键

删除

  • ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl
  • ctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dh
  • ctrl + k 删除光标后面所有字符相当于VIM里d shift+$
  • ctrl + u 删除光标前面所有字符相当于VIM里d shift+^
  • ctrl + w 删除光标前一个单词相当于VIM里db
  • ctrl + y 恢复ctrl+u上次执行时删除的字符
  • ctrl + ? 撤消前一次输入
  • alt + r 撤消前一次动作
  • alt + d 删除光标所在位置的后单词

移动

  • ctrl + a 将光标移动到命令行开头相当于VIM里shift+^
  • ctrl + e 将光标移动到命令行结尾处相当于VIM里shift+$
  • ctrl + f 光标向后移动一个字符相当于VIM里l
  • ctrl + b 光标向前移动一个字符相当于VIM里h
  • ctrl + 方向键左键 光标移动到前一个单词开头
  • ctrl + 方向键右键 光标移动到后一个单词结尾
  • ctrl + x 在上次光标所在字符和当前光标所在字符之间跳转
  • alt + f 跳到光标所在位置单词尾部

替换

  • ctrl + t 将光标当前字符与前面一个字符替换
  • alt + t 交换两个光标当前所处位置单词和光标前一个单词
  • alt + u 把光标当前位置单词变为大写
  • alt + l 把光标当前位置单词变为小写
  • alt + c 把光标当前位置单词头一个字母变为大写
  • ^oldstr^newstr 替换前一次命令中字符串

历史命令编辑

  • ctrl + p 返回上一次输入命令字符
  • ctrl + r 输入单词搜索历史命令
  • alt + p 输入字符查找与字符相接近的历史命令
  • alt + > 返回上一次执行命令

其它

  • ctrl + s 锁住终端
  • ctrl + q 解锁终端
  • ctrl + l 清屏相当于命令clear
  • ctrl + c 另起一行
  • ctrl + i 类似TAB健补全功能
  • ctrl + o 重复执行命令
  • alt + 数字键 操作的次数
shell  linux 

macOS安装配置和软件

系统设置

程序坞

  • 勾选放大,以及设置合适的大小
  • 勾选将窗口最小化为应用程序图标
  • 取消勾选在程序坞中显示最近使用的应用程序

语言与地区

  • 时间格式勾选24小时制

安全性与隐私

通知

  • 勿扰模式:

显示器

  • 夜览:

键盘

  • 快捷键:全键盘控制 -> 所有控制

触控板

  • 光标与点按
    • 勾选轻点来点按
    • 跟踪速度:倒数第2
  • 更多手势:
    • 在全屏幕显示的应用之间轻扫:四指
    • 高度中心:四指向上
    • 应用Exporse:四指向下

声音

  • 输出:在菜单栏中显示音量

用户与群组

  • 关闭客人用户

日期与时间

  • 时钟:显示秒钟、闪动、使用24小时格式等

Finder

  • 通用:开启新“仿达”窗口时打开:home
  • 边栏:个人习惯
  • 高级:将以下位置的文件夹保持在顶部:按名称排序时的窗口中
  • 打开一个仿达窗口:点状态栏,显示路径栏和显示状态栏;点击查看显示选项:排序方式为名称

辅助功能

  • 鼠标与触控板
    • 启用拖移:使用拖移锁定

关于系统设置,写到最后的感受,也许"迁移助理"是个很不错的工具和选择!

[阅读全文]
macOS  linux 

sudo

1
2
3
4
5
6
7
8
vim /etc/sudoers

# %开头为组,若当前用户为管理员组,只需要将%admin该行添加NOPASSWD: ALL即可
# 像这样
# 原来:%admin          ALL = (ALL) ALL
# 改后:%admin          ALL = (ALL) NOPASSWD:ALL

# 如果不是管理员组,则按格式新建一行(未验证)
linux  sudo 

*nix快捷键集锦

Ctrl + a,切换到命令行开始。这个操作跟Home实现的结果一样的,但Home在某些unix环境下无法使用,便可以使用这个组合;在Linux下的vim,这个也是有效的;另外,在windows的许多文件编辑器里,这个也是有效的。

[阅读全文]

使用scp传输文件和文件夹

服务器间传输文档,不用再传到Windows跳板机或SSH客户端机器,而是使用scp命令直接在服务器上操作。 比如要把A服务器的/home/root/xxx.zip传输到B服务器的/home/root/目录, 进入A服务器执行:scp /home/root/xxx.zip root@192.168.200.19:/home/root
添加-r参数可以传输文档夹:/home/root/eyas/ root@192.168.200.19:/home/root

[阅读全文]
linux  scp 

linux同步硬件时钟到系统时钟

linux时钟设置

  • hwclock -s, --hctosys 从硬件时钟设置系统时间
  • hwclock -w, --systohc 从当前系统时间设置硬件时钟

linux同步硬件时钟到系统时钟

编辑:/etc/crontab,尾部添加:

1
2
3
4
5
*/10 * * * * root hwclock --hctosys
# 表示每10分钟同步一次(将硬件时钟同步至系统时钟)

0 3 * * * root hwclock --hctosys
# 表示每天3点同步一次(将硬件时钟同步至系统时钟)

注意文件尾部需要换行符

[阅读全文]

linux环境变量设置区别

linux环境变量设置区别

/etc/profile 和 /etc/profile.d/

  1. 两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效
  2. /etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用像/etc/profile需要改动此文件

firewalld常用操作

CentOS 7之后默认使用firewall做防火墙,配置文件位置: /etc/firewalld/zones/public.xml

firewalld的基本使用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 启动
systemctl start firewalld

# 查看状态
systemctl status firewalld 

# 停止
systemctl disable firewalld

# 禁用
systemctl stop firewalld

# 添加端口
# --permanent永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=22/tcp --permanent

# 查询已开放的端口
firewall-cmd --zone=public --list-ports

# 查看
firewall-cmd --zone=public --query-port=80/tcp

# 删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

# 显示状态
firewall-cmd --state

# 查看区域信息
firewall-cmd --get-active-zones

# 查看指定接口所属区域
firewall-cmd --get-zone-of-interface=eth0

# 拒绝所有包
firewall-cmd --panic-on

# 取消拒绝状态
firewall-cmd --panic-off

# 查看是否拒绝
firewall-cmd --query-panic

# 修改了规则,必须要执行reload才能生效
firewall-cmd --reload