1. vi/vim
命令模式(Command mode)
输入模式(Insert mode)
底线命令模式(Last line mode)
命令模式
以下是常用的几个命令:
i
:切换到输入模式,以输入字符。
x
: 删除当前光标所在处的字符。
:
: 切换到底线命令模式,以在最底一行输入命令。
输入模式
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
底线命令模式
在底线命令模式中,基本的命令有(已经省略了冒号):
- q 退出程序
- w 保存文件
按ESC键可随时退出底线命令模式
具体内容可参考:菜鸟教程
2.cat
用于连接文件并打印到标准输出设备上
cat [-AbeEnstTuv] [--help] [--version] fileName
- -n 或 --number:由 1 开始对所有输出的行数编号。
- -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
- -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
- -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
- -E 或 --show-ends : 在每行结束处显示 $。
- -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
- -A, --show-all:等价于 -vET。
- -e:等价于"-vE"选项
- -t:等价于"-vT"选项
>
:覆盖原内容
>>
:追加,不覆盖
eg.
cat -n textfile1 > textfile2
:textfile1 的文档内容加上行号后输入 textfile2 这个文档里
cat -b textfile1 textfile2 >> textfile3
:textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
cat /dev/null > /etc/test.txt
:清空 /etc/test.txt 文档内容
3.more
以一页一页的形式显示阅读
按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
- -num 一次显示的行数
- -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
- -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
- -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
- -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
- -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
- -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
- +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
- +num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数
eg.
more -s testfile
:逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示
more +20 testfile
:从第 20 行开始显示 testfile 之文档内容
4.less
可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页
参数:
- -b <缓冲区大小> 设置缓冲区的大小
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g 只标志最后搜索的关键词
- -i 忽略搜索时的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- -S 行过长时间将超出部分舍弃
- -x <数字> 将"tab"键显示为规定的数字空格
eg.
less log2013.log
:查看文件
ps -ef | less
:ps查看进程信息并通过less分页显示
history | less
:查看命令历史使用记录并通过less分页显示
5.mv
用来为文件或目录改名、或将文件或目录移入其它位置
- -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份
- -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询* 问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作
- -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件
- -n: 不要覆盖任何已存在的文件或目录
- -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作
mv source_file(文件) dest_file(文件)
:将源文件名source_file 改为目标文件名 dest_file
mv source_file(文件) dest_directory(目录)
:将文件 source_file 移动到目标目录 dest_directory 中
mv source_directory(目录) dest_directory(目录)
:目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory
eg.
mv aaa bbb
:将文件 aaa 改名为 bbb
mv info/ logs
: info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs
mv /usr/runoob/* .
:将 /usr/runoob 下的所有文件和目录移到当前目录下
6.cp
主要用于复制文件或目录
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件。
eg.
cp –r test/ newtest
:使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下
7.rm
用于删除一个文件或者目录
rm [options] name...
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除。
eg.
rm -r *
:删除当前目录下的所有文件及目录
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令
8.rmdir
命令删除空的目录
rmdir [-p 当子目录被删除后使它也成为空目录的话,则顺便一并删除] dirName
eg.
rmdir AAA
:将工作目录下,名为 AAA 的子目录删除
rmdir -p BBB/Test
:在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
9.touch
用于修改文件或者目录的时间属性,包括存取时间和更改时间。
若文件不存在,系统会建立一个新的文件。
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 --file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- –no-create 不会建立新档案。
- –help 列出指令格式。
- –version 列出版本讯息
10.ifconfig
用于显示或设置网络设备
ifconfig eth0 down
:关闭网卡
ifconfig eth0 up
:启动网卡
配置ip地址
ifconfig eth0 192.168.1.56
//给eth0网卡配置IP地址
ifconfig eth0 192.168.1.56 netmask 255.255.255.0
//给eth0网卡配置IP地址,并加上子掩码
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
11.ip addr
查询ip地址