8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
什么是shell
shell 就是一个程序,它接受从键盘输入的命令, 然后把命令传递给操作系统去执行df 查看磁盘空间剩余数量
free 显示空闲内存数量
exit 结束终端会话
文件系统跳转
文件命名规则以”.”开头的文件名是隐藏文件,使用ls -a显示
文件名大小写敏感
没有文件扩展名概念
文件名可能包含空格标点,但是标点符号仅限使用”.”,”-“,”_”,最好不要使用空格
操作系统
一些命令less 浏览文件内容
ls 可以列出多个指定目录的内容
ls -a 全部
ls -d 目录
ls -F 在名字后面加上指示符
ls -h 以刻度格式列出
ls -l 长格式显示结果
ls -r 相顺序来显示结果
ls -S 按文件大小排序
ls -t 按修改时间来排序
确定文件类型file filename
less命令Page UP or b 向上一页
Page Down or space 向下一页
UP Arrow 向上一行
Down Arrow 向下一行
G 移到最后一行
1G or g 移到开头一行
/characters 向前查找指定字符串
n 向前查找下一个出现的字符转
h 显示帮助屏幕
q 退出less程序
linux系统中的目录/ 根目录
/bin 包含系统启动和运行所需的二进制程序
/boot 包含Linux内核,初始RAM磁盘映像
/dev 包含所有设备节点
/etc 包含系统层面的配置文件
/home 用户目录
/lib 包含核心系统程序送所需共享库
/mnt 可移动介质挂载点
/opt 安装商业软件
/usr 包含普通用户所需的所有程序和文件
符号链接
一个文件可能被子多个文件名所指向
操作文件和目录
基本命令cp
mv
mkdir
rm
ln
通配符* 匹配任意多个字符(包括0个)
? 匹配任意一个字符(不包括0个)
[characters] 匹配任意一个字符集中的字符
[!characters] 匹配任意一个不是字符集中的字符
[[:class:]] 匹配任意一个属于指定字符类的字符
[:alnum:] 匹配任意一个字符或数字
[:alpha:] 匹配任意一个字母
[:digit:] 匹配任意一个数字
[:lower:] 匹配任意一个小写字母
[:upper:] 匹配任意一个大写字母
cp复制文件和目录-a 复制文件和目录以及属性
-i 在重写已存在的文件之前提示用户确认
-r 递归复制目录以及目录中的内容
-u 当把文件从一个目录复制到另一目录
-v 显示具体的操作信息
mv移动和重命名文件-i 提示确认
-u 只移动不存在的文件夹
-v 显示具体的操作信息
rm删除文件和目录-i 提示确认
-r 递归删除
-f 忽视不存在文件
-v 显示具体操作信息
小心rm命令rm * .html 这会删除所有数据
ln创建链接ln file link 符号链接
ln -s item link 硬链接
硬链接
每个文件默认有一个硬链接,硬链接给予文件名字。每创建一个硬链接,就为一个文件创建了一个额外的目录项。
硬链接的局限:
硬链接不能关联所在文件系统之外的文件,也不能关联一个目录。
符号链接
类似于快捷方式,关联修改但是不关联删除。
使用命令
基本命令type 解释一个命令名
which 显示可执行程序的位置
man 显示命令手册页
apropos 显示一系列适合的命令
info 显示命令info
whatis 显示一个命令的简洁描述
alias 建立命令别名
什么是命令可执行程序
内建于shell自身的命令
一个shell函数
一个命令别名
重定向
命令简介cat 连接文件
sort 排序文本行
uniq 报道或省略重复行
grep 打印匹配行
we 打印文件中的换行符,字和字节个数
head 输出文件第一部分
tail 输出文件最后一部分
tee 从标准输入读取数据
标准输出“>” 将标准输出重定向到除屏幕以外的一个文件
“>>” 追加
标准错误
shell内部使用0、1、2来重定向文件。
0标准输入,1标准输出,2错误
eg: ls -l /bin/usr 2 > ls-error.txt
标准输出和错误到同一文件
2>&1
eg: > ls-output.txt 2>&1 注意输出与错误的顺序
eg: 2>&1 > ls-output.txt 定向到屏幕
处理不需要的输出
ls -l /bin/usr 2> /dev/null
标准输入重定向
eg:cat > lazy_dog.txt
eg: cat < lazy_dog.txt
管道线
“|”一个命令的标准输出可以通过管道送至另一个命令的标准输入
过滤器
过滤器接受输入,以某种方式改变它,然后输出它
eg: ls /bin /usr/bin | sort | less
uniq报道或忽略重复行
常与sort命令结合
eg: ls /bin /sur/bin | sort | uniq | less
wc打印行数、字数、字节数
grep打印匹配行
eg: grep pattern [file…]
eg: ls /bin /usr/bin | sort | uniq | grep zip
方便选项:
-i 使得执行搜索时忽略大小写
-v 会告诉grep只打印不匹配的行
head / tail
打印文件开头部分/结尾部分,
用在管道中:
ls /usr/bin | tail -n 5
tee
从Stdin读取数据,并同时输出到Stdout和文件
eg: ls /usr/bin | tee ls.txt | grep zip
从shell眼中看世界
(字符)展开
eg: echo * 将目录下文件名字展开
路径名展开
eg: echo Dor echo [[upper]]
隐藏文件路径名展开
eg: echo .会显示工作目录和父目录
eg: ls -d .[!.]? 以圆点开头,第二个字符不包含圆点,再包含至少一个字符
算术表达式展开
eg: echo $((expression))
取幂:**
花括号展开
eg: echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back
eg: echo Number_{1..5}
Number_1 Number_2 Number_3 Number_4 Number_5
eg: echo a{A{1,2},B{3,4}}b
aA1b aA2b aB3b aB4b
那么这对什么有好处呢?最常见的应用是,创建一系列的文件或目录列表
参数展开
eg: echo $USER
命令替换
eg: echo $(ls)
双引号
双引号可以阻止单词分割
单引号
参数与表达式都不能生效,直接使用字符串
转义字符
反斜杠
权限
拥有者、组成员和其他人
uid gid group
读取、写入、执行
使用ls命令列出文件信息时,可以看到类似-rwxrwxrwx的字符串
第一个字符表明文件类型:- 普通文件
d 一个目录
l 符号链接,符号链接的权限属性是虚拟的,真正的权限是所指向文件的属性
c 字符设备文件
b 块设备文件
后九个字符是权限属性:前三个是所有者的权限
中间三个是所有者的组成员的权限
后面三个是所有人的权限
chmod改变文件模式
八进制表示法
符号表示法
进程
查看进程ps 查看进程
ps x 展示所有进程,不管由什么终端控制
aux “BSD风格”结果,可以查看进程USE,%CPU,%MEM,VSZ,RSS,START
进程状态 StatR 运行中
S 正在睡眠
D 不可中断睡眠
T 已停止
Z 死进程
< 高优先级进程
N 低优先级进程
top 动态查看进程
进程放置到后台
&
进程前后台切换
jobs 查看后台进程
fg %job序号
bg %job序号
停止一个进程
kill pid
kill [-signal] PIDHUP 挂起 1
INT 中断(Crtl-c) 2
KILL 杀死 9
TERM 终止 15
CONT 继续 18
STOP 停止 19
默认为TERM
killall
给多个进程发送信号,杀死所有用户启动的进程
更多相关命令pstree 树形结构进程
vmstat 输出系统资源使用快照,要看到连雪的结果,则在命令后加上更新操作延时的时间
tload 在终端中的xload程序