mv
mv file1 file2 重命名
mv file1 dir 移动文件
mv file1 file2 dir 移动多个文件
mv dir1 dir2 移动目录,dir2不存在时为重命名
-i 覆盖确认
rm / rmdir
rmdir dir 只能删除空目录
rmdir dir1/dir2 逐层删除
rm file1 删除文件
rm file1 file2 删除多个文件
rm –R dir 递归删除目录 -i 删除确认
硬链接,符号链接
硬链接 :多个文件指向文件系统同一位置,修改其中一个所有的都被修改,删除其中一个不会影响其他。
符号链接 : 与快捷方式相同。
ln
ln source target 建立硬链接
ln –s source target 建立符号链接(symbol)
ls -i
查看inode(文件索引节点)。
硬链接的文件inode相同。
man
man command 查看command的手册
元字符(meta-characters)
* 与windows相同
? 与windows相同
[a-z] [ceg] 与RegEx相同
; 顺序执行2个命令
> >> < 与windows相同 | 与windows相同
date
cal
cal [month [year]] 查看日历
tee
tee file 将输入流输出到文件
ls | tee file -a Append
cat
cat file 查看文件内容
cat file1 file2 查看多个文件内容
awk / sort
略
cat file | awk –F, ‘{print $1 “/t” $3}’ | sort
more
more file1 分页查看文件内容
ls | more 分页查看其他命令输出
head / tail
head -5 a.txt 查看前5行
tail -10 b.txt
vi
命令模式 / 输入模式
h j k l 移动光标(同方向键)
^ $ 移动到行首和行尾
G 文件尾
#G 第#行。1G移动到文件头
H M L 屏幕头,中和尾
ctrl-f ctrl-b Forward and Backward
i a [到输入模式] 当前光标处插入,当前光标后插入
o O [到输入模式] 光标行下和上插入行
x 删除字符
dw #dw 删除当前词,删除多个词
dd #dd 删除当前行,删除多行
:#,##d 删除#到##行
r cw cc [到输入模式]替换字符,单词,行
C [到输入模式]替换到行尾
yw yy 复制词,行
dw dd 剪切词,行
p 粘贴
:1,2co3 复制1,2行到第3行之后
:4,5m6 移动4,5行到第6行之后
:w [file] 存盘
:wq 存盘退出
:q! 不存盘退出
~ 改变大小写
J 连接当前行和下一行
:# 移动到#行
/str ?str 向下,上查找str
n 继续查找
:r file 插入文件
bash配置文件
~/.bash_profile
/etc/profile
users / who
列出所有已经登陆用户
who am i / whoami
输出当前登录用户信息
find
略
find path –name file
grep
grep str file 在file中寻找str,输出包含str的行
ls –la | grep ‘str’
grep –x ‘regex’ file
-i 忽略大小写
-v 输出不符合条件的行
wc
wc 统计行数,单词数和字符数
wc –l 统计行数
wc –w 统计单词数
wc –C 统计字符数
du
disk-usage
ps
ps 列出进程
ps –ef 详细
kill / pkill
kill pid 根据进程id kill进程
pkill pname 根据进程名kill进程
sleep
sleep # 当前进程sleep #秒
jobs
jobs 列出任务
fg / bg
fg # 将任务号为#的任务前台运行
bg # 将任务号为#的任务后台运行
任务号, not进程id
stop
stop pid 暂停任务(c shell)
ctrl-c ctrl-z
ctrl-c 终止前台进程
ctrl-z 当前进程终止并到后台,可用bg后台运行
ping / ifconfig / netstat
ifconfig [-a] 与windows “ipconfig /all”类似
netstat –rn 输出路由表
telnet / rlogin
telnet host port
rlogin host