vim: :q退出 :q!强制退出 :wq保存并退出 :set number显示行号 :set nonumber不显示行号
touch 文件名 创建空文件
cat 文件名 显示文件内容
netstat -a 列出所有端口,显示网络相关信息
ifconfig 查看网络情况
top 显示各个进程的资源占用情况
ps [选项] 显示当前进程的状态 eg:ps -u root 显示root进程用户信息 ps -ef 显示所有进程的情况 ps -A显示进程信息
kill -9 线程号 终止线程
kill 进程ID 杀死进程
pwd显示当前工作目录
su [用户名] 切换用户
date 查看系统当前时间
head/tail -n 10 example.txt 查看文件头/后10行
wc [选项] 文件 统计文件中的字符数(-m)、字数(-w)、行数(-l),字节数(-c)
chmod 权限 文件名 赋予文件权限 权限为三位数字,分别表示所有者权限 所属组权限 root权限的读写执行权限,eg:755
ls -a列出所有文件名
ls -l等同于ll 列出所有文件详细信息
cd 目录切换
mkdir -p jpan/tok 递归创建目录
rm -rf 目录 强制删除目录
rm -r 目录 删除目录,会询问是否删除
rm 文件名 删除文件
cp 选项 被复制目录或者文件 目标目录(有名字为新名字) (选项:无选项为复制文件 -r复制目录及目录下所有子文件, -p连带复制目录/文件属性 -d复制链接文件 -a相当于-pdr)
mv 源文件或者目录 目标目录 (剪切或者改名命令)
ln -s(创建软链接,没有就创建硬链接) 源文件 目标文件(硬链接:同一个文件的两个不同指针,删除一个另外还可以访问,软链接,指针的指针,删除一个,将不能访问,做软链接,源文件一定要写绝对路径)
文件搜索:
locate 文件名 搜索所有路径中包含文件名的文件 搜索速度非常快,在后台数据库中搜索,缺点:新创建的文件可能没有及时更新到数据库中导致搜不出来 办法先updatedb
命令搜索命令
whereis 命令名 (eg whereis ls)命令可执行文件和帮助文档所在位置 -m 帮助文档 -b可执行文件
which 命令名 命令可执行文件所在位置 命令别名
find 搜索目录 选项(-name 文件名 -iname不区分大小写 -user 按照所有者搜索 -nouser没有所有者的文件) 搜索条件(字符串文件名,或者通配符) [-exec 其他命令 {} ;] 搜索与给定搜索条件一模一样的文件通配符:*任意内容 ?任意一个字符 []匹配括号中任意一个字符 使用通配符必须加双引号 "ab*b"
grep 选项(-i忽略大小写 -v 排除指定字符串) 字符串 文件名 搜索文件中匹配符合条件的字符串行,也可使用正则表达式进行匹配
帮助文档:
1.man 命令
2. 命令 --help
3. info 命令
压缩命令
常用压缩格式zip gz bz2 tar.gz tar.bz2
zip格式文件:
zip 压缩文件名 源文件
zip -r 压缩文件名 源目录
unzip 压缩文件名
.gz格式文件
gzip 源文件名 (源文件会消失)
gzip -c 源文件 > 压缩后的文件名 源文件保留
gzip -r 源目录 (只压缩目录下的文件)
gzip -d 压缩文件 解压缩 不保留压缩文件
gunzip 压缩文件 解压缩文件 不保留压缩文件
gunzip -r 目录 解压缩目录下的所有压缩文件 不保留压缩文件
bzip2 源文件 压缩为.bz2格式,不保留源文件
bzip2 -k 源文件 压缩之后保留源文件
bzip2不能压缩目录
bunzip2 -d 压缩文件 解压缩文件,不保留压缩文件
bunzip2 -k 压缩文件 解压缩文件 保留压缩文件
tar -cvf 打包文件名 源文件或者目录
.......-zcvf................... 压缩成 .tar.gz
tar -xvf 压缩文件名 解压缩
......-zxvf............
.....-jcvf.........................压缩成.tar.bz2
.....-jxvf..........................解压缩
关机命令:
shutdown -c 取消前一个关机命令
shutdown -h 关机
shutdown -r 重启
重启命令:
reboot
退出登录:logout 使用shell时使用
挂载命令(相当于分配盘符)
mount 查看系统中已经挂载过的设备
mount -a 依据/etc/fstab目录下的内容,自动挂载所有设备
mount [-t 文件系统] [-o 特殊选项] 设备 文件名 挂载点(目录)
挂载光盘步骤:
mkdir /mnt/cdroom/
mount [-t iso9660,可不写] /dev/sr0(固定的) /mnt/cdroom/
卸载设备
umount 设备文件名或者挂载点 eg:umount /mnt/cdroom 必须要退出目录之后才能卸载
用户登录查看命令
w 查看当前系统所有登录用户情况
who 查看系统登录用户情况,显示信息比较简单
last 查询当前和过去登录用户的情况
lastlog 显示所有用户的最近一次登录情况
shell是一个命令解释器,还是一个功能强大的编程语言
echo 内容 输出内容
echo [选项] 内容
eg:
#!/bin/bash
echo "hello world"
alias 显示系统中存在的所有别名
alias 别名=原名 关机后就失效,除非写入到环境变量文件.bashrc中
eg: alias ls=''ls --color=never", 将后者起别名为ls
unalias 别名 删除别名,如果写在环境变量文件中,必须在环境变量文件中删除
输出重定向 把输出结果保存到文件中
eg:ifconfig > test.log 输出会存储到test.log中
eg:ifconfig >> test.log 输出会追加到test.log文件末尾中
........... 2> .....命令执行错误后,错误信息存储到指定的文件中
........... 2>> ...... 命令执行错误后,错误信息追加到指定的文件之后
多命令顺序执行:
命令1;命令2; 各个命令都会执行,顺序执行,不管中间是否会出错
命令1 && 命令2 前一条命令正确执行,后一条命令才会执行
命令1 || 命令2 前一个不正确执行,后一个才会执行
eg; ls && echo yes || echo no
管道符:
命令1 | 命令2 命令1的结果作为命令2的操作对象
eg: ll | grep 'abc' 在ll的执行结果中查找abc
通配符:?匹配任意一个字符 *匹配任意0个或者多个字符 []匹配给定的任意一个字符
[0-9]加-表示某个范围的任意一个字符 [^0-9]匹配任意一个不含数字的字符
bash中的其他特殊符号:
'' 单引号 引号中的特殊字符没有特殊含义 echo '$abc'会输出$abc
""双引号 “$”,"`",""分别具有调用变量的值 引用命令和转义符的特殊含义,echo "$a"会显示a的值
``用来引用系统命令 比如a=`ls` echo "$a"会输出ls命令执行的结果
$() 引用系统命令 比如a=$(ls) echo "$a"会输出ls命令执行的结果
# 以#开头代表注释
$用于调用变量的值 echo $a会显示a的值
转义符,跟在其后的特殊字符会失去特殊含义