说明;写Linux Command Line 学习笔记系列文章本意只是记录自己学习 《Linux Command Line 》 这本书的过程中看到的一些自己没有留意到的地方,因此绝大多数内容只是记录了相关知识点而没有实际扩展内容,纯粹是为了自己后期回顾时有迹可循。另外,因为直接看的是原版书,所以很多地方中英混杂。更详细地学习建议去阅读原书即可。
Advanced Keyboard Tricks
-
建议调换大写键和ctrl的映射关系
-
光标瞬间移动
Ctrl-a 移动光标到行首 Ctrl-e 移动光标到行尾 Ctrl-f 光标前移一个字符;和右箭头作用一样 Ctrl-b 光标后移一个字符;和左箭头作用一样 Alt-f 光标前移一个字 Alt-b 光标后移一个字 Ctrl-l 清空屏幕
-
文本修改
Ctrl-d 删除光标位置的字符 Ctrl-t 光标位置的字符和光标前面的字符互换位置 Alt-t 光标位置的字和其前面的字互换位置 Alt-l 把从光标位置到字尾的字符转换成小写字母 Alt-u 把从光标位置到字尾的字符转换成大写字母
-
复制剪切
Ctrl-k 剪切从光标位置到行尾的文本 Ctrl-u 剪切从光标位置到行首的文本 Alt-d 剪切从光标位置到词尾的文本 Alt-Backspace 剪切从光标位置到词头的文本 如果光标在一个单词的开 头,剪切前一个单词 Ctrl-y 把剪切环中的文本粘贴到光标位置
-
补全
tab
;tab
两次显示可能的自动补全内容 -
历史命令
.bash_history
-
默认保存500条历史命令
-
浏览历史命令
history |less
img
- 执行时可以使用
!1120
搜索历史命令
-
Ctrl-r
启动递增搜索,输入想要查找的内容 - 回车即可执行
-
Ctrl-j
复制命令到当前行
展开历史命令
-
!88
第88行历史命令 -
!string
重复最近历史列表中,以这个字符串开头的命令
linux 中的录屏功能
-
scirpt
命令 -
script <file>
屏幕显示的一切都会记录在文件中 - 在原有文件继续追加使用
-a
选项,-q
安静模式 - 结束记录输入
exit
或者ctrl-d
-
Permissions 权限
-
三类人:拥有者,组员,其他人
命令
id
查看用户相关的信息- uid 用户id
- gid 组id
ubuntu中,普通用户账号从1000开始
用户信息存储位置
- 用户账户:
/etc/passwd
包含用户(登录)名,uid,gid,帐号的真实姓名,家目录,和登录shell - 组定义:
/etc/group
- 密码信息:
/etc/shadow
-
三种操作方式:读取,写入,执行
文件模式
-rw-rw-r--
- 第一个字符表示文件类型
- rwx读写执行
chmod
更改文件模式-
八进制更改
img
chmod 755
-
符号更改
符号表示法分为三部分:影响谁,执行哪个操作,要设置哪种权限
影响谁u 所有者 g 用户组 o 其他人 a 所有
哪个操作
\+ 加权限 \- 删除权限 = 指定可用权限
举例
u+x 为所有者添加执行权限。 u-x 删除所有者可执行权限。 +x 为文件所有者,用户组,和其他所有人添加可执行权限。等 价于a+x。 o-rw 除了所有者和用户组,删除其他人的读权限和写权限。 go=rw 给群组的主人和任意文件拥有者的人读写权限。如果群组的主人或全局之前已经有了执行的权限,他们将被移除。 u+x,go=rw 给文件拥有者执行权限并给组和其他人读和执行的权限。多种设定可以用逗号分开。
-
更改身份
su
以其他用户身份和组ID 运行一个shell
sudo
- sudo 命令不要求root密码
- 允许一个普通用户以不同的身份(通常是超级用户),通过一种非常可控的方式来执行命令
- sudo 不会重新启动一个shell,也不会加载另一个用户的shell 运行环境
-
chown
更改文件所有者和用户组chown [owner][:[group]] file...
-
chgrp
更改用户组所有权 -
passwd
更改用户密码 -
创建和维护用户和用户组
adduser useradd groupadd
进程
-
Linux 内核通过使用进程,来管理多任务。
-
系统启动的时候,内核先把一些它自己的程序初始化为进程,然后运行一个叫做init 的程序。
-
init再运行一系列的称为init 脚本的shell 脚本(位于/etc),它们可以启动所有的系统服务。
-
许多系统服务以守护(daemon)程序的形式实现,守护程序仅在后台运行,没有任何用户接口。
-
一个程序可以发动另一个程序,这个事实在进程方案中,表述为一个父进程创建了一个子进程。
-
系统分配给每个进程一个数字,这个数字叫做进程ID 或PID
-
查看进程
ps x
R 运行。这意味着,进程正在运行或准备运行。 S 正在睡眠。进程没有运行,而是,正在等待一个事件,比如说,一个按键或者网络数据包。 D 不可中断睡眠。进程正在等待I/O,比方说,一个磁盘驱动器的I/O。 T 已停止. 已经指示进程停止运行。稍后介绍更多。 Z 一个死进程或“僵尸”进程。这是一个已经终止的子进程,但是它的父进程还没有清空它。(父进程没有把子进程从进程表中删除) < 一个高优先级进程。这可能会授予一个进程更多重要的资源,给它更多的CPU 时间。进程的这种属性叫做niceness。具有高优先级的进程据说是不好的(less nice),因为它占用了比较多的CPU 时间,这样就给其它进程留下很少时间。 N 低优先级进程。一个低优先级进程(一个“好”进程)只有当其它高优先级进程执行之后,才会得到处理器时间。
ps aux
USER 用户ID. 进程的所有者。 %CPU 以百分比表示的CPU 使用率 %MEM 以百分比表示的内存使用率 VSZ 虚拟内存大小 RSS 进程占用的物理内存的大小,以千字节为单位。 START 进程运行的起始时间。若超过24 小时,则用天表示。
top
动态显示-
显示内容 最上面是系统概要,下面是进程列表,以CPU 的使用率排序
-
系统概要解读
img
-
-
中断进程
ctrl-c
注意并非所有程序都可以如此中断 -
程序后台运行
command &
返回工作号和PIDjobs
查看后台运行程序后台运行的进程对一切来自键盘的输入都免疫,也不能用
Ctrl-c
来中断它使用
fg %1
,让工作号是1的进程返回前台执 -
停止进程(不终止)
ctrl-z
, 使用fg
命令,可以恢复程序到前台运行,或者用bg
命令把程序移到后台。\ -
向进程发送信号
kill [-signal] PID
常用信号
img
-
向多个进程发送信号
killall
-
树型结构的进程列表
-
pstree
输出一个树型结构的进程列表,这个列表展示了进程间父/子关系。 ps auxf
ps uf
-
-
系统资源使用快照
-
vmstat
输出一个系统资源使用快照,包括内存,交换分区和磁盘I/O。 - 为了看到连续的显示结果,则在命令名后加上延时的时间(以秒为单位)。例如
vmstat 5
。 - 终止输出,按下
Ctrl-c
组合键。
-

网友评论