1.vi 编辑文本文件
<1>光标移动
h/j/k/l 分别使 光标 向左/下/上/右 移动一格
(在字母前加数字,可以实现一次性移动多格的效果)
w/b/e 下一个单词的开头/上一个单词的开头/后一个单词的尾字母
<3>行间快速跳转
Ctrl+b/f 屏幕向后移动一页/屏幕向前移动一页
Ctrl+u/d 屏幕向前移动半页/屏幕向后移动半页
:set nu/nonu 显示行号/隐藏行号
1G/G/#G/:# 文章开头/文章结尾/文章第#行/文章第#行
<4>删除 (从光标所在的字符)
x/#x 1个字符/#个字符
dd 行
dw/de 到单词尾(包括/不包括空格)
d$/d^ 到行尾/到行首
J(大写j) 尾部换行符(不是从光标处开始删,是只删换行符)
(将d替换为c,很多能实现删除的同时进入插入状态的效果)
<5>撤销
u 最近一次操作(可加数字实现多步撤销)(多次u只能在当前和撤销一次之间进行切换)
U 对当前行的所有操作
Ctrl+r 重做(与撤销相对)(不可加数字)
<6>插入(进入插入模式)
i 从当前光标处插入
a 从当前光标后插入
o/O 当前行的下/上方新建行,插入
A 当前行的尾部
cw/c$/c^删除光标到单词尾部的字符并插入/...
<7>复制和粘贴
yy 复制整行
yw/y$/y^ 复制到单词尾/行尾/行首
p 粘贴
<8>查找
/word或?word 从上而下查找字符串"word"
n/N 定位到下/上一个被查找的字符串
<9>替换
:s/old/new 基本命令:当前行第一个old替换为new
:s间添"#,#" 范围变为#行到#行之间
:s间添"%" 范围变为整个文档
尾添"/g" 不止替换第一个,范围内的都替换
尾添"/c" 对范围内的所有都进行替换确认
(2)insert mode
仅在该模式下可以输入文字,否则输入的都是命令.
在该模式下按下ESC可以退出编辑模式,回到命令模式
(3)last line mode
在命令模式下键入的命令是以":"或"/"开头,就会自动进入底行模式,可以看到光标自动移动到文档尾.
除了在命令模式列出的命令,底行模式还有如下命令:
:w 保存
:w name 另存为
:wq 保存并退出
:q/:q! 退出
2.Ctrl+s 锁定终端,用Ctrl+p解锁
ctrl+c 中止程序,退出当前命令(彻底退出)
ctrl+d 相当于exit,退出会话
ctrl+z 程序转至后台,睡眠,挂起.用fg恢复激活
Tab 自动补全命令
3.tar 打压缩包
用这个命令后的压缩名扩展名为.tar.gz
4.ls 查看作用对象的孩子(ll效果同,但它是别名,有的系统没有)
ls命令作用在命令最后的名字(文件/目录等)上,其缺省值为当前位置.
加‘-a‘查看全部文件,包括隐藏文件(文件名前加‘.‘的为隐藏文件,不加-a不会显示)
加‘-l‘查看孩子并显示详细信息.-l输出解释:/home/cwj/Documents/ls_l输出解释
l和a可以一起用,加-h系统选择单位.
ls命令加了名字,如果名字是文件(文件路径),输出文件信息,但如果是文件夹,则输出该文件夹的内容.要查看文件夹本身,加-d
5.文件夹操作
mkdir -p 名字 创建文件夹
rm -r 名字 该文件夹及其孩子一并删除(不希望能找回用shred)
cp -r old new 复制
mv old new 移动
注意:对于复制移动删除操作,操作的是文件夹下的全部文件而不是文件夹,则在目录后添加"\*",否则old的最后是没有"\"的.new的最后一般有\.
6.文件操作
touch 名字.格式 创建文件(touch还有修改时间的作用,详情网搜)
rm -i 名字 名字*.c等方式可以实现批量删除,此时加了-i,会在删除前逐一询问(不希望能找回用shred)
cp -b old new 复制
mv old new 移动,old具体到文件,new是文件夹,new最后有一个"\"
cat old1 old2 > new 合并文件
cat -n old > new 将old加行号另存为new
cat -s old > new 将old中多行空白替换为单行空白
echo "字符串" > 名字 将"字符串"写入到"名字"(原内容清空)("可以换为‘)
注意:cat和echo等命令中的">"表示清除原内容后写入,如果换为">>"则变为追加,不清除原内容.
7.cd访问目录
cd或cd ~/ 回到主目录
cd - 回到进入此目录前所在的目录
cd .. 返回上级目录
cd ../..或../ 回到上级目录的上级目录
cd name 访问当前目录的孩子"name"
cd /name 绝对目录,目录开头有"/"
另:路径相关:
pwd查看当前路径(连接路径,要实际路径加选项-P)
./当前目录
8.进程命令
(1)查看进程ps,pstree,top
ps 当前进程
ps # 列出PID为#的进程的信息
ps a 现行终端下的,包括其他用户的
ps -A 所有程序
ps e 显示环境变量
ps s 用信号形式显示程序状况
ps S 列出已中断的子程序(没中断的也列出)
ps u 以用户为主的格式显示程序状况
pstree PID 显示进程间的树状关系(linux中每个进程都是由父进程创建的),PID的缺省值是1(init)
top 显示进程使用的资源
htop 类top,但是交互式的,需要额外安装
pgrep -u user name 显示用户user的名字尾name的进程的PID
(2)杀进程/退出进程
kill PID 用进程的PID定位进程
kill -9 PID 用进程的PID定位进程
killall -9 name 用进程名字定位进程
exit 退出进程
(3)限制资源
ulimit -a 显示当前用户关联的资源限制(资源类型对应的ulimit指令)
9.用户命令
w 当前登录的用户及其正执行的进程的信息
who 当前登录的用户
whoami当前用户的ID
id 目前登录账户的uid和gid及属组和用户名
10.清屏
clear/reset
11.查看帮助
man name 查看命令name的帮助
name -help 含例子,内容更全
info name 含常用参数
12.ln 建立链接
ln -s source link 为文件夹/文件source创建符号链接link,相当于快捷方式,存储的是source的地址
ln source link 为文件source创建硬链接link,相当于为source起了别名link,可以预防误删操作.创建硬链接后,无论source还是link做了更新,另一个都也随之更新,因为是别名,文件索引节点号(inode)相同,用的是相同的存储空间.一个文件的任一名字(包括source,link)被删除,都不影响用别的名字访问它.如果所有别名都被rm,才是真正删除文件
其中source,link都是目录,具体到文件(-s可以具体到文件夹)
链接用rm删除文件/文件夹的方法删除.
13.权限
chmod who mode file 授予对file的mode的权限给who
who:u属主,g属组,o其他,a全部(all,即ugo)
mode:wrx格式或7(241)格式
chmod mode file 授予对file的mode权限给all.mode:755或wrxwrxwrx的格式
其他格式:
chmod u+x file 给file的属主增加执行权限
chmod 751 file 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod u=rwx,g=rx,o=x file 上例的另一种形式
chmod =r file 为所有用户分配读权限
chmod 444 file 同上例
chmod a-wx,a+r file 同上例
chmod -Ru+r directory 递归地给directory目录下所有文件和子目录的属主分配读的权限
14.more查看文件内容,分页查看
more -num name 每屏num行显示文件name
more +/pattern name 从name的第一个pattern开始显示
运行more指令后可以用操作命令来辅助阅读:
Enter 向下1行
空格 向下1屏
= 输出当前行号
v 调用vi编辑器
q 退出
/pattern查找patten,n向下找,N向上
less查看文件内容,more不可以向上翻但less可以
less [选项] name
-i 忽略搜索时的大小写
-m 显示类似more的百分比
-N 显示行号
-S 行过长则舍弃超出部分
/pattern 向下搜索,用nN搜索下一个(N是反向)
?pattern 向上搜索,用nN搜索下一个(N是反向)
b/pagedown/回车 下翻一页
d 上翻半页
u/pageup 上翻一页
y 上翻一行
空格 下翻一行
其他查看文件内容的命令:
vi 文件名 编辑方式查看,可修改
cat 文件名 显示全部文件内容
more 文件名 分页显示文件内容
less 文件名 与more相似,更好的是可以往前翻页
tail 文件名 仅查看尾部,还可以指定行数
head 文件名 仅查看头部,还可以指定行数