日期:2019/3/31
内容:Linux学习笔记
一、Linux命令
ls -l
- 操作效果
- 第一列:文件权限
一共10位。
0 | 1(r) | 2(w) | 3(x) | 4(r) | 5(w) | 6(x) | 7(r) | 8(w) | 9(x) |
文件类型 | 文件所有者权限 usr权限,u权限 | 文件所有者所属组成员的权限 group权限,g权限 | 所有者所属组之外的用户的权限 other权限,o权限 |
注:
- r表示Read,w表示Write,x表示eXecute
- 文件类型:-普通文件;d目录文件;p管理文件;l链接文件(快捷方式);b块设备文件;c字符设备文件;s套接字文件。
- 文件权限数字表示法:将1-3,4-6,7-9看作3个2进制数,如chmod 777 file表示赋予最高权限。
- 第二列
对于普通文件:链接数
对于目录文件:第一级子目录数(包括 . 和 .. )
- 第三列:用户名
- 第四列:组名
- 第五列:文件大小
一切皆文件。目录也是文件,注意到目录大多数情况下是4096 bytes(2KB)。
因由:
- 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
- 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
- 文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
- 第六七八列:最后修改日期
- 第九列:文件名
rm -i
-i参数在删除文件前询问确认。i意为interactive。
alias rm='rm -i' |
apt-get
dd
- 作用
Linux dd命令用于读取、转换并输出数据。dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
- 参数
参数 | 说明 |
if=文件名 | 输入文件名,缺省为标准输入stdin。即指定源文件。 |
of=文件名 | 输出文件名,缺省为标准输出。即指定目的文件。 |
ibs=bytes obs=bytes bs=bytes | 一次读入bytes个字节,即指定一个块大小为bytes个字节。 一次输出bytes个字节,即指定一个块大小为bytes个字节。 同时设置读入/输出的块大小为bytes个字节。 |
seek=blocks | 从输出文件开头跳过blocks个块(每个块4KB)后再开始复制。 |
count=blocks | 仅拷贝blocks个块,块大小等于ibs指定的字节数。 |
conv=<关键字> | 关键字种类: conversion:用指定的参数转换文件。 ascii:转换ebcdic为ascii ebcdic:转换ascii为ebcdic ibm:转换ascii为alternate ebcdic block:把每一行转换为长度为cbs,不足部分用空格填充 unblock:使每一行的长度都为cbs,不足部分用空格填充 lcase:把大写字符转换为小写字符 ucase:把小写字符转换为大写字符 swab:交换输入的每对字节 noerror:出错时不停止 notrunc:不截短输出文件 sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。 |
- 使用实例
重定向
- ls > test
清空test。
- ls >> test
追加test。
- sort < test
不改变test的内容。
- 管道
命令格式:输出 | 输入
cat dup.c | wc
cat dup.c作为pipe输出,wc从pipe读入,最终输出dup.c的行数,单词数,字节数。
二、vim操作
操作 | 快捷键 |
光标移动 |
|
快速移动 |
|
删除 |
|
撤销 |
|
查找 |
|
替换 |
|
三、tmux操作
操作 | 快捷键 |
水平分屏 | " |
垂直分屏 | % |
切换分屏 | 上下左右 |
新建窗口 | C |
重命名窗口 | , |
切换窗口 | P or N or 数字 |
附录A:Linux命令全称
可使用man + name查看。
简称 | 全称 |
ls | list directory contents |
dd | convert and copy a file,本应为cc,但cc已经被用于代表CCompiler(Unix类系统自带的C编译器,与gcc不同),故用dd |