文件操作类
ls [ option ] [ file ]
-a 列出所有项目( la )
-l 列出文件的全部信息,包括权限、主组、所属人等 ( ll )
(
ll /proc/{ pid }/fd 列出当前pid打开的文件
)
cat [option] [file]
显示文件
-n 显示文件行数,包括空行
-b 显示文件行数,不包括空行
head [option] [file]
显示文件前10行
-n<数字>:指定显示头部内容的行数;
-c<字符数>:指定显示头部内容的字符数;
-v:总是显示文件名的头信息;
-q:不显示文件名的头信息
tail [option] [file]
显示文件的后10行(一般用于查看日志)
-n<数字>:指定显示尾部内容的行数
-f 动态的查看文件底部
grep [option] [seach word] [file]
在指定的文件中搜索字段,[seach word]可以是正则表达式
-n 显示行数
less [option] [file]
带翻页的查看文件,可以上下翻页
more [option] [file]
带翻页的查看文件,只能向下翻页
vim [option] [file]
+ 从文档的末尾进行编辑
-O 打开多个文件
(
:qa 关闭所有窗口
ctrl + w + w 切换窗口
可以通过vimdiff [ path ] 来对比文件
)
[ command mode ]
1,查找
(1)定位
a. 光标定位 h 左 j 下 k 上 l 右
b.快速定位 shift+3 行首 shift+4 行尾 shift+9 文首 shift+0 文尾部
c.行定位 <num>G 第几段 num gr
d. / 查找 按enter跳转 n 展示下一个 (支持正则表达式)
e. :<num> 进入第几行
(2) 替换
:范围 s/old/new/选项
:1,10 s/aa/bb/ 在1到10行中寻找aa替换为bb
:5,$ s/aa/bb/ $表示最后一行
:% s/^aa/11&/g 全文aa开头的前面加上11
/ 可以替换为 @、#
(3)文件操作
[ line ] command [ path ]
line 指定行
path 即位另存为的路径
command:
a. :w 保存
b. :q 推出
c. :x 保存并退出
d. :q! 不保存并推出
e. :w! 强制保存
(4) 设置临时环境
:set nu 设置行号
:set ic 不区分大小写
:set ai 自动缩进
:set list 控制字符
:set nonu 取消设置行号
:set noic
永久环境
path:
/etc/vimrc 影响所有用户
~/.vimrc 影响某一个用户
vim [ path ]
2,编辑
a, 复制 yy yy3 ygg
b, 粘贴 p
c, 删除 dd dd3 dgg
d, 删除光标所在的字符 x
e,从光标处删到行尾D
f,撤销 u
g,反撤销 ctrl+r
h,自动补全 ctrl+p ctrl+n
3,可视化
a,批量插入 步骤:ctrl+v 选中行 shift+i 进行编辑 esc 批量插入
4,进入其他模式
a, a、i、o 、A进入插入模式
b, esc 进入命令模式
c,v、ctrl+v、V 进入可视模式
5,注意
ctrl+s 锁屏(不锁操作) ctrl+q 解锁
系统操作类
type [option] [ command ]
查看命令类型,是别名、内置、还是某个文件
-a 查看所有类型
file [ option ] [ path ]
查看文件类型,例如文本文件、二进制文件、可执行文件等
stat [ option ] [ path ]
查看文件名称,例如文件名称、大小、权限、创建时间、修改时间等
groupadd [option] [ groupName ]
添加一个祖
-g 新组使用的gid
-p 加密后的新用户密码(必须是密文)
groupdel [ option ] [ groupName ]
删除一个组
id [ option ] [ userName ]
查看用户的uid、组信息
useradd [ option ] [ username ]
新增加一个用户( 增加一个新的用户的时候不指定祖组的时候,同时会新增一个同名的组 )
-g 新账户指定用户的主组
-G 新账户指定附加组
-u 指定用户的uid
-s 指定用户的shell
-m 创建用户的主目录(utubun 不会自动在/home/下创建用户主目录)
(
shell 目录
/sbin/nologin 无法登录shell。仅作为运行进程,访问FTP的用户
/bin/bash 正常bash
用户类目录
/etc/group 用户组文件
/etc/passwd 用户账号信息
/etc/shadow 用户密码信息
/var/spool/mail 用户账号目录
)
userdel [ option ] [ userName ]
-r 删除组目录和邮件池
passwd [ option ] [ userName ]
设置密码(管理员才可以用userName参数)
-d 删除指定账户的密码
usermod [ option ] [ userName ]
修改用户信息(用法和useradd 基本一致)
-g 强制使用该组为新主组
-G 新的附加组列表
-a 将-G上的附加祖进行添加
-M 添加多个用户到一个祖
-d 将该用户从该祖删除
chage [ option ] [ userName ]
用户密码信息设置
-d 过期时间(如果过期将强制用户修改密码)
chown [ option ] [ userName.groupName ] [ path ]
更改文件的所有者或所属组
chgrp [ option ] [ groupName ] [ path ]
修改用户组
chmod [ option ] [ mod ] [ path ]
修改文件属性权限
-R 递归修改
(
rwx -wx r-x rw-
o+x a+x +x(忽略a)
u=rwx,g=r-x,o=--x,g+s(继承属组)
777,124,707
)
(
权限对象
属主:u
属组:g
其他:o
全部:a
权限属性
可读:r(1)
可写:w(2)
可执行:x(4)
)
getfacl [ option ] [ path ]
查看详细的文件类型权限,包括不同的组
setfacl [ option ] [ groupOption ] [ path ]
单独修改某个用户或组下的文件权限
-m 更改权限
-x 删除
groupOption
(
u:mingyudeng:rwx (修改用户mingyudeng的文件权限为rwx)
g:mingyudeng:-wx
d:u:mingyudeng:-w- ( 对以后的继承,现在下面的目录不影响 )
)
(
mask:最高属性
ll 权限顺序为 root、mask、group、+
)
awk [ option ]
分割
-F { print $[ line ] } 打印第几行的元素
uniq [ option ]
聚合
-c 列出该类的个数
tee [ option ] [ path ]
输出到文件,和重定向相比在命令行中有提示( 默认覆盖 )
-a 追加而非覆盖